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