Makefile revision 1.87
1# $NetBSD: Makefile,v 1.87 2025/04/20 21:03:32 riastradh Exp $
2
3NOMAN=		# defined
4
5.include <bsd.own.mk>
6
7TESTSDIR=	${TESTSBASE}/kernel
8
9TESTS_SUBDIRS+=	kqueue
10TESTS_C+=	t_cloexec
11#TESTS_C+=	t_epoll
12TESTS_C+=	t_execregs
13TESTS_C+=	t_fcntl
14.if ${MKRUMP} != "no"
15TESTS_C+=	t_fdrestart
16.endif
17TESTS_C+=	t_kauth_pr_47598
18TESTS_C+=	t_ksem
19TESTS_C+=	t_lock
20TESTS_C+=	t_lockf
21TESTS_C+=	t_memfd_create
22TESTS_C+=	t_mqueue
23TESTS_C+=	t_nanosleep
24TESTS_C+=	t_open_pr_57260
25TESTS_C+=	t_proccwd
26TESTS_C+=	t_pty
27TESTS_C+=	t_semtimedop
28TESTS_C+=	t_signal_and_sp
29TESTS_C+=	t_sysv
30TESTS_C+=	t_subr_prf
31TESTS_C+=	t_sysctl
32TESTS_C+=	t_timeleft
33.if ${MKRUMP} != "no"
34TESTS_C+=	t_unmount
35.endif
36TESTS_C+=	t_zombie
37
38TESTS_SH=	t_fexecve
39TESTS_SH+=	t_fpufork
40TESTS_SH+=	t_interp
41TESTS_SH+=	t_magic_symlinks
42TESTS_SH+=	t_nointerpreter
43TESTS_SH+=	t_origin
44TESTS_SH+=	t_procpath
45TESTS_SH+=	t_ps_strings
46.if ${MKRUMP} != "no"
47TESTS_SH+=	t_simplehook
48.endif
49TESTS_SH+=	t_trapsignal
50TESTS_SH+=	t_umountstress
51TESTS_SH+=	t_umount
52
53BINDIR=		${TESTSDIR}
54PROGS+=		h_cloexec
55PROGS+=		h_execregs
56PROGS+=		h_fexecve
57PROGS+=		h_fpufork
58PROGS+=		h_getprocpath
59PROGS+=		h_ps_strings1
60PROGS+=		h_ps_strings2
61PROGS+=		h_segv
62
63SCRIPTSDIR=	${TESTSDIR}
64SCRIPTS=	h_interpreter.sh
65
66LDADD.t_fdrestart+=	-lpthread
67LDADD.t_fdrestart+=	-lrumpnet_local
68LDADD.t_fdrestart+=	-lrumpnet_net
69LDADD.t_fdrestart+=	-lrumpnet_netinet
70LDADD.t_fdrestart+=	-lrumpnet
71LDADD.t_fdrestart+=	${LIBRUMPBASE}
72
73LDADD.t_mqueue+= -lrt
74
75LDADD.t_unmount+=	-lrumpfs_tmpfs
76LDADD.t_unmount+=	${LIBRUMPBASE}
77
78
79.if (${MKRUMP} != "no") && !defined(BSD_MK_COMPAT_FILE)
80TESTS_SUBDIRS+=	tty
81
82TESTS_C+=	t_extattrctl
83TESTS_C+=	t_filedesc
84TESTS_C+=	t_rnd
85LDADD.t_extattrctl+= ${LIBRUMPBASE}
86LDADD.t_filedesc+=  ${LDADD.t_rnd}
87LDADD.t_rnd+=  -lrumpdev_rnd -lrumpdev ${LIBRUMPBASE}
88
89.endif
90
91LDADD.t_timeleft+=	-lpthread
92
93CPPFLAGS+=	-D_KERNTYPES
94CPPFLAGS.t_unmount.c+=	-D_KMEMUSER -D__EXPOSE_MOUNT
95
96ARCH_INCS_DIR:=	${.PARSEDIR}/arch/${MACHINE_ARCH}
97.if exists(${ARCH_INCS_DIR}/stack_pointer.h)
98CPPFLAGS+=	-I${ARCH_INCS_DIR} -DHAVE_STACK_POINTER_H
99.endif
100
101.PATH:			${NETBSDSRCDIR}/sys/kern
102TESTS_C+=		t_extent
103SRCS.t_extent=		t_extent.c subr_extent.c
104CPPFLAGS.t_extent.c=	-D_EXTENT_TESTING -D__POOL_EXPOSE -D_KERNTYPES
105CPPFLAGS.subr_extent.c=	-D_EXTENT_TESTING -D__POOL_EXPOSE -D_KERNTYPES
106
107TESTS_C+=		t_time_arith
108SRCS.t_time_arith=	t_time_arith.c subr_time_arith.c
109CPPFLAGS.t_time_arith.c+=	-I${NETBSDSRCDIR}/sys -D_TIME_TESTING
110CPPFLAGS.subr_time_arith.c+=	-I${NETBSDSRCDIR}/sys -D_TIME_TESTING
111LDADD.t_time_arith+=	-lutil
112
113t_subr_prf.c: gen_t_subr_prf ${NETBSDSRCDIR}/sys/kern/subr_prf.c
114	${HOST_SH} ${.ALLSRC} ${.TARGET}
115.if ${MKSANITIZER:Uno} == "yes"
116	# These symbols will be redefined by MKSANITIZER
117	${TOOL_SED} -i '/undef .*printf/d' ${.TARGET}
118.endif
119
120CPPFLAGS.t_subr_prf.c=	-Wno-pointer-sign	# XXX platform vs kernel SHA2
121
122# Test explicitly tests failure modes.
123CPPFLAGS.t_subr_prf.c+=	${CC_WNO_FORMAT_TRUNCATION}
124
125SANITIZER_RENAME_CLASSES+=		t_subr_prf
126SANITIZER_RENAME_FILES.t_subr_prf+=	t_subr_prf.c
127SANITIZER_RENAME_SYMBOL.t_subr_prf+=	snprintf
128SANITIZER_RENAME_SYMBOL.t_subr_prf+=	vsnprintf
129SANITIZER_RENAME_SYMBOL.t_subr_prf+=	sprintf
130SANITIZER_RENAME_SYMBOL.t_subr_prf+=	vsnprintf
131SANITIZER_RENAME_SYMBOL.t_subr_prf+=	vasprintf
132
133CLEANFILES+=	t_subr_prf.c
134
135LDADD.h_segv+=	-lm
136
137.if exists(arch/${MACHINE_ARCH}/execregs.h)
138ARCHDIR:=		${.PARSEDIR}/arch/${MACHINE_ARCH}
139.PATH:			${ARCHDIR}
140CPPFLAGS.t_execregs.c+=	-I${ARCHDIR}
141CPPFLAGS.t_execregs.c+=	-I${.CURDIR}/../lib/libc/gen # isqemu.h
142CPPFLAGS.t_execregs.c+=	-DHAVE_EXECREGS_TEST
143SRCS.t_execregs+=	t_execregs.c
144SRCS.t_execregs+=	execregs.c
145LDSTATIC.h_execregs=	-static
146LDFLAGS.h_execregs+=	-Wl,-e,execregs_start
147.else
148SRCS.h_execregs=	h_execregs_unimpl.c
149.endif
150
151.include <bsd.test.mk>
152