[m-rev.] for review: allow testing with mmc --make and of the erlang grade

Julien Fischer juliensf at csse.unimelb.edu.au
Tue Aug 21 14:24:17 AEST 2007


On Wed, 15 Aug 2007, Peter Wang wrote:

> Estimated hours taken: 4
> Branches: main
>
> Modify nightly test scripts to allow testing with `mmc --make' and testing of
> the erlang grade.
>
> tools/run_all_tests_from_cron:
> 	Accept a fourth command line argument to enable testing
> 	with mmc --make (which should be `--use-mmc-make' in that case).
> 	Pass this to test_mercury.
>
> tools/test_mercury:
> 	Accept the additional --use-mmc-make option.  Pass that to all
> 	calls of mmake and bootcheck.
>
> 	Make ceres install and test the erlang grade if called with
> 	--use-mmc-make.
>
> Index: tools/run_all_tests_from_cron
> ===================================================================
> RCS file: /home/mercury/mercury1/repository/mercury/tools/run_all_tests_from_cron,v
> retrieving revision 1.80
> diff -u -r1.80 run_all_tests_from_cron
> --- tools/run_all_tests_from_cron	19 Jan 2007 06:29:21 -0000	1.80
> +++ tools/run_all_tests_from_cron	15 Aug 2007 06:51:17 -0000
> @@ -24,11 +24,14 @@
>
> C_COMPILER=gcc
> BRANCH=
> +USE_MMC_MAKE=""
> case $# in
> 	1)	HOST=$1 ;;
> 	2)	HOST=$1; C_COMPILER=$2 ;;
> 	3)	HOST=$1; C_COMPILER=$2; BRANCH=$3 ;;
> -	*)	echo "Usage: $0 host [c-compiler] [branch]" 1>&2; exit 1 ;;
> +	4)	HOST=$1; C_COMPILER=$2; BRANCH=$3; USE_MMC_MAKE=$4 ;;
> +	*)	echo "Usage: $0 host [c-compiler] [branch] [use_mmc_make]" 1>&2
> +		exit 1 ;;
> esac
>
> #-----------------------------------------------------------------------------#
> @@ -155,7 +158,9 @@
> mv -f $tm_dir/logs/$logname.test_errs $tm_dir/logs/old 2>/dev/null
> logfile="$tm_dir/logs/$logname.out"
>
> -if nice -5 sh $tmpscript $HOST $ARCH $FULLARCH $BRANCH $C_COMPILER \
> +if
> +	nice -5 sh $tmpscript \
> +		$HOST $ARCH $FULLARCH $BRANCH $C_COMPILER $USE_MMC_MAKE \
> 		> $logfile 2>&1
> then
> 	test_status="succeeded"
> Index: tools/test_mercury
> ===================================================================
> RCS file: /home/mercury/mercury1/repository/mercury/tools/test_mercury,v
> retrieving revision 1.321
> diff -u -r1.321 test_mercury
> --- tools/test_mercury	7 Jul 2007 09:55:03 -0000	1.321
> +++ tools/test_mercury	15 Aug 2007 06:51:17 -0000
> @@ -11,8 +11,8 @@
> echo "test_mercury starting at `date`" 1>&2
>
> case $# in
> -	5)	HOST=$1; ARCH=$2; FULLARCH=$3; BRANCH=$4; C_COMPILER=$5 ;;
> -	*)	echo "Usage: $0 host arch fullarch branch c_compiler" 1>&2; exit 1 ;;
> +	6)	HOST=$1; ARCH=$2; FULLARCH=$3; BRANCH=$4; C_COMPILER=$5; USE_MMC_MAKE=$6 ;;
> +	*)	echo "Usage: $0 host arch fullarch branch c_compiler use_mmc_make" 1>&2; exit 1 ;;
> esac
>
> if [ -d /home/mercury/public/. ]; then
> @@ -385,6 +385,10 @@
> 					asm_fast.gc	\
> 					asm_fast.gc.tr	\
> 					asm_fast.gc.tr.debug"
> +		# The erlang grade requires mmc --make.
> +		if test "$USE_MMC_MAKE" != ""; then
> +			INSTALL_LIBGRADES="$INSTALL_LIBGRADES erlang"
> +		fi
> 		;;
> 	saturn)
> 		CONFIG_OPTS="--disable-dotnet-grades"
> @@ -663,16 +667,18 @@
> esac
> export CC
>
> +MMAKE="mmake $USE_MMC_MAKE"
> +
> autoconf || { false; exit 1; }
> rm -f config.cache
> ./configure --prefix=$INSTALL_DIR $CONFIG_OPTS || { false; exit 1; }
> -mmake $target_opts depend $PARALLEL || { false; exit 1; }
> -mmake $target_opts realclean MMAKEFLAGS=$PARALLEL || { false; exit 1; }
> +$MMAKE $target_opts depend $PARALLEL || { false; exit 1; }
> +$MMAKE $target_opts realclean MMAKEFLAGS=$PARALLEL || { false; exit 1; }
> ./configure --prefix=$INSTALL_DIR $CONFIG_OPTS || { false; exit 1; }
> -mmake $target_opts depend $PARALLEL || { false; exit 1; }
> -version=`mmake $target_opts version` || { false; exit 1; }
> -fullarch=`mmake $target_opts fullarch` || { false; exit 1; }
> -tools/bootcheck $use_cp_opt $target_opts \
> +$MMAKE $target_opts depend $PARALLEL || { false; exit 1; }
> +version=`$MMAKE $target_opts version` || { false; exit 1; }
> +fullarch=`$MMAKE $target_opts fullarch` || { false; exit 1; }
> +tools/bootcheck $USE_MMC_MAKE $use_cp_opt $target_opts \
> 	--keep-objs --copy-runtime \
> 	--no-test-suite $PARALLEL || $install_anyway || { false; exit 1; }
> cd .. || { false; exit 1; }
> @@ -719,9 +725,9 @@
>     # Note that we don't pass $target_opts when doing `mmake install_grades';
>     # that wouldn't work, since many of the grades can only be built with
>     # `--target c'.
> -    mmake $target_opts install_main MMAKEFLAGS=$PARALLEL || \
> +    $MMAKE $target_opts install_main MMAKEFLAGS=$PARALLEL || \
>     		set_status "install_main"
> -    mmake install_grades MMAKEFLAGS=$PARALLEL || \
> +    $MMAKE install_grades MMAKEFLAGS=$PARALLEL || \
>     		set_status "install_grades"
>
>     case $install_anyway_stage1 in
> @@ -759,7 +765,7 @@
>
> PATH="$INSTALL_DIR/bin:$PATH"
>
> -GRADES="`(cd $DIR/mercury && mmake echo_libgrades)`"
> +GRADES="`(cd $DIR/mercury && $MMAKE echo_libgrades)`"
>
> #-----------------------------------------------------------------------------#
>
> @@ -774,9 +780,9 @@
> 	# compilation time for `--intermodule-optimization' is probably not
> 	# acceptable for the source distribution.
> 	{ cd $DIR/mercury &&
> -	mmake realclean MMAKEFLAGS=$PARALLEL &&
> +	$MMAKE realclean MMAKEFLAGS=$PARALLEL &&
> 	(cd $DIR/tests &&
> -	mmake realclean MMAKEFLAGS=$PARALLEL) &&
> +	$MMAKE realclean MMAKEFLAGS=$PARALLEL) &&
> 	: > Mmake.params &&
> 	rm -f so_locations &&
> 	autoconf &&
> @@ -784,7 +790,7 @@
> 	mercury_cv_bits_per_word=32 \
> 	mercury_cv_unboxed_floats=no \
> 	sh configure --prefix=$INSTALL_DIR &&
> -	mmake MMAKEFLAGS="EXTRA_MCFLAGS='-O5 --opt-space --cross-compiling' $PARALLEL" tar &&
> +	$MMAKE MMAKEFLAGS="EXTRA_MCFLAGS='-O5 --opt-space --cross-compiling' $PARALLEL" tar &&
> 	cd .. &&
> 	rm -f $UNSTABLE/* &&
> 	cp mercury/NEWS $UNSTABLE/mercury-NEWS-$version-unstable.txt &&
> @@ -834,7 +840,7 @@
> 	    *)
> #	        echo "testing grade $grade, MCFLAGS=$TEST_MCFLAGS" \
> #			>> $TEST_ERROR_FILE
> -		mmake GRADE="$grade" \
> +		$MMAKE GRADE="$grade" \
> 			EXTRA_MCFLAGS="$TEST_MCFLAGS" \
> 			EXTRA_CFLAGS="$TEST_CFLAGS" \
> 			EXTRA_MGNUCFLAGS="$TEST_MGNUCFLAGS" \
> @@ -853,8 +859,8 @@
> 			# for profiling on DEC Alpha
> 			(cd benchmarks &&
> 			touch poly.m &&
> -			mmake poly.depend &&
> -			mmake poly \
> +			$MMAKE poly.depend &&
> +			$MMAKE poly \
> 				GRADE="$grade" \
> 				EXTRA_MCFLAGS="$TEST_MCFLAGS" \
> 				EXTRA_MGNUCFLAGS="$TEST_MGNUCFLAGS" \
> @@ -991,7 +997,7 @@
>
> {
> 	cd $DIR/mercury &&
> -	mmake bindist &&
> +	$MMAKE bindist &&
> 	cd .. &&
> 	{ [ -d $UNSTABLE ] || mkdir $UNSTABLE; } &&
> 	rm -f $UNSTABLE/mercury-*.$fullname.tar.gz &&

That looks okay.

Julien.
--------------------------------------------------------------------------
mercury-reviews mailing list
Post messages to:       mercury-reviews at csse.unimelb.edu.au
Administrative Queries: owner-mercury-reviews at csse.unimelb.edu.au
Subscriptions:          mercury-reviews-request at csse.unimelb.edu.au
--------------------------------------------------------------------------



More information about the reviews mailing list