Tizen 2.0 Release
[external/tizen-coreutils.git] / tests / mv / into-self-2
1 #!/bin/sh
2 # Force mv to use the copying code.
3 # Consider the case where SRC and DEST are on different
4 # partitions and DEST is a symlink to SRC.
5
6 # Copyright (C) 1998, 1999, 200 Free Software Foundation, Inc.
7
8 # This program is free software; you can redistribute it and/or modify
9 # it under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; either version 2 of the License, or
11 # (at your option) any later version.
12
13 # This program is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 # GNU General Public License for more details.
17
18 # You should have received a copy of the GNU General Public License
19 # along with this program; if not, write to the Free Software
20 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21 # 02110-1301, USA.
22
23 if test "$VERBOSE" = yes; then
24   set -x
25   mv --version
26 fi
27
28 . $srcdir/../other-fs-tmpdir
29 . $srcdir/../envvar-check
30
31 if test -z "$other_partition_tmpdir"; then
32   exit 77
33 fi
34
35 file="$other_partition_tmpdir/file"
36 symlink=symlink
37
38 fail=0
39
40 trap 'rm -fr out out2 exp $file $symlink $other_partition_tmpdir; exit $fail' \
41   0 1 2 3 15
42
43 framework_failure=0
44 rm -f $file $symlink || framework_failure=1
45 echo whatever > $file || framework_failure=1
46 ln -s $file $symlink || framework_failure=1
47
48 if test $framework_failure = 1; then
49   echo 'failure in testing framework'
50   exit 1
51 fi
52
53 # Make sure we get English translations.
54 . $srcdir/../lang-default
55
56 # This mv command should exit nonzero.
57 mv $symlink $file > out 2>&1 && fail=1
58
59 # This should succeed.
60 mv $file $symlink || fail=1
61
62 sed \
63    -e "s,mv:,XXX:," \
64    -e "s,$file,YYY," \
65    -e "s,$symlink,ZZZ," \
66   out > out2
67
68 cat > exp <<\EOF
69 XXX: `ZZZ' and `YYY' are the same file
70 EOF
71 #'
72
73 cmp out2 exp || fail=1
74 test $fail = 1 && diff out2 exp 2> /dev/null
75
76 exit $fail