shared/051: add filter to match the golden output for large acls
authorJie Liu <jeff.liu@oracle.com>
Thu, 13 Mar 2014 04:20:18 +0000 (15:20 +1100)
committerDave Chinner <david@fromorbit.com>
Thu, 13 Mar 2014 04:20:18 +0000 (15:20 +1100)
On old kernel we return EINVAL if hit the limits of maximum number of
ACLs but return E2BIG on new kernel, which cause the test failes on new
kernel as the output is mismatch to the goldens. This patch fix it by
updating the golden output with the new error message and replacing the
old error message with it via a filter.

Signed-off-by: Jie Liu <jeff.liu@oracle.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
tests/shared/051
tests/shared/051.out

index e957f86ce9e85d420f0b1334df9be4280e33bcd7..39fdad4134685b4d2ac2dad88881e7841d532d81 100755 (executable)
@@ -318,6 +318,14 @@ chacl m:user1:rwx file1
 chacl a::rwx file1
 set +x
 
+# we return E2BIG if hit the max acl limits on new kernel, but EINVAL
+# on old kernel. So we need to filter out the error message in order
+# to make the updated golden output works for both old and new kernels.
+_filter_largeacl()
+{
+       sed -e "s/Invalid argument/Argument list too long/"
+}
+
 #-------------------------------------------------------
 
 echo ""
@@ -342,7 +350,7 @@ chacl $acl2 largeaclfile
 getfacl --numeric largeaclfile | _filter_aces
 
 echo "1 above xfs acl max"
-chacl $acl3 largeaclfile
+chacl $acl3 largeaclfile 2>&1 | _filter_largeacl
 getfacl --numeric largeaclfile | _filter_aces
 
 echo "use 16 aces"
index a87108207b56bfec4873f858974c8c5d05b4ae71..354ec6ad090e2b549a05c4ca5e8efdac57a1340d 100644 (file)
@@ -280,7 +280,7 @@ mask::rwx
 other::rwx
 
 1 above xfs acl max
-chacl: cannot set access acl on "largeaclfile": Invalid argument
+chacl: cannot set access acl on "largeaclfile": Argument list too long
 # file: largeaclfile
 # owner: 0
 # group: 0