X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=adns.git;a=blobdiff_plain;f=regress%2Fcheckall;h=64bd93571374a69170993350351b0a9f9ae54077;hp=2191ae28cc18c30a8ce2efc6e87ed45bed2dd096;hb=15206d5a9435c871df171cce804e3161ec35dfe1;hpb=1c957fdadf0ab368ab1266fbd6a9ea8fbe3b271d diff --git a/regress/checkall b/regress/checkall index 2191ae2..64bd935 100755 --- a/regress/checkall +++ b/regress/checkall @@ -1,29 +1,47 @@ #!/bin/sh -allok=true +set -e + +failed='' +passed='' +skipped='' for f in case-*.sys do case="`echo \"$f\" | sed -e 's/^case-//; s/\.sys$//'`" - if ./r1test $case - then - : - else - echo - allok=false + set +e + ./r1test $case + rc=$? + set -e + case $rc in + 0) passed="$passed $case" ;; + 5) skipped="$skipped $case" ;; + *) echo + failed="$failed $case" echo - fi + ;; + esac done -if $allok +if [ "x$failed" = x ] then echo " -all tests passed." +" + if [ "x$skipped" = x ] + then + echo "all tests passed." + else + echo "all applicable tests passed (skipped:$skipped)" + fi + echo exit 0 fi -echo >&2 ' +echo >&2 " AT LEAST ONE TEST FAILED -' +passed tests:${passed:- NONE} +skipped tests:${skipped:- NONE} +failed tests:$failed +" exit 1