Require that "(exit $fail); exit $fail" be last line of each test.
[platform/upstream/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-2000, 2006-2008 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 3 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, see <http://www.gnu.org/licenses/>.
20
21 if test "$VERBOSE" = yes; then
22   set -x
23   mv --version
24 fi
25
26 . $srcdir/../lang-default
27 . $srcdir/../test-lib.sh
28 cleanup_() { rm -rf "$other_partition_tmpdir"; }
29 . "$abs_top_srcdir/tests/other-fs-tmpdir"
30
31 file="$other_partition_tmpdir/file"
32 symlink=symlink
33
34 fail=0
35
36 echo whatever > $file || framework_failure
37 ln -s $file $symlink || framework_failure
38
39 # This mv command should exit nonzero.
40 mv $symlink $file > out 2>&1 && fail=1
41
42 # This should succeed.
43 mv $file $symlink || fail=1
44
45 sed \
46    -e "s,mv:,XXX:," \
47    -e "s,$file,YYY," \
48    -e "s,$symlink,ZZZ," \
49   out > out2
50
51 cat > exp <<\EOF
52 XXX: `ZZZ' and `YYY' are the same file
53 EOF
54 #'
55
56 compare out2 exp || fail=1
57
58 (exit $fail); exit $fail