plain.test.mk revision 259962
1# $FreeBSD: stable/10/share/mk/plain.test.mk 259962 2013-12-27 22:00:22Z jmmv $
2#
3# Logic to build and install plain test programs.  A plain test programs it not
4# supposed to use any specific testing framework: all it does is run some code
5# and report the test's pass or fail status via a 0 or 1 exit code.
6
7.include <bsd.init.mk>
8
9# List of C, C++ and shell test programs to build.
10#
11# Programs listed here are built according to the semantics of bsd.prog.mk for
12# PROGS, PROGS_CXX and SCRIPTS, respectively.
13#
14# Test programs registered in this manner are set to be installed into TESTSDIR
15# (which should be overriden by the Makefile) and are not required to provide a
16# manpage.
17PLAIN_TESTS_C?=
18PLAIN_TESTS_CXX?=
19PLAIN_TESTS_SH?=
20
21.if !empty(PLAIN_TESTS_C)
22PROGS+= ${PLAIN_TESTS_C}
23_TESTS+= ${PLAIN_TESTS_C}
24.for _T in ${PLAIN_TESTS_C}
25BINDIR.${_T}= ${TESTSDIR}
26MAN.${_T}?= # empty
27SRCS.${_T}?= ${_T}.c
28TEST_INTERFACE.${_T}= plain
29.endfor
30.endif
31
32.if !empty(PLAIN_TESTS_CXX)
33PROGS_CXX+= ${PLAIN_TESTS_CXX}
34_TESTS+= ${PLAIN_TESTS_CXX}
35.for _T in ${PLAIN_TESTS_CXX}
36BINDIR.${_T}= ${TESTSDIR}
37MAN.${_T}?= # empty
38SRCS.${_T}?= ${_T}.cc
39TEST_INTERFACE.${_T}= plain
40.endfor
41.endif
42
43.if !empty(PLAIN_TESTS_SH)
44SCRIPTS+= ${PLAIN_TESTS_SH}
45_TESTS+= ${PLAIN_TESTS_SH}
46.for _T in ${PLAIN_TESTS_SH}
47SCRIPTSDIR_${_T}= ${TESTSDIR}
48TEST_INTERFACE.${_T}= plain
49.endfor
50.endif
51
52.include <bsd.test.mk>
53