From 322a89921480f43320ca2d87175ef0fe6ad7cd60 Mon Sep 17 00:00:00 2001 From: ngie Date: Sun, 13 Mar 2016 23:29:11 +0000 Subject: [PATCH] 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 git-svn-id: svn://svn.freebsd.org/base/stable/10@296814 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- tools/regression/geom_gate/Makefile | 8 --- tools/regression/geom_gate/conf.sh | 10 ++++ tools/regression/geom_gate/runtests.sh | 8 --- tools/regression/geom_gate/test-1.sh | 36 ------------- tools/regression/geom_gate/test-1.t | 74 +++++++++++++++++--------- tools/regression/geom_gate/test-2.sh | 28 ---------- tools/regression/geom_gate/test-2.t | 47 ++++++++++------ tools/regression/geom_gate/test-3.sh | 31 ----------- tools/regression/geom_gate/test-3.t | 50 ++++++++++------- 9 files changed, 122 insertions(+), 170 deletions(-) delete mode 100644 tools/regression/geom_gate/Makefile create mode 100755 tools/regression/geom_gate/conf.sh delete mode 100644 tools/regression/geom_gate/runtests.sh delete mode 100644 tools/regression/geom_gate/test-1.sh delete mode 100644 tools/regression/geom_gate/test-2.sh delete mode 100644 tools/regression/geom_gate/test-3.sh diff --git a/tools/regression/geom_gate/Makefile b/tools/regression/geom_gate/Makefile deleted file mode 100644 index c5c24adaa..000000000 --- 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 000000000..4eede088a --- /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 38089c5da..000000000 --- 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 44a49606f..000000000 --- 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 279e31633..83f609602 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 498ac45d0..000000000 --- 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 2e5e25440..be89accfc 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 ca73a5a26..000000000 --- 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 ba2b3c7de..8901aca69 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` -- 2.45.0