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