summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorngie <ngie@FreeBSD.org>2016-03-13 23:29:11 +0000
committerngie <ngie@FreeBSD.org>2016-03-13 23:29:11 +0000
commit1e8546d005ea21205927d79b428e55cf45bd8224 (patch)
treeb01b62848b69a8d41f7e03e32c2498e555592879 /tools
parent71a86ad86f2e278d758caf2f48e47d768c88ca45 (diff)
downloadFreeBSD-src-1e8546d005ea21205927d79b428e55cf45bd8224.zip
FreeBSD-src-1e8546d005ea21205927d79b428e55cf45bd8224.tar.gz
MFC r293621,r293622,r293815:
r293621: - Delete non-TAP testcases - Add a conf.sh file for executing common functions with geom_gate - Use attach_md for attaching md(4) devices - Don't hardcode /tmp for temporary files, which violates the kyua sandbox - Add/increase sleeps to try and improve synchronization - Add debug output for when checksums fail test-1.t: - Use pkill for killing ggated r293622: Remove Makefile now that the testcases are all TAP based and prove -rv can be used on them r293815: Add conf.sh file missed in r293621
Diffstat (limited to 'tools')
-rw-r--r--tools/regression/geom_gate/Makefile8
-rwxr-xr-xtools/regression/geom_gate/conf.sh10
-rw-r--r--tools/regression/geom_gate/runtests.sh8
-rw-r--r--tools/regression/geom_gate/test-1.sh36
-rw-r--r--tools/regression/geom_gate/test-1.t74
-rw-r--r--tools/regression/geom_gate/test-2.sh28
-rw-r--r--tools/regression/geom_gate/test-2.t47
-rw-r--r--tools/regression/geom_gate/test-3.sh31
-rw-r--r--tools/regression/geom_gate/test-3.t50
9 files changed, 122 insertions, 170 deletions
diff --git a/tools/regression/geom_gate/Makefile b/tools/regression/geom_gate/Makefile
deleted file mode 100644
index c5c24ad..0000000
--- a/tools/regression/geom_gate/Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
-#
-# $FreeBSD$
-#
-# Regression tests for geom_gate.
-#
-
-test:
- @sh runtests.sh
diff --git a/tools/regression/geom_gate/conf.sh b/tools/regression/geom_gate/conf.sh
new file mode 100755
index 0000000..4eede08
--- /dev/null
+++ b/tools/regression/geom_gate/conf.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+# $FreeBSD$
+
+name="$(mktemp -u gate.XXXXXX)"
+class="gate"
+base=`basename $0`
+
+kldstat -q -m g_${class} || kldload geom_${class} || exit 1
+
+. `dirname $0`/../geom_subr.sh
diff --git a/tools/regression/geom_gate/runtests.sh b/tools/regression/geom_gate/runtests.sh
deleted file mode 100644
index 38089c5..0000000
--- a/tools/regression/geom_gate/runtests.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-# $FreeBSD$
-
-dir=`dirname $0`
-
-for ts in `dirname $0`/test-*.sh; do
- sh $ts
-done
diff --git a/tools/regression/geom_gate/test-1.sh b/tools/regression/geom_gate/test-1.sh
deleted file mode 100644
index 44a4960..0000000
--- a/tools/regression/geom_gate/test-1.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/sh
-# $FreeBSD$
-
-base=`basename $0`
-us=45
-work="/dev/md${us}"
-src="/dev/md`expr $us + 1`"
-conf=`mktemp /tmp/$base.XXXXXX` || exit 1
-
-mdconfig -a -t malloc -s 1M -u $us || exit 1
-mdconfig -a -t malloc -s 1M -u `expr $us + 1` || exit 1
-dd if=/dev/random of=$work bs=1m count=1 >/dev/null 2>&1
-dd if=/dev/random of=$src bs=1m count=1 >/dev/null 2>&1
-sum=`cat $src | md5 -q`
-
-echo "127.0.0.1 RW $work" > $conf
-ggated $conf
-ggatec create -u $us 127.0.0.1 $work
-
-dd if=${src} of=/dev/ggate${us} bs=1m count=1 >/dev/null 2>&1
-
-if [ `cat $work | md5 -q` != $sum ]; then
- echo "FAIL"
-else
- if [ `cat /dev/ggate${us} | md5 -q` != $sum ]; then
- echo "FAIL"
- else
- echo "PASS"
- fi
-fi
-
-ggatec destroy -u $us
-mdconfig -d -u $us
-mdconfig -d -u `expr $us + 1`
-pkill ggated $conf
-rm -f $conf
diff --git a/tools/regression/geom_gate/test-1.t b/tools/regression/geom_gate/test-1.t
index 279e316..83f6096 100644
--- a/tools/regression/geom_gate/test-1.t
+++ b/tools/regression/geom_gate/test-1.t
@@ -1,40 +1,62 @@
#!/bin/sh
# $FreeBSD$
-base=`basename $0`
-us=45
-work="/dev/md${us}"
-src="/dev/md`expr $us + 1`"
-conf=`mktemp /tmp/$base.XXXXXX` || exit 1
-
-mdconfig -a -t malloc -s 1M -u $us || exit 1
-mdconfig -a -t malloc -s 1M -u `expr $us + 1` || exit 1
-dd if=/dev/random of=$work bs=1m count=1 >/dev/null 2>&1
-dd if=/dev/random of=$src bs=1m count=1 >/dev/null 2>&1
-sum=`cat $src | md5 -q`
+. `dirname $0`/conf.sh
-echo "127.0.0.1 RW $work" > $conf
-ggated $conf
-ggatec create -u $us 127.0.0.1 $work
+echo '1..2'
-dd if=${src} of=/dev/ggate${us} bs=1m count=1 >/dev/null 2>&1
+base=`basename $0`
+us=0
+while [ -c /dev/ggate${us} ]; do
+ : $(( us += 1 ))
+done
+conf=`mktemp $base.XXXXXX` || exit 1
+pidfile=/var/run/ggated.pid
+port=33080
+
+work=$(attach_md -t malloc -s 1M)
+src=$(attach_md -t malloc -s 1M)
+
+test_cleanup()
+{
+ ggatec destroy -f -u $us
+ pkill -F $pidfile
+ geom_test_cleanup
+}
+trap test_cleanup ABRT EXIT INT TERM
+
+dd if=/dev/random of=/dev/$work bs=1m count=1 conv=sync
+dd if=/dev/random of=/dev/$src bs=1m count=1 conv=sync
+src_checksum=$(md5 -q /dev/$src)
+
+echo "127.0.0.1 RW /dev/$work" > $conf
+
+if ! ggated -p $port $conf; then
+ echo 'ggated failed to start'
+ echo 'Bail out!'
+ exit 1
+fi
+sleep 1
+if ! ggatec create -p $port -u $us 127.0.0.1 /dev/$work; then
+ echo 'ggatec create failed'
+ echo 'Bail out!'
+ exit 1
+fi
-echo '1..2'
+dd if=/dev/${src} of=/dev/ggate${us} bs=1m count=1
+sleep 1
-if [ `cat $work | md5 -q` != $sum ]; then
- echo 'not ok 1 - md5 checksum'
+work_checksum=$(md5 -q /dev/$work)
+if [ "$work_checksum" != "$src_checksum" ]; then
+ echo "not ok 1 - md5 checksums didn't match ($work_checksum != $src_checksum)"
+ echo "not ok 2 # SKIP"
else
echo 'ok 1 - md5 checksum'
- if [ `cat /dev/ggate${us} | md5 -q` != $sum ]; then
- echo 'not ok 2 - md5 checksum'
+ ggate_checksum=$(md5 -q /dev/ggate${us})
+ if [ "$ggate_checksum" != "$src_checksum" ]; then
+ echo "not ok 2 - md5 checksums didn't match ($ggate_checksum != $src_checksum)"
else
echo 'ok 2 - md5 checksum'
fi
fi
-
-ggatec destroy -u $us
-mdconfig -d -u $us
-mdconfig -d -u `expr $us + 1`
-pkill ggated $conf
-rm -f $conf
diff --git a/tools/regression/geom_gate/test-2.sh b/tools/regression/geom_gate/test-2.sh
deleted file mode 100644
index 498ac45..0000000
--- a/tools/regression/geom_gate/test-2.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/sh
-# $FreeBSD$
-
-base=`basename $0`
-us=45
-work=`mktemp /tmp/$base.XXXXXX` || exit 1
-src=`mktemp /tmp/$base.XXXXXX` || exit 1
-
-dd if=/dev/random of=$work bs=1m count=1 >/dev/null 2>&1
-dd if=/dev/random of=$src bs=1m count=1 >/dev/null 2>&1
-sum=`md5 -q $src`
-
-ggatel create -u $us $work
-
-dd if=${src} of=/dev/ggate${us} bs=1m count=1 >/dev/null 2>&1
-
-if [ `md5 -q $work` != $sum ]; then
- echo "FAIL"
-else
- if [ `cat /dev/ggate${us} | md5 -q` != $sum ]; then
- echo "FAIL"
- else
- echo "PASS"
- fi
-fi
-
-ggatel destroy -u $us
-rm -f $work $src
diff --git a/tools/regression/geom_gate/test-2.t b/tools/regression/geom_gate/test-2.t
index 2e5e254..be89acc 100644
--- a/tools/regression/geom_gate/test-2.t
+++ b/tools/regression/geom_gate/test-2.t
@@ -1,31 +1,48 @@
#!/bin/sh
# $FreeBSD$
+. `dirname $0`/conf.sh
+
base=`basename $0`
-us=45
-work=`mktemp /tmp/$base.XXXXXX` || exit 1
-src=`mktemp /tmp/$base.XXXXXX` || exit 1
+us=46
+work=`mktemp -u $base.XXXXXX` || exit 1
+src=`mktemp -u $base.XXXXXX` || exit 1
+
+test_cleanup()
+{
+ ggatel destroy -f -u $us
+ rm -f $work $src
+
+ geom_test_cleanup
+}
+trap test_cleanup ABRT EXIT INT TERM
-dd if=/dev/random of=$work bs=1m count=1 >/dev/null 2>&1
-dd if=/dev/random of=$src bs=1m count=1 >/dev/null 2>&1
-sum=`md5 -q $src`
+dd if=/dev/random of=$work bs=1m count=1 conv=sync
+dd if=/dev/random of=$src bs=1m count=1 conv=sync
-ggatel create -u $us $work
+if ! ggatel create -u $us $work; then
+ echo 'ggatel create failed'
+ echo 'Bail out!'
+ exit 1
+fi
-dd if=${src} of=/dev/ggate${us} bs=1m count=1 >/dev/null 2>&1
+dd if=${src} of=/dev/ggate${us} bs=1m count=1
+sleep 1
echo '1..2'
-if [ `md5 -q $work` != $sum ]; then
- echo 'not ok 1 - md5 checksum'
+src_checksum=$(md5 -q $src)
+work_checksum=$(md5 -q $work)
+if [ "$work_checksum" != "$src_checksum" ]; then
+ echo "not ok 1 - md5 checksums didn't match ($work_checksum != $src_checksum) # TODO: bug 204616"
+ echo 'not ok 2 # SKIP'
else
echo 'ok 1 - md5 checksum'
- if [ `cat /dev/ggate${us} | md5 -q` != $sum ]; then
- echo 'not ok 2 - md5 checksum'
+
+ ggate_checksum=$(md5 -q /dev/ggate${us})
+ if [ "$ggate_checksum" != "$src_checksum" ]; then
+ echo "not ok 2 - md5 checksums didn't match ($ggate_checksum != $src_checksum)"
else
echo 'ok 2 - md5 checksum'
fi
fi
-
-ggatel destroy -u $us
-rm -f $work $src
diff --git a/tools/regression/geom_gate/test-3.sh b/tools/regression/geom_gate/test-3.sh
deleted file mode 100644
index ca73a5a..0000000
--- a/tools/regression/geom_gate/test-3.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-# $FreeBSD$
-
-base=`basename $0`
-us=45
-work="/dev/md${us}"
-src="/dev/md`expr $us + 1`"
-
-mdconfig -a -t malloc -s 1M -u $us || exit 1
-mdconfig -a -t malloc -s 1M -u `expr $us + 1` || exit 1
-dd if=/dev/random of=$work bs=1m count=1 >/dev/null 2>&1
-dd if=/dev/random of=$src bs=1m count=1 >/dev/null 2>&1
-sum=`cat $src | md5 -q`
-
-ggatel create -u $us $work
-
-dd if=${src} of=/dev/ggate${us} bs=1m count=1 >/dev/null 2>&1
-
-if [ `cat $work | md5 -q` != $sum ]; then
- echo "FAIL"
-else
- if [ `cat /dev/ggate${us} | md5 -q` != $sum ]; then
- echo "FAIL"
- else
- echo "PASS"
- fi
-fi
-
-ggatel destroy -u $us
-mdconfig -d -u $us
-mdconfig -d -u `expr $us + 1`
diff --git a/tools/regression/geom_gate/test-3.t b/tools/regression/geom_gate/test-3.t
index ba2b3c7..8901aca 100644
--- a/tools/regression/geom_gate/test-3.t
+++ b/tools/regression/geom_gate/test-3.t
@@ -1,34 +1,48 @@
#!/bin/sh
# $FreeBSD$
+. `dirname $0`/conf.sh
+
base=`basename $0`
-us=45
-work="/dev/md${us}"
-src="/dev/md`expr $us + 1`"
+us=47
+
+test_cleanup()
+{
+ ggatel destroy -f -u $us
-mdconfig -a -t malloc -s 1M -u $us || exit 1
-mdconfig -a -t malloc -s 1M -u `expr $us + 1` || exit 1
-dd if=/dev/random of=$work bs=1m count=1 >/dev/null 2>&1
-dd if=/dev/random of=$src bs=1m count=1 >/dev/null 2>&1
-sum=`cat $src | md5 -q`
+ geom_test_cleanup
+}
+trap test_cleanup ABRT EXIT INT TERM
-ggatel create -u $us $work
+work=$(attach_md -t malloc -s 1M)
+src=$(attach_md -t malloc -s 1M)
-dd if=${src} of=/dev/ggate${us} bs=1m count=1 >/dev/null 2>&1
+dd if=/dev/random of=/dev/$work bs=1m count=1 conv=sync
+dd if=/dev/random of=/dev/$src bs=1m count=1 conv=sync
+src_checksum=$(md5 -q /dev/$src)
+
+if ! ggatel create -u $us /dev/$work; then
+ echo 'ggatel create failed'
+ echo 'Bail out!'
+ exit 1
+fi
+
+dd if=/dev/${src} of=/dev/ggate${us} bs=1m count=1 conv=sync
+sleep 1
echo '1..2'
-if [ `cat $work | md5 -q` != $sum ]; then
- echo 'not ok 1 - md5 checksum'
+work_checksum=$(md5 -q /dev/$work)
+if [ "$work_checksum" != "$src_checksum" ]; then
+ echo "not ok 1 - md5 checksums didn't match ($work_checksum != $src_checksum)"
+ echo 'not ok 2 # SKIP'
else
echo 'ok 1 - md5 checksum'
- if [ `cat /dev/ggate${us} | md5 -q` != $sum ]; then
- echo 'not ok 2 - md5 checksum'
+
+ ggate_checksum=$(md5 -q /dev/ggate${us})
+ if [ "$ggate_checksum" != "$src_checksum" ]; then
+ echo "not ok 2 - md5 checksums didn't match ($ggate_checksum != $src_checksum)"
else
echo 'ok 2 - md5 checksum'
fi
fi
-
-ggatel destroy -u $us
-mdconfig -d -u $us
-mdconfig -d -u `expr $us + 1`
OpenPOWER on IntegriCloud