xref: /openbsd/regress/lib/libc/sys/README (revision d89ec533)
1Regression tests for system calls ported from NetBSD.
2
3Reimplement ATF with many hacks to adjust the tests as little as possible.
4
5Tests passing without source file adjustments:
6t_access	t_getsockname	t_msgctl	t_sigaltstack
7t_bind		t_gettimeofday	t_msgsnd	t_socketpair
8t_conect	t_kill		t_msync		t_truncate
9t_getgroups	t_link		t_pipe		t_umask
10t_getitimer	t_listen	t_ppoll		t_write
11t_getlogin	t_minherit	t_sendrecv
12t_getpid	t_mkdir		t_setuid
13t_getsid	t_mkfifo	t_sigaction
14
15Tests passing after adjustments:
16t_chroot		- fchroot is not implemented
17t_clock_gettime		- requires sysctlbyname
18t_dup			- OpenBSD dup3 is similar to Linux dup3
19t_fork			- add reallocarr function, remove clone(2) tests
20t_fsync			- replace mkstemp
21t_getrusage		- no expected fail, PR kern/30115 is NetBSD, work more
22t_kevent		- no EVFILT_USER, DRVCTLDEV, passing kqueue forbidden
23t_mknod 		- remove tests for unsupported file types
24t_msgget		- remove msgget_limit test
25t_poll 			- remove pollts_* tests
26t_ptrace 		- change EPERM -> EINVAL for PT_ATTACH of a parent
27t_revoke 		- remove basic tests, revoke only on ttys supported
28t_select 		- remove sigset_t struct as it is int on OpenBSD
29t_setrlimit		- remove unsupported resource parameters and lwp
30t_syscall		- add __syscall prototype
31t_vfork			- SIGSTOP is masked before exec(3)/exit(3)
32t_wait_noproc		- waitid and wait6 are not implemented
33t_wait_noproc_wnohang	- waitid and wait6 are not implemented
34
35Failing tests:
36t_mlock		- wrong errno, succeeds where not expected, POSIX imprecise
37t_mmap		- ENOTBLK on test NetBSD is skipping, remove mmap_va0 test
38t_msgrcv	- msgrcv(id, &r, 3 - 1, 0x41, 004000) != -1
39t_pipe2 	- closefrom(4) == -1, remove F_GETNOSIGPIPE and nosigpipe test
40t_stat 		- invalid GID with doas
41t_unlink	- wrong errno according to POSIX
42
43Excluded tests:
44t_clock_nanosleep	- not available
45t_clone			- not available
46t_futex_ops		- no lwp
47t_futex_robust		- no lwp
48t_getcontext		- not available, removed in POSIX.1-2008
49t_getrandom		- not available
50t_issetugid		- works as iplemented
51t_lwp_create		- not available
52t_lwp_ctl		- not available
53t_mincore		- removed
54t_mprotect		- no exec_prot_support and no return_one in libc
55t_nanosleep		- not available
56t_pollts		- not available
57t_posix_fadvise		- optional POSIX Advisory Information
58t_posix_fallocate	- optional POSIX Advisory Information
59t_ptrace_sigchld	-
60t_ptrace_wait		-
61t_ptrace_wait3		-
62t_ptrace_wait4		-
63t_ptrace_wait6		- not implemented
64t_ptrace_waitid		-
65t_ptrace_waitpid	-
66t_recvmmsg		- not implemented, not POSIX
67t_sendmmsg		- not implemented, not POSIX
68t_sigqueue		- not implemented, added in POSIX.1-2004
69t_sigtimedwait		- not implemented, added in POSIX.1-2004
70t_swapcontext		- not available, removed in POSIX.1-2008
71t_timer_create		- not implemented, added in POSIX.1-2004
72t_ucontext		- not available, removed in POSIX.1-2008
73t_wait			- wait6 is not available, not POSIX
74