chiark / gitweb /
Add test for TCP responses which end up in several packets.
[adns.git] / regress / checkall
index 2191ae28cc18c30a8ce2efc6e87ed45bed2dd096..64bd93571374a69170993350351b0a9f9ae54077 100755 (executable)
@@ -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