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