Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Nov 2015 09:08:32 +0000 (UTC)
From:      Garrett Cooper <ngie@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r291241 - user/ngie/more-tests2/sbin/geom/core/tests
Message-ID:  <201511240908.tAO98WTf029412@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ngie
Date: Tue Nov 24 09:08:31 2015
New Revision: 291241
URL: https://svnweb.freebsd.org/changeset/base/291241

Log:
  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

Modified:
  user/ngie/more-tests2/sbin/geom/core/tests/run_test.sh

Modified: user/ngie/more-tests2/sbin/geom/core/tests/run_test.sh
==============================================================================
--- user/ngie/more-tests2/sbin/geom/core/tests/run_test.sh	Tue Nov 24 09:05:28 2015	(r291240)
+++ user/ngie/more-tests2/sbin/geom/core/tests/run_test.sh	Tue Nov 24 09:08:31 2015	(r291241)
@@ -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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201511240908.tAO98WTf029412>