xfs
[Top] [All Lists]

[PATCH] xfstests: filter out selinux xattrs for generic/062

To: <linux-btrfs@xxxxxxxxxxxxxxx>, <xfs@xxxxxxxxxxx>
Subject: [PATCH] xfstests: filter out selinux xattrs for generic/062
From: Josef Bacik <jbacik@xxxxxx>
Date: Fri, 9 May 2014 15:44:28 -0400
Delivered-to: xfs@xxxxxxxxxxx
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/simple; d=fb.com; h=from : to : subject : date : message-id : mime-version : content-type; s=facebook; bh=TRBsymxAh0sghHa4B6o16GBLysIFqc3T9P/T5hcSukE=; b=ofgLJUSqi7VtliRgZTN3RNPgxBPQxQyDzbYjHpIHlcNIksAIfFjvJBTXgIyq9rWZJowe JGNh+5IUrnFcwsX5adU+zX8VqdlYbWo6th9bojjOWvLTDtqosKZcOE7ZYbXrbj7bLMB9 sdjOFLm3v3S9dhpysqcCpcNunUX85RLED8Q=
If you have selinux enabled getfattr will show the selinux xattrs, which screws
with the golden output of generic/062.  To make matters worse you can't just
greap it out because we'll still get the preamble and newline from getfattr when
the selinux attr is the only attr.  So this is the voodoo I came up with after
way more time than I'm comfortable admitting to make this test pass if you have
selinux enabled.  Thanks,

Signed-off-by: Josef Bacik <jbacik@xxxxxx>
---
 common/filter     | 6 ++++++
 tests/generic/062 | 3 ++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/common/filter b/common/filter
index 05dbae6..16a01ed 100644
--- a/common/filter
+++ b/common/filter
@@ -323,5 +323,11 @@ _filter_ro_mount() {
            -e "s/mount: cannot mount block device/mount: cannot mount/g"
 }
 
+# Filter out selinux xattrs from getfattr, and if selinux is the only xattr in
+# the file simply pretend like there were no xattrs
+_filter_selinux_xattr() {
+       grep -v selinux | sed -e "N; s/^\# file: .*\n$//; /^$/d"
+}
+
 # make sure this script returns success
 /bin/true
diff --git a/tests/generic/062 b/tests/generic/062
index 047c930..32f0bca 100755
--- a/tests/generic/062
+++ b/tests/generic/062
@@ -47,7 +47,8 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
 
 getfattr()
 {
-    $GETFATTR_PROG --absolute-names -dh $@ 2>&1 | _filter_scratch
+    $GETFATTR_PROG --absolute-names -dh $@ 2>&1 | _filter_scratch | \
+       _filter_selinux_xattr
 }
 
 setfattr()
-- 
1.8.3.1

<Prev in Thread] Current Thread [Next in Thread>