]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/blob - tests/sys/geom/class/shsec/2_test.sh
MFC r293821:
[FreeBSD/stable/10.git] / tests / sys / geom / class / shsec / 2_test.sh
1 #!/bin/sh
2 # $FreeBSD$
3
4 . `dirname $0`/conf.sh
5
6 echo "1..4"
7
8 nblocks1=1024
9 nblocks2=`expr $nblocks1 + 1`
10 src=`mktemp $base.XXXXXX` || exit 1
11 dst=`mktemp $base.XXXXXX` || exit 1
12
13 dd if=/dev/random of=${src} count=$nblocks1 >/dev/null 2>&1
14
15 us0=$(attach_md -t malloc -s $nblocks2) || exit 1
16 us1=$(attach_md -t malloc -s $nblocks2) || exit 1
17 us2=$(attach_md -t malloc -s $nblocks2) || exit 1
18
19 gshsec label $name /dev/$us0 /dev/$us1 /dev/$us2 || exit 1
20 devwait
21
22 dd if=${src} of=/dev/shsec/${name} count=$nblocks1 >/dev/null 2>&1
23
24 dd if=/dev/shsec/${name} of=${dst} count=$nblocks1 >/dev/null 2>&1
25 if [ `md5 -q ${src}` != `md5 -q ${dst}` ]; then
26         echo "not ok 1"
27 else
28         echo "ok 1"
29 fi
30
31 dd if=/dev/${us0} of=${dst} count=$nblocks1 >/dev/null 2>&1
32 if [ `md5 -q ${src}` = `md5 -q ${dst}` ]; then
33         echo "not ok 2"
34 else
35         echo "ok 2"
36 fi
37
38 dd if=/dev/${us1} of=${dst} count=$nblocks1 >/dev/null 2>&1
39 if [ `md5 -q ${src}` = `md5 -q ${dst}` ]; then
40         echo "not ok 3"
41 else
42         echo "ok 3"
43 fi
44
45 dd if=/dev/${us2} of=${dst} count=$nblocks1 >/dev/null 2>&1
46 if [ `md5 -q ${src}` = `md5 -q ${dst}` ]; then
47         echo "not ok 4"
48 else
49         echo "ok 4"
50 fi
51
52 rm -f ${src} ${dst}