Module Name:    src
Committed By:   apb
Date:           Fri Aug 22 16:45:32 UTC 2014

Modified Files:
        src/distrib/sets/lists/tests: mi
        src/etc/mtree: NetBSD.dist.tests
        src/tests/usr.bin/make: Makefile t_make.sh
Removed Files:
        src/tests/usr.bin/make: d_comment.mk d_comment.out d_cond1.mk
            d_cond1.out d_dotwait.mk d_dotwait.out d_export.mk d_export.out
            d_export_all.mk d_export_all.out d_moderrs.mk d_moderrs.out
            d_modmatch.mk d_modmatch.out d_modmisc.mk d_modmisc.out
            d_modorder.mk d_modorder.out d_modts.mk d_modts.out d_modword.mk
            d_modword.out d_posix.mk d_posix.out d_qequals.mk d_qequals.out
            d_ternary.mk d_ternary.out d_unmatchedvarparen.mk
            d_unmatchedvarparen.out d_varcmd.mk d_varcmd.out

Log Message:
Test make(1) by running the maintained tests, not unmaintained
copies of them.

* Remove all old tests from src/tests/usr.bin/make/d_*.  These tests
  were unmaintained old copies of the actual tests which are maintained
  under src/usr.bin/make/unit-tests.  One exception is the test in
  d_unmatchedvarparen.mk, which was new, but has nw been added to
  src/usr.bin/make/unit-tests/varmisc.mk.
* In src/tests/usr.bin/make/Makefile, copy all
  the tests from src/usr.bin/make/unit-tests to
  ${DESTDIR}/usr/tests/usr.bin/make/unit-tests.
* In src/tests/usr.bin/make/t_make.sh, run the tests installed above,
  instead of the old tests.
* In etc/mtree/NetBSD.dist.tests, create the
  usr/tests/usr.bin/make/unit-tests diectory.
* Update the set lists for all the above.


To generate a diff of this commit:
cvs rdiff -u -r1.585 -r1.586 src/distrib/sets/lists/tests/mi
cvs rdiff -u -r1.108 -r1.109 src/etc/mtree/NetBSD.dist.tests
cvs rdiff -u -r1.1 -r1.2 src/tests/usr.bin/make/Makefile \
    src/tests/usr.bin/make/t_make.sh
cvs rdiff -u -r1.1 -r0 src/tests/usr.bin/make/d_comment.mk \
    src/tests/usr.bin/make/d_comment.out src/tests/usr.bin/make/d_cond1.mk \
    src/tests/usr.bin/make/d_cond1.out src/tests/usr.bin/make/d_dotwait.mk \
    src/tests/usr.bin/make/d_export.mk src/tests/usr.bin/make/d_export.out \
    src/tests/usr.bin/make/d_export_all.mk \
    src/tests/usr.bin/make/d_export_all.out \
    src/tests/usr.bin/make/d_moderrs.mk src/tests/usr.bin/make/d_moderrs.out \
    src/tests/usr.bin/make/d_modmatch.mk \
    src/tests/usr.bin/make/d_modmatch.out src/tests/usr.bin/make/d_modmisc.mk \
    src/tests/usr.bin/make/d_modmisc.out src/tests/usr.bin/make/d_modorder.mk \
    src/tests/usr.bin/make/d_modorder.out src/tests/usr.bin/make/d_modts.mk \
    src/tests/usr.bin/make/d_modts.out src/tests/usr.bin/make/d_modword.mk \
    src/tests/usr.bin/make/d_modword.out src/tests/usr.bin/make/d_posix.mk \
    src/tests/usr.bin/make/d_posix.out src/tests/usr.bin/make/d_qequals.mk \
    src/tests/usr.bin/make/d_qequals.out src/tests/usr.bin/make/d_ternary.mk \
    src/tests/usr.bin/make/d_ternary.out \
    src/tests/usr.bin/make/d_unmatchedvarparen.mk \
    src/tests/usr.bin/make/d_unmatchedvarparen.out \
    src/tests/usr.bin/make/d_varcmd.mk src/tests/usr.bin/make/d_varcmd.out
cvs rdiff -u -r1.2 -r0 src/tests/usr.bin/make/d_dotwait.out

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/distrib/sets/lists/tests/mi
diff -u src/distrib/sets/lists/tests/mi:1.585 src/distrib/sets/lists/tests/mi:1.586
--- src/distrib/sets/lists/tests/mi:1.585	Fri Aug 22 10:51:38 2014
+++ src/distrib/sets/lists/tests/mi	Fri Aug 22 16:45:32 2014
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.585 2014/08/22 10:51:38 apb Exp $
+# $NetBSD: mi,v 1.586 2014/08/22 16:45:32 apb Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -3463,38 +3463,100 @@
 ./usr/tests/usr.bin/make			tests-usr.bin-tests
 ./usr/tests/usr.bin/make/Atffile		tests-usr.bin-tests	atf
 ./usr/tests/usr.bin/make/Kyuafile		tests-usr.bin-tests	atf,kyua
-./usr/tests/usr.bin/make/d_comment.mk		tests-usr.bin-tests	atf
-./usr/tests/usr.bin/make/d_comment.out		tests-usr.bin-tests	atf
-./usr/tests/usr.bin/make/d_cond1.mk		tests-usr.bin-tests	atf
-./usr/tests/usr.bin/make/d_cond1.out		tests-usr.bin-tests	atf
-./usr/tests/usr.bin/make/d_dotwait.mk		tests-usr.bin-tests	atf
-./usr/tests/usr.bin/make/d_dotwait.out		tests-usr.bin-tests	atf
-./usr/tests/usr.bin/make/d_export.mk		tests-usr.bin-tests	atf
-./usr/tests/usr.bin/make/d_export.out		tests-usr.bin-tests	atf
-./usr/tests/usr.bin/make/d_export_all.mk	tests-usr.bin-tests	atf
-./usr/tests/usr.bin/make/d_export_all.out	tests-usr.bin-tests	atf
-./usr/tests/usr.bin/make/d_moderrs.mk		tests-usr.bin-tests	atf
-./usr/tests/usr.bin/make/d_moderrs.out		tests-usr.bin-tests	atf
-./usr/tests/usr.bin/make/d_modmatch.mk		tests-usr.bin-tests	atf
-./usr/tests/usr.bin/make/d_modmatch.out		tests-usr.bin-tests	atf
-./usr/tests/usr.bin/make/d_modmisc.mk		tests-usr.bin-tests	atf
-./usr/tests/usr.bin/make/d_modmisc.out		tests-usr.bin-tests	atf
-./usr/tests/usr.bin/make/d_modorder.mk		tests-usr.bin-tests	atf
-./usr/tests/usr.bin/make/d_modorder.out		tests-usr.bin-tests	atf
-./usr/tests/usr.bin/make/d_modts.mk		tests-usr.bin-tests	atf
-./usr/tests/usr.bin/make/d_modts.out		tests-usr.bin-tests	atf
-./usr/tests/usr.bin/make/d_modword.mk		tests-usr.bin-tests	atf
-./usr/tests/usr.bin/make/d_modword.out		tests-usr.bin-tests	atf
-./usr/tests/usr.bin/make/d_posix.mk		tests-usr.bin-tests	atf
-./usr/tests/usr.bin/make/d_posix.out		tests-usr.bin-tests	atf
-./usr/tests/usr.bin/make/d_qequals.mk		tests-usr.bin-tests	atf
-./usr/tests/usr.bin/make/d_qequals.out		tests-usr.bin-tests	atf
-./usr/tests/usr.bin/make/d_ternary.mk		tests-usr.bin-tests	atf
-./usr/tests/usr.bin/make/d_ternary.out		tests-usr.bin-tests	atf
-./usr/tests/usr.bin/make/d_unmatchedvarparen.mk	tests-usr.bin-tests	atf
-./usr/tests/usr.bin/make/d_unmatchedvarparen.out	tests-usr.bin-tests
-./usr/tests/usr.bin/make/d_varcmd.mk		tests-usr.bin-tests	atf
-./usr/tests/usr.bin/make/d_varcmd.out		tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests		tests-usr.bin-tests
+./usr/tests/usr.bin/make/unit-tests/Makefile	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/comment.exp	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/comment.mk	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/cond1.exp	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/cond1.mk	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/doterror.exp	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/doterror.mk	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/dotwait.exp	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/dotwait.mk	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/error.exp	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/error.mk	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/export-all.exp	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/export-all.mk	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/export-env.exp	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/export-env.mk	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/export.exp	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/export.mk	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/forloop.exp	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/forloop.mk	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/forsubst.exp	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/forsubst.mk	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/hash.exp	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/hash.mk	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/misc.exp	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/misc.mk	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/moderrs.exp	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/moderrs.mk	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/modmatch.exp	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/modmatch.mk	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/modmisc.exp	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/modmisc.mk	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/modorder.exp	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/modorder.mk	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/modts.exp	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/modts.mk	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/modword.exp	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/modword.mk	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/order.exp	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/order.mk	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/phony-end.exp	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/phony-end.mk	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/posix.exp	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/posix.mk	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/qequals.exp	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/qequals.mk	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/sunshcmd.exp	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/sunshcmd.mk	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/sysv.exp	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/sysv.mk	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/ternary.exp	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/ternary.mk	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/unexport-env.exp	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/unexport-env.mk	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/unexport.exp	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/unexport.mk	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/varcmd.exp	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/varcmd.mk	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/varmisc.exp	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/varmisc.mk	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/varshell.exp	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/unit-tests/varshell.mk	tests-usr.bin-tests	atf
+./usr/tests/usr.bin/make/d_comment.mk		tests-obsolete	obsolete,atf
+./usr/tests/usr.bin/make/d_comment.out		tests-obsolete	obsolete,atf
+./usr/tests/usr.bin/make/d_cond1.mk		tests-obsolete	obsolete,atf
+./usr/tests/usr.bin/make/d_cond1.out		tests-obsolete	obsolete,atf
+./usr/tests/usr.bin/make/d_dotwait.mk		tests-obsolete	obsolete,atf
+./usr/tests/usr.bin/make/d_dotwait.out		tests-obsolete	obsolete,atf
+./usr/tests/usr.bin/make/d_export.mk		tests-obsolete	obsolete,atf
+./usr/tests/usr.bin/make/d_export.out		tests-obsolete	obsolete,atf
+./usr/tests/usr.bin/make/d_export_all.mk	tests-obsolete	obsolete,atf
+./usr/tests/usr.bin/make/d_export_all.out	tests-obsolete	obsolete,atf
+./usr/tests/usr.bin/make/d_moderrs.mk		tests-obsolete	obsolete,atf
+./usr/tests/usr.bin/make/d_moderrs.out		tests-obsolete	obsolete,atf
+./usr/tests/usr.bin/make/d_modmatch.mk		tests-obsolete	obsolete,atf
+./usr/tests/usr.bin/make/d_modmatch.out		tests-obsolete	obsolete,atf
+./usr/tests/usr.bin/make/d_modmisc.mk		tests-obsolete	obsolete,atf
+./usr/tests/usr.bin/make/d_modmisc.out		tests-obsolete	obsolete,atf
+./usr/tests/usr.bin/make/d_modorder.mk		tests-obsolete	obsolete,atf
+./usr/tests/usr.bin/make/d_modorder.out		tests-obsolete	obsolete,atf
+./usr/tests/usr.bin/make/d_modts.mk		tests-obsolete	obsolete,atf
+./usr/tests/usr.bin/make/d_modts.out		tests-obsolete	obsolete,atf
+./usr/tests/usr.bin/make/d_modword.mk		tests-obsolete	obsolete,atf
+./usr/tests/usr.bin/make/d_modword.out		tests-obsolete	obsolete,atf
+./usr/tests/usr.bin/make/d_posix.mk		tests-obsolete	obsolete,atf
+./usr/tests/usr.bin/make/d_posix.out		tests-obsolete	obsolete,atf
+./usr/tests/usr.bin/make/d_qequals.mk		tests-obsolete	obsolete,atf
+./usr/tests/usr.bin/make/d_qequals.out		tests-obsolete	obsolete,atf
+./usr/tests/usr.bin/make/d_ternary.mk		tests-obsolete	obsolete,atf
+./usr/tests/usr.bin/make/d_ternary.out		tests-obsolete	obsolete,atf
+./usr/tests/usr.bin/make/d_unmatchedvarparen.mk	tests-obsolete	obsolete,atf
+./usr/tests/usr.bin/make/d_unmatchedvarparen.out	tests-obsolete obsolete,atf
+./usr/tests/usr.bin/make/d_varcmd.mk		tests-obsolete	obsolete,atf
+./usr/tests/usr.bin/make/d_varcmd.out		tests-obsolete	obsolete,atf
 ./usr/tests/usr.bin/make/t_make			tests-usr.bin-tests	atf
 ./usr/tests/usr.bin/mkdep			tests-usr.bin-tests
 ./usr/tests/usr.bin/mkdep/Atffile		tests-usr.bin-tests	atf

Index: src/etc/mtree/NetBSD.dist.tests
diff -u src/etc/mtree/NetBSD.dist.tests:1.108 src/etc/mtree/NetBSD.dist.tests:1.109
--- src/etc/mtree/NetBSD.dist.tests:1.108	Mon Jun 30 21:32:59 2014
+++ src/etc/mtree/NetBSD.dist.tests	Fri Aug 22 16:45:32 2014
@@ -1,4 +1,4 @@
-#	$NetBSD: NetBSD.dist.tests,v 1.108 2014/06/30 21:32:59 alnsn Exp $
+#	$NetBSD: NetBSD.dist.tests,v 1.109 2014/08/22 16:45:32 apb Exp $
 
 ./usr/libdata/debug/usr/tests
 ./usr/libdata/debug/usr/tests/atf
@@ -358,6 +358,7 @@
 ./usr/tests/usr.bin/jot
 ./usr/tests/usr.bin/m4
 ./usr/tests/usr.bin/make
+./usr/tests/usr.bin/make/unit-tests
 ./usr/tests/usr.bin/mkdep
 ./usr/tests/usr.bin/nbperf
 ./usr/tests/usr.bin/pr

Index: src/tests/usr.bin/make/Makefile
diff -u src/tests/usr.bin/make/Makefile:1.1 src/tests/usr.bin/make/Makefile:1.2
--- src/tests/usr.bin/make/Makefile:1.1	Sat Mar 17 16:33:14 2012
+++ src/tests/usr.bin/make/Makefile	Fri Aug 22 16:45:32 2014
@@ -1,4 +1,12 @@
-# $NetBSD: Makefile,v 1.1 2012/03/17 16:33:14 jruoho Exp $
+# $NetBSD: Makefile,v 1.2 2014/08/22 16:45:32 apb Exp $
+
+# The tests for make(1) are maintained in src/usr.bin/make/unit-tests
+# (UNIT_TESTS_DISTDIR).  We copy them verbatim to ${FILESDIR}/unit-tests
+# (UNIT_TESTS_DIR) at install time.
+#
+# The t_make .sh script (installed as ${FILESDIR}/t_make) is the only
+# thing that knows about Atf.  At run time, the t_make simply invokes
+# the Makefile in UNIT_TESTS_DIR for each test.
 
 NOMAN=			# defined
 
@@ -9,37 +17,22 @@ TESTSDIR=		${TESTSBASE}/usr.bin/make
 TESTS_SH=		t_make
 
 FILESDIR=		${TESTSDIR}
-FILES=			d_comment.mk
-FILES+=			d_comment.out
-FILES+=			d_cond1.mk
-FILES+=			d_cond1.out
-FILES+=			d_dotwait.mk
-FILES+=			d_dotwait.out
-FILES+=			d_export.mk
-FILES+=			d_export.out
-FILES+=			d_export_all.mk
-FILES+=			d_export_all.out
-FILES+=			d_moderrs.mk
-FILES+=			d_moderrs.out
-FILES+=			d_modmatch.mk
-FILES+=			d_modmatch.out
-FILES+=			d_modmisc.mk
-FILES+=			d_modmisc.out
-FILES+=			d_modorder.mk
-FILES+=			d_modorder.out
-FILES+=			d_modts.mk
-FILES+=			d_modts.out
-FILES+=			d_modword.mk
-FILES+=			d_modword.out
-FILES+=			d_posix.mk
-FILES+=			d_posix.out
-FILES+=			d_qequals.mk
-FILES+=			d_qequals.out
-FILES+=			d_ternary.mk
-FILES+=			d_ternary.out
-FILES+=			d_unmatchedvarparen.mk
-FILES+=			d_unmatchedvarparen.out
-FILES+=			d_varcmd.mk
-FILES+=			d_varcmd.out
+
+# Where we install the copies of the files for the tests
+UNIT_TESTS_DIR=		${FILESDIR}/unit-tests
+
+# Where we obtain the original files for the tests
+UNIT_TESTS_DISTDIR=	${NETBSDSRCDIR}/usr.bin/make/unit-tests
+
+# Which original files to copy
+DISTFILES!=	(cd ${UNIT_TESTS_DISTDIR} && echo Makefile *.mk *.exp)
+
+# Instruct bsd.files.mk to make the copies
+.for f in ${DISTFILES}
+_file := ${UNIT_TESTS_DISTDIR}/${f}
+FILES+= ${UNIT_TESTS_DISTDIR}/${f}
+FILESNAME_${_file} := ${_file:T}
+FILESDIR_${_file} := ${UNIT_TESTS_DIR}
+.endfor
 
 .include <bsd.test.mk>
Index: src/tests/usr.bin/make/t_make.sh
diff -u src/tests/usr.bin/make/t_make.sh:1.1 src/tests/usr.bin/make/t_make.sh:1.2
--- src/tests/usr.bin/make/t_make.sh:1.1	Sat Mar 17 16:33:14 2012
+++ src/tests/usr.bin/make/t_make.sh	Fri Aug 22 16:45:32 2014
@@ -1,6 +1,6 @@
-# $NetBSD: t_make.sh,v 1.1 2012/03/17 16:33:14 jruoho Exp $
+# $NetBSD: t_make.sh,v 1.2 2014/08/22 16:45:32 apb Exp $
 #
-# Copyright (c) 2008, 2010 The NetBSD Foundation, Inc.
+# Copyright (c) 2008, 2010, 2014 The NetBSD Foundation, Inc.
 # All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -28,62 +28,50 @@
 # Executes make and compares the output to a golden file.
 run_and_check()
 {
-	local name="${1}"; shift
+	local atfname="${1}"; shift
+	local makename="${1}"; shift
 
 	local srcdir="$(atf_get_srcdir)"
-	atf_check -o file:"${srcdir}/d_${name}.out" -x \
-	    "make -k -f ${srcdir}/d_${name}.mk 2>&1 | sed -e 's,${srcdir}/d_,,'"
+	local testdir="$(atf_get_srcdir)/unit-tests"
+
+	atf_check -s exit:0 -o ignore -e ignore \
+	    make -f "${testdir}/Makefile" "${makename}.out"
+	atf_check -o file:"${testdir}/${makename}.exp" \
+	    cat "${makename}.out"
 }
 
 # Defines a test case for make(1), parsing a given file and comparing the
 # output to prerecorded results.
 test_case()
 {
-	local name="${1}"; shift
+	local atfname="${1}"; shift	# e.g. foo_bar
+	local makename="${1}"; shift	# e.g. foo-bar
 	local descr="${1}"; shift
 
-	atf_test_case "${name}"
-	eval "${name}_head() { \
-		atf_set descr '${descr}'; \
+	atf_test_case "${atfname}"
+	eval "${atfname}_head() { \
+		if [ -n '${descr}' ]; then \
+		    atf_set descr '${descr}'; \
+		fi \
 	}"
-	eval "${name}_body() { \
-		run_and_check '${name}'; \
+	eval "${atfname}_body() { \
+		run_and_check '${atfname}' '${makename}'; \
 	}"
 }
 
-test_case comment "Checks comments (PR/17732, PR/30536)"
-test_case cond1 "Checks conditionals (PR/24420)"
-test_case dotwait "Checks .WAIT"
-test_case export "Checks .export of provided variables"
-test_case export_all "Checks .export of all global variables"
-test_case moderrs "Checks correct handling of errors in modifiers usage"
-test_case modmatch "Checks modifier :M"
-test_case modmisc "Checks modifiers specified in variables"
-test_case modorder "Checks modifier :Ox"
-test_case modts "Checks modifier :ts"
-test_case modword "Checks modifier :[]"
-test_case posix "Checks conformance to POSIX"
-test_case qequals "Checks operator ?="
-test_case ternary "Checks ternary modifier"
-test_case varcmd "Checks behavior of command line variable assignments"
-test_case unmatchedvarparen "Checks $ ( ) matches"
-
 atf_init_test_cases()
 {
-	atf_add_test_case comment
-	atf_add_test_case cond1
-	atf_add_test_case dotwait
-	atf_add_test_case export
-	atf_add_test_case export_all
-	atf_add_test_case moderrs
-	atf_add_test_case modmatch
-	atf_add_test_case modmisc
-	atf_add_test_case modorder
-	atf_add_test_case modts
-	atf_add_test_case modword
-	atf_add_test_case posix
-	atf_add_test_case qequals
-	atf_add_test_case ternary
-	atf_add_test_case varcmd
-	atf_add_test_case unmatchedvarparen
+	local filename basename atfname descr
+
+	#exec >/tmp/apb 2>&1
+	#set -x
+	for filename in "$(atf_get_srcdir)"/unit-tests/*.mk ; do
+	    basename="${filename##*/}"
+	    basename="${basename%.mk}"
+	    atfname="$(echo "${basename}" | tr "x-" "x_")"
+	    descr='' # XXX
+            test_case "${atfname}" "${basename}" "${descr}"
+	    atf_add_test_case "${atfname}"
+	done
+	#set +x
 }

Reply via email to