On Thu, Feb 20, 2025 at 06:26:38AM -0500, Jeff Layton wrote: > I had been seeing some failures in generic/126 when running on NFS under > kdevops. The problem turned out to be that kdevops makes the root of the > NFS export mode 01777 by default (i.e. with the sticky bit set). This > causes some of these permission tests to fail because the open() is > called with the O_CREAT bit set. > > Make the outcome of this test not depend on the permissions on > $TEST_DIR. Create a new directory to do these tests in, and clean it up > when done. > > Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx> > Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx> > --- > Changes in v3: > - Add comment explaining the weird setup > - Move all of the cleanup into _cleanup() > - rm -rf $testdir before doing mkdir > - add call to _require_chmod helper > - Link to v2: https://lore.kernel.org/r/20250219-generic126-v2-1-e7537f6c9607@xxxxxxxxxx > > Changes in v2: > - add commands to _cleanup() to clean up test directory (Thanks Darrick!) > - Link to v1: https://lore.kernel.org/r/20250219-generic126-v1-1-018e4e60c811@xxxxxxxxxx > --- > tests/generic/126 | 17 ++++++++++++++--- > 1 file changed, 14 insertions(+), 3 deletions(-) > > diff --git a/tests/generic/126 b/tests/generic/126 > index 142d2bb97db706bafd2152856ef0993c5c273441..97b4a07344bd5d3d5e06b36831978c9ad314b9d7 100755 > --- a/tests/generic/126 > +++ b/tests/generic/126 > @@ -13,6 +13,7 @@ _begin_fstest perms auto quick > _cleanup() > { > cd / > + test -n "$testdir" && rm -rf "$testdir" > } > > # Import common functions. > @@ -20,10 +21,22 @@ _cleanup() > > _require_test > _require_chown > +_require_chmod > > QA_FS_PERMS=$here/src/fs_perms > > -cd $TEST_DIR > +# > +# This test is testing filesystem permissions. If the sticky bit is set on > +# the directory, that can affect the outcome. Create a new directory with > +# known permissions in which to run this test. > +# > +testdir="$TEST_DIR/generic-126.$$" I'll change the 126 to ${seq}, others good to me. Thanks! Reviewed-by: Zorro Lang <zlang@xxxxxxxxxx> > +rm -rf $testdir > +mkdir $testdir > +chown 0:0 $testdir > +chmod 0755 $testdir > +cd $testdir > + > cp $here/src/testx ./testx.file > > # file_perm owner_uid owner_gid tester_uid tester_gid perm_to_test expected_result pass=1 > @@ -46,7 +59,5 @@ $QA_FS_PERMS 200 99 99 200 99 w 1 > $QA_FS_PERMS 040 99 99 99 500 r 1 > $QA_FS_PERMS 400 99 99 200 99 r 1 > > -rm -f ./testx.file > - > status=0 > exit > > --- > base-commit: 8467552f09e1672a02712653b532a84bd46ea10e > change-id: 20250219-generic126-f81b3022c4b7 > > Best regards, > -- > Jeff Layton <jlayton@xxxxxxxxxx> >