diff mbox series

generic/377: filter out xattrs that don't start with 'user.'

Message ID 20200701175205.342650-1-jlayton@kernel.org (mailing list archive)
State New, archived
Headers show
Series generic/377: filter out xattrs that don't start with 'user.' | expand

Commit Message

Jeff Layton July 1, 2020, 5:52 p.m. UTC
Most hosts that I've been testing on seem to display security.selinux in
listxattr. 377.out doesn't account for that so it routinely fails for me
in testing.

When testing the output of listxattr in generic/377, filter out any xattr
names that don't start with 'user.'. That should help ensure consistent
output on SELinux-enabled hosts.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
---
 tests/generic/377 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

I'm not sure why this doesn't fail for most people, unless most are
turning off SELinux. Is this the right approach?

Comments

Zorro Lang July 5, 2020, 11:41 a.m. UTC | #1
On Wed, Jul 01, 2020 at 01:52:05PM -0400, Jeff Layton wrote:
> Most hosts that I've been testing on seem to display security.selinux in
> listxattr. 377.out doesn't account for that so it routinely fails for me
> in testing.
> 
> When testing the output of listxattr in generic/377, filter out any xattr
> names that don't start with 'user.'. That should help ensure consistent
> output on SELinux-enabled hosts.
> 
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
> ---

Yeah, I hit this error[1] too. This patch looks good to me.

One more question, do you hit similar failure on generic/062, likes [2]? 

Thanks,
Zorro

[1]
--- /dev/fd/63	2020-07-02 12:07:42.948327419 -0400
+++ results/generic/377.out.bad	2020-07-02 12:07:41.990305624 -0400
@@ -1,4 +1,5 @@
 QA output created by 377
+xattr: security.selinux
 xattr: user.foo
 xattr: user.hello
 xattr: user.ping
...

[2]
--- /dev/fd/63	2020-07-02 07:15:09.072853920 -0400
+++ results/generic/062.out.bad	2020-07-02 07:15:08.156833194 -0400
@@ -52,6 +52,7 @@
 SCRATCH_MNT/reg: user.name2: No such attribute or operation not permitted
 *** final list (strings, type=reg, nsp=user)
 # file: SCRATCH_MNT/reg
+security.selinux=0x73797374656d5f753a6f626a6563745f723a6e66735f743a733000
 user.name=0xbabe
 user.name3=0xdeface
...

>  tests/generic/377 | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> I'm not sure why this doesn't fail for most people, unless most are
> turning off SELinux. Is this the right approach?
> 
> diff --git a/tests/generic/377 b/tests/generic/377
> index f7835ee8ff9e..f08abdca60a6 100755
> --- a/tests/generic/377
> +++ b/tests/generic/377
> @@ -48,7 +48,7 @@ $SETFATTR_PROG -n user.ping -v pong $testfile
>  $SETFATTR_PROG -n user.hello -v there $testfile
>  
>  # 1. Call listxattr without buffer length argument. This should succeed.
> -$listxattr $testfile | sort
> +$listxattr $testfile | grep '^xattr: user\.' | sort
>  
>  # 2. Calling listxattr on nonexistant file should fail with -ENOENT.
>  $listxattr ""
> @@ -66,7 +66,7 @@ $listxattr $testfile 9
>  $listxattr $testfile 11
>  
>  # 6. Calling listxattr with buffersize bigger than needed should succeed.
> -$listxattr $testfile 500 | sort
> +$listxattr $testfile 500 | grep '^xattr: user\.' | sort
>  
>  status=0
>  exit
> -- 
> 2.26.2
>
Jeff Layton July 6, 2020, 1:50 p.m. UTC | #2
On Sun, 2020-07-05 at 19:41 +0800, Zorro Lang wrote:
> On Wed, Jul 01, 2020 at 01:52:05PM -0400, Jeff Layton wrote:
> > Most hosts that I've been testing on seem to display security.selinux in
> > listxattr. 377.out doesn't account for that so it routinely fails for me
> > in testing.
> > 
> > When testing the output of listxattr in generic/377, filter out any xattr
> > names that don't start with 'user.'. That should help ensure consistent
> > output on SELinux-enabled hosts.
> > 
> > Signed-off-by: Jeff Layton <jlayton@kernel.org>
> > ---
> 
> Yeah, I hit this error[1] too. This patch looks good to me.
> 
> One more question, do you hit similar failure on generic/062, likes [2]? 
> 
> Thanks,
> Zorro
> 
> [1]
> --- /dev/fd/63	2020-07-02 12:07:42.948327419 -0400
> +++ results/generic/377.out.bad	2020-07-02 12:07:41.990305624 -0400
> @@ -1,4 +1,5 @@
>  QA output created by 377
> +xattr: security.selinux
>  xattr: user.foo
>  xattr: user.hello
>  xattr: user.ping
> ...
> 
> [2]
> --- /dev/fd/63	2020-07-02 07:15:09.072853920 -0400
> +++ results/generic/062.out.bad	2020-07-02 07:15:08.156833194 -0400
> @@ -52,6 +52,7 @@
>  SCRATCH_MNT/reg: user.name2: No such attribute or operation not permitted
>  *** final list (strings, type=reg, nsp=user)
>  # file: SCRATCH_MNT/reg
> +security.selinux=0x73797374656d5f753a6f626a6563745f723a6e66735f743a733000
>  user.name=0xbabe
>  user.name3=0xdeface
> ...
> 

Thanks.

Yes, I generally hit this too. We can do a similar fix for that one. I
just figured I'd float this smaller patch before I went to the effort.

I'll plan to spin up a second patch that similarly fixes generic/062.

> >  tests/generic/377 | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > I'm not sure why this doesn't fail for most people, unless most are
> > turning off SELinux. Is this the right approach?
> > 
> > diff --git a/tests/generic/377 b/tests/generic/377
> > index f7835ee8ff9e..f08abdca60a6 100755
> > --- a/tests/generic/377
> > +++ b/tests/generic/377
> > @@ -48,7 +48,7 @@ $SETFATTR_PROG -n user.ping -v pong $testfile
> >  $SETFATTR_PROG -n user.hello -v there $testfile
> >  
> >  # 1. Call listxattr without buffer length argument. This should succeed.
> > -$listxattr $testfile | sort
> > +$listxattr $testfile | grep '^xattr: user\.' | sort
> >  
> >  # 2. Calling listxattr on nonexistant file should fail with -ENOENT.
> >  $listxattr ""
> > @@ -66,7 +66,7 @@ $listxattr $testfile 9
> >  $listxattr $testfile 11
> >  
> >  # 6. Calling listxattr with buffersize bigger than needed should succeed.
> > -$listxattr $testfile 500 | sort
> > +$listxattr $testfile 500 | grep '^xattr: user\.' | sort
> >  
> >  status=0
> >  exit
> > -- 
> > 2.26.2
> >
diff mbox series

Patch

diff --git a/tests/generic/377 b/tests/generic/377
index f7835ee8ff9e..f08abdca60a6 100755
--- a/tests/generic/377
+++ b/tests/generic/377
@@ -48,7 +48,7 @@  $SETFATTR_PROG -n user.ping -v pong $testfile
 $SETFATTR_PROG -n user.hello -v there $testfile
 
 # 1. Call listxattr without buffer length argument. This should succeed.
-$listxattr $testfile | sort
+$listxattr $testfile | grep '^xattr: user\.' | sort
 
 # 2. Calling listxattr on nonexistant file should fail with -ENOENT.
 $listxattr ""
@@ -66,7 +66,7 @@  $listxattr $testfile 9
 $listxattr $testfile 11
 
 # 6. Calling listxattr with buffersize bigger than needed should succeed.
-$listxattr $testfile 500 | sort
+$listxattr $testfile 500 | grep '^xattr: user\.' | sort
 
 status=0
 exit