X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=tests%2Ftest-file-has-acl.sh;h=db6738870adaccaacfa0d56f35e93194d55ce398;hb=df8bc51660941d7464dcd31170690519cb95c0c2;hp=e2dbe9d084df3d3c93068756e552a99e8b7b0482;hpb=ee9cc09504e83403c347b501d8fb0f2589ea1037;p=gnulib.git diff --git a/tests/test-file-has-acl.sh b/tests/test-file-has-acl.sh index e2dbe9d08..db6738870 100755 --- a/tests/test-file-has-acl.sh +++ b/tests/test-file-has-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 @@ -177,11 +183,20 @@ cd "$builddir" || func_test_has_acl tmpfile0 no + mkdir tmpdir0 + func_test_has_acl tmpdir0 no + 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 @@ -202,11 +217,11 @@ cd "$builddir" || *) setfacl -d user:$auid:1 tmpfile0 ;; esac - # On Linux, the ACL for the mask is implicitly added. + # On Linux and FreeBSD, the ACL for the mask is implicitly added. # On Solaris, it is always there. case $acl_flavor in - linux) func_test_has_acl tmpfile0 yes ;; - *) func_test_has_acl tmpfile0 no ;; + linux | freebsd) func_test_has_acl tmpfile0 yes ;; + *) func_test_has_acl tmpfile0 no ;; esac # Remove the ACL for the mask, if it was implicitly added. @@ -322,6 +337,7 @@ cd "$builddir" || fi rm -f tmpfile[0-9] tmp.err + rm -rf tmpdir0 ) || exit 1 rm -rf "$tmp"