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