plain.test.mk revision 258298
1257099Srpaulo# $FreeBSD: head/share/mk/plain.test.mk 258298 2013-11-18 12:47:35Z jmmv $
2257099Srpaulo#
3257099Srpaulo# Logic to build and install plain test programs.  A plain test programs it not
4257099Srpaulo# supposed to use any specific testing framework: all it does is run some code
5257099Srpaulo# and report the test's pass or fail status via a 0 or 1 exit code.
6257099Srpaulo
7257099Srpaulo.include <bsd.init.mk>
8257099Srpaulo
9257099Srpaulo# List of C, C++ and shell test programs to build.
10257099Srpaulo#
11257099Srpaulo# Programs listed here are built according to the semantics of bsd.prog.mk for
12257099Srpaulo# PROGS, PROGS_CXX and SCRIPTS, respectively.
13257099Srpaulo#
14257099Srpaulo# Test programs registered in this manner are set to be installed into TESTSDIR
15257099Srpaulo# (which should be overriden by the Makefile) and are not required to provide a
16257099Srpaulo# manpage.
17257099SrpauloPLAIN_TESTS_C?=
18257099SrpauloPLAIN_TESTS_CXX?=
19257099SrpauloPLAIN_TESTS_SH?=
20257099Srpaulo
21257099Srpaulo.if !empty(PLAIN_TESTS_C)
22257099SrpauloPROGS+= ${PLAIN_TESTS_C}
23257099Srpaulo_TESTS+= ${PLAIN_TESTS_C}
24257099Srpaulo.for _T in ${PLAIN_TESTS_C}
25257099SrpauloBINDIR.${_T}= ${TESTSDIR}
26257099SrpauloMAN.${_T}?= # empty
27258298SjmmvSRCS.${_T}?= ${_T}.c
28257099SrpauloTEST_INTERFACE.${_T}= plain
29257099Srpaulo.endfor
30257099Srpaulo.endif
31257099Srpaulo
32257099Srpaulo.if !empty(PLAIN_TESTS_CXX)
33257099SrpauloPROGS_CXX+= ${PLAIN_TESTS_CXX}
34257099Srpaulo_TESTS+= ${PLAIN_TESTS_CXX}
35257099Srpaulo.for _T in ${PLAIN_TESTS_CXX}
36257099SrpauloBINDIR.${_T}= ${TESTSDIR}
37257099SrpauloMAN.${_T}?= # empty
38258298SjmmvSRCS.${_T}?= ${_T}.cc
39257099SrpauloTEST_INTERFACE.${_T}= plain
40257099Srpaulo.endfor
41257099Srpaulo.endif
42257099Srpaulo
43257099Srpaulo.if !empty(PLAIN_TESTS_SH)
44257099SrpauloSCRIPTS+= ${PLAIN_TESTS_SH}
45257099Srpaulo_TESTS+= ${PLAIN_TESTS_SH}
46257099Srpaulo.for _T in ${PLAIN_TESTS_SH}
47257099SrpauloSCRIPTSDIR_${_T}= ${TESTSDIR}
48257099SrpauloTEST_INTERFACE.${_T}= plain
49257099Srpaulo.endfor
50257099Srpaulo.endif
51257099Srpaulo
52257099Srpaulo.include <bsd.test.mk>
53