diff options
| author | Jeff Darcy <jdarcy@redhat.com> | 2015-04-07 15:32:18 -0400 | 
|---|---|---|
| committer | Vijay Bellur <vbellur@redhat.com> | 2015-04-15 12:29:08 +0000 | 
| commit | c07f166560e5f0b7f3ef400520773b2c7f1f4220 (patch) | |
| tree | d0082ec40afa28ba071a1c332e870cf73ed00f16 | |
| parent | 08a1041ca9aaf5300032294ca5c5e19dc8f836eb (diff) | |
tests: early bail-out on bad status or new core file(s)
This started as a way to identify which test created new core files,
since that's a critical piece of debugging information that's missing
when we only check for cores at the end of a run.  It also exits
*immediately* either on bad status or discovery of a new core file.
This allows the run to be retried or aborted quickly, to reduce the
latency of all jobs in the regression-test pipeline.
Change-Id: Ib4a1c779b44f041ab8728f772874f6c23de95929
Signed-off-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-on: http://review.gluster.org/10157
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Tested-by: NetBSD Build System
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
| -rwxr-xr-x | run-tests.sh | 32 | 
1 files changed, 30 insertions, 2 deletions
diff --git a/run-tests.sh b/run-tests.sh index d6de6c6c31a..ae41fd9a345 100755 --- a/run-tests.sh +++ b/run-tests.sh @@ -186,11 +186,39 @@ function run_tests()      return ${RES}  } +function run_all () +{ +    old_cores=$(ls /core.* 2> /dev/null | wc -l) + +    find ${regression_testsdir}/tests -name '*.t' \ +    | LC_COLLATE=C sort \ +    | while read t; do +        retval=0 +        prove -f --timer $t +        TMP_RES=$? +        if [ ${TMP_RES} -ne 0 ] ; then +            echo "$t: bad status $TMP_RES" +            retval=$((retval+1)) +        fi +        new_cores=$(ls /core.* 2> /dev/null | wc -l) +        if [ x"$new_cores" != x"$old_cores" ]; then +            core_diff=$((new_cores-old_cores)) +            echo "$t: $core_diff new core files" +            retval=$((retval+2)) +        fi +        if [ $retval -ne 0 ]; then +            return $retval +        fi +    done +} +  function main()  {      if [ $# -lt 1 ]; then -        echo "Running all the regression test cases" -        prove -rf --timer ${regression_testsdir}/tests; +        echo "Running all the regression test cases (new way)" +        #prove -rf --timer ${regression_testsdir}/tests; +        run_all +	echo "result = $?"      else          run_tests "$@"      fi  | 
