PERFORCE change 148368 for review
Edward Tomasz Napierala
trasz at FreeBSD.org
Mon Aug 25 09:41:29 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=148368
Change 148368 by trasz at trasz_traszkan on 2008/08/25 09:40:54
Tests for passing multiple file names to setfacl(1).
Affected files ...
.. //depot/projects/soc2008/trasz_nfs4acl/TODO#45 edit
.. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/acltools/tools-nfs4.test#7 edit
.. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/acltools/tools-posix.test#4 edit
Differences ...
==== //depot/projects/soc2008/trasz_nfs4acl/TODO#45 (text+ko) ====
@@ -2,9 +2,6 @@
- Add support for NFS4 ACLs to tar(1).
-- Add unit test to verify correct operation if several file names
- are given to getfacl(1) and setfacl(1).
-
- Clean up #defines. For example, make VREAD_NAMED_ATTRS equal
to ACL_READ_NAMED_ATTRS, so there is no need for translation
between the two in kern/subr_acl_nfs4.c.
==== //depot/projects/soc2008/trasz_nfs4acl/tools/regression/acltools/tools-nfs4.test#7 (text+ko) ====
@@ -150,8 +150,6 @@
$ rm yyy
-# XXX: Test mv. Need more than one filesystem for that.
-
# Test removing entries by... by example?
$ setfacl -x everyone@::deny xxx
$ getfacl -n xxx
@@ -177,8 +175,67 @@
> everyone@:-wxp---A-W-Co-:------:deny
> everyone@:r-----a-R-c--s:------:allow
+$ ls -l xxx | cut -d' ' -f1
+> -rw-r--r--
+
+# Check setfacl(1) and getfacl(1) with multiple files.
+$ touch xxx yyy zzz
+
+$ ls -l xxx yyy zzz | cut -d' ' -f1
+> -rw-r--r--
+> -rw-r--r--
+> -rw-r--r--
+
+$ setfacl -m u:42:x:allow,g:43:w:allow nnn xxx yyy zzz
+> setfacl: nnn: acl_get_file() 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--+
+
+$ getfacl -nq nnn xxx yyy zzz
+> getfacl: nnn: stat() failed: No such file or directory
+> user:42:--x-----------:------:allow
+> group:43:-w------------:------:allow
+> owner@:--x-----------:------:deny
+> owner@:rw-p---A-W-Co-:------:allow
+> group@:-wxp----------:------:deny
+> group@:r-------------:------:allow
+> everyone@:-wxp---A-W-Co-:------:deny
+> everyone@:r-----a-R-c--s:------:allow
+>
+> user:42:--x-----------:------:allow
+> group:43:-w------------:------:allow
+> owner@:--x-----------:------:deny
+> owner@:rw-p---A-W-Co-:------:allow
+> group@:-wxp----------:------:deny
+> group@:r-------------:------:allow
+> everyone@:-wxp---A-W-Co-:------:deny
+> everyone@:r-----a-R-c--s:------:allow
+>
+> user:42:--x-----------:------:allow
+> group:43:-w------------:------:allow
+> owner@:--x-----------:------:deny
+> owner@:rw-p---A-W-Co-:------:allow
+> group@:-wxp----------:------:deny
+> group@:r-------------:------:allow
+> everyone@:-wxp---A-W-Co-:------:deny
+> everyone@:r-----a-R-c--s:------:allow
+
+$ setfacl -b nnn xxx yyy zzz
+> setfacl: nnn: acl_get_file() 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
+
# Test applying mode to an ACL.
-$ rm xxx
$ touch xxx
$ setfacl -a0 user:42:r:allow,user:43:w:deny,user:43:w:allow,user:44:x:allow -x everyone@::allow xxx
$ chmod 600 xxx
==== //depot/projects/soc2008/trasz_nfs4acl/tools/regression/acltools/tools-posix.test#4 (text+ko) ====
@@ -83,8 +83,6 @@
$ rm yyy
-# XXX: Test mv. Need more than one filesystem for that.
-
# Test removing entries by... by example?
$ setfacl -m u:42:r,g:43:w xxx
$ setfacl -x u:42: xxx
@@ -124,7 +122,59 @@
$ ls -l xxx | cut -d' ' -f1
> -rw-r--r--
+# Check setfacl(1) and getfacl(1) with multiple files.
+$ touch xxx yyy zzz
+
+$ ls -l xxx yyy zzz | cut -d' ' -f1
+> -rw-r--r--
+> -rw-r--r--
+> -rw-r--r--
+
+$ setfacl -m u:42:x,g:43:w nnn xxx yyy zzz
+> setfacl: nnn: acl_get_file() failed: No such file or directory
+
+$ ls -l nnn xxx yyy zzz | cut -d' ' -f1
+> ls: nnn: No such file or directory
+> -rw-rwxr--+
+> -rw-rwxr--+
+> -rw-rwxr--+
+
+$ getfacl -nq nnn xxx yyy zzz
+> getfacl: nnn: stat() failed: No such file or directory
+> user::rw-
+> user:42:--x
+> group::r--
+> group:43:-w-
+> mask::rwx
+> other::r--
+>
+> user::rw-
+> user:42:--x
+> group::r--
+> group:43:-w-
+> mask::rwx
+> other::r--
+>
+> user::rw-
+> user:42:--x
+> group::r--
+> group:43:-w-
+> mask::rwx
+> other::r--
+
+$ setfacl -b nnn xxx yyy zzz
+> setfacl: nnn: acl_get_file() 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.
+$ touch xxx
$ setfacl -m u:42:rwx,g:43:rwx xxx
$ chmod 600 xxx
$ getfacl -n xxx
More information about the p4-projects
mailing list