From e0a76714e764d8ed294999b360e7bdc4cad9b97a Mon Sep 17 00:00:00 2001 From: jmmv Date: Wed, 12 Mar 2014 10:38:32 +0000 Subject: 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. --- tools/regression/usr.bin/make/common.sh | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/tools/regression/usr.bin/make/common.sh b/tools/regression/usr.bin/make/common.sh index f38467f..cc7622e 100644 --- a/tools/regression/usr.bin/make/common.sh +++ b/tools/regression/usr.bin/make/common.sh @@ -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 -- cgit v1.1