Split code to generate "rwx-----" strings into lib/permstring.c so it
[rsync/rsync.git] / runtests.sh
index ff67838..d6a9a48 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
 
@@ -203,6 +210,11 @@ echo "      $passed passed"
 [ "$missing" -gt 0 ] && echo "      $missing missing"
 echo '------------------------------------------------------------'
 
-result=`expr $failed + $missing`
-echo "(overall result is $result)"
+# 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