summaryrefslogtreecommitdiff
path: root/tests/sys/kern/Makefile
blob: 7a77fa08e2b1a38f826b7eb7a316363757672b44 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
.include <src.opts.mk>

PACKAGE=	tests

TESTSRC=	${SRCTOP}/contrib/netbsd-tests/kernel
.PATH:		${SRCTOP}/sys/kern

TESTSDIR=	${TESTSBASE}/sys/kern

ATF_TESTS_C+=	basic_signal
ATF_TESTS_C+=	copy_file_range
.if ${MACHINE_ARCH} != "i386" && ${MACHINE_ARCH} != "powerpc"
# No support for atomic_load_64 on i386 or (32-bit) powerpc
ATF_TESTS_C+=	kcov
.endif
ATF_TESTS_C+=	kern_copyin
ATF_TESTS_C+=	kern_descrip_test
# One test modifies the maxfiles limit, which can cause spurious test failures.
TEST_METADATA.kern_descrip_test+= is_exclusive="true"
ATF_TESTS_C+=	exterr_test
ATF_TESTS_C+=	fdgrowtable_test
ATF_TESTS_C+=	getdirentries_test
ATF_TESTS_C+=	jail_lookup_root
ATF_TESTS_C+=	inotify_test
ATF_TESTS_C+=	kill_zombie
.if ${MK_OPENSSL} != "no"
ATF_TESTS_C+=	ktls_test
.endif
ATF_TESTS_C+=	ktrace_test
ATF_TESTS_C+=	listener_wakeup
ATF_TESTS_C+=	module_test
ATF_TESTS_C+=	prace
ATF_TESTS_C+=	ptrace_test
TEST_METADATA.ptrace_test+=		timeout="15"
ATF_TESTS_C+=	reaper
ATF_TESTS_C+=	sched_affinity
ATF_TESTS_C+=	shutdown_dgram
ATF_TESTS_C+=	sigaltstack
ATF_TESTS_C+=	sigwait
ATF_TESTS_C+=	socket_accept
ATF_TESTS_C+=	socket_accf
ATF_TESTS_C+=	socket_msg_trunc
ATF_TESTS_C+=	socket_msg_waitall
ATF_TESTS_C+=	socket_splice
TEST_METADATA.sigwait+=	is_exclusive="true"
.if ${MACHINE_ARCH} != "i386" && ${MACHINE_ARCH:Mpowerpc*} == ""
ATF_TESTS_C+=	subr_physmem_test
.endif
PLAIN_TESTS_C+=	subr_unit_test
ATF_TESTS_C+=	sysctl_kern_proc
ATF_TESTS_C+=	sys_getrandom
ATF_TESTS_C+=	tty_pts
ATF_TESTS_C+=	unix_dgram
ATF_TESTS_C+=	unix_passfd_dgram
TEST_METADATA.unix_passfd_dgram+=	is_exclusive="true"
ATF_TESTS_C+=	unix_passfd_stream
TEST_METADATA.unix_passfd_stream+=	is_exclusive="true"
ATF_TESTS_C+=	unix_seqpacket_test
TEST_METADATA.unix_seqpacket_test+=	timeout="15"
ATF_TESTS_C+=	unix_stream
ATF_TESTS_C+=	waitpid_nohang
ATF_TESTS_C+=	pdeathsig
ATF_TESTS_C+=	sigsys
TEST_METADATA.sigsys+=	is_exclusive="true"

ATF_TESTS_SH+=	coredump_phnum_test
ATF_TESTS_SH+=	logsigexit_test
ATF_TESTS_SH+=	jailmeta
ATF_TESTS_SH+=	sonewconn_overflow
TEST_METADATA.sonewconn_overflow+=	required_programs="python"
TEST_METADATA.sonewconn_overflow+=	required_user="root"
TEST_METADATA.sonewconn_overflow+=	is_exclusive="true"
ATF_TESTS_SH+=	sendfile_test
ATF_TESTS_SH+=	sysctl_security_jail_children

${PACKAGE}FILES+=	sonewconn_overflow.py
${PACKAGE}FILESMODE_sonewconn_overflow.py=0555

BINDIR=		${TESTSDIR}
PROGS+=		coredump_phnum_helper
PROGS+=		pdeathsig_helper
PROGS+=		sendfile_helper

LIBADD.copy_file_range+=		md
LIBADD.jail_lookup_root+=		jail util
CFLAGS.sys_getrandom+=			-I${SRCTOP}/sys/contrib/zstd/lib
LIBADD.sys_getrandom+=			zstd
LIBADD.sys_getrandom+=			c
LIBADD.sys_getrandom+=			pthread
LIBADD.ptrace_test+=			pthread
LIBADD.unix_seqpacket_test+=		pthread
LIBADD.inotify_test+=			util
LIBADD.kcov+=				pthread
CFLAGS.ktls_test+=			-DOPENSSL_API_COMPAT=0x10100000L
LIBADD.ktls_test+=			crypto util
LIBADD.listener_wakeup+=		pthread
LIBADD.shutdown_dgram+=			pthread
LIBADD.socket_msg_waitall+=		pthread
LIBADD.socket_splice+=			pthread
LIBADD.sendfile_helper+=		pthread
LIBADD.fdgrowtable_test+=		util pthread kvm procstat
LIBADD.sigwait+=			rt
LIBADD.ktrace_test+=			sysdecode
LIBADD.unix_passfd_dgram+=		jail
LIBADD.unix_passfd_stream+=		jail
LIBADD.unix_stream+=			pthread

NETBSD_ATF_TESTS_C+=	lockf_test
NETBSD_ATF_TESTS_C+=	mqueue_test
NETBSD_ATF_TESTS_C+=	sysv_test

CFLAGS.mqueue_test+=	-I${SRCTOP}/tests
LIBADD.mqueue_test+=	rt

LIBADD.tty_pts+=	atf_c util

ATF_TESTS_C+=	libkern_crc32
SRCS.libkern_crc32+=	libkern_crc32.c
.PATH: ${SRCTOP}/sys/libkern
SRCS.libkern_crc32+=	gsb_crc32.c
CFLAGS.libkern_crc32+=	-DTESTING
.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
.PATH: ${SRCTOP}/sys/libkern/x86
SRCS.libkern_crc32+=	crc32_sse42.c
.elif ${MACHINE_CPUARCH} == "aarch64"
.PATH: ${SRCTOP}/sys/libkern/arm64
SRCS.libkern_crc32+=	crc32c_armv8.S
.endif

CFLAGS.subr_physmem.c+=	-D_WANT_FREEBSD_BITSET
SRCS.subr_physmem_test+= subr_physmem_test.c subr_physmem.c

# subr_unit.c contains functions whose prototypes lie in headers that cannot be
# included in userland.  But as far as subr_unit_test goes, they're effectively
# static.  So it's ok to disable -Wmissing-prototypes for this program.
CFLAGS.subr_unit.c+=	-Wno-missing-prototypes
SRCS.subr_unit_test+=	subr_unit.c

WARNS?=	3

TESTS_SUBDIRS+=	acct
TESTS_SUBDIRS+=	execve
TESTS_SUBDIRS+=	pipe
TESTS_SUBDIRS+=	tty

.include <netbsd-tests.test.mk>

.include <bsd.test.mk>