xref: /freebsd/tests/sys/kern/Makefile (revision 35a226dded9934c6beb5945a982a705712454be1)
1.include <src.opts.mk>
2
3PACKAGE=	tests
4
5TESTSRC=	${SRCTOP}/contrib/netbsd-tests/kernel
6.PATH:		${SRCTOP}/sys/kern
7
8TESTSDIR=	${TESTSBASE}/sys/kern
9
10ATF_TESTS_C+=	aslr
11ATF_TESTS_C+=	basic_signal
12ATF_TESTS_C+=	copy_file_range
13.if ${MACHINE_ARCH} != "i386" && ${MACHINE_ARCH} != "powerpc"
14# No support for atomic_load_64 on i386 or (32-bit) powerpc
15ATF_TESTS_C+=	kcov
16.endif
17ATF_TESTS_C+=	kern_copyin
18ATF_TESTS_C+=	kern_descrip_test
19# One test modifies the maxfiles limit, which can cause spurious test failures.
20TEST_METADATA.kern_descrip_test+= is_exclusive="true"
21PLAIN_TESTS_C+=	execve_overflow
22ATF_TESTS_C+=	exterr_test
23ATF_TESTS_C+=	fdgrowtable_test
24ATF_TESTS_C+=	getdirentries_test
25ATF_TESTS_C+=	jail_lookup_root
26ATF_TESTS_C+=	jail_thread
27ATF_TESTS_C+=	jaildesc
28ATF_TESTS_C+=	inotify_test
29ATF_TESTS_C+=	kill_zombie
30.if ${MK_OPENSSL} != "no"
31ATF_TESTS_C+=	ktls_test
32ATF_TESTS_C+=	ssl_sendfile
33.endif
34ATF_TESTS_C+=	ktrace_test
35ATF_TESTS_C+=	listener_wakeup
36ATF_TESTS_C+=	module_test
37ATF_TESTS_C+=	pdrfork
38ATF_TESTS_C+=	pdwait
39ATF_TESTS_C+=	prace
40ATF_TESTS_C+=	procdesc
41ATF_TESTS_C+=	ptrace_test
42TEST_METADATA.ptrace_test+=		timeout="15"
43ATF_TESTS_C+=	reaper
44ATF_TESTS_C+=	resolve_beneath_test
45ATF_TESTS_C+=	sched_affinity
46ATF_TESTS_C+=	shutdown_dgram
47ATF_TESTS_C+=	sigaltstack
48.if ${MACHINE_ARCH:Mpowerpc64*} != ""
49ATF_TESTS_C+=	sigreturn_fpregs
50SRCS.sigreturn_fpregs=	sigreturn_fpregs.c sigreturn_fpregs_ppc64.S
51LIBADD.sigreturn_fpregs+=	pthread
52TEST_METADATA.sigreturn_fpregs+=	is_exclusive="true"
53.endif
54ATF_TESTS_C+=	sigwait
55ATF_TESTS_C+=	socket_accept
56ATF_TESTS_C+=	socket_accf
57ATF_TESTS_C+=	socket_msg_trunc
58ATF_TESTS_C+=	socket_msg_waitall
59ATF_TESTS_C+=	socket_splice
60TEST_METADATA.sigwait+=	is_exclusive="true"
61.if ${MACHINE_ARCH} != "i386" && ${MACHINE_ARCH:Mpowerpc*} == ""
62ATF_TESTS_C+=	subr_physmem_test
63.endif
64PLAIN_TESTS_C+=	subr_unit_test
65ATF_TESTS_C+=	sysctl_kern_proc
66ATF_TESTS_C+=	sys_getrandom
67ATF_TESTS_C+=	timerfd
68LIBADD.timerfd+=	pthread
69# One test modifies the system time.
70TEST_METADATA.timerfd+=	is_exclusive="true"
71ATF_TESTS_C+=	tty_pts
72ATF_TESTS_C+=	unix_connectat
73ATF_TESTS_C+=	unix_dgram
74ATF_TESTS_C+=	unix_passfd_dgram
75TEST_METADATA.unix_passfd_dgram+=	is_exclusive="true"
76ATF_TESTS_C+=	unix_passfd_stream
77TEST_METADATA.unix_passfd_stream+=	is_exclusive="true"
78ATF_TESTS_C+=	unix_seqpacket_test
79TEST_METADATA.unix_seqpacket_test+=	timeout="15"
80ATF_TESTS_C+=	unix_stream
81ATF_TESTS_C+=	waitpid_nohang
82ATF_TESTS_C+=	pdeathsig
83ATF_TESTS_C+=	sigsys
84TEST_METADATA.sigsys+=	is_exclusive="true"
85
86ATF_TESTS_SH+=	coredump_phnum_test
87ATF_TESTS_SH+=	logsigexit_test
88ATF_TESTS_SH+=	jailmeta
89ATF_TESTS_SH+=	sonewconn_overflow
90TEST_METADATA.sonewconn_overflow+=	required_programs="python"
91TEST_METADATA.sonewconn_overflow+=	required_user="root"
92TEST_METADATA.sonewconn_overflow+=	is_exclusive="true"
93ATF_TESTS_SH+=	sendfile_test
94ATF_TESTS_SH+=	sysctl_security_jail_children
95
96${PACKAGE}FILES+=	sonewconn_overflow.py
97${PACKAGE}FILESMODE_sonewconn_overflow.py=0555
98
99BINDIR=		${TESTSDIR}
100PROGS+=		coredump_phnum_helper
101PROGS+=		pdeathsig_helper
102
103CFLAGS.aslr+=				-I${SRCTOP}/tests
104LIBADD.aslr+=				util
105LIBADD.copy_file_range+=		md
106LIBADD.jail_lookup_root+=		jail util
107LIBADD.jail_thread+=			jail pthread
108LIBADD.jaildesc+=			kvm pthread
109LIBADD.ssl_sendfile+=			pthread crypto ssl
110CFLAGS.sys_getrandom+=			-I${SRCTOP}/sys/contrib/zstd/lib
111LIBADD.sys_getrandom+=			zstd
112LIBADD.sys_getrandom+=			c
113LIBADD.sys_getrandom+=			pthread
114LIBADD.ptrace_test+=			pthread
115LIBADD.unix_connectat+=			util
116LIBADD.unix_seqpacket_test+=		pthread
117LIBADD.inotify_test+=			util
118LIBADD.kcov+=				pthread
119CFLAGS.ktls_test+=			-DOPENSSL_API_COMPAT=0x10100000L
120LIBADD.ktls_test+=			crypto util
121LIBADD.listener_wakeup+=		pthread
122LIBADD.procdesc+=			kvm pthread
123LIBADD.shutdown_dgram+=			pthread
124LIBADD.socket_msg_waitall+=		pthread
125LIBADD.socket_splice+=			pthread
126LIBADD.fdgrowtable_test+=		util pthread kvm procstat
127LIBADD.sigwait+=			rt
128LIBADD.ktrace_test+=			sysdecode
129LIBADD.unix_passfd_dgram+=		jail
130LIBADD.unix_passfd_stream+=		jail
131LIBADD.unix_stream+=			pthread
132
133NETBSD_ATF_TESTS_C+=	lockf_test
134NETBSD_ATF_TESTS_C+=	mqueue_test
135NETBSD_ATF_TESTS_C+=	sysv_test
136
137CFLAGS.mqueue_test+=	-I${SRCTOP}/tests
138LIBADD.mqueue_test+=	rt
139LIBADD.tty_pts+=	util
140
141ATF_TESTS_C+=	libkern_crc32
142SRCS.libkern_crc32+=	libkern_crc32.c
143.PATH: ${SRCTOP}/sys/libkern
144SRCS.libkern_crc32+=	gsb_crc32.c
145CFLAGS.libkern_crc32+=	-DTESTING
146.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
147.PATH: ${SRCTOP}/sys/libkern/x86
148SRCS.libkern_crc32+=	crc32_sse42.c
149.elif ${MACHINE_CPUARCH} == "aarch64"
150.PATH: ${SRCTOP}/sys/libkern/arm64
151SRCS.libkern_crc32+=	crc32c_armv8.S
152.endif
153
154CFLAGS.subr_physmem.c+=	-D_WANT_FREEBSD_BITSET
155SRCS.subr_physmem_test+= subr_physmem_test.c subr_physmem.c
156
157# subr_unit.c contains functions whose prototypes lie in headers that cannot be
158# included in userland.  But as far as subr_unit_test goes, they're effectively
159# static.  So it's ok to disable -Wmissing-prototypes for this program.
160CFLAGS.subr_unit.c+=	-Wno-missing-prototypes
161SRCS.subr_unit_test+=	subr_unit.c
162
163CFLAGS.exterr_test+=	-I${SRCTOP}/tests
164CFLAGS.pdwait+=		-I${SRCTOP}/tests
165CFLAGS.procdesc+=	-I${SRCTOP}/tests
166CFLAGS.ptrace_test+=	-I${SRCTOP}/tests
167
168WARNS?=	3
169
170TESTS_SUBDIRS+=	acct
171TESTS_SUBDIRS+=	execve
172TESTS_SUBDIRS+=	pipe
173TESTS_SUBDIRS+=	tty
174
175.include <netbsd-tests.test.mk>
176
177.include <bsd.test.mk>
178