diff options
author | ngie <ngie@FreeBSD.org> | 2015-11-24 09:08:31 +0000 |
---|---|---|
committer | ngie <ngie@FreeBSD.org> | 2015-11-24 09:08:31 +0000 |
commit | 62bc110b37cc1be874111e1d2e57c7270197af5a (patch) | |
tree | 3aa49a0373db3156288420f92f868a15b04338eb | |
parent | 93efb17b00ee4ca966d0c780d96e567776069e4b (diff) | |
download | FreeBSD-src-62bc110b37cc1be874111e1d2e57c7270197af5a.zip FreeBSD-src-62bc110b37cc1be874111e1d2e57c7270197af5a.tar.gz |
Do some incremental work trying to improve the test script
Unfortunately it seems that phk broke how labels/partitions were created
in r113434 and the gap was never completed, so these testcases are broken.
Exit early
-rw-r--r-- | sbin/geom/core/tests/run_test.sh | 65 |
1 files changed, 38 insertions, 27 deletions
diff --git a/sbin/geom/core/tests/run_test.sh b/sbin/geom/core/tests/run_test.sh index 96a3530..bc640e5 100644 --- a/sbin/geom/core/tests/run_test.sh +++ b/sbin/geom/core/tests/run_test.sh @@ -2,49 +2,60 @@ # $FreeBSD$ MD=34 -TMP=/tmp/$$ +: ${TMPDIR=/tmp} +TMP=$TMPDIR/$$ + +# The testcases seem to have been broken when the geom_sim provider was removed +echo "# these tests need to be rewritten; they were broken in r113434" +echo "1..0 # SKIP" +exit 0 set -e # Start from the right directory so we can find all our data files. -cd `dirname $0` - -(cd MdLoad && make) > /dev/null 2>&1 +testsdir=$(realpath $(dirname $0)) # Print the test header -echo -n '1..' -echo `ls -1 Data/disk.*.xml | wc -l` +set -- $testsdir/Data/disk.*.xml +echo "1..$#" +data_files="$@" + +trap "rm -f $TMP; mdconfig -d -u $MD" EXIT INT TERM -for f in Data/disk.*.xml -do +set +e + +refdir=$(realpath $(mktemp -d Ref.XXXXXX)) +for f in $data_files; do b=`basename $f` - mdconfig -d -u $MD > /dev/null 2>&1 || true - if [ -c /dev/md$MD ] ; then - sleep 1 - fi - if [ -c /dev/md$MD ] ; then + mdconfig -d -u $MD + + i=0 + while [ $i -lt 2 -a -c /dev/md$MD ]; do sleep 1 - fi + : $(( i += 1 )) + done if [ -c /dev/md$MD ] ; then echo "Bail out!" echo "/dev/md$MD is busy" exit 1 fi - MdLoad/MdLoad md${MD} $f - if [ -f Ref/$b ] ; then - if diskinfo /dev/md${MD}* | - diff -I '$FreeBSD' -u Ref/$b - > $TMP; then - echo "ok - $b" + if ! $testsdir/MdLoad/MdLoad md${MD} $f; then + echo "not ok - $b # MdLoad failed" + continue + fi + if [ ! -f $refdir/$b ]; then + if [ -f $testsdir/Ref/$b ] ; then + grep -v '\$FreeBSD.*\$' $testsdir/Ref/$b > $refdir/$b else - echo "not ok - $b" - sed 's/^/# /' $TMP + diskinfo /dev/md${MD}* > $refdir/$b + continue fi + fi + diskinfo /dev/md${MD}* | diff -u $refdir/$b - > $TMP + if [ $? -eq 0 ]; then + echo "ok - $b" else - diskinfo /dev/md${MD}* > Ref/`basename $f` + echo "not ok - $b" + sed 's/^/# /' $TMP fi done - -mdconfig -d -u $MD > /dev/null 2>&1 || true -rm -f $TMP - -exit 0 |