Note about crash from Ayamura KIKUCHI
[rsync/rsync.git] / runtests.sh
index 64ba317..8c3222f 100755 (executable)
 # Perhaps we need a common way to cleanup tests.  At the moment just
 # clobbering the directory when we're done should be enough.
 
+# If any of the targets fail, then (GNU?) Make returns 2, instead of
+# the return code from the failing command.  This is fine, but it
+# means that the build farm just shows "2" for failed tests, not the
+# number of tests that actually failed.  For more details we might
+# need to grovel through the log files to find a line saying how many
+# failed.
+
 
 set -e
 
@@ -176,7 +183,7 @@ do
 
     if sh $RUNSHFLAGS "$testscript"
     then
-       echo "----- $testbase completed succesfully"
+       echo "----- $testbase completed successfully"
        passed=`expr $passed + 1`
     else 
        case $? in
@@ -203,4 +210,11 @@ echo "      $passed passed"
 [ "$missing" -gt 0 ] && echo "      $missing missing"
 echo '------------------------------------------------------------'
 
-exit `expr $failed + $missing`
+# OK, so expr exits with 0 if the result is neither null nor zero; and
+# 1 if the expression is null or zero.  This is the opposite of what
+# we want, and if we just call expr then this script will always fail,
+# because -e is set.
+
+result=`expr $failed + $missing || true`
+echo "overall result is $result"
+exit $result