--- /dev/null
+#!/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
--- /dev/null
+#!/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