[m-rev.] update grade selection for nightly tests

Fergus Henderson fjh at cs.mu.OZ.AU
Fri Oct 18 02:45:15 AEST 2002


Estimated hours taken: 3
Branches: main

Various changes to the way we choose grades in the nightly tests.

tools/test_mercury:
	Change which grades get installed:
	- Don't hard-code the list of library grades to install on hg;
	  it doesn't need to be hard-coded now that LIBGRADES includes GRADE.
	- Install the asm_fast.gc and asm_fast.gc.tr.debug grades
	  on ceres and roy, since it is useful to have these grades around.
	- Ensure that the nogc grades get installed on earth.
	  This is needed to ensure test coverage for those grades,
	  after my change to make those grades not installed by default.
	- Ensure that the asm_fast.gc.profdeep grade will get installed
	  on the ROTD_HOST even if INSTALL_LIBGRADES is set for that host.

	Change which grades get tested:
	- Set the list of grades to test to be the same as the list of
	  grades that were installed.  This avoids the need to maintain
	  a lot of hard-coded grade lists, thus fixing some test cases
	  failures caused by running tests in nogc grades even though
	  those grades were not being installed.  It also ensures that the
	  asm_fast.gc.profdeep grade will get tested on the ROTD_HOST.
	- Test the clpr stuff on all hosts, rather than a specific few.

	Miscellaneous changes:
	- Delete a bogus and misleading reference to "ceres" in a case
	  label -- this host was already being checked for in an earlier case
	- Don't set INSTALL_LIBGRADES to an empty string, since that is no
	  longer supported.

Workspace: /home/ceres/fjh/mercury
Index: tools/test_mercury
===================================================================
RCS file: /home/mercury1/repository/mercury/tools/test_mercury,v
retrieving revision 1.208
diff -u -d -r1.208 test_mercury
--- tools/test_mercury	16 Oct 2002 04:20:48 -0000	1.208
+++ tools/test_mercury	17 Oct 2002 16:30:20 -0000
@@ -362,12 +362,7 @@
 case $HOST in
 	murlibobo)
 		CONFIG_OPTS="--enable-inefficient-grades" ;;
-	kryten)		
-		# On kryten & taifun, there is a bug in readline which causes
-		# it to go into an infinite loop when reading from a file.
-		#CONFIG_OPTS="--enable-all-grades --without-readline" ;;
-		CONFIG_OPTS="--without-readline" ;;
-	taifun)		
+	kryten|taifun)		
 		# On kryten & taifun, there is a bug in readline which causes
 		# it to go into an infinite loop when reading from a file.
 		CONFIG_OPTS="--without-readline" ;;
@@ -377,12 +372,17 @@
 		CONFIG_OPTS="--enable-hlc-prof-grades \
 			--enable-new-mercuryfile-struct" ;;
 	roy|ceres)
+		# On these hosts, test the high-level back-end more:
+		# bootstrap the compiler in hlc.gc,
+		# use hlc.gc as the default grade,
+		# and install & test various other hlc-related grades.
+		# Also test the asm_fast.gc.tr.rt grade.
 		CONFIG_OPTS=""
 		DEFAULT_GRADE="hlc.gc"
 		export DEFAULT_GRADE
 		INSTALL_GRADE="hlc.gc"
 		INSTALL_LIBGRADES="hlc.gc.prof hlc.gc.memprof \
-				hlc.gc.tr hlc.par.gc"
+			hlc.gc.tr hlc.par.gc asm_fast.gc asm_fast.gc.tr.debug"
 		# Test the asm_fast.gc.tr.rt grade, but not on the 0.10 branch,
 		# since the asm_fast.gc.tr.rt grade is not yet implemented
 		# in the 0.10 branch.
@@ -402,11 +402,9 @@
 	hg)
 		CONFIG_OPTS=""
 		case "$C_COMPILER" in asm)
+			# Build the compiler in grade hlc.gc, because
+			# --target asm requires an hl* grade.
 			INSTALL_GRADE="hlc.gc"
-			INSTALL_LIBGRADES="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.par.gc"
 			;;
 		esac
 		;;
@@ -423,11 +421,13 @@
 			;;
 		esac
 		;;
-	mars|ceres)
+	mars)
 		# Portable .NET is installed on mars, and the
 		# test in configure.in doesn't test whether the
 		# ilasm it finds is suitable for use with Mercury.
 		CONFIG_OPTS="--disable-dotnet-grades"
+
+		# Test --use-subdirs
 		MMAKE_USE_SUBDIRS=yes
 		export MMAKE_USE_SUBDIRS
 
@@ -442,6 +442,11 @@
 			;;
 		esac
 		;;
+	earth)
+		# ensure that the nogc grades get installed and tested
+		# on at least one host
+		CONFIG_OPTS="--enable-nogc-grades"
+		;;
 	*)	
 		CONFIG_OPTS="" ;;
 esac
@@ -451,6 +456,9 @@
 case $HOST in $ROTD_HOST)
 	CONFIG_OPTS="$CONFIG_OPTS \
 	    --enable-deep-profiler=$TOPDIR/installed_w3/cgi-bin"
+	if test "$INSTALL_LIBGRADES" != ""; then
+		INSTALL_LIBGRADES="$INSTALL_LIBGRADES asm_fast.gc.profdeep"
+	fi
 	;;
 esac
 
@@ -547,13 +555,10 @@
 		date
 		;;
 esac
-case $HOST in
-	murlibobo|kryten|taifun|mundroo|quicksilver|hg|hydra|roy|venus|ender|earth|mars|ceres)
-		[ -d mercury/extras/clpr/CVS ] ||
-		(cd mercury/extras && cvs checkout $CHECKOUT_OPTS clpr) ||
-			{ false; exit 1; }
-		;;
-esac
+[ -d mercury/extras/clpr/CVS ] ||
+(cd mercury/extras && cvs checkout $CHECKOUT_OPTS clpr) ||
+	set_status "clpr checkout"
+;;
 
 : make sure the installation directory exists
 [ -d $INSTALL_DIR ] || mkdir -p $INSTALL_DIR
@@ -660,7 +665,7 @@
 	    	# --split-c-files is not supported for the hl* grades
 	    	;;
 	*)	mmake install_split_library \
-			LIBGRADES= MMAKEFLAGS=$PARALLEL || \
+			LIBGRADES=$INSTALL_GRADE MMAKEFLAGS=$PARALLEL || \
     			set_status "install_split_library"
 		;;
     esac
@@ -697,36 +702,15 @@
 
 : test and install the CLPR interface
 # CLPR requires trailing, so here we only test the trailing grades.
+GRADES="`(cd $DIR/mercury && mmake echo_libgrades)`"
 case $HOST in
-	murlibobo)
-		# requires --enable-all-grades
-		GRADES="asm_fast.gc.tr asm_fast.tr"
-		;;
-	hg|quicksilver|hydra|ender|kryten|taifun|mundroo|venus|earth|mars)
-		case "$C_COMPILER" in
-			gcc)	GRADES="asm_fast.gc.tr" ;;
-			*)	GRADES="" ;;
-		esac
-		;;
-	roy|ceres)
-		GRADES="hlc.gc.tr"
-
-		# The hl.* grades don't work on the release branch because
-		# we can only install the header files for one grade, and the 
-		# headers for hl.gc and hlc.gc are different. This has been
-		# fixed on the main branch.
-		case $BRANCH in
-			0.10)	;;
-			*)	GRADES="$GRADES hl.gc.tr" ;;
-		esac
-		;;
-	*)
-		GRADES=""
-		;;
+   hg)
+   	GRADES="$GRADES asm_fast.par.gc"
+	;;
 esac
-for grade in $GRADES kludge_for_broken_shells
+for grade in $GRADES
 do
-	if [ "$grade" != kludge_for_broken_shells ]; then
+	case "$grade" in *.tr*)
 		echo "test clpr stuff for grade $grade" 1>&2
 		{
 			echo "GRADE = $grade"
@@ -752,7 +736,8 @@
 			mmake check	 $PARALLEL MMAKEFLAGS=$PARALLEL &&
 			mmake realclean $PARALLEL MMAKEFLAGS=$PARALLEL) ||
 			    set_status "trailed_update realclean"
-	fi
+		;;
+	esac
 done
 
 #-----------------------------------------------------------------------------#
@@ -823,121 +808,6 @@
 
 #MERCURY_COMPILER=$DIR/mercury/stage2/compiler/mercury_compile
 #export MERCURY_COMPILER
-
-# Any grade here that is not installed by default needs to be explicitly
-# installed above, before the tests are run.
-case $HOST in
-	mundook|murlibobo)
-		# XXX currently we don't bother to test hlc.gc.par,
-		#     since that is just the same as hlc.gc
-		#     (threads are not yet supported on Digital Unix --
-		#     see configure.in).
-		# XXX should we test asm_fast.gc.profdeep?
-		GRADES="none none.gc
-			reg reg.gc
-			hlc.gc
-			asm_fast asm_fast.gc
-			asm_fast.prof asm_fast.gc.prof
-			asm_fast.gc.memprof
-			asm_fast.gc.tr asm_fast.tr asm_fast.gc.prof.tr
-			asm_fast.gc.tr.debug
-			"
-		;;
-# requires --enable-all-grades
-#	kryten)
-#		GRADES="none jump fast asm_jump asm_fast none.gc
-#			jump.gc fast.gc asm_jump.gc
-#			asm_fast.gc asm_fast.gc.prof asm_fast.prof asm_fast.gc.memprof
-#			asm_fast.gc.tr asm_fast.tr asm_fast.gc.prof.tr asm_fast.gc.tr.debug"
-#		;;
-	kryten|taifun|mundroo|rimmer)
-		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"
-		;;
-	hydra)
-		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"
-		;;
-	hg)
-		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
-			asm_fast.par.gc hlc.gc"
-		;;
-
-	earth)	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" ;;
-		esac
-		;;
-
-	venus)
-		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" ;;
-		esac
-		;;
-	roy|ceres)
-		GRADES="hlc.gc hlc.gc.prof hlc.gc.memprof hlc.gc.tr hlc.par.gc"
-		# Test the asm_fast.gc.tr.rt grade, but not on the 0.10 branch,
-		# since the asm_fast.gc.tr.rt grade is not yet implemented
-		# in the 0.10 branch.
-		#
-		# The hl.* grades don't work on the release branch because
-		# we can only install the header files for one grade, and the 
-		# headers for hl.gc and hlc.gc are different. This has been
-		# fixed on the main branch.
-		case $BRANCH in
-			0.10)	;;
-			*)	GRADES="$GRADES asm_fast.gc.tr.rt
-					hl.gc hl.gc.prof hl.gc.memprof
-					hl.gc.tr hl.par.gc" ;;
-		esac
-		;;
-	ender)
-		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 hlc.gc.prof hlc.gc.memprof"
-		;;
-	quicksilver)
-		GRADES="asm_fast.gc asm_fast asm_fast.gc.tr.debug"
-		# Don't bother with these, otherwise it would take forever...
-		#	asm_fast.gc.prof asm_fast.prof
-		#	asm_fast.gc.memprof asm_fast.gc.tr"
-		;;
-	*)
-		GRADES="`(cd $DIR/mercury && mmake echo_libgrades)`"
-		;;
-esac
 
 cd tests || { false; exit 1; }
 

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