summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrandon Philips <bphilips@suse.de>2009-02-13 18:23:49 -0800
committerAndreas Gruenbacher <agruen@suse.de>2009-02-23 00:44:37 +0100
commit8ef43df04176449e6aacdaadd35fb585e27ba1e8 (patch)
treee26434ad08a89f4dd0d275ce24a73deec9aba895
parentfc713a835cf0840464d79726b7952d27150937b1 (diff)
downloadattr-8ef43df04176449e6aacdaadd35fb585e27ba1e8.tar.gz
attr: Tests for path recursion with -L -P -R
Add tests against patches from Andreas to fix up walk_tree.c. Signed-off-by: Brandon Philips <bphilips@suse.de>
-rw-r--r--test/attr.test116
1 files changed, 116 insertions, 0 deletions
diff --git a/test/attr.test b/test/attr.test
index 854796e..5bed4b8 100644
--- a/test/attr.test
+++ b/test/attr.test
@@ -253,3 +253,119 @@ Tests for attribute names that contains special characters
$ cd ..
$ rm -rf d
+
+Tests for proper path recursion reported by Tony Ernst <tee@sgi.com> bnc#457660
+
+ $ mkdir -p 1/2/3
+ $ setfattr -n "user.9" 1
+ $ setfattr -n "user.a" 1
+ $ setfattr -n "user.9" 1/2
+ $ setfattr -n "user.a" 1/2
+ $ setfattr -n "user.9" 1/2/3
+ $ setfattr -n "user.a" 1/2/3
+
+ $ getfattr -h -L -R -m '.' -e hex 1
+ > # file: 1
+ > user.9
+ > user.a
+ >
+ > # file: 1/2
+ > user.9
+ > user.a
+ >
+ > # file: 1/2/3
+ > user.9
+ > user.a
+ >
+
+ $ getfattr -h -P -R -m '.' -e hex 1/2
+ > # file: 1/2
+ > user.9
+ > user.a
+ >
+ > # file: 1/2/3
+ > user.9
+ > user.a
+ >
+
+ $ rm -R 1
+
+Test for proper recursion of directory structures with -L -P -R
+
+ $ mkdir -p 1/sub
+ $ mkdir 1/link
+ $ touch 1/link/link-file
+ $ touch 1/sub/sub-file
+ $ ln -s `pwd`/1/link 1/sub/link
+ $ setfattr -n "user.a" 1
+ $ setfattr -n "user.a" 1/link/link-file
+ $ setfattr -n "user.a" 1/link
+ $ setfattr -n "user.a" 1/sub/sub-file
+ $ setfattr -n "user.a" 1/sub
+ $ getfattr -P -R 1
+ > # file: 1
+ > user.a
+ >
+ > # file: 1/sub
+ > user.a
+ >
+ > # file: 1/sub/link
+ > user.a
+ >
+ > # file: 1/sub/sub-file
+ > user.a
+ >
+ > # file: 1/link
+ > user.a
+ >
+ > # file: 1/link/link-file
+ > user.a
+ >
+ $ getfattr -R -P 1/sub
+ > # file: 1/sub
+ > user.a
+ >
+ > # file: 1/sub/link
+ > user.a
+ >
+ > # file: 1/sub/sub-file
+ > user.a
+ >
+ $ getfattr -L -R 1
+ > # file: 1
+ > user.a
+ >
+ > # file: 1/sub
+ > user.a
+ >
+ > # file: 1/sub/link
+ > user.a
+ >
+ > # file: 1/sub/link/link-file
+ > user.a
+ >
+ > # file: 1/sub/sub-file
+ > user.a
+ >
+ > # file: 1/link
+ > user.a
+ >
+ > # file: 1/link/link-file
+ > user.a
+ >
+ $ getfattr -R 1/sub/link
+ > # file: 1/sub/link
+ > user.a
+ >
+ > # file: 1/sub/link/link-file
+ > user.a
+ >
+ $ getfattr -L -R 1/sub/link
+ > # file: 1/sub/link
+ > user.a
+ >
+ > # file: 1/sub/link/link-file
+ > user.a
+ >
+
+ $ rm -R 1