xref: /freebsd/cddl/usr.sbin/dtrace/tests/dtrace.test.mk (revision 60d78908f57cf2100d5aeafa7db5d97cda3c5607)
1
2TESTGROUP= ${.CURDIR:H:T}/${.CURDIR:T}
3TESTBASE= ${SRCTOP}/cddl/contrib/opensolaris/cmd/dtrace/test/tst
4TESTSRC= ${TESTBASE}/${TESTGROUP}
5TESTSDIR= ${TESTSBASE}/cddl/usr.sbin/dtrace/${TESTGROUP}
6
7FILESGROUPS+=	${TESTGROUP}EXE
8
9${TESTGROUP}EXE= ${TESTEXES}
10${TESTGROUP}EXEMODE= 0555
11${TESTGROUP}EXEPACKAGE=	${PACKAGE}
12
13TESTWRAPPER=	t_dtrace_contrib
14ATF_TESTS_SH+=	${TESTWRAPPER}
15TEST_METADATA.t_dtrace_contrib+= required_programs="ksh jq perl xmllint"
16TEST_METADATA.t_dtrace_contrib+= required_user="root"
17
18GENTEST?=	${.CURDIR:H:H}/tools/gentest.sh
19EXCLUDE=	${.CURDIR:H:H}/tools/exclude.sh
20${TESTWRAPPER}.sh: ${GENTEST} ${EXCLUDE} ${TFILES}
21	env TESTBASE=${TESTBASE:Q} \
22	    sh ${GENTEST} -e ${EXCLUDE} ${TESTGROUP} ${TFILES:S/ */ /} > ${.TARGET}
23
24CLEANFILES+=	${TESTWRAPPER}.sh
25
26.PATH:	${TESTSRC}
27
28# Only precompile C files if they don't have a
29# corresponding D source. This prevents compiling
30# the D source for the host architecture in cross
31# builds.
32.for prog in ${CFILES:T:S/.c$/.exe/g}
33.if !exists(${prog:S/^tst.//:S/.exe$/.d/})
34PROGS+=		${prog}
35SRCS.${prog}+=	${prog:S/.exe$/.c/}
36.endif
37.endfor
38
39BINDIR=		${TESTSDIR}
40MAN=
41
42# Some tests depend on the internals of their corresponding test programs,
43# so make sure the optimizer doesn't interfere with them.
44CFLAGS+=	-O0
45
46# Test programs shouldn't be stripped; else we generally can't use the PID
47# provider.
48DEBUG_FLAGS=	-g
49STRIP=
50
51.include <bsd.test.mk>
52