summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtests/cp/no-deref-link222
-rwxr-xr-xtests/cp/no-deref-link319
2 files changed, 41 insertions, 0 deletions
diff --git a/tests/cp/no-deref-link2 b/tests/cp/no-deref-link2
new file mode 100755
index 000000000..8dfc6ba33
--- /dev/null
+++ b/tests/cp/no-deref-link2
@@ -0,0 +1,22 @@
+#!/bin/sh
+# FIXME: This test requires ln -s.
+# cp from 3.16 fails this test
+
+rm -rf a b
+mkdir b
+msg=bar
+echo $msg > a
+cd b
+ln -s ../a .
+cd ..
+
+# It should fail with a message something like this:
+# ./cp: `a' and `b/foo' are the same file
+./cp -d a b 2>/dev/null
+
+# Fail this test if the exit status is not 1
+test $? = 1 || exit 1
+
+test "`cat a`" = bar || exit 1
+
+exit 0
diff --git a/tests/cp/no-deref-link3 b/tests/cp/no-deref-link3
new file mode 100755
index 000000000..ca3aa4840
--- /dev/null
+++ b/tests/cp/no-deref-link3
@@ -0,0 +1,19 @@
+#!/bin/sh
+# FIXME: This test requires ln -s.
+# cp from 3.16 fails this test
+
+rm -f a b
+msg=bar
+echo $msg > a
+ln -s a b
+
+# It should fail with a message something like this:
+# ./cp: `a' and `b' are the same file
+./cp -d a b 2>/dev/null
+
+# Fail this test if the exit status is not 1
+test $? = 1 || exit 1
+
+test "`cat a`" = bar || exit 1
+
+exit 0