summaryrefslogtreecommitdiffstats
path: root/tools/regression
diff options
context:
space:
mode:
authortrasz <trasz@FreeBSD.org>2009-04-13 13:51:53 +0000
committertrasz <trasz@FreeBSD.org>2009-04-13 13:51:53 +0000
commitd9f1442b417f7c4c7b151df598262e61da772e82 (patch)
tree3669157c8cb10b03fa42fe53795837e121b447c6 /tools/regression
parent154a5ff924c86063bb1126915a546c01f375296d (diff)
downloadFreeBSD-src-d9f1442b417f7c4c7b151df598262e61da772e82.zip
FreeBSD-src-d9f1442b417f7c4c7b151df598262e61da772e82.tar.gz
Add a few more regression tests for POSIX.1e ACLs.
Diffstat (limited to 'tools/regression')
-rw-r--r--tools/regression/acltools/tools-posix.test116
1 files changed, 114 insertions, 2 deletions
diff --git a/tools/regression/acltools/tools-posix.test b/tools/regression/acltools/tools-posix.test
index e92cdda..fd57f8e 100644
--- a/tools/regression/acltools/tools-posix.test
+++ b/tools/regression/acltools/tools-posix.test
@@ -42,6 +42,51 @@ $ getfacl xxx
$ ls -l xxx | cut -d' ' -f1
> -rw-rw-r--+
+# Same as above, but for symlinks.
+$ ln -s xxx lll
+$ getfacl -h lll
+> # file: lll
+> # owner: root
+> # group: wheel
+> user::rwx
+> group::r-x
+> other::r-x
+
+$ getfacl -qh lll
+> user::rwx
+> group::r-x
+> other::r-x
+
+$ getfacl -q lll
+> user::rw-
+> user:42:r--
+> group::r--
+> group:43:-w-
+> mask::rw-
+> other::r--
+
+$ setfacl -hm u:44:x,g:45:w lll
+$ getfacl -h lll
+> # file: lll
+> # owner: root
+> # group: wheel
+> user::rwx
+> user:44:--x
+> group::r-x
+> group:45:-w-
+> mask::rwx
+> other::r-x
+
+# XXX: Why doesn't ls(1) print '+' for symbolic links with ACL set?
+$ ls -l lll | cut -d' ' -f1
+> lrwxrwxr-x
+
+# Check whether the original file is left untouched.
+$ ls -l xxx | cut -d' ' -f1
+> -rw-rw-r--+
+
+$ rm lll
+
# Test removing entries.
$ setfacl -x user:42: xxx
$ getfacl xxx
@@ -173,6 +218,15 @@ $ ls -l nnn xxx yyy zzz | cut -d' ' -f1
> -rw-r--r--+
> -rw-r--r--+
+$ setfacl -bn nnn xxx yyy zzz
+> setfacl: stat() of nnn failed: No such file or directory
+
+$ ls -l nnn xxx yyy zzz | cut -d' ' -f1
+> ls: nnn: No such file or directory
+> -rw-r--r--
+> -rw-r--r--
+> -rw-r--r--
+
$ rm xxx yyy zzz
# Check whether chmod actually does what it should do.
@@ -210,14 +264,21 @@ $ getfacl -q ddd
> group::r-x
> other::r-x
+$ ls -l | grep ddd | cut -d' ' -f1
+> drwxr-xr-x
+
$ getfacl -dq ddd
-$ setfacl -d -m u::rwx,g::rx,o::rx,mask::rwx ddd
+$ setfacl -dm u::rwx,g::rx,o::rx,mask::rwx ddd
$ getfacl -dq ddd
> user::rwx
> group::r-x
> mask::rwx
> other::r-x
+# No change - ls(1) output doesn't take into account default ACLs.
+$ ls -l | grep ddd | cut -d' ' -f1
+> drwxr-xr-x
+
$ setfacl -dm g:42:rwx,u:42:r ddd
$ setfacl -dm g::w ddd
$ getfacl -dq ddd
@@ -236,8 +297,59 @@ $ getfacl -dq ddd
> mask::rw-
> other::r-x
-> # XXX: Test inheritance.
+$ ls -l | grep ddd | cut -d' ' -f1
+> drwxr-xr-x
$ rmdir ddd
$ rm xxx
+# Test inheritance.
+$ mkdir ddd
+
+$ touch ddd/xxx
+$ getfacl -q ddd/xxx
+> user::rw-
+> group::r--
+> other::r--
+
+$ mkdir ddd/ddd
+$ getfacl -q ddd/ddd
+> user::rwx
+> group::r-x
+> other::r-x
+
+$ rmdir ddd/ddd
+$ rm ddd/xxx
+
+$ setfacl -dm u::rwx,g::rx,o::rx,mask::rwx ddd
+$ setfacl -dm g:42:rwx,u:43:r ddd
+$ getfacl -dq ddd
+> user::rwx
+> user:43:r--
+> group::r-x
+> group:42:rwx
+> mask::rwx
+> other::r-x
+
+$ touch ddd/xxx
+$ getfacl -q ddd/xxx
+> user::rw-
+> user:43:r--
+> group::r-x # effective: r--
+> group:42:rwx # effective: r--
+> mask::r--
+> other::r--
+
+$ mkdir ddd/ddd
+$ getfacl -q ddd/ddd
+> user::rwx
+> user:43:r--
+> group::r-x
+> group:42:rwx # effective: r-x
+> mask::r-x
+> other::r-x
+
+$ rmdir ddd/ddd
+$ rm ddd/xxx
+$ rmdir ddd
+
OpenPOWER on IntegriCloud