1#!/bin/sh
2# $FreeBSD$
3
4base=`basename $0`
5us=45
6work="/dev/md${us}"
7src="/dev/md`expr $us + 1`"
8conf=`mktemp /tmp/$base.XXXXXX` || exit 1
9
10mdconfig -a -t malloc -s 1M -u $us || exit 1
11mdconfig -a -t malloc -s 1M -u `expr $us + 1` || exit 1
12dd if=/dev/random of=$work bs=1m count=1 >/dev/null 2>&1
13dd if=/dev/random of=$src bs=1m count=1 >/dev/null 2>&1
14sum=`cat $src | md5 -q`
15
16echo "127.0.0.1 RW $work" > $conf
17ggated $conf
18ggatec create -u $us 127.0.0.1 $work
19
20dd if=${src} of=/dev/ggate${us} bs=1m count=1 >/dev/null 2>&1
21
22if [ `cat $work | md5 -q` != $sum ]; then
23	echo "FAIL"
24else
25	if [ `cat /dev/ggate${us} | md5 -q` != $sum ]; then
26		echo "FAIL"
27	else
28		echo "PASS"
29	fi
30fi
31
32ggatec destroy -u $us
33mdconfig -d -u $us
34mdconfig -d -u `expr $us + 1`
35pkill ggated $conf
36rm -f $conf
37