mirror of
https://github.com/RsyncProject/rsync.git
synced 2026-05-18 20:06:07 -04:00
Test case for --copy-unsafe-links, contributed by VladimÃr Michl,
converted to the test suite. Thankyou! It fails at the moment; I don't know if that's a test bug or an rsync bug.
This commit is contained in:
58
testsuite/unsafe-links.test
Normal file
58
testsuite/unsafe-links.test
Normal file
@@ -0,0 +1,58 @@
|
||||
#! /bin/sh
|
||||
|
||||
# Originally by Vladim<69>r Michl <Vladimir.Michl@hlubocky.del.cz>
|
||||
|
||||
. $srcdir/testsuite/rsync.fns
|
||||
|
||||
test_symlink() {
|
||||
is_a_link "$1" || test_fail "File $1 is not a symlink"
|
||||
};
|
||||
|
||||
test_regular() {
|
||||
if [ ! -f "$1" ]; then
|
||||
test_fail "File $1 is not regular file or not exists";
|
||||
fi;
|
||||
};
|
||||
|
||||
test_copy() {
|
||||
test_symlink dest/links/file1
|
||||
test_symlink dest/links/file2
|
||||
test_regular dest/links/unsafefile
|
||||
}
|
||||
|
||||
cd "$TMP"
|
||||
|
||||
mkdir from
|
||||
|
||||
mkdir "from/safe"
|
||||
mkdir "from/unsafe"
|
||||
|
||||
mkdir "from/safe/files"
|
||||
mkdir "from/safe/links"
|
||||
|
||||
touch "from/safe/files/file1"
|
||||
touch "from/safe/files/file2"
|
||||
touch "from/unsafe/unsafefile"
|
||||
|
||||
ln -s ../files/file1 "from/safe/links/"
|
||||
ln -s ../files/file2 "from/safe/links/"
|
||||
ln -s ../../unsafe/unsafefile "from/safe/links/"
|
||||
|
||||
#next rsync copy correctly
|
||||
set -x
|
||||
echo "rsync with relative path";
|
||||
rsync -avv --copy-unsafe-links from/safe/ to
|
||||
test_copy;
|
||||
|
||||
rm -rf to
|
||||
#next rsync copy uncorectly - links are copied as files not as links
|
||||
echo "rsync with relative2 path";
|
||||
(cd from; rsync -avv --copy-unsafe-links safe/ ../to)
|
||||
test_copy;
|
||||
|
||||
rm -rf to
|
||||
#next rsync copy uncorectly - all links are copied
|
||||
echo "rsync with absolute path";
|
||||
rsync -avv --copy-unsafe-links `pwd`/from/safe/ to
|
||||
test_copy;
|
||||
|
||||
Reference in New Issue
Block a user