*** empty log message ***
[coreutils.git] / tests / mv / mv-special-1
blob9a860cc22619037c3235023d3ce9b522c5f88941
1 #! /bin/sh
3 if test "$VERBOSE" = yes; then
4 set -x
5 mv --version
6 fi
8 pwd=`pwd`
9 tmp=mv-spec.$$
10 trap 'status=$?; cd $pwd; exec 1>&2; rm -rf $tmp $other_partition_tmpdir && exit $status' 0
11 trap '(exit $?); exit' 1 2 13 15
13 . $srcdir/setup
14 . $srcdir/../envvar-check
15 # Make sure we get English translations.
16 . $srcdir/../lang-default
18 if test -z "$other_partition_tmpdir"; then
19 (exit 77); exit
22 null=mv-null
23 dir=mv-dir
25 framework_failure=0
26 mkdir $tmp || framework_failure=1
27 cd $tmp || framework_failure=1
28 rm -f $null || framework_failure=1
29 mknod $null p || framework_failure=1
30 mkdir -p $dir/a/b/c $dir/d/e/f || framework_failure=1
31 touch $dir/a/b/c/file1 $dir/d/e/f/file2 || framework_failure=1
33 if test $framework_failure = 1; then
34 echo '********************************************'
35 echo 'NOTICE: unable to create test prerequisites'
36 echo '********************************************'
37 # exit 77 here to indicate that we couldn't run the test.
38 # At least running on SunOS 4.1.4, using a directory NFS mounted
39 # from an OpenBSD system, the above mknod fails.
40 (exit 77); exit
43 fail=0
44 mv --verbose $null $dir $other_partition_tmpdir > out || fail=1
45 # Make sure the files are gone.
46 test -f $null && fail=1
47 test -d $dir && fail=1
48 # Make sure they were moved.
49 # Since `test -e' is not portable, use `ls'.
50 ls $other_partition_tmpdir/$null > /dev/null || fail=1
51 test -d $other_partition_tmpdir/$dir/a/b/c || fail=1
53 sed "s,$other_partition_tmpdir,XXX," out | sort > out2
55 cat <<EOF | sort > exp
56 \`$null' -> \`XXX/$null'
57 removed \`$null'
58 \`$dir' -> \`XXX/$dir'
59 \`$dir/a' -> \`XXX/$dir/a'
60 \`$dir/a/b' -> \`XXX/$dir/a/b'
61 \`$dir/a/b/c' -> \`XXX/$dir/a/b/c'
62 \`$dir/a/b/c/file1' -> \`XXX/$dir/a/b/c/file1'
63 \`$dir/d' -> \`XXX/$dir/d'
64 \`$dir/d/e' -> \`XXX/$dir/d/e'
65 \`$dir/d/e/f' -> \`XXX/$dir/d/e/f'
66 \`$dir/d/e/f/file2' -> \`XXX/$dir/d/e/f/file2'
67 removed directory: \`$dir'
68 removed \`$dir/a/b/c/file1'
69 removed \`$dir/d/e/f/file2'
70 removed directory: \`$dir/a'
71 removed directory: \`$dir/a/b'
72 removed directory: \`$dir/a/b/c'
73 removed directory: \`$dir/d'
74 removed directory: \`$dir/d/e'
75 removed directory: \`$dir/d/e/f'
76 EOF
78 cmp out2 exp || fail=1
80 # cd $other_partition_tmpdir
81 # ls -l -A -R $other_partition_tmpdir
83 (exit $fail); exit