summaryrefslogtreecommitdiff
path: root/testsuite
diff options
context:
space:
mode:
authorDenys Vlasenko2010-04-09 14:11:45 +0200
committerDenys Vlasenko2010-04-09 14:11:45 +0200
commite69ad87802139b7b62fc06ff5d5d09cc4245d5fc (patch)
tree5140bc5e536c722f9aa5a0896a7229cf9b2148b0 /testsuite
parent02365a6ef73defb8689d3ed5228125d72993dec9 (diff)
downloadbusybox-e69ad87802139b7b62fc06ff5d5d09cc4245d5fc.zip
busybox-e69ad87802139b7b62fc06ff5d5d09cc4245d5fc.tar.gz
tar: fix "hardlinks to symlinks chown" bug 1519.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'testsuite')
-rwxr-xr-xtestsuite/tar.tests29
1 files changed, 29 insertions, 0 deletions
diff --git a/testsuite/tar.tests b/testsuite/tar.tests
index dd8f110..a963829 100755
--- a/testsuite/tar.tests
+++ b/testsuite/tar.tests
@@ -69,6 +69,35 @@ dr-xr-x--- input_dir
" \
"" ""
+testing "tar symlinks mode" '\
+rm -rf input_* test.tar 2>/dev/null
+>input_file
+chmod 741 input_file
+ln -s input_file input_soft
+mkdir input_dir
+chmod 550 input_dir
+ln input_file input_dir
+ln input_soft input_dir
+tar cf test.tar input_*
+tar tvf test.tar | sed "s/.*[0-9] input/input/"
+tar xf test.tar 2>&1
+echo Ok: $?
+ls -l . input_dir/* | grep input_ | sed "s/\\(^[^ ]*\\) .* input/\\1 input/"
+' "\
+input_dir/
+input_dir/input_file
+input_dir/input_soft -> input_file
+input_file -> input_dir/input_file
+input_soft -> input_dir/input_soft
+Ok: 0
+-rwxr----x input_dir/input_file
+lrwxrwxrwx input_file
+dr-xr-x--- input_dir
+-rwxr----x input_file
+lrwxrwxrwx input_file
+" \
+"" ""
+
optional FEATURE_TAR_LONG_OPTIONS
testing "tar --overwrite" "\
rm -rf input_* test.tar 2>/dev/null