File: manyfiles.run

package info (click to toggle)
camlzip 1.13-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 328 kB
  • sloc: ml: 1,244; ansic: 171; sh: 121; makefile: 101
file content (44 lines) | stat: -rw-r--r-- 961 bytes parent folder | download
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

here=`pwd`

tempdir="$1"
if [ -z "$tempdir" ]; then
  echo "Usage: manyfiles.run <tempdir>" 1>&2
  echo "<tempdir> must have 10 Gb of free space" 1>&2
  exit 2
fi

cd $tempdir

trap "rm -rf hier" 0 EXIT INT

echo "Creating file hierarchy..."
rm -rf hier
mkdir hier hier/1
j=1
while [ $j -le 300 ]; do
  dd if=/dev/zero of=hier/1/$j bs=50000 count=1 status=none
  j=`expr $j + 1`
done
i=2
while [ $i -le 300 ]; do
  ln -s 1 hier/$i
  i=`expr $i + 1`
done
echo "Running the tests..."

runtest() {
  rm -rf result minizip.zip
  mkdir result
  if ($2 ./minizip.zip hier > /dev/null && \
     (cd result && $3 ../minizip.zip > /dev/null) && \
     diff -q -r result/hier hier)
  then rm -rf result minizip.zip; echo "$1: passed"
  else rm -rf result minizip.zip; echo "$1: FAILED"; exit 2
  fi
}

runtest "Many files 1" "$here/minizip c" "$here/minizip x"
runtest "Many files 2" "zip -r" "$here/minizip x"
runtest "Many files 3" "$here/minizip c" "unzip"