summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2000-05-29 20:41:10 +0000
committerJim Meyering <jim@meyering.net>2000-05-29 20:41:10 +0000
commit4fc0af40aa648a4847525fc77d27f0af7c67007c (patch)
tree51d72f3992a41c0d5adc574e909ec569a90141a7 /tests
parent11c6d21d5271cda262c55ad0c890257da746c8a0 (diff)
downloadcoreutils-4fc0af40aa648a4847525fc77d27f0af7c67007c.tar.xz
*** empty log message ***
Diffstat (limited to 'tests')
-rwxr-xr-xtests/cp/slink-2-slink49
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/cp/slink-2-slink b/tests/cp/slink-2-slink
new file mode 100755
index 000000000..3b0db9ab7
--- /dev/null
+++ b/tests/cp/slink-2-slink
@@ -0,0 +1,49 @@
+#!/bin/sh
+# `test cp --update A B' where A and B are both symlinks that point
+# to the same file
+
+if test "$VERBOSE" = yes; then
+ set -x
+ cp --version
+fi
+
+unset VERSION_CONTROL
+if test "${VERSION_CONTROL+set}" = set; then
+ echo '$0: the VERSION_CONTROL envvar is set --' \
+ ' unset it and rerun this test' >&2
+ exit 1
+fi
+
+# Make sure we get English translations.
+LANGUAGE=C
+export LANGUAGE
+LC_ALL=C
+export LC_ALL
+LANG=C
+export LANG
+
+pwd=`pwd`
+tmp=sl2sl-$$
+trap 'status=$?; cd $pwd; rm -rf $tmp && exit $status' 0
+trap 'exit $?' 1 2 13 15
+
+framework_failure=0
+mkdir $tmp || framework_failure=1
+cd $tmp
+
+touch file || framework_failure=1
+ln -s file a || framework_failure=1
+ln -s file b || framework_failure=1
+ln -s no-such-file c || framework_failure=1
+ln -s no-such-file d || framework_failure=1
+
+if test $framework_failure = 1; then
+ echo 'failure in testing framework'
+ exit 1
+fi
+
+fail=0
+cp --update --no-dereference a b || fail=1
+cp --update --no-dereference c d || fail=1
+
+exit $fail