]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - sbin/gbde/test.sh
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / sbin / gbde / test.sh
1 #!/bin/sh
2 # $FreeBSD$
3
4 set -e
5
6 MD=99
7 mdconfig -d -u $MD > /dev/null 2>&1 || true
8
9 mdconfig -a -t malloc -s 1m -u $MD
10
11 D=/dev/md$MD
12
13 ./gbde init $D -P foo -L /tmp/_l1
14 ./gbde setkey $D -p foo -l /tmp/_l1 -P bar -L /tmp/_l1
15 ./gbde setkey $D -p bar -l /tmp/_l1 -P foo -L /tmp/_l1
16
17 ./gbde setkey $D -p foo  -l /tmp/_l1 -n 2 -P foo2 -L /tmp/_l2
18 ./gbde setkey $D -p foo2 -l /tmp/_l2 -n 3 -P foo3 -L /tmp/_l3
19 ./gbde setkey $D -p foo3 -l /tmp/_l3 -n 4 -P foo4 -L /tmp/_l4
20 ./gbde setkey $D -p foo4 -l /tmp/_l4 -n 1 -P foo1 -L /tmp/_l1
21
22 ./gbde nuke $D -p foo1 -l /tmp/_l1 -n 4
23 if ./gbde nuke $D -p foo4 -l /tmp/_l4 -n 3 ; then false ; fi
24 ./gbde destroy $D -p foo2 -l /tmp/_l2
25 if ./gbde destroy $D -p foo2 -l /tmp/_l2 ; then false ; fi
26
27 ./gbde nuke $D -p foo1 -l /tmp/_l1 -n -1
28 if ./gbde nuke $D -p foo1 -l /tmp/_l1 -n -1 ; then false ; fi
29 if ./gbde nuke $D -p foo2 -l /tmp/_l2 -n -1 ; then false ; fi
30 if ./gbde nuke $D -p foo3 -l /tmp/_l3 -n -1 ; then false ; fi
31 if ./gbde nuke $D -p foo4 -l /tmp/_l4 -n -1 ; then false ; fi
32
33 rm -f /tmp/_l1 /tmp/_l2 /tmp/_l3 /tmp/_l4
34
35 ./gbde init $D -P foo 
36 ./gbde setkey $D -p foo -P bar
37 ./gbde setkey $D -p bar -P foo
38
39 ./gbde setkey $D -p foo  -n 2 -P foo2
40 ./gbde setkey $D -p foo2 -n 3 -P foo3
41 ./gbde setkey $D -p foo3 -n 4 -P foo4
42 ./gbde setkey $D -p foo4 -n 1 -P foo1
43
44 mdconfig -d -u $MD
45
46 mdconfig -a -t malloc -s 1m -u $MD
47 if [ -f image.uu ] ; then
48         uudecode -p image.uu | bzcat > $D
49 else
50         uudecode -p ${1}/image.uu | bzcat > $D
51 fi
52
53 if [ `md5 < $D` != "a4066a739338d451b919e63f9ee4a12c" ] ; then
54         echo "Failed to set up md(4) device correctly"
55         exit 2
56 fi
57
58 ./gbde attach $D -p foo
59 fsck_ffs ${D}.bde
60 ./gbde detach $D
61 mdconfig -d -u $MD
62
63
64 echo "***********"
65 echo "Test passed"
66 echo "***********"
67 exit 0