svn commit: r263082 - head/tools/regression/usr.bin/make

Julio Merino jmmv at FreeBSD.org
Wed Mar 12 10:38:33 UTC 2014


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


More information about the svn-src-all mailing list