From aeaf2d577c10f42dbc21e8d7370ee9cf37e5667e Mon Sep 17 00:00:00 2001 From: Andreas Gruenbacher Date: Mon, 23 Feb 2009 02:12:16 +0100 Subject: Make all the tests readdir order independent When reading directories, different filesystems return files in different orders. Some tests depended on a specific order; remove this dependency by sorting the results before checking them. Signed-off: Andreas Gruenbacher --- test/attr.test | 81 +++++++++---------------------------------------- test/root/getfattr.test | 58 ++++++----------------------------- 2 files changed, 24 insertions(+), 115 deletions(-) (limited to 'test') diff --git a/test/attr.test b/test/attr.test index 5bed4b8..dfb065a 100644 --- a/test/attr.test +++ b/test/attr.test @@ -264,29 +264,14 @@ Tests for proper path recursion reported by Tony Ernst bnc#457660 $ setfattr -n "user.9" 1/2/3 $ setfattr -n "user.a" 1/2/3 - $ getfattr -h -L -R -m '.' -e hex 1 + $ getfattr -h -L -R 1 | grep file: | sort > # 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 + $ getfattr -h -P -R 1/2 | grep file: | sort > # file: 1/2 - > user.9 - > user.a - > > # file: 1/2/3 - > user.9 - > user.a - > $ rm -R 1 @@ -302,70 +287,34 @@ Test for proper recursion of directory structures with -L -P -R $ setfattr -n "user.a" 1/link $ setfattr -n "user.a" 1/sub/sub-file $ setfattr -n "user.a" 1/sub - $ getfattr -P -R 1 + $ getfattr -P -R 1 | grep file: | sort > # file: 1 - > user.a - > + > # file: 1/link + > # file: 1/link/link-file > # 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 + + $ getfattr -R -P 1/sub | grep file: | sort > # file: 1/sub - > user.a - > > # file: 1/sub/link - > user.a - > > # file: 1/sub/sub-file - > user.a - > - $ getfattr -L -R 1 + + $ getfattr -L -R 1 | grep file: | sort > # file: 1 - > user.a - > + > # file: 1/link + > # file: 1/link/link-file > # 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 + + $ getfattr -R 1/sub/link | grep file: | sort > # file: 1/sub/link - > user.a - > > # file: 1/sub/link/link-file - > user.a - > - $ getfattr -L -R 1/sub/link + + $ getfattr -L -R 1/sub/link | grep file: | sort > # file: 1/sub/link - > user.a - > > # file: 1/sub/link/link-file - > user.a - > $ rm -R 1 diff --git a/test/root/getfattr.test b/test/root/getfattr.test index c9458e6..aaa6d9a 100644 --- a/test/root/getfattr.test +++ b/test/root/getfattr.test @@ -25,99 +25,59 @@ With -h, we do not dereference symlinks: > Do the same for symlinks we find in a directory hierarchy: - $ getfattr -m- -Rd . + $ getfattr -m- -Rd . | grep file: | sort > # file: f - > user.test="test" - > > # file: l - > user.test="test" - > - $ getfattr -m- -Rhd . + $ getfattr -m- -Rhd . | grep file: | sort > # file: f - > user.test="test" - > > # file: l - > trusted.test="test" - > Make sure we follow symlinks on the command line only when we should: $ ln -s . here - $ getfattr -m- -Rd here + $ getfattr -m- -Rd here | grep file: | sort > # file: here/f - > user.test="test" - > > # file: here/l - > user.test="test" - > - $ getfattr -m- -Rhd here + $ getfattr -m- -Rhd here | grep file: | sort > # file: here/f - > user.test="test" - > > # file: here/l - > trusted.test="test" - > - $ getfattr -m- -RLhd here + $ getfattr -m- -RLhd here | grep file: | sort > # file: here/f - > user.test="test" - > > # file: here/l - > trusted.test="test" - > $ getfattr -m- -RPhd here Make sure we recurse into sub-directories: $ mkdir sub $ mv f l sub - $ getfattr -m- -Rd . + $ getfattr -m- -Rd . | grep file: | sort > # file: sub/f - > user.test="test" - > > # file: sub/l - > user.test="test" - > - $ getfattr -m- -Rhd . + $ getfattr -m- -Rhd . | grep file: | sort > # file: sub/f - > user.test="test" - > > # file: sub/l - > trusted.test="test" - > Make sure we follow symlinks to directories only when we should: $ mkdir sub2 $ ln -s ../sub sub2/to-sub $ getfattr -m- -Rhd sub2 - $ getfattr -m- -RLhd sub2 + $ getfattr -m- -RLhd sub2 | grep file: | sort > # file: sub2/to-sub/f - > user.test="test" - > > # file: sub2/to-sub/l - > trusted.test="test" - > $ getfattr -m- -RPhd sub2 Symlink loop detection: $ ln -s .. sub/up - $ getfattr -m- -RLhd . + $ getfattr -m- -RLhd . | grep file: | sort > # file: sub2/to-sub/f - > user.test="test" - > > # file: sub2/to-sub/l - > trusted.test="test" - > > # file: sub/f - > user.test="test" - > > # file: sub/l - > trusted.test="test" - > $ cd .. $ rm -rf d -- cgit v1.2.1