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