In clean_flist(), if a duplicate is found for a dir and a non-dir,
[rsync/rsync.git] / runtests.sh
index 9f32448..f5655e7 100755 (executable)
@@ -142,11 +142,20 @@ echo "$0 running in `pwd`"
 echo "    rsync_bin=$rsync_bin"
 echo "    srcdir=$srcdir"
 
-testuser=`whoami || echo UNKNOWN`
+testuser=`id -un || whoami || echo UNKNOWN`
 
 echo "    testuser=$testuser"
 echo "    os=`uname -a`"
 
+# It must be "yes", not just nonnull
+if test "x$preserve_scratch" = xyes
+then
+    echo "    preserve_scratch=yes"
+else
+    echo "    preserve_scratch=no"
+fi    
+
+
 if test ! -f $rsync_bin
 then
     echo "rsync_bin $rsync_bin is not a file" >&2
@@ -160,6 +169,7 @@ then
 fi
 
 RSYNC="$rsync_bin"
+#RSYNC="valgrind --tool=addrcheck $rsync_bin"
 
 export rsync_bin RSYNC
 
@@ -196,7 +206,7 @@ fi
 
 for testscript in $suitedir/$whichtests
 do
-    testbase=`echo $testscript | sed 's!.*/!!' | sed -e 's/.test\$//'`
+    testbase=`echo $testscript | sed -e 's!.*/!!' -e 's/.test\$//'`
     scratchdir="$scratchbase.$testbase"
 
     prep_scratch
@@ -211,6 +221,11 @@ do
        echo "----- $testbase log follows"
        cat "$scratchdir/test.log"
        echo "----- $testbase log ends"
+       if [ -f "$scratchdir/rsyncd.log" ]; then
+           echo "----- $testbase rsyncd.log follows"
+           cat "$scratchdir/rsyncd.log"
+           echo "----- $testbase rsyncd.log ends"
+       fi
     fi
 
     case $result in
@@ -220,7 +235,9 @@ do
        maybe_discard_scratch
        ;;
     77)
-       echo "SKIP    $testbase"
+       # backticks will fill the whole file onto one line, which is a feature
+       whyskipped=`cat "$scratchdir/whyskipped"`
+       echo "SKIP    $testbase ($whyskipped)"
        skipped=`expr $skipped + 1`
        maybe_discard_scratch
        ;;