Cleanup check_logs feature.
[rsync/rsync.git] / runtests.sh
index 39ca364..c27afda 100755 (executable)
 # Also, we can't count on 'cp -a' or 'mkdir -p', although they're
 # pretty handy.
 
-# Eventually we would like to not count on shell functions.
+# I think some of the GNU documentation suggests that we shouldn't
+# rely on shell functions.  However, the Bash manual seems to say that
+# they're in POSIX 1003.2, and since the build farm relies on them
+# they're probably working on most machines we really care about.
 
 
 set -e
@@ -115,8 +118,9 @@ then
     exit 2
 fi
 
+RSYNC="$rsync_bin"
 
-export rsync_bin
+export rsync_bin RSYNC
 
 skipped=0
 missing=0
@@ -126,8 +130,9 @@ failed=0
 scratchdir=./testtmp
 [ -d "$scratchdir" ] && rm -r "$scratchdir"
 mkdir "$scratchdir"
-
+scratchdir=`cd $scratchdir && pwd`
 echo "    scratchdir=$scratchdir"
+
 suitedir="$srcdir/testsuite"
 
 export scratchdir suitedir
@@ -142,8 +147,7 @@ do
        continue
     fi
 
-    echo "------------------------------------------------------------"
-    echo "----- $testbase running"
+    echo "----- $testbase starting"
 
     if sh $RUNSHFLAGS "$testscript"
     then
@@ -158,6 +162,7 @@ do
        *)
            echo "----- $testbase failed!"
            failed=`expr $failed + 1`
+           [ "$nopersist" = "yes" ] && exit 1
        esac
     fi
 done
@@ -170,7 +175,7 @@ echo "      $skipped skipped"
 echo "      $missing missing"
 echo '------------------------------------------------------------'
 
-if test $failed -gt 0
+if test "$failed" -gt 0 || test "$missing" -gt 0
 then
     exit 1
 else