X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=tests%2Ftest-set-mode-acl.sh;h=ef2b71607414ee282c5d6286ee5a3fe93d30ff75;hb=bfbd822767f532ab05e24bda5b67b992f3562321;hp=ef468d9f3cbe4d7b505290f245bea5890163b332;hpb=456355401219fdc2cb203baedd2bf176572e8310;p=gnulib.git diff --git a/tests/test-set-mode-acl.sh b/tests/test-set-mode-acl.sh index ef468d9f3..ef2b71607 100755 --- a/tests/test-set-mode-acl.sh +++ b/tests/test-set-mode-acl.sh @@ -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