allow out-of-tree builds and separate .opts files.

logfile creation moved to test-builds.sh, where it's used.

--verbose mode for showing the actual output while tests is running
  
test-build.sh generally cleaned up a bit with less duplicated code

# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: hen...@henriknordstrom.net-20090211122303-\
#   y4dr2nrywg6jywf4
# target_branch: http://www.squid-cache.org/bzr/squid3/trunk/
# testament_sha1: a8645e9b3d1e09b2e6a6f63b44d5d45b33fab11d
# timestamp: 2009-02-11 13:27:57 +0100
# source_branch: http://bzr.henriknordstrom.net/squid3/buildtest/
# base_revision_id: squ...@treenet.co.nz-20090209105215-\
#   4ne6cqv868ut9j3j
# 
# Begin patch
=== modified file 'test-builds.sh'
--- test-builds.sh	2008-11-29 14:51:34 +0000
+++ test-builds.sh	2009-02-11 12:23:03 +0000
@@ -2,24 +2,66 @@
 #
 #  Run specific build tests for a given OS environment.
 #
+top=`dirname $0`
 
 cleanup="no"
-if test "${1}" = "--cleanup" ; then
+verbose="no"
+while [ $# -ge 1 ]; do
+    case "$1" in
+    --cleanup)
 	cleanup="yes"
 	shift
-fi
+	;;
+    --verbose)
+	verbose="yes"
+	shift
+	;;
+    *)
+    	break
+	;;
+    esac
+done
 
 # Things to catch
 errors="^ERROR|\ error:|\ Error\ |No\ such|assertion\ failed|FAIL:"
 
-# Run a single test build by name
-tmp="${1}"
-if test -e ./test-suite/buildtests/${tmp}.opts ; then
-	echo "TESTING: ${tmp}"
-	rm -f -r bt${tmp} && mkdir bt${tmp} && cd bt${tmp}
-	../test-suite/buildtest.sh ../test-suite/buildtests/${tmp}
-	grep -E "${errors}" buildtest_*.log && exit 1
-	cd ..
+logtee() {
+    if [ $verbose = yes ]; then
+	tee $1
+    else
+	cat >$1
+    fi
+}
+
+buildtest() {
+    opts=$1
+    layer=`basename $opts .opts`
+    btlayer="bt$layer"
+    log=${btlayer}.log
+    echo "TESTING: ${layer}"
+    rm -f -r ${btlayer} && mkdir ${btlayer}
+    {
+	cd ${btlayer}
+	$top/test-suite/buildtest.sh $opts
+    } 2>&1 | logtee $log
+    grep -E "${errors}" $log && exit 1
+    if test "${cleanup}" = "yes" ; then
+	echo "REMOVE: ${btlayer}"
+	rm -f -r ${btlayer} $log
+    fi
+    result=`tail -2 $log | head -1`
+    test "${result}" = "Build Successful." || ( tail -5 $log ; exit 1 )
+}
+
+# Run a single test build by name or opts file
+if [ -e "$1" ]; then 
+
+	buildtest $1
+	exit 0
+fi
+tmp=`basename "${1}" .opts`
+if test -e $top/test-suite/buildtests/${tmp}.opts ; then
+	buildtest $top/test-suite/buildtests/${tmp}.opts
 	exit 0
 fi
 
@@ -30,18 +72,6 @@
 #  These layers are constructed from detailed knowledge of
 #  component dependencies.
 #
-for f in `ls -1 ./test-suite/buildtests/layer*.opts` ; do
-	layer=`echo "${f}" | grep -o -E "layer-[0-9]*-[^\.]*"`
-	rm -f -r bt${layer} && mkdir bt${layer} && cd bt${layer}
-	arg=`echo "${f}" | sed s/\\.opts//`
-	echo "TESTING: ${arg}"
-	../test-suite/buildtest.sh ".${arg}"
-	grep -E "${errors}" buildtest_*.log && exit 1
-	result=`tail -2 buildtest_*.log | head -1`
-	test "${result}" = "Build Successful." || ( tail -5 buildtest_*.log ; exit 1 )
-	cd ..
-	if test "${cleanup}" = "yes" ; then
-		echo "REMOVE: bt${layer}"
-		rm -f -r bt${layer}
-	fi
+for f in `ls -1 $top/test-suite/buildtests/layer*.opts` ; do
+	buildtest $f
 done

=== modified file 'test-suite/buildtest.sh'
--- test-suite/buildtest.sh	2009-02-08 05:57:17 +0000
+++ test-suite/buildtest.sh	2009-02-11 12:23:03 +0000
@@ -7,16 +7,11 @@
 #
 
 dist="${1}"
-
-# Figure out where to log the test output
-log=`echo "${dist}" | sed s/..test-suite.buildtests.//g `
-
-# ... and send everything there...
-{
+base="`dirname $0`"
 
 if test -e ${dist%%.opts}.opts ; then
 	echo "BUILD: ${dist%%.opts}.opts"
-	. ./${dist%%.opts}.opts
+	. ${dist%%.opts}.opts
 else
 	echo "BUILD: DEFAULT"
 	OPTS=""
@@ -36,10 +31,8 @@
 # above command currently encounters dependancy problems on cleanup.
 #
 rm -f -r src/fs/aufs/.deps src/fs/diskd/.deps &&
-	../configure --silent ${OPTS} 2>&1 &&
+	$base/../configure --silent ${OPTS} 2>&1 &&
 	make check 2>&1 &&
 	make 2>&1
 
-} 2>&1 > ./buildtest_${log}.log
-
 # do not build any of the install's ...

# Begin bundle
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

Reply via email to