2b0cfa3b7ae3d1350b9afa740424d1da71565837
[platform/upstream/coreutils.git] / tests / rm / ir-1
1 #!/bin/sh
2 # Test "rm -ir".
3
4 # Copyright (C) 1997, 1998, 2002, 2004, 2006-2009 Free Software Foundation,
5 # Inc.
6
7 # This program is free software: you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation, either version 3 of the License, or
10 # (at your option) any later version.
11
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 # GNU General Public License for more details.
16
17 # You should have received a copy of the GNU General Public License
18 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
19
20 test=ir-1
21
22 if test "$VERBOSE" = yes; then
23   set -x
24   rm --version
25 fi
26
27 . $srcdir/test-lib.sh
28
29 t=t
30 mkdir -p $t $t/a $t/b $t/c || framework_failure
31 > $t/a/a || framework_failure
32 > $t/b/bb || framework_failure
33 > $t/c/cc || framework_failure
34
35 cat <<EOF > $test.I
36 y
37 y
38 y
39 y
40 y
41 y
42 y
43 y
44 n
45 n
46 n
47 EOF
48
49 # Remove all but one of a, b, c -- I doubt that this test can portably
50 # determine which one was removed based on order of dir entries.
51 # This is a good argument for switching to a dejagnu-style test suite.
52 rm --verbose -i -r $t < $test.I > /dev/null 2>&1 || fail=1
53
54 # $t should not have been removed.
55 test -d $t || fail=1
56
57 # There should be only one directory left.
58 case `echo $t/*` in
59   $t/[abc]) ;;
60   *) fail=1 ;;
61 esac
62
63 Exit $fail