X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=tests%2Ftest-set-mode-acl.sh;h=56fde29e51f3b243e28fe9b48134f7c7ddce53fa;hb=ba0163712435ee40583ee8eb0dc289220b31fa35;hp=4e58e0be8085588832dcf0e6de156690d8ab7e98;hpb=ee9cc09504e83403c347b501d8fb0f2589ea1037;p=gnulib.git diff --git a/tests/test-set-mode-acl.sh b/tests/test-set-mode-acl.sh index 4e58e0be8..56fde29e5 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 @@ -85,8 +91,14 @@ cd "$builddir" || acl_flavor=hpux else if (getacl tmpfile0 >/dev/null) 2>/dev/null; then - # Tru64. - acl_flavor=osf1 + # Tru64, NonStop Kernel. + if (getacl -m tmpfile0 >/dev/null) 2>/dev/null; then + # Tru64. + acl_flavor=osf1 + else + # NonStop Kernel. + acl_flavor=nsk + fi else if (aclget tmpfile0 >/dev/null) 2>/dev/null; then # AIX. @@ -107,10 +119,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 @@ -163,6 +181,9 @@ cd "$builddir" || osf1) setacl -u user:$auid:1 tmpfile0 ;; + nsk) + setacl -m user:$auid:1 tmpfile0 + ;; aix) { aclget tmpfile0 | sed -e 's/disabled$/enabled/'; echo " permit --x u:$auid"; } | aclput tmpfile0 ;;