Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Mar 2014 10:38:33 +0000 (UTC)
From:      Julio Merino <jmmv@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r263082 - head/tools/regression/usr.bin/make
Message-ID:  <201403121038.s2CAcXKu021794@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jmmv
Date: Wed Mar 12 10:38:32 2014
New Revision: 263082
URL: http://svnweb.freebsd.org/changeset/base/263082

Log:
  Only run the make tests when make is fmake.
  
  Because bmake is the default make being built, many of the tests here
  fail due to differences between the two.  Just skip the tests for now
  when using fmake.

Modified:
  head/tools/regression/usr.bin/make/common.sh

Modified: head/tools/regression/usr.bin/make/common.sh
==============================================================================
--- head/tools/regression/usr.bin/make/common.sh	Wed Mar 12 10:35:22 2014	(r263081)
+++ head/tools/regression/usr.bin/make/common.sh	Wed Mar 12 10:38:32 2014	(r263082)
@@ -13,6 +13,13 @@ fatal()
 	exit 1
 }
 
+make_is_fmake() {
+	# This test is not very reliable but works for now: the old fmake
+	# does have a -v option while bmake doesn't.
+	${MAKE_PROG} -f Makefile.non-existent -v 2>&1 | \
+	    grep -q "cannot open.*non-existent"
+}
+
 #
 # Check whether the working directory exists - it must.
 #
@@ -322,19 +329,25 @@ eval_compare()
 	while [ ${N} -le ${TEST_N} ] ; do
 		fail=
 		todo=
+		skip=
 		if ! skip_test ${N} ; then
 			do_compare stdout ${N} || fail="${fail}stdout "
 			do_compare stderr ${N} || fail="${fail}stderr "
 			do_compare status ${N} || fail="${fail}status "
 			eval todo=\${TEST_${N}_TODO}
+		else
+			eval skip=\${TEST_${N}_SKIP}
 		fi
 		if [ ! -z "$fail" ]; then
 			echo -n "not "
 		fi
 		echo -n "ok ${N} ${SUBDIR}/${N}"
-		if [ ! -z "$fail" -o ! -z "$todo" ]; then
+		if [ ! -z "$fail" -o ! -z "$todo" -o ! -z "$skip" ]; then
 			echo -n " # "
 		fi
+		if [ ! -z "$skip" ] ; then
+			echo -n "skip $skip; "
+		fi
 		if [ ! -z "$todo" ] ; then
 			echo -n "TODO $todo; "
 		fi
@@ -473,6 +486,12 @@ eval_cmd()
 		set -- prove
 	fi
 
+	if ! make_is_fmake ; then
+		for i in $(jot ${TEST_N:-1}) ; do
+			eval TEST_${i}_SKIP=\"make is not fmake\"
+		done
+	fi
+
 	for i
 	do
 		case $i in



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