mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
generic/097: split user.* xattr tests to new test
Split out most of the user.* tests from 097 and move them to a new test that only tests user.* xattrs. This makes it possible to use this test on filesystems that can only provide user.* xattrs such as CIFS. Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com> Reviewed-by: Eryu Guan <guaneryu@gmail.com> Signed-off-by: Eryu Guan <guaneryu@gmail.com>
This commit is contained in:
committed by
Eryu Guan
parent
c2d149681c
commit
2780486bdd
@@ -54,90 +54,6 @@ echo -e "\ncreate file foo"
|
||||
rm -f $file
|
||||
touch $file
|
||||
|
||||
echo -e "\nshould be no EAs for foo:"
|
||||
getfattr -d $file
|
||||
|
||||
echo -e "\nset EA <noise,woof>:"
|
||||
setfattr -n user.noise -v woof $file
|
||||
|
||||
echo -e "\nset EA <colour,blue>:"
|
||||
setfattr -n user.colour -v blue $file
|
||||
|
||||
echo -e "\nset EA <size,small>:"
|
||||
setfattr -n user.size -v small $file
|
||||
|
||||
echo -e "\nlist the EAs for foo: noise, colour, size"
|
||||
getfattr -d $file
|
||||
|
||||
echo -e "\ncheck the list again for foo"
|
||||
getfattr -d $file
|
||||
|
||||
echo -e "\nunmount the FS and see if EAs are persistent"
|
||||
_test_cycle_mount
|
||||
|
||||
echo -e "\ncheck the list again for foo after umount/mount"
|
||||
getfattr -d $file
|
||||
|
||||
echo -e "\nremove the colour EA on foo"
|
||||
setfattr -x user.colour $file
|
||||
|
||||
echo -e "\nlist EAs for foo: noise, size"
|
||||
getfattr -d $file
|
||||
|
||||
echo -e "\nget the value of the noise EA"
|
||||
getfattr -n user.noise $file
|
||||
|
||||
echo -e "\nget the value of the colour EA which was removed earlier"
|
||||
getfattr -n user.colour $file
|
||||
|
||||
echo -e "\nget the value of the size EA"
|
||||
getfattr -n user.size $file
|
||||
|
||||
echo -e "\nlist all the EAs again: noise, size"
|
||||
getfattr -d $file
|
||||
|
||||
echo -e "\nchange the value of the size EA from small to huge"
|
||||
setfattr -n user.size -v huge $file
|
||||
|
||||
echo -e "\nget the size EA which should now have value huge"
|
||||
getfattr -n user.size $file
|
||||
|
||||
echo -e "\nlist EAs: noise, size"
|
||||
getfattr -d $file
|
||||
|
||||
echo -e "\nremove the size EA from foo"
|
||||
setfattr -x user.size $file
|
||||
|
||||
echo -e "\nlist EAs: noise (size EA has been removed)"
|
||||
getfattr -d $file
|
||||
|
||||
echo -e "\ntry removing non-existent EA named woof"
|
||||
setfattr -x user.woof $file
|
||||
|
||||
echo -e "\ntry removing already removed EA size"
|
||||
setfattr -x user.size $file
|
||||
|
||||
echo -e "\nlist EAs: noise"
|
||||
getfattr -d $file
|
||||
|
||||
echo -e "\ntry removing already removed EA colour"
|
||||
setfattr -x user.colour $file
|
||||
|
||||
echo -e "\nlist EAs: noise"
|
||||
getfattr -d $file
|
||||
|
||||
echo -e "\nremove remaining EA noise"
|
||||
setfattr -x user.noise $file
|
||||
|
||||
echo -e "\nlist EAs: should be no EAs left now"
|
||||
getfattr -d $file
|
||||
|
||||
echo -e "\nunmount the FS and see if EAs are persistent"
|
||||
_test_cycle_mount
|
||||
|
||||
echo -e "\nlist EAs: should still be no EAs left"
|
||||
getfattr -d $file
|
||||
|
||||
echo -e "\n*** Test out the trusted namespace ***"
|
||||
|
||||
echo -e "\nset EA <trusted:colour,marone>:"
|
||||
|
||||
@@ -2,111 +2,6 @@ QA output created by 097
|
||||
|
||||
create file foo
|
||||
|
||||
should be no EAs for foo:
|
||||
|
||||
set EA <noise,woof>:
|
||||
|
||||
set EA <colour,blue>:
|
||||
|
||||
set EA <size,small>:
|
||||
|
||||
list the EAs for foo: noise, colour, size
|
||||
# file: TEST_DIR/foo
|
||||
user.colour="blue"
|
||||
user.noise="woof"
|
||||
user.size="small"
|
||||
|
||||
|
||||
check the list again for foo
|
||||
# file: TEST_DIR/foo
|
||||
user.colour="blue"
|
||||
user.noise="woof"
|
||||
user.size="small"
|
||||
|
||||
|
||||
unmount the FS and see if EAs are persistent
|
||||
|
||||
check the list again for foo after umount/mount
|
||||
# file: TEST_DIR/foo
|
||||
user.colour="blue"
|
||||
user.noise="woof"
|
||||
user.size="small"
|
||||
|
||||
|
||||
remove the colour EA on foo
|
||||
|
||||
list EAs for foo: noise, size
|
||||
# file: TEST_DIR/foo
|
||||
user.noise="woof"
|
||||
user.size="small"
|
||||
|
||||
|
||||
get the value of the noise EA
|
||||
# file: TEST_DIR/foo
|
||||
user.noise="woof"
|
||||
|
||||
|
||||
get the value of the colour EA which was removed earlier
|
||||
TEST_DIR/foo: user.colour: No such attribute
|
||||
|
||||
get the value of the size EA
|
||||
# file: TEST_DIR/foo
|
||||
user.size="small"
|
||||
|
||||
|
||||
list all the EAs again: noise, size
|
||||
# file: TEST_DIR/foo
|
||||
user.noise="woof"
|
||||
user.size="small"
|
||||
|
||||
|
||||
change the value of the size EA from small to huge
|
||||
|
||||
get the size EA which should now have value huge
|
||||
# file: TEST_DIR/foo
|
||||
user.size="huge"
|
||||
|
||||
|
||||
list EAs: noise, size
|
||||
# file: TEST_DIR/foo
|
||||
user.noise="woof"
|
||||
user.size="huge"
|
||||
|
||||
|
||||
remove the size EA from foo
|
||||
|
||||
list EAs: noise (size EA has been removed)
|
||||
# file: TEST_DIR/foo
|
||||
user.noise="woof"
|
||||
|
||||
|
||||
try removing non-existent EA named woof
|
||||
setfattr: TEST_DIR/foo: No such attribute
|
||||
|
||||
try removing already removed EA size
|
||||
setfattr: TEST_DIR/foo: No such attribute
|
||||
|
||||
list EAs: noise
|
||||
# file: TEST_DIR/foo
|
||||
user.noise="woof"
|
||||
|
||||
|
||||
try removing already removed EA colour
|
||||
setfattr: TEST_DIR/foo: No such attribute
|
||||
|
||||
list EAs: noise
|
||||
# file: TEST_DIR/foo
|
||||
user.noise="woof"
|
||||
|
||||
|
||||
remove remaining EA noise
|
||||
|
||||
list EAs: should be no EAs left now
|
||||
|
||||
unmount the FS and see if EAs are persistent
|
||||
|
||||
list EAs: should still be no EAs left
|
||||
|
||||
*** Test out the trusted namespace ***
|
||||
|
||||
set EA <trusted:colour,marone>:
|
||||
|
||||
Executable
+143
@@ -0,0 +1,143 @@
|
||||
#! /bin/bash
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (c) 2000-2004 Silicon Graphics, Inc. All Rights Reserved.
|
||||
# Copyright (c) 2017 Google, Inc. All Rights Reserved.
|
||||
# Copyright (c) 2019 Red Hat Inc. All Rights Reserved.
|
||||
#
|
||||
# FS QA Test No. 526.
|
||||
#
|
||||
# Simple attr smoke tests for user EAs, dereived from generic/097.
|
||||
#
|
||||
seq=`basename $0`
|
||||
seqres=$RESULT_DIR/$seq
|
||||
echo "QA output created by $seq"
|
||||
|
||||
here=`pwd`
|
||||
tmp=/tmp/$$
|
||||
status=1 # failure is the default!
|
||||
trap "_cleanup; exit \$status" 0 1 2 3 15
|
||||
|
||||
file=$TEST_DIR/foo.$seq
|
||||
|
||||
_cleanup()
|
||||
{
|
||||
cd /
|
||||
rm -f $tmp.*
|
||||
}
|
||||
|
||||
getfattr()
|
||||
{
|
||||
_getfattr --absolute-names "$@" |& _filter_test_dir
|
||||
}
|
||||
|
||||
setfattr()
|
||||
{
|
||||
$SETFATTR_PROG "$@" |& _filter_test_dir
|
||||
}
|
||||
|
||||
# get standard environment, filters and checks
|
||||
. ./common/rc
|
||||
. ./common/attr
|
||||
. ./common/filter
|
||||
|
||||
# real QA test starts here
|
||||
_supported_fs generic
|
||||
_supported_os Linux
|
||||
|
||||
_require_test
|
||||
_require_attrs
|
||||
|
||||
# remove previous $seqres.full before test
|
||||
rm -f $seqres.full
|
||||
|
||||
echo -e "\ncreate file foo.$seq"
|
||||
rm -f $file
|
||||
touch $file
|
||||
|
||||
echo -e "\nshould be no EAs for foo.$seq:"
|
||||
getfattr -d $file
|
||||
|
||||
echo -e "\nset EA <NOISE,woof>:"
|
||||
setfattr -n user.NOISE -v woof $file
|
||||
|
||||
echo -e "\nset EA <COLOUR,blue>:"
|
||||
setfattr -n user.COLOUR -v blue $file
|
||||
|
||||
echo -e "\nset EA <SIZE,small>:"
|
||||
setfattr -n user.SIZE -v small $file
|
||||
|
||||
echo -e "\nlist the EAs for foo.$seq: NOISE, COLOUR, SIZE"
|
||||
getfattr -d $file
|
||||
|
||||
echo -e "\ncheck the list again for foo.$seq"
|
||||
getfattr -d $file
|
||||
|
||||
echo -e "\nunmount the FS and see if EAs are persistent"
|
||||
_test_cycle_mount
|
||||
|
||||
echo -e "\ncheck the list again for foo.$seq after umount/mount"
|
||||
getfattr -d $file
|
||||
|
||||
echo -e "\nremove the COLOUR EA on foo.$seq"
|
||||
setfattr -x user.COLOUR $file
|
||||
|
||||
echo -e "\nlist EAs for foo.$seq: NOISE, SIZE"
|
||||
getfattr -d $file
|
||||
|
||||
echo -e "\nget the value of the NOISE EA"
|
||||
getfattr -n user.NOISE $file
|
||||
|
||||
echo -e "\nget the value of the COLOUR EA which was removed earlier"
|
||||
getfattr -n user.COLOUR $file
|
||||
|
||||
echo -e "\nget the value of the SIZE EA"
|
||||
getfattr -n user.SIZE $file
|
||||
|
||||
echo -e "\nlist all the EAs again: NOISE, SIZE"
|
||||
getfattr -d $file
|
||||
|
||||
echo -e "\nchange the value of the SIZE EA from small to huge"
|
||||
setfattr -n user.SIZE -v huge $file
|
||||
|
||||
echo -e "\nget the SIZE EA which should now have value huge"
|
||||
getfattr -n user.SIZE $file
|
||||
|
||||
echo -e "\nlist EAs: NOISE, SIZE"
|
||||
getfattr -d $file
|
||||
|
||||
echo -e "\nremove the SIZE EA from foo.$seq"
|
||||
setfattr -x user.SIZE $file
|
||||
|
||||
echo -e "\nlist EAs: NOISE (SIZE EA has been removed)"
|
||||
getfattr -d $file
|
||||
|
||||
echo -e "\ntry removing non-existent EA named woof"
|
||||
setfattr -x user.WOOF $file
|
||||
|
||||
echo -e "\ntry removing already removed EA SIZE"
|
||||
setfattr -x user.SIZE $file
|
||||
|
||||
echo -e "\nlist EAs: NOISE"
|
||||
getfattr -d $file
|
||||
|
||||
echo -e "\ntry removing already removed EA COLOUR"
|
||||
setfattr -x user.COLOUR $file
|
||||
|
||||
echo -e "\nlist EAs: NOISE"
|
||||
getfattr -d $file
|
||||
|
||||
echo -e "\nremove remaining EA NOISE"
|
||||
setfattr -x user.NOISE $file
|
||||
|
||||
echo -e "\nlist EAs: should be no EAs left now"
|
||||
getfattr -d $file
|
||||
|
||||
echo -e "\nunmount the FS and see if EAs are persistent"
|
||||
_test_cycle_mount
|
||||
|
||||
echo -e "\nlist EAs: should still be no EAs left"
|
||||
getfattr -d $file
|
||||
|
||||
# success, all done
|
||||
status=0
|
||||
exit
|
||||
@@ -0,0 +1,108 @@
|
||||
QA output created by 533
|
||||
|
||||
create file foo.533
|
||||
|
||||
should be no EAs for foo.533:
|
||||
|
||||
set EA <NOISE,woof>:
|
||||
|
||||
set EA <COLOUR,blue>:
|
||||
|
||||
set EA <SIZE,small>:
|
||||
|
||||
list the EAs for foo.533: NOISE, COLOUR, SIZE
|
||||
# file: TEST_DIR/foo.533
|
||||
user.COLOUR="blue"
|
||||
user.NOISE="woof"
|
||||
user.SIZE="small"
|
||||
|
||||
|
||||
check the list again for foo.533
|
||||
# file: TEST_DIR/foo.533
|
||||
user.COLOUR="blue"
|
||||
user.NOISE="woof"
|
||||
user.SIZE="small"
|
||||
|
||||
|
||||
unmount the FS and see if EAs are persistent
|
||||
|
||||
check the list again for foo.533 after umount/mount
|
||||
# file: TEST_DIR/foo.533
|
||||
user.COLOUR="blue"
|
||||
user.NOISE="woof"
|
||||
user.SIZE="small"
|
||||
|
||||
|
||||
remove the COLOUR EA on foo.533
|
||||
|
||||
list EAs for foo.533: NOISE, SIZE
|
||||
# file: TEST_DIR/foo.533
|
||||
user.NOISE="woof"
|
||||
user.SIZE="small"
|
||||
|
||||
|
||||
get the value of the NOISE EA
|
||||
# file: TEST_DIR/foo.533
|
||||
user.NOISE="woof"
|
||||
|
||||
|
||||
get the value of the COLOUR EA which was removed earlier
|
||||
TEST_DIR/foo.533: user.COLOUR: No such attribute
|
||||
|
||||
get the value of the SIZE EA
|
||||
# file: TEST_DIR/foo.533
|
||||
user.SIZE="small"
|
||||
|
||||
|
||||
list all the EAs again: NOISE, SIZE
|
||||
# file: TEST_DIR/foo.533
|
||||
user.NOISE="woof"
|
||||
user.SIZE="small"
|
||||
|
||||
|
||||
change the value of the SIZE EA from small to huge
|
||||
|
||||
get the SIZE EA which should now have value huge
|
||||
# file: TEST_DIR/foo.533
|
||||
user.SIZE="huge"
|
||||
|
||||
|
||||
list EAs: NOISE, SIZE
|
||||
# file: TEST_DIR/foo.533
|
||||
user.NOISE="woof"
|
||||
user.SIZE="huge"
|
||||
|
||||
|
||||
remove the SIZE EA from foo.533
|
||||
|
||||
list EAs: NOISE (SIZE EA has been removed)
|
||||
# file: TEST_DIR/foo.533
|
||||
user.NOISE="woof"
|
||||
|
||||
|
||||
try removing non-existent EA named woof
|
||||
setfattr: TEST_DIR/foo.533: No such attribute
|
||||
|
||||
try removing already removed EA SIZE
|
||||
setfattr: TEST_DIR/foo.533: No such attribute
|
||||
|
||||
list EAs: NOISE
|
||||
# file: TEST_DIR/foo.533
|
||||
user.NOISE="woof"
|
||||
|
||||
|
||||
try removing already removed EA COLOUR
|
||||
setfattr: TEST_DIR/foo.533: No such attribute
|
||||
|
||||
list EAs: NOISE
|
||||
# file: TEST_DIR/foo.533
|
||||
user.NOISE="woof"
|
||||
|
||||
|
||||
remove remaining EA NOISE
|
||||
|
||||
list EAs: should be no EAs left now
|
||||
|
||||
unmount the FS and see if EAs are persistent
|
||||
|
||||
list EAs: should still be no EAs left
|
||||
@@ -535,3 +535,4 @@
|
||||
530 auto quick unlink
|
||||
531 auto quick unlink
|
||||
532 auto quick
|
||||
533 auto quick attr
|
||||
|
||||
Reference in New Issue
Block a user