summaryrefslogtreecommitdiff
path: root/tests/rm/r-3
blob: 972ea0b83908f2f96a4652e17c2566c911720a01 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/bin/sh
# Create and remove a directory with more than 254 files.
# An early version of my rewritten rm failed to remove all of
# the files on SunOS4 when there were 254 or more in a directory.

: ${RM=rm}

: ${TMPDIR=.}

if test "$VERBOSE" = yes; then
  $RM --version
  set -x
fi

tmp=$TMPDIR/t-rm.$$

framework_fail=0
mkdir $tmp || framework_fail=1


a=1
n=300
i=$a
echo "creating $n files in $tmp..."
( while :; do echo $i; test $i = 100 && break; i=`expr $i + 1`; done ) > $tmp/.1
touch `cat $tmp/.1` || framework_fail=1
( while :; do echo $i; test $i = 200 && break; i=`expr $i + 1`; done ) > $tmp/.2
touch `cat $tmp/.2` || framework_fail=1
( while :; do echo $i; test $i = $n && break; i=`expr $i + 1`; done ) > $tmp/.3
touch `cat $tmp/.3` || framework_fail=1

test -f $tmp/$a || framework_fail=1
test -f $tmp/$n || framework_fail=1

if test $framework_fail = 1; then
  echo 'failure in testing framework'
  exit 1
fi

fail=0
$RM -rf $tmp || fail=1
test -d $tmp && fail=1

exit $fail