One more tweak.
[rsync/rsync.git] / testsuite / chown.test
index 2d58b90..698593b 100644 (file)
 # We don't know what users will be present on this system, so we just
 # use random numeric uids and gids.
 
-. $srcdir/testsuite/rsync.fns
-
-set -x
+. "$suitedir/rsync.fns"
+
+case `id -u` in
+'') ;; # If "id" failed, try to continue...
+0)  ;;
+*)  if [ -f /usr/bin/fakeroot ]; then
+       echo "Let's try re-running the script under fakeroot..."
+       exec /usr/bin/fakeroot /bin/sh "$0"
+    fi
+    ;;
+esac
 
 # Build some hardlinks
 
-fromdir="$scratchdir/from"
-todir="$scratchdir/to"
-
 mkdir "$fromdir"
 name1="$fromdir/name1"
 name2="$fromdir/name2"
@@ -31,8 +36,8 @@ chown 5001 "$name2" || test_skipped "Can't chown (probably need root)"
 chgrp 5002 "$name1" || test_skipped "Can't chgrp (probably need root)"
 chgrp 5003 "$name2" || test_skipped "Can't chgrp (probably need root)"
 
-checkit "$RSYNC -aHvv \"$fromdir/\" \"$todir/\"" "$fromdir" "$todir"
+cd "$fromdir/.."
+checkit "$RSYNC -aHvv from/ to/" "$fromdir" "$todir"
 
+# The script would have aborted on error, so getting here means we've won.
 exit 0
-# last [] may have failed but if we get here then we've won
-