Decided to undo the last change to avoid backward compatibility
[rsync/rsync.git] / runtests.sh
index 85030d0..9f0ce85 100755 (executable)
@@ -124,6 +124,7 @@ set -e
 . "./shconfig"
 
 RUNSHFLAGS='-e'
+export RUNSHFLAGS
 
 # for Solaris
 [ -d /usr/xpg4/bin ] && PATH="/usr/xpg4/bin/:$PATH"
@@ -144,8 +145,10 @@ if [ -f /usr/bin/whoami ]; then
     testuser=`/usr/bin/whoami`
 elif [ -f /usr/ucb/whoami ]; then
     testuser=`/usr/ucb/whoami`
+elif [ -f /bin/whoami ]; then
+    testuser=`/bin/whoami`
 else
-    testuser=`id -un || whoami || echo ${LOGNAME:-${USERNAME:-${USER:-'UNKNOWN'}}}`
+    testuser=`id -un 2>/dev/null || echo ${LOGNAME:-${USERNAME:-${USER:-'UNKNOWN'}}}`
 fi
 
 echo "    testuser=$testuser"
@@ -158,6 +161,12 @@ else
     echo "    preserve_scratch=no"
 fi    
 
+# We'll use setfacl if it's around.
+if test -f /usr/bin/setfacl || setfacl --help >/dev/null 2>&1 ; then
+    setfacl=setfacl
+else
+    setfacl=true
+fi
 
 if [ ! -f "$rsync_bin" ]; then
     echo "rsync_bin $rsync_bin is not a file" >&2
@@ -192,6 +201,9 @@ export scratchdir suitedir
 prep_scratch() {
     [ -d "$scratchdir" ] && rm -rf "$scratchdir"
     mkdir "$scratchdir"
+    # Get rid of default ACLs and dir-setgid to avoid confusing some tests.
+    $setfacl -k "$scratchdir"
+    chmod g-s "$scratchdir"
     return 0
 }