Clean up Phil's test more.
[rsync/rsync.git] / runtests.sh
index 39ca364..8d5bde7 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
@@ -158,6 +163,7 @@ do
        *)
            echo "----- $testbase failed!"
            failed=`expr $failed + 1`
+           [ "$nopersist" = "yes" ] && exit 1
        esac
     fi
 done
@@ -170,7 +176,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