projects
/
gnulib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
poll, select: handle ERROR_BROKEN_PIPE.
[gnulib.git]
/
tests
/
test-file-has-acl.sh
diff --git
a/tests/test-file-has-acl.sh
b/tests/test-file-has-acl.sh
index
7f1c376
..
db67388
100755
(executable)
--- 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
# 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
# func_tmpdir
# creates a temporary directory.
# Sets variable
@@
-177,18
+183,27
@@
cd "$builddir" ||
func_test_has_acl tmpfile0 no
func_test_has_acl tmpfile0 no
+ mkdir tmpdir0
+ func_test_has_acl tmpdir0 no
+
if test $acl_flavor != none; then
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.
# 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
if test "$agid" = "$mygid"; then agid=2; fi
case $acl_flavor in
auid=1
if test "$auid" = "$myuid"; then auid=2; fi
agid=1
if test "$agid" = "$mygid"; then agid=2; fi
case $acl_flavor in
- linux |
cygwin |
freebsd | solaris)
+ linux | freebsd | solaris)
# Set an ACL for a user.
if setfacl -m user:$auid:1 tmpfile0; then
# Set an ACL for a user.
if setfacl -m user:$auid:1 tmpfile0; then
@@
-202,11
+217,11
@@
cd "$builddir" ||
*) setfacl -d user:$auid:1 tmpfile0 ;;
esac
*) 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
# 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.
esac
# Remove the ACL for the mask, if it was implicitly added.
@@
-220,6
+235,21
@@
cd "$builddir" ||
fi
;;
fi
;;
+ cygwin)
+
+ # Set an ACL for a group.
+ if setfacl -m group:0:1 tmpfile0; then
+
+ func_test_has_acl tmpfile0 yes
+
+ # Remove the ACL for the group.
+ setfacl -d group:0 tmpfile0
+
+ func_test_has_acl tmpfile0 no
+
+ fi
+ ;;
+
hpux)
# Set an ACL for a user.
hpux)
# Set an ACL for a user.
@@
-307,6
+337,7
@@
cd "$builddir" ||
fi
rm -f tmpfile[0-9] tmp.err
fi
rm -f tmpfile[0-9] tmp.err
+ rm -rf tmpdir0
) || exit 1
rm -rf "$tmp"
) || exit 1
rm -rf "$tmp"