QA output created by 099

=== Test minimal ACE ===
Setup file
-rwxrw-r-- id1 id2 file1

--- Test get and set of ACL ---
Note: IRIX interface gave an empty ACL - Linux outputs an ACL
file1 []
Try using single colon separator
Note: IRIX interface FAILs because of single colon - Linux one allows it
chacl: "u::r--,g::rwx,o:rw-" is an invalid ACL specification.
Expect to PASS
file1 [u::r--,g::rwx,o::rw-]

--- Test sync of ACL with std permissions ---
-r--rwxrw-+ id1 id2 file1
-rw-rwxrw-+ id1 id2 file1
file1 [u::rw-,g::rwx,o::rw-]

--- Test owner permissions ---
file1 [u::r-x,g::---,o::---]
Expect to PASS
Test was executed
Expect to FAIL
./file1: Permission denied

--- Test group permissions ---
file1 [u::---,g::r-x,o::---]
Expect to FAIL - acl1 is owner
./file1: Permission denied
Expect to PASS - acl2 matches group
Test was executed
Expect to PASS - acl2 matches sup group
Test was executed
Expect to FAIL - acl3 is not in group
./file1: Permission denied

--- Test other permissions ---
file1 [u::---,g::---,o::r-x]
Expect to FAIL - acl1 is owner
./file1: Permission denied
Expect to FAIL - acl2 is in group
./file1: Permission denied
Expect to FAIL - acl2 is in sup. group
./file1: Permission denied
Expect to PASS - acl3 is not owner or in group
Test was executed

=== Test Extended ACLs ===

--- Test adding a USER ACE ---
Expect to FAIL as no MASK provided
chacl: error setting access acl on "file1":Invalid argument
Ensure that ACL has not been changed
file1 [u::---,g::---,o::r-x]
Expect to PASS - USER ACE matches user
file1 [u::---,g::---,o::---,u:id2:r-x,m::rwx]
Test was executed
Expect to FAIL - USER ACE does not match user
./file1: Permission denied

--- Test adding a GROUP ACE ---
Expect to FAIL as no MASK provided
chacl: error setting access acl on "file1":Invalid argument
Ensure that ACL has not been changed
file1 [u::---,g::---,o::---,u:id2:r-x,m::rwx]
file1 [u::---,g::---,o::---,g:id2:r-x,m::rwx]
Expect to PASS - GROUP ACE matches group
Test was executed
Expect to PASS - GROUP ACE matches sup group
Test was executed
Expect to FAIL - GROUP ACE does not match group
./file1: Permission denied

--- Test MASK ---
file1 [u::---,g::---,o::---,g:id2:r-x,m::-w-]
Expect to FAIL as MASK prohibits execution
./file1: Permission denied
Expect to FAIL as MASK prohibits execution
./file1: Permission denied
Expect to PASS as MASK allows execution
Test was executed

--- Test ACE priority ---
Expect to FAIL as should match on owner
./file1: Permission denied
Expect to PASS as should match on user
Test was executed

=== Test can read ACLs without access permissions ===
file1 [o::---,g::---,u::---]

=== Test Default ACLs ===
acldir [u::rwx,g::rwx,o::rwx/u::r-x,g::r--,o::---]
-r--r-----+ 0 0 file2
file2 [u::r--,g::r--,o::---]
-r--r-----+ 0 0 file3
file3 [u::r--,g::r--,o::---]

=== Removing ACLs ===
file1 [o::---,g::---,u::---]
acldir [u::rwx,g::rwx,o::rwx/u::r-x,g::r--,o::---]
acldir/file2 [u::r--,g::r--,o::---]
Remove ACLs...
Note: IRIX interface would mean empty ACLs - Linux would show mode ACLs
file1 []
acldir []
acldir/file2 []

=== Test out error messages for ACL text parsing  ===
+ chacl u file1
chacl: "u" is an invalid ACL specification.
+ chacl u: file1
chacl: "u:" is an invalid ACL specification.
+ chacl u:rumpledumpleunknownuser file1
chacl: "u:rumpledumpleunknownuser" is an invalid ACL specification.
+ chacl u:rumpledumpleunknownuser: file1
chacl: "u:rumpledumpleunknownuser:" is an invalid ACL specification.
+ chacl g:rumpledumpleunknowngrp file1
chacl: "g:rumpledumpleunknowngrp" is an invalid ACL specification.
+ chacl g:rumpledumpleunknowngrp: file1
chacl: "g:rumpledumpleunknowngrp:" is an invalid ACL specification.
+ chacl o:user1:rwx file1
chacl: "o:user1:rwx" is an invalid ACL specification.
+ chacl m:user1:rwx file1
chacl: "m:user1:rwx" is an invalid ACL specification.
+ chacl a::rwx file1
chacl: "a::rwx" is an invalid ACL specification.

=== Test out large ACLs  ===
1 below xfs acl max
largeaclfile 
user::rwx
group::rwx
other::rwx
mask::rwx
user:20:rwx
user:19:rwx
user:18:rwx
user:17:rwx
user:16:rwx
user:15:rwx
user:14:rwx
user:13:rwx
user:12:rwx
user:11:rwx
user:10:rwx
user:9:rwx
user:8:rwx
user:7:rwx
user:6:rwx
user:5:rwx
user:4:rwx
user:3:rwx
user:2:rwx
user:1:rwx

xfs acl max
largeaclfile 
user::rwx
group::rwx
other::rwx
mask::rwx
user:21:rwx
user:20:rwx
user:19:rwx
user:18:rwx
user:17:rwx
user:16:rwx
user:15:rwx
user:14:rwx
user:13:rwx
user:12:rwx
user:11:rwx
user:10:rwx
user:9:rwx
user:8:rwx
user:7:rwx
user:6:rwx
user:5:rwx
user:4:rwx
user:3:rwx
user:2:rwx
user:1:rwx

1 above xfs acl max
chacl: error setting access acl on "largeaclfile":Error 0
largeaclfile 
user::rwx
group::rwx
other::rwx
mask::rwx
user:21:rwx
user:20:rwx
user:19:rwx
user:18:rwx
user:17:rwx
user:16:rwx
user:15:rwx
user:14:rwx
user:13:rwx
user:12:rwx
user:11:rwx
user:10:rwx
user:9:rwx
user:8:rwx
user:7:rwx
user:6:rwx
user:5:rwx
user:4:rwx
user:3:rwx
user:2:rwx
user:1:rwx

