From 9695ffe2630b29edbc10d6cd98432088ef7c1259 Mon Sep 17 00:00:00 2001 From: Brandon Philips Date: Fri, 13 Feb 2009 22:36:22 -0800 Subject: Move getfattr.test to root/ This test requires root privileges. Signed-off-by: Brandon Philips --- test/Makefile | 7 ++- test/getfattr.test | 123 ------------------------------------------------ test/root/getfattr.test | 123 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 129 insertions(+), 124 deletions(-) delete mode 100644 test/getfattr.test create mode 100644 test/root/getfattr.test diff --git a/test/Makefile b/test/Makefile index e185336..8834723 100644 --- a/test/Makefile +++ b/test/Makefile @@ -7,6 +7,7 @@ include $(TOPDIR)/include/builddefs TEST = $(wildcard *.test) EXT = $(wildcard ext/*.test) +ROOT = $(wildcard root/*.test) # ensure we pick these up in the source tarball LSRCFILES = $(TEST) $(EXT) run README @@ -19,6 +20,7 @@ PATH := $(abspath ../getfattr/):$(abspath ../setfattr):$(abspath ../chattr):$(PA tests: $(TEST) ext-tests: $(EXT) +root-tests: $(ROOT) $(TEST): @echo "*** $@ ***"; perl run $@ @@ -26,5 +28,8 @@ $(TEST): $(EXT): @echo "EXT specific tests"; @echo "*** $@ ***"; perl run $@ -.PHONY: $(TEST) $(EXT) +$(ROOT): + @echo "Note: Tests must run as root"; @echo "*** $@ ***"; perl run $@ + +.PHONY: $(TEST) $(EXT) $(ROOT) .NOTPARALLEL: diff --git a/test/getfattr.test b/test/getfattr.test deleted file mode 100644 index c9458e6..0000000 --- a/test/getfattr.test +++ /dev/null @@ -1,123 +0,0 @@ - $ mkdir d - $ cd d - - $ touch f - $ setfattr -n user.test -v test f - $ ln -s f l - $ setfattr -h -n trusted.test -v test l - -This case should be obvious: - $ getfattr -m- -d f - > # file: f - > user.test="test" - > - -Without -h, we dereference symlinks: - $ getfattr -m- -d l - > # file: l - > user.test="test" - > - -With -h, we do not dereference symlinks: - $ getfattr -m- -hd l - > # file: l - > trusted.test="test" - > - -Do the same for symlinks we find in a directory hierarchy: - $ getfattr -m- -Rd . - > # file: f - > user.test="test" - > - > # file: l - > user.test="test" - > - - $ getfattr -m- -Rhd . - > # 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 - > # file: here/f - > user.test="test" - > - > # file: here/l - > user.test="test" - > - - $ getfattr -m- -Rhd here - > # file: here/f - > user.test="test" - > - > # file: here/l - > trusted.test="test" - > - - $ getfattr -m- -RLhd here - > # 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 . - > # file: sub/f - > user.test="test" - > - > # file: sub/l - > user.test="test" - > - - $ getfattr -m- -Rhd . - > # 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 - > # 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 . - > # 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 diff --git a/test/root/getfattr.test b/test/root/getfattr.test new file mode 100644 index 0000000..c9458e6 --- /dev/null +++ b/test/root/getfattr.test @@ -0,0 +1,123 @@ + $ mkdir d + $ cd d + + $ touch f + $ setfattr -n user.test -v test f + $ ln -s f l + $ setfattr -h -n trusted.test -v test l + +This case should be obvious: + $ getfattr -m- -d f + > # file: f + > user.test="test" + > + +Without -h, we dereference symlinks: + $ getfattr -m- -d l + > # file: l + > user.test="test" + > + +With -h, we do not dereference symlinks: + $ getfattr -m- -hd l + > # file: l + > trusted.test="test" + > + +Do the same for symlinks we find in a directory hierarchy: + $ getfattr -m- -Rd . + > # file: f + > user.test="test" + > + > # file: l + > user.test="test" + > + + $ getfattr -m- -Rhd . + > # 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 + > # file: here/f + > user.test="test" + > + > # file: here/l + > user.test="test" + > + + $ getfattr -m- -Rhd here + > # file: here/f + > user.test="test" + > + > # file: here/l + > trusted.test="test" + > + + $ getfattr -m- -RLhd here + > # 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 . + > # file: sub/f + > user.test="test" + > + > # file: sub/l + > user.test="test" + > + + $ getfattr -m- -Rhd . + > # 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 + > # 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 . + > # 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.3