]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/blob - tests/sys/geom/class/gate/3_test.sh
MFC r311349, r311445
[FreeBSD/stable/10.git] / tests / sys / geom / class / gate / 3_test.sh
1 #!/bin/sh
2 # $FreeBSD$
3
4 . `dirname $0`/conf.sh
5
6 base=`basename $0`
7 us=47
8
9 test_cleanup()
10 {
11         ggatel destroy -f -u $us
12
13         geom_test_cleanup
14 }
15 trap test_cleanup ABRT EXIT INT TERM
16
17 work=$(attach_md -t malloc -s 1M)
18 src=$(attach_md -t malloc -s 1M)
19
20 dd if=/dev/random of=/dev/$work bs=1m count=1 conv=sync
21 dd if=/dev/random of=/dev/$src bs=1m count=1 conv=sync
22 src_checksum=$(md5 -q /dev/$src)
23
24 if ! ggatel create -u $us /dev/$work; then
25         echo 'ggatel create failed'
26         echo 'Bail out!'
27         exit 1
28 fi
29
30 sleep 1
31 dd if=/dev/${src} of=/dev/ggate${us} bs=1m count=1 conv=sync
32 sleep 1
33
34 echo '1..2'
35
36 work_checksum=$(md5 -q /dev/$work)
37 if [ "$work_checksum" != "$src_checksum" ]; then
38         echo "not ok 1 - md5 checksums didn't match ($work_checksum != $src_checksum)"
39         echo 'not ok 2 # SKIP'
40 else
41         echo 'ok 1 - md5 checksum'
42
43         ggate_checksum=$(md5 -q /dev/ggate${us})
44         if [ "$ggate_checksum" != "$src_checksum" ]; then
45                 echo "not ok 2 - md5 checksums didn't match ($ggate_checksum != $src_checksum)"
46         else
47                 echo 'ok 2 - md5 checksum'
48         fi
49 fi