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