diff options
Diffstat (limited to 'tests/mv/hard-2')
-rwxr-xr-x | tests/mv/hard-2 | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/mv/hard-2 b/tests/mv/hard-2 index 3a44e2cf9..1af8fb121 100755 --- a/tests/mv/hard-2 +++ b/tests/mv/hard-2 @@ -1,9 +1,11 @@ #!/bin/sh # Ensure that moving hard-linked arguments onto existing destinations works. +# Likewise when using cp --preserve=link. if test "$VERBOSE" = yes; then set -x mv --version + cp --version fi . $srcdir/../envvar-check @@ -30,6 +32,31 @@ fi fail=0 +# ====================================== +cp --preserve=link a b c dst || fail=1 +# The source files must remain. +test -f a || fail=1 +test -f b || fail=1 +test -f c || fail=1 +cd dst + +# Three destination files must exist. +test -f a || fail=1 +test -f b || fail=1 +test -f c || fail=1 + +# The three i-node numbers must be the same. +ia=`ls -i a|sed 's/ a//'` +ib=`ls -i b|sed 's/ b//'` +ic=`ls -i c|sed 's/ c//'` +test $ia = $ib || fail=1 +test $ia = $ic || fail=1 + +cd .. +rm -f dst/[abc] +(cd dst && touch a b c) + +# ====================================== mv a b c dst || fail=1 # The source files must be gone. |