added missing dependencies to fix failing unistr/ tests
[gnulib.git] / tests / test-set-mode-acl.sh
index ef468d9..ef2b716 100755 (executable)
@@ -3,6 +3,12 @@
 # Show all commands when run with environment variable VERBOSE=yes.
 test -z "$VERBOSE" || set -x
 
+test "$USE_ACL" = 0 &&
+  {
+    echo "Skipping test: insufficient ACL support"
+    exit 77
+  }
+
 # func_tmpdir
 # creates a temporary directory.
 # Sets variable
@@ -107,10 +113,16 @@ cd "$builddir" ||
   fi
 
   if test $acl_flavor != none; then
+    # A POSIX compliant 'id' program.
+    if test -f /usr/xpg4/bin/id; then
+      ID=/usr/xpg4/bin/id
+    else
+      ID=id
+    fi
     # Use a user and group id different from the current one, to avoid
     # redundant/ambiguous ACLs.
-    myuid=`id -u`
-    mygid=`id -g`
+    myuid=`$ID -u`
+    mygid=`$ID -g`
     auid=1
     if test "$auid" = "$myuid"; then auid=2; fi
     agid=1
@@ -148,11 +160,14 @@ cd "$builddir" ||
         # Prepare a file with an ACL.
         echo "Special contents" > tmpfile2
         chmod 600 tmpfile2
-        # Set an ACL for a user.
+        # Set an ACL for a user (or group).
         case $acl_flavor in
-          linux | cygwin | freebsd | solaris)
+          linux | freebsd | solaris)
             setfacl -m user:$auid:1 tmpfile0
             ;;
+          cygwin)
+            setfacl -m group:0:1 tmpfile0
+            ;;
           hpux)
             orig=`lsacl tmpfile0 | sed -e 's/ tmpfile0$//'`
             chacl -r "${orig}($auid.%,--x)" tmpfile0