Module Name: src
Committed By: jmmv
Date: Tue Jul 13 21:11:41 UTC 2010
Modified Files:
src/share/mk: bsd.test.mk
Log Message:
Implement Atffile automatic generation.
This change adds the ATFFILE variable, which can take the following values:
- yes: The source directory contains a static Atffile to be installed.
- auto: The Atffile is automatically generated.
- no: Do not install any Atffile (replaces the previous NOATFFILE variable).
The ugly bit of this is that I have to add a TESTS_SUBDIRS variable that
lists the subdirectories that contain test cases (so that they can be listed
in the Atffiles, without including auxiliary directories without tests).
This is a subset of SUBDIR.
Addresses a minor part of PR bin/43394.
To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/share/mk/bsd.test.mk
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/share/mk/bsd.test.mk
diff -u src/share/mk/bsd.test.mk:1.10 src/share/mk/bsd.test.mk:1.11
--- src/share/mk/bsd.test.mk:1.10 Fri Jun 18 13:14:21 2010
+++ src/share/mk/bsd.test.mk Tue Jul 13 21:11:41 2010
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.test.mk,v 1.10 2010/06/18 13:14:21 jmmv Exp $
+# $NetBSD: bsd.test.mk,v 1.11 2010/07/13 21:11:41 jmmv Exp $
#
.include <bsd.init.mk>
@@ -7,6 +7,18 @@
_TESTS= # empty
+.if defined(TESTS_SUBDIRS)
+SUBDIR+= ${TESTS_SUBDIRS}
+
+. for dir in ${TESTS_SUBDIRS}
+. if ${dir} != ".WAIT"
+_TESTS:= ${_TESTS} ${dir}
+. endif
+. endfor
+.endif
+
+.include <bsd.subdir.mk>
+
.if defined(TESTS_C)
PROGS+= ${TESTS_C}
LDADD+= -latf-c
@@ -46,9 +58,32 @@
. endfor
.endif
-.if !defined(NOATFFILE)
+ATFFILE?= auto
+
+.if empty(ATFFILE:M[Nn][Oo])
FILES+= Atffile
FILESDIR_Atffile= ${TESTSDIR}
+
+. if !empty(ATFFILE:M[Aa][Uu][Tt][Oo])
+realall: Atffile
+Atffile: Makefile
+ ${_MKTARGET_CREATE}
+ @{ echo 'Content-Type: application/X-atf-atffile; version="1"'; \
+ echo; \
+ echo '# Automatically generated by bsd.test.mk.'; \
+ echo; \
+ echo 'prop: test-suite = "NetBSD"'; \
+ echo; \
+ for tp in ${_TESTS}; do \
+ echo "tp: $${tp}"; \
+ done; } >Atffile.tmp
+ @mv Atffile.tmp Atffile
+
+clean: clean-atffile
+clean-atffile: .PHONY
+ rm -f Atffile Atffile.tmp
+. endif
+
.include <bsd.files.mk>
.endif