Changes in / [7f8b740:76c5d6e]


Ignore:
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • Jenkinsfile

    r7f8b740 r76c5d6e  
    11
    22
    3 //checkout the source code and clean the repo
    4 stage 'Checkout'
    5 node {
    6         checkout scm
    7         sh 'git clean -dfq'
    8 }
     3node ('master'){
    94
     5        def err = null
     6        def stage_name
     7        def log_needed = false
     8        currentBuild.result = "SUCCESS"
    109
    11 stage 'Build'
    12 node ('master'){
    1310        try {
    14                 //configure the conpilation
    15                 //Don't remove outputs for the clean and configure unless errors are present
    16                 sh 'make clean > /dev/null'
    17                 sh 'CC=gcc-4.9 CXX=g++-4.9 ./configure > /dev/null'
    18                 sh 'make -j 8'
    19                 email("SUCCESS", false)
    2011
    21         //something happen, this build is a failure
    22         } catch (Exception e) {
    23                 email("FAILURE", true)
    24                 throw e;
     12                stage 'Checkout'
     13
     14                        //checkout the source code and clean the repo
     15                        checkout scm
     16                        sh 'git clean -dfq'
     17
     18                stage 'Build'
     19
     20                        stage_name = 'Build'
     21
     22                        //configure the conpilation
     23                        //Don't remove outputs for the clean and configure unless errors are present
     24                        sh 'make clean > /dev/null'
     25                        sh 'CC=gcc-4.9 CXX=g++-4.9 ./configure > /dev/null'
     26                        sh 'make -j 8'
     27
     28                stage 'Test'
     29
     30                        stage_name = 'Test'
     31
     32                        dir ('src/examples') {
     33                                sh './runTests.sh'
     34                        }
     35
     36                stage 'Cleanup'
     37
     38                        email("SUCCESS", false)
     39        }
     40
     41        catch (Exception caughtError) {
     42                err = caughtError
     43                log_needed = false
     44                currentBuild.result = "FAILURE"
     45
     46                switch(stage_name) {
     47                        case 'Test' :
     48                                currentBuild.result = "TEST FAILURE"
     49                                break
     50                        default :
     51                                break
     52                }
     53        }
     54
     55        finally {
     56                //Send email with final results
     57                email(currentBuild.result, log_needed)
     58
     59                /* Must re-throw exception to propagate error */
     60                if (err) {
     61                        throw err
     62                }
    2563        }
    2664}
  • src/examples/runTests.sh

    r7f8b740 r76c5d6e  
    3636make clean > /dev/null 2>&1
    3737
     38ret_val=0
     39
    3840for test in $tests; do
    3941        echo -n "    $test" | tee -a $logfile
     
    4143        # build, skipping to next test on error
    4244        if ! make -j 8 $test > tests/$test.make.txt 2>&1; then
     45                ret_val=1
    4346                echo -e "\tFAILED with build error:" | tee -a $logfile
    4447                cat tests/$test.make.txt | tee -a $logfile
     
    5053        ./$test < tests/$test.in.txt > tests/$test.run.txt 2>&1
    5154        if ! diff tests/$test.out.txt tests/$test.run.txt > tests/$test.diff.txt; then
     55                ret_val=1
    5256                echo -e "\tFAILED with output mismatch:" | tee -a $logfile
    5357                cat tests/$test.diff.txt | tee -a $logfile
     
    5862        echo -e "\tPASSED" | tee -a $logfile
    5963done
     64
     65exit $((ret_val))
Note: See TracChangeset for help on using the changeset viewer.