[m-rev.] diff: updates for the nightly tests

Fergus Henderson fjh at cs.mu.OZ.AU
Sun Sep 15 21:22:26 AEST 2002


Estimated hours taken: 1
Branches: main

Various minor fixes and updates to the nightly tests.

tools/run_all_tests_from_cron:
	- Test on mundroo.
	- Fix a bug where it was not preserving the old `.test_errs' files.
	- Fix a bug where there was a syntax error in a call to grep,
	  which lead to incorrect output in the cron email.
	- Fix a bug where it was listing the wrong copy of `mercury_compile'
	  in the cron email.

tools/test_mercury:
	- Test lcc on mars.
	- Use GCC 3.2 rather than 3.0 for the native code back-end.

Workspace: /home/mercury/public/test_mercury/scripts/mercury
Index: tools/run_all_tests_from_cron
===================================================================
RCS file: /home/mercury1/repository/mercury/tools/run_all_tests_from_cron,v
retrieving revision 1.52
diff -u -d -r1.52 run_all_tests_from_cron
--- tools/run_all_tests_from_cron	21 Aug 2002 08:08:35 -0000	1.52
+++ tools/run_all_tests_from_cron	15 Sep 2002 11:16:03 -0000
@@ -90,6 +90,10 @@
 		# to problems with the GCC back-end.
 	    	BRANCH=latest
 		;;
+	    mundroo)
+		# release branch not yet installed.
+		BRANCH=latest
+		;;
 	    taifun|mundroo)
 	    	# For these hosts we only run 3 times a week.
 		# On Monday and Thursday, test the main branch.
@@ -131,17 +135,17 @@
 echo branch $BRANCH
 
 case "$C_COMPILER" in
-	gcc)	logname="test-$BRANCH-$HOST.out" ;;
-	*)	logname="test-$BRANCH-$HOST-$C_COMPILER.out" ;;
+	gcc)	logname="test-$BRANCH-$HOST" ;;
+	*)	logname="test-$BRANCH-$HOST-$C_COMPILER" ;;
 esac
 
-mv -f $tm_dir/logs/old/$logname $tm_dir/logs/old2 2>/dev/null
-mv -f $tm_dir/logs/old/$logname.errs $tm_dir/logs/old2 2>/dev/null
+mv -f $tm_dir/logs/old/$logname.out $tm_dir/logs/old2 2>/dev/null
+mv -f $tm_dir/logs/old/$logname.out.errs $tm_dir/logs/old2 2>/dev/null
 mv -f $tm_dir/logs/old/$logname.test_errs $tm_dir/logs/old2 2>/dev/null
-mv -f $tm_dir/logs/$logname $tm_dir/logs/old 2>/dev/null
-mv -f $tm_dir/logs/$logname.errs $tm_dir/logs/old 2>/dev/null
+mv -f $tm_dir/logs/$logname.out $tm_dir/logs/old 2>/dev/null
+mv -f $tm_dir/logs/$logname.out.errs $tm_dir/logs/old 2>/dev/null
 mv -f $tm_dir/logs/$logname.test_errs $tm_dir/logs/old 2>/dev/null
-logfile="$tm_dir/logs/$logname"
+logfile="$tm_dir/logs/$logname.out"
 
 if nice -5 sh $tmpscript $HOST $ARCH $FULLARCH $BRANCH $C_COMPILER \
 		> $logfile 2>&1
@@ -162,11 +166,9 @@
 		rm -f $logfile.test_errs
 	fi
 	echo
-	case $HOST in
-		hg) base=/home/hg ;;
-		*) base=/home/mercury ;;
-	esac
-	cd $base/public/mercury-latest/$FULLARCH/lib/mercury/bin/$FULLARCH
+	INSTALL_DIR=`tail $logfile | \
+		awk '/^Installation directory:/ { print $3; }' `
+	cd $INSTALL_DIR/lib/mercury/bin/$FULLARCH
 	ls -l mercury_compile
 	size mercury_compile
 	{
@@ -197,7 +199,7 @@
 	fi
 	if [ -s $logfile.test_errs ]; then
 		echo first 100 test failures:
-		grep "FAILED TEST" $logfile.test_errs | head - 100
+		grep "FAILED TEST" $logfile.test_errs | head -100 -
 	fi
 elif [ $test_status = "FAILED" ]; then
 	echo
@@ -213,7 +215,7 @@
 
 # NB we can't just pipe into `mutt' because the $mail_subject file
 # needs to be written before `mutt' is started.
-mutt -s "`cat $mail_subject`" stayl at cs.mu.oz.au < $tmpfile
+mutt -s "`cat $mail_subject`" fjh at cs.mu.oz.au < $tmpfile
 rm -f $tmpfile $tmpscript $mail_subject
 
 #-----------------------------------------------------------------------------#
Index: tools/test_mercury
===================================================================
RCS file: /home/mercury1/repository/mercury/tools/test_mercury,v
retrieving revision 1.195
diff -u -d -r1.195 test_mercury
--- tools/test_mercury	3 Sep 2002 06:57:11 -0000	1.195
+++ tools/test_mercury	15 Sep 2002 11:11:19 -0000
@@ -165,7 +165,10 @@
 			esac
 			;;
 
-	mars)		OPTIMIZE=-O5 ;;
+	mars)		case "$C_COMPILER" in
+				gcc)	OPTIMIZE=-O5 ;;
+				*)	OPTIMIZE=-O2 ;;
+			esac ;;
 	ceres)		OPTIMIZE=-O5 ;;	# hlc
 	kryten) 	OPTIMIZE=-O1 ;;	# currently not used
 	rimmer) 	OPTIMIZE=-O1 ;; # currently not used
@@ -211,6 +214,10 @@
 	;;   
 esac
 
+# This list of hosts for which we install into /home/$HOST rather than
+# /home/mercury should match the corresponding list in run_all_tests_from_cron.
+# So if you modify this list of hosts, you need to also modify
+# run_all_tests_from_cron.
 case $HOST in
 	hg|ender|roy|venus|earth|mars|ceres) 	
 		INSTALL_DIR=/home/$HOST/public/$INSTALL_DIR_NAME/$FULLARCH ;;
@@ -398,6 +405,17 @@
 		CONFIG_OPTS="--disable-dotnet-grades"
 		MMAKE_USE_SUBDIRS=yes
 		export MMAKE_USE_SUBDIRS
+
+		case "$C_COMPILER" in lcc)
+			# For grade none.gc.tr.debug, lcc 4.1 gets an
+			# internal error when compiling library/hash_table.c.
+			# So we need to disable that grade.
+			INSTALL_LIBGRADES="none  \
+				none.gc.prof none.prof none.gc.memprof \
+				none.gc.tr \
+				hlc.gc hlc.par.gc"
+			;;
+		esac
 		;;
 	*)	
 		CONFIG_OPTS="" ;;
@@ -469,14 +487,14 @@
 		# Once it is done once, it will be saved in the user's
 		# ~/.cvspass file, so it doesn't need to be done again.
 		#
-		# This is commented out, to save bandwidth,
+		# This should soon be commented out, to save bandwidth,
 		# since currently we're using a fixed snapshot
-		# (`-r gcc_3_0_release') anyway.
+		# (`-r gcc_3_2_release') anyway.
 		# Perhaps this should eventually change to use
 		# `-r gcc_latest_snapshot'.
-		#date
-		#cvs -d :pserver:anoncvs at gcc.gnu.org:/cvs/gcc -z 9 \
-		# 	checkout -r gcc_3_0_release gcc || { false; exit 1; }
+		date
+		cvs -d :pserver:anoncvs at gcc.gnu.org:/cvs/gcc -z 9 \
+		 	checkout -r gcc_3_2_release gcc || { false; exit 1; }
 		date
 		# Link the Mercury gcc back-end interface sources
 		# into the appropriate place in the gcc sources
@@ -810,10 +828,19 @@
 			hlc.gc hlc.par.gc"
 		;;
 
-	mars)	GRADES="asm_fast.gc asm_fast
-			asm_fast.gc.prof asm_fast.prof
-			asm_fast.gc.memprof asm_fast.gc.tr asm_fast.gc.tr.debug
-			hlc.gc hlc.par.gc"
+	mars)	
+		case "$C_COMPILER" in
+			gcc)	GRADES="asm_fast.gc asm_fast
+					asm_fast.gc.prof asm_fast.prof
+					asm_fast.gc.memprof asm_fast.gc.tr
+					asm_fast.gc.tr.debug
+					hlc.gc hlc.par.gc"
+			*)	# We don't test none.gc.tr.debug
+				# because it wasn't installed,
+				# due to lcc 4.1 internal error (see above)
+				GRADES="none.gc none none.gc.prof
+				none.prof none.gc.memprof none.gc.tr
+				hlc.gc hlc.par.gc" ;;
 		;;
 
 	venus)
@@ -1186,6 +1213,7 @@
 case $status in
     0)
 
+	echo "Installation directory: $INSTALL_DIR" 1>&2
 	echo "test_mercury exiting successfully at `date`" 1>&2
 	true
 	exit 0

-- 
Fergus Henderson <fjh at cs.mu.oz.au>  |  "I have always known that the pursuit
The University of Melbourne         |  of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh>  |     -- the last words of T. S. Garp.
--------------------------------------------------------------------------
mercury-reviews mailing list
post:  mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the reviews mailing list