release script fixes
[minix3.git] / test / testisofs.sh
blob84df95d433d519393d193b6e0855e9361b525ba0
1 # Create and verify a simple ISO filesystem
3 #!/bin/sh
5 set -e
7 echo -n "isofs test "
9 ramdev=/dev/ram
10 mp=/mnt
11 testdir=isofstest
12 fsimage=isofsimage
13 contents=CONTENTS
14 out1=v1
15 out2=v2
16 rm -rf $testdir $fsimage $out1 $out2
18 if [ -d $testdir ]
19 then
20 echo "dir?"
21 exit 1
24 mkdir -p $testdir $testdir/$contents
26 if [ ! -d $testdir ]
27 then
28 echo "no dir?"
29 exit 1
32 # Make some small & big & bigger files
34 prevf=$testdir/$contents/FILE
35 echo "Test contents 123" >$prevf
36 for double in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
37 do fn=$testdir/$contents/FN.$double
38 cat $prevf $prevf >$fn
39 prevf=$fn
40 done
42 # Make an ISO filesystem image out of it
43 writeisofs -s0x0 -l MINIX $testdir $fsimage >/dev/null 2>&1
45 # umount previous things
46 umount $ramdev >/dev/null 2>&1 || true
47 umount $mp >/dev/null 2>&1 || true
49 # Mount it on a RAM disk
50 ramdisk 50000 $ramdev >/dev/null 2>&1
51 cp $fsimage $ramdev
52 mount -t isofs $ramdev $mp >/dev/null 2>&1
54 # compare contents
55 (cd $testdir/$contents && sha1 * | sort) >$out1
56 (cd $mp/$contents && sha1 * | sort) >$out2
58 diff -u $out1 $out2
60 umount $ramdev >/dev/null 2>&1
62 # cleanup
63 rm -rf $testdir $fsimage $out1 $out2
65 echo ok
67 exit 0