1#!/bin/sh
2# $FreeBSD: releng/11.0/tests/sys/geom/class/gate/3_test.sh 295477 2016-02-10 17:57:24Z ngie $
3
4. `dirname $0`/conf.sh
5
6base=`basename $0`
7us=47
8
9test_cleanup()
10{
11	ggatel destroy -f -u $us
12
13	geom_test_cleanup
14}
15trap test_cleanup ABRT EXIT INT TERM
16
17work=$(attach_md -t malloc -s 1M)
18src=$(attach_md -t malloc -s 1M)
19
20dd if=/dev/random of=/dev/$work bs=1m count=1 conv=sync
21dd if=/dev/random of=/dev/$src bs=1m count=1 conv=sync
22src_checksum=$(md5 -q /dev/$src)
23
24if ! ggatel create -u $us /dev/$work; then
25	echo 'ggatel create failed'
26	echo 'Bail out!'
27	exit 1
28fi
29
30sleep 1
31dd if=/dev/${src} of=/dev/ggate${us} bs=1m count=1 conv=sync
32sleep 1
33
34echo '1..2'
35
36work_checksum=$(md5 -q /dev/$work)
37if [ "$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'
40else
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
49fi
50