os-test
os-test is a set of test suites for POSIX operating systems designed to make it easy to compare differences between operating systems and to find operating system bugs. It consists of test suites that focus on different operating system areas.
This page visualizes the results for the POSIX operating systems that are relevant today.
Source Code
The os-test source code is available on gitlab. You also can view the source code for each test by clicking the test title in the leftmost entry of each row. os-test is licensed under the ISC license, see the LICENSE file in the source code for details.
Please feel free to contribute more tests and suites and I'll be happy to run them on every operating system and publish the data.
Setup
I run os-test on my host Linux system; AIX, macOS, and Solaris are graciously provided by cfarm; and the rest of the systems run in qemu virtual machines. The testing harness connects to each machine over ssh and runs tests there. The systems are:
- AIX
- DragonFly
- FreeBSD
- Haiku
- Hurd
- Linux
- macOS
- Minix
- NetBSD
- OmniOS
- OpenBSD
- Solaris
- Sortix
I'm still looking for access to Integrity, LynxOS, HP-UX, OpenServer, QNX, UnixWare, VxWorks, and z/OS systems, or any other relevant maintained POSIX systems with a sshd port. Please get in touch if you can help.
Legend
Unanimous | Result kind 1 | Result kind 2 | Result kind 3 | Result kind 4 | Result kind 5 | |
---|---|---|---|---|---|---|
Good | Good unanimous | Good result kind 1 | Good result kind 2 | Good result kind 3 | Good result kind 4 | Good result kind 5 |
Unknown | Unknown unanimous | Unknown result kind 1 | Unknown result kind 2 | Unknown result kind 3 | Unknown result kind 4 | Unknown result kind 5 |
Bad | Bad unanimous | Bad result kind 1 | Bad result kind 2 | Bad result kind 3 | Bad result kind 4 | Bad result kind 5 |
Good. A cell is good if its output belongs to the set of expected valid outputs for that test, as determined by the applicable standards, specifications, expected behavior, or the interpretation of the os-test authors. If all the good results in a row have the same output, all the good result cells are colored in the unanimous color. Otherwise, each different kind of good outcome is colored in an unique color.
Unknown. A cell is unknown if the output is known, but it has not yet been determined if the output is a good result. If all the unknown results in a row have the same output, all the unknown result cells are colored in the unanimous color. Otherwise, each different kind of unknown outcome is colored in an unique color.
Bad. A cell is bad if its output is neither good nor unknown. If all the bad results in a row have the same output, all the bad result cells are colored in the unanimous color. Otherwise, each different kind of bad outcome is colored in an unique color.
§. The § link on the left of each row links to that row.
Suites
os-test currently contains these suites:
- io - This suite tests input/output system calls.
- malloc - This suite tests memory allocation.
- process - This suite tests process system calls.
- pty - This suite tests pseudoterminals.
- signal - This suite tests signal system calls.
- udp - This suite tests the UDP stack.
io
This suite tests input/output system calls.
aix AIX 3 00F9C1964C00 |
dragonfly DragonFly 6.4-RELEASE x86_64 |
freebsd FreeBSD 14.1-RELEASE amd64 |
haiku Haiku 1 x86_64 |
hurd GNU 0.9 i686-AT386 |
linux Linux 6.12.32-amd64 x86_64 |
macos Darwin 21.6.0 arm64 |
minix Minix 3.4.0 i386 |
netbsd NetBSD 10.0 amd64 |
omnios SunOS 5.11 i86pc |
openbsd OpenBSD 7.6 amd64 |
solaris SunOS 5.11 i86pc |
sortix Sortix 1.1.0-dev x86_64 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
§ dup3-clofork-fork | aix: bad no O_CLOFORK |
dragonfly: bad no O_CLOFORK |
freebsd: bad no O_CLOFORK |
haiku: bad no O_CLOFORK |
hurd: bad no O_CLOFORK |
linux: bad no O_CLOFORK |
macos: bad no O_CLOFORK |
minix: bad no O_CLOFORK |
netbsd: bad no O_CLOFORK |
omnios: good exit: 0 |
openbsd: bad no O_CLOFORK |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ ofd-getlk-rd | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_UNLCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_UNLCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ ofd-getlk-un | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_UNLCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_UNLCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ ofd-getlk-wr | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_UNLCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_UNLCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ ofd-setlk-rd | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_UNLCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_UNLCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ ofd-setlk-rd-dup | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_UNLCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_UNLCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ ofd-setlk-rd-dup-rd | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_RDLCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_RDLCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ ofd-setlk-rd-dup-wr | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_WRLCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_WRLCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ ofd-setlk-rd-reopen | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_RDLCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_RDLCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ ofd-setlk-rd-reopen-rd | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_RDLCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_RDLCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ ofd-setlk-rd-reopen-wr | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_OFD_SETLK: EWOULDBLOCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_OFD_SETLK: EWOULDBLOCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ ofd-setlk-rd-un | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_UNLCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_UNLCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ ofd-setlk-rd-un-dup | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_UNLCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_UNLCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ ofd-setlk-rd-un-dup-rd | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_RDLCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_RDLCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ ofd-setlk-rd-un-dup-wr | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_WRLCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_WRLCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ ofd-setlk-rd-un-reopen | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_UNLCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_UNLCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ ofd-setlk-rd-un-reopen-rd | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_RDLCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_RDLCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ ofd-setlk-rd-un-reopen-wr | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_WRLCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_WRLCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ ofd-setlk-un | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_UNLCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_UNLCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ ofd-setlk-wr | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_UNLCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_UNLCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ ofd-setlk-wr-dup | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_UNLCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_UNLCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ ofd-setlk-wr-dup-rd | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_RDLCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_RDLCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ ofd-setlk-wr-dup-wr | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_WRLCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_WRLCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ ofd-setlk-wr-reopen | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_WRLCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_WRLCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ ofd-setlk-wr-reopen-rd | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_OFD_SETLK: EWOULDBLOCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_OFD_SETLK: EWOULDBLOCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ ofd-setlk-wr-reopen-wr | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_OFD_SETLK: EWOULDBLOCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_OFD_SETLK: EWOULDBLOCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ ofd-setlk-wr-un | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_UNLCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_UNLCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ ofd-setlk-wr-un-dup | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_UNLCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_UNLCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ ofd-setlk-wr-un-dup-rd | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_RDLCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_RDLCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ ofd-setlk-wr-un-dup-wr | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_WRLCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_WRLCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ ofd-setlk-wr-un-reopen | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_UNLCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_UNLCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ ofd-setlk-wr-un-reopen-rd | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_RDLCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_RDLCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ ofd-setlk-wr-un-reopen-wr | aix: bad no F_OFD_SETLK |
dragonfly: bad no F_OFD_SETLK |
freebsd: bad no F_OFD_SETLK |
haiku: bad no F_OFD_SETLK |
hurd: bad no F_OFD_SETLK |
linux: good F_WRLCK |
macos: bad no F_OFD_SETLK |
minix: bad no F_OFD_SETLK |
netbsd: bad no F_OFD_SETLK |
omnios: good F_WRLCK |
openbsd: bad no F_OFD_SETLK |
solaris: bad no F_OFD_SETLK |
sortix: bad no F_OFD_SETLK |
§ open-clofork-fork | aix: bad no O_CLOFORK |
dragonfly: bad no O_CLOFORK |
freebsd: bad no O_CLOFORK |
haiku: bad no O_CLOFORK |
hurd: bad no O_CLOFORK |
linux: bad no O_CLOFORK |
macos: bad no O_CLOFORK |
minix: bad no O_CLOFORK |
netbsd: bad no O_CLOFORK |
omnios: good exit: 0 |
openbsd: bad no O_CLOFORK |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ open-mkstemp-rdonly | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ open-mkstemp-rdonly-directory | aix: good open: ENOTDIR |
dragonfly: good open: ENOTDIR |
freebsd: good open: ENOTDIR |
haiku: good open: ENOTDIR |
hurd: good open: ENOTDIR |
linux: good open: ENOTDIR |
macos: good open: ENOTDIR |
minix: bad exit: 0 |
netbsd: good open: ENOTDIR |
omnios: good open: ENOTDIR |
openbsd: good open: ENOTDIR |
solaris: good open: ENOTDIR |
sortix: good open: ENOTDIR |
§ open-mkstemp-rdonly-trunc | aix: good file was truncated |
dragonfly: good open: EACCES |
freebsd: good file was truncated |
haiku: good open: EPERM |
hurd: good open: EINVAL |
linux: good file was truncated |
macos: good file was truncated |
minix: good file was truncated |
netbsd: good file was truncated |
omnios: good file was truncated |
openbsd: good open: EINVAL |
solaris: good file was truncated |
sortix: good open: EINVAL |
§ open-mkstemp-rdonly-trunc-directory | aix: good open: ENOTDIR |
dragonfly: good open: EACCES |
freebsd: good open: ENOTDIR |
haiku: good open: ENOTDIR |
hurd: good open: ENOTDIR |
linux: good open: ENOTDIR |
macos: good open: ENOTDIR |
minix: bad file was truncated |
netbsd: good open: ENOTDIR |
omnios: good open: ENOTDIR |
openbsd: good open: EINVAL |
solaris: good open: EINVAL |
sortix: good open: EINVAL |
§ open-mkstemp-wronly-directory | aix: good open: ENOTDIR |
dragonfly: good open: ENOTDIR |
freebsd: good open: ENOTDIR |
haiku: good open: ENOTDIR |
hurd: good open: ENOTDIR |
linux: good open: ENOTDIR |
macos: good open: ENOTDIR |
minix: bad exit: 0 |
netbsd: good open: ENOTDIR |
omnios: good open: ENOTDIR |
openbsd: good open: ENOTDIR |
solaris: bad open: EINVAL |
sortix: good open: ENOTDIR |
§ open-mkstemp-wronly-trunc-directory | aix: good open: ENOTDIR |
dragonfly: good open: ENOTDIR |
freebsd: good open: ENOTDIR |
haiku: good open: ENOTDIR |
hurd: good open: ENOTDIR |
linux: good open: ENOTDIR |
macos: good open: ENOTDIR |
minix: bad file was truncated |
netbsd: good open: ENOTDIR |
omnios: good open: ENOTDIR |
openbsd: good open: ENOTDIR |
solaris: good open: EINVAL |
sortix: good open: EINVAL |
§ open-tmpdir-rdonly | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ open-tmpdir-rdonly-append | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ open-tmpdir-rdonly-creat | aix: bad exit: 0 |
dragonfly: bad open: EINVAL |
freebsd: good open: EISDIR |
haiku: bad exit: 0 |
hurd: bad exit: 0 |
linux: good open: EISDIR |
macos: bad exit: 0 |
minix: bad exit: 0 |
netbsd: bad exit: 0 |
omnios: bad exit: 0 |
openbsd: bad exit: 0 |
solaris: good open: EISDIR |
sortix: good open: EISDIR |
§ open-tmpdir-rdonly-directory | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ open-tmpdir-rdonly-trunc | aix: good open: EISDIR |
dragonfly: good open: EACCES |
freebsd: good open: EISDIR |
haiku: good open: EPERM |
hurd: good open: EINVAL |
linux: good open: EISDIR |
macos: good open: EISDIR |
minix: good exit: 0 |
netbsd: good open: EISDIR |
omnios: good open: EISDIR |
openbsd: good open: EINVAL |
solaris: good open: EISDIR |
sortix: good open: EINVAL |
§ open-tmpdir-rdwr | aix: good open: EISDIR |
dragonfly: good open: EISDIR |
freebsd: good open: EISDIR |
haiku: good open: EISDIR |
hurd: good open: EISDIR |
linux: good open: EISDIR |
macos: good open: EISDIR |
minix: good open: EISDIR |
netbsd: good open: EISDIR |
omnios: good open: EISDIR |
openbsd: good open: EISDIR |
solaris: good open: EISDIR |
sortix: good open: EISDIR |
§ open-tmpdir-rdwr-append | aix: good open: EISDIR |
dragonfly: good open: EISDIR |
freebsd: good open: EISDIR |
haiku: good open: EISDIR |
hurd: good open: EISDIR |
linux: good open: EISDIR |
macos: good open: EISDIR |
minix: good open: EISDIR |
netbsd: good open: EISDIR |
omnios: good open: EISDIR |
openbsd: good open: EISDIR |
solaris: good open: EISDIR |
sortix: good open: EISDIR |
§ open-tmpdir-rdwr-creat | aix: good open: EISDIR |
dragonfly: bad open: EINVAL |
freebsd: good open: EISDIR |
haiku: good open: EISDIR |
hurd: good open: EISDIR |
linux: good open: EISDIR |
macos: good open: EISDIR |
minix: good open: EISDIR |
netbsd: good open: EISDIR |
omnios: good open: EISDIR |
openbsd: good open: EISDIR |
solaris: good open: EISDIR |
sortix: good open: EISDIR |
§ open-tmpdir-rdwr-directory | aix: good open: EISDIR |
dragonfly: good open: EISDIR |
freebsd: good open: EISDIR |
haiku: good open: EISDIR |
hurd: good open: EISDIR |
linux: good open: EISDIR |
macos: good open: EISDIR |
minix: good open: EISDIR |
netbsd: good open: EISDIR |
omnios: good open: EISDIR |
openbsd: good open: EISDIR |
solaris: bad open: EINVAL |
sortix: good open: EISDIR |
§ open-tmpdir-rdwr-trunc | aix: good open: EISDIR |
dragonfly: good open: EISDIR |
freebsd: good open: EISDIR |
haiku: good open: EISDIR |
hurd: good open: EISDIR |
linux: good open: EISDIR |
macos: good open: EISDIR |
minix: good open: EISDIR |
netbsd: good open: EISDIR |
omnios: good open: EISDIR |
openbsd: good open: EISDIR |
solaris: good open: EISDIR |
sortix: good open: EISDIR |
§ open-tmpdir-wronly | aix: good open: EISDIR |
dragonfly: good open: EISDIR |
freebsd: good open: EISDIR |
haiku: good open: EISDIR |
hurd: good open: EISDIR |
linux: good open: EISDIR |
macos: good open: EISDIR |
minix: good open: EISDIR |
netbsd: good open: EISDIR |
omnios: good open: EISDIR |
openbsd: good open: EISDIR |
solaris: good open: EISDIR |
sortix: good open: EISDIR |
§ open-tmpdir-wronly-append | aix: good open: EISDIR |
dragonfly: good open: EISDIR |
freebsd: good open: EISDIR |
haiku: good open: EISDIR |
hurd: good open: EISDIR |
linux: good open: EISDIR |
macos: good open: EISDIR |
minix: good open: EISDIR |
netbsd: good open: EISDIR |
omnios: good open: EISDIR |
openbsd: good open: EISDIR |
solaris: good open: EISDIR |
sortix: good open: EISDIR |
§ open-tmpdir-wronly-creat | aix: good open: EISDIR |
dragonfly: bad open: EINVAL |
freebsd: good open: EISDIR |
haiku: good open: EISDIR |
hurd: good open: EISDIR |
linux: good open: EISDIR |
macos: good open: EISDIR |
minix: good open: EISDIR |
netbsd: good open: EISDIR |
omnios: good open: EISDIR |
openbsd: good open: EISDIR |
solaris: good open: EISDIR |
sortix: good open: EISDIR |
§ open-tmpdir-wronly-directory | aix: good open: EISDIR |
dragonfly: good open: EISDIR |
freebsd: good open: EISDIR |
haiku: good open: EISDIR |
hurd: good open: EISDIR |
linux: good open: EISDIR |
macos: good open: EISDIR |
minix: good open: EISDIR |
netbsd: good open: EISDIR |
omnios: good open: EISDIR |
openbsd: good open: EISDIR |
solaris: bad open: EINVAL |
sortix: good open: EISDIR |
§ open-tmpdir-wronly-trunc | aix: good open: EISDIR |
dragonfly: good open: EISDIR |
freebsd: good open: EISDIR |
haiku: good open: EISDIR |
hurd: good open: EISDIR |
linux: good open: EISDIR |
macos: good open: EISDIR |
minix: good open: EISDIR |
netbsd: good open: EISDIR |
omnios: good open: EISDIR |
openbsd: good open: EISDIR |
solaris: good open: EISDIR |
sortix: good open: EISDIR |
malloc
This suite tests memory allocation.
aix AIX 3 00F9C1964C00 |
dragonfly DragonFly 6.4-RELEASE x86_64 |
freebsd FreeBSD 14.1-RELEASE amd64 |
haiku Haiku 1 x86_64 |
hurd GNU 0.9 i686-AT386 |
linux Linux 6.12.32-amd64 x86_64 |
macos Darwin 21.6.0 arm64 |
minix Minix 3.4.0 i386 |
netbsd NetBSD 10.0 amd64 |
omnios SunOS 5.11 i86pc |
openbsd OpenBSD 7.6 amd64 |
solaris SunOS 5.11 i86pc |
sortix Sortix 1.1.0-dev x86_64 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
§ malloc-0 | aix: good NULL |
dragonfly: good non-NULL |
freebsd: good non-NULL |
haiku: good non-NULL |
hurd: good non-NULL |
linux: good non-NULL |
macos: good non-NULL |
minix: good non-NULL |
netbsd: good non-NULL |
omnios: good non-NULL |
openbsd: good non-NULL |
solaris: good non-NULL |
sortix: good non-NULL |
§ realloc-0 | aix: bad realloc: EINVAL |
dragonfly: good non-NULL |
freebsd: good non-NULL |
haiku: good NULL |
hurd: good NULL |
linux: good NULL |
macos: good non-NULL |
minix: good non-NULL |
netbsd: good non-NULL |
omnios: good NULL |
openbsd: good non-NULL |
solaris: good non-NULL |
sortix: good non-NULL |
§ realloc-null-0 | aix: good NULL |
dragonfly: good non-NULL |
freebsd: good non-NULL |
haiku: good non-NULL |
hurd: good non-NULL |
linux: good non-NULL |
macos: good non-NULL |
minix: good non-NULL |
netbsd: good non-NULL |
omnios: good non-NULL |
openbsd: good non-NULL |
solaris: good non-NULL |
sortix: good non-NULL |
process
This suite tests process system calls.
aix AIX 3 00F9C1964C00 |
dragonfly DragonFly 6.4-RELEASE x86_64 |
freebsd FreeBSD 14.1-RELEASE amd64 |
haiku Haiku 1 x86_64 |
hurd GNU 0.9 i686-AT386 |
linux Linux 6.12.32-amd64 x86_64 |
macos Darwin 21.6.0 arm64 |
minix Minix 3.4.0 i386 |
netbsd NetBSD 10.0 amd64 |
omnios SunOS 5.11 i86pc |
openbsd OpenBSD 7.6 amd64 |
solaris SunOS 5.11 i86pc |
sortix Sortix 1.1.0-dev x86_64 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
§ fork-exec-setpgid-in-child | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ fork-exec-setpgid-in-parent | aix: good setpgid: EACCES |
dragonfly: good setpgid: EACCES |
freebsd: good setpgid: EACCES |
haiku: good setpgid: EACCES |
hurd: good setpgid: EACCES |
linux: good setpgid: EACCES |
macos: good setpgid: EACCES |
minix: bad setpgid: EINVAL |
netbsd: good setpgid: EACCES |
omnios: good setpgid: EACCES |
openbsd: good setpgid: EACCES |
solaris: good setpgid: EACCES |
sortix: bad exit: 0 |
§ fork-setpgid | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ fork-setpgid-another-undo-redo | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: bad setpgid on leader: EINVAL |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: bad setpgid undo leader: EPERM |
§ fork-setpgid-another-undo-undo | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad process group still exists |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: bad setpgid on leader: EINVAL |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: bad setpgid undo leader: EPERM |
§ fork-setpgid-invalid | aix: good setpgid: EINVAL |
dragonfly: good setpgid: EINVAL |
freebsd: good setpgid: EINVAL |
haiku: good setpgid: EINVAL |
hurd: bad setpgid: EPERM |
linux: good setpgid: EINVAL |
macos: good setpgid: EINVAL |
minix: good setpgid: EINVAL |
netbsd: good setpgid: EINVAL |
omnios: good setpgid: EINVAL |
openbsd: good setpgid: EINVAL |
solaris: good setpgid: EINVAL |
sortix: good setpgid: EINVAL |
§ fork-setpgid-on-parent | aix: good setpgid: ESRCH |
dragonfly: good setpgid: ESRCH |
freebsd: good setpgid: ESRCH |
haiku: bad exit: 0 |
hurd: good setpgid: ESRCH |
linux: good setpgid: ESRCH |
macos: good setpgid: ESRCH |
minix: bad setpgid: EINVAL |
netbsd: good setpgid: ESRCH |
omnios: good setpgid: ESRCH |
openbsd: good setpgid: ESRCH |
solaris: good setpgid: ESRCH |
sortix: bad setpgid: EPERM |
§ fork-setpgid-on-parent-move | aix: good setpgid: ESRCH |
dragonfly: good setpgid: ESRCH |
freebsd: good setpgid: ESRCH |
haiku: bad setpgid: EPERM |
hurd: good setpgid: ESRCH |
linux: good setpgid: ESRCH |
macos: good setpgid: ESRCH |
minix: bad setpgid: EINVAL |
netbsd: good setpgid: ESRCH |
omnios: good setpgid: ESRCH |
openbsd: good setpgid: ESRCH |
solaris: good setpgid: ESRCH |
sortix: bad setpgid: EPERM |
§ fork-setpgid-undo | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad process group still exists |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: bad setpgid on child: EINVAL |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: bad setpgid undo: EPERM |
§ fork-setpgid-undo-redo | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad process group still exists |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: bad setpgid on child: EINVAL |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: bad setpgid undo: EPERM |
§ fork-setsid-setpgid | aix: good setpgid: EPERM |
dragonfly: good setpgid: EPERM |
freebsd: good setpgid: EPERM |
haiku: bad exit: 0 |
hurd: good setpgid: EPERM |
linux: good setpgid: EPERM |
macos: good setpgid: EPERM |
minix: good setpgid: EPERM |
netbsd: bad exit: 0 |
omnios: good setpgid: EPERM |
openbsd: good setpgid: EPERM |
solaris: good setpgid: EPERM |
sortix: good setpgid: EPERM |
§ fork-setsid-setpgid-in-parent | aix: good setpgid: EPERM |
dragonfly: good setpgid: EPERM |
freebsd: good setpgid: EPERM |
haiku: bad exit: 0 |
hurd: good setpgid: EPERM |
linux: good setpgid: EPERM |
macos: good setpgid: EPERM |
minix: bad setpgid: EINVAL |
netbsd: good setpgid: EPERM |
omnios: good setpgid: EPERM |
openbsd: good setpgid: EPERM |
solaris: good setpgid: EPERM |
sortix: good setpgid: EPERM |
§ fork-setsid-setpgid-in-parent-move | aix: good setpgid: EPERM |
dragonfly: good setpgid: EPERM |
freebsd: good setpgid: EPERM |
haiku: good setpgid: EPERM |
hurd: good setpgid: EPERM |
linux: good setpgid: EPERM |
macos: good setpgid: EPERM |
minix: bad setpgid: EINVAL |
netbsd: good setpgid: EPERM |
omnios: good setpgid: EPERM |
openbsd: good setpgid: EPERM |
solaris: good setpgid: EPERM |
sortix: good setpgid: EPERM |
§ fork-setsid-setpgid-move | aix: good setpgid: EPERM |
dragonfly: good setpgid: EPERM |
freebsd: good setpgid: EPERM |
haiku: good setpgid: EPERM |
hurd: good setpgid: EPERM |
linux: good setpgid: EPERM |
macos: good setpgid: EPERM |
minix: bad setpgid on child: EINVAL |
netbsd: good setpgid: EPERM |
omnios: good setpgid: EPERM |
openbsd: good setpgid: EPERM |
solaris: good setpgid: EPERM |
sortix: good setpgid: EPERM |
§ limbo-getpgid | aix: good getpgid on zombie: ESRCH |
dragonfly: good getpgid on zombie: ESRCH |
freebsd: good getpgid on zombie: ESRCH |
haiku: good getpgid on zombie: ESRCH |
hurd: good getpgid on zombie: ESRCH |
linux: good getpgid on zombie: ESRCH |
macos: good getpgid on zombie: ESRCH |
minix: bad setpgid on zombie: EINVAL |
netbsd: good getpgid on zombie: ESRCH |
omnios: good getpgid on zombie: ESRCH |
openbsd: good getpgid on zombie: ESRCH |
solaris: good getpgid on zombie: ESRCH |
sortix: good getpgid on zombie: ESRCH |
§ limbo-setpgid | aix: good setpgid on zombie: ESRCH |
dragonfly: good setpgid on zombie: ESRCH |
freebsd: good setpgid on zombie: ESRCH |
haiku: good setpgid on zombie: ESRCH |
hurd: good setpgid on zombie: ESRCH |
linux: good setpgid on zombie: ESRCH |
macos: good setpgid on zombie: ESRCH |
minix: bad setpgid on zombie: EINVAL |
netbsd: good setpgid on zombie: ESRCH |
omnios: good setpgid on zombie: ESRCH |
openbsd: good setpgid on zombie: ESRCH |
solaris: good setpgid on zombie: ESRCH |
sortix: bad setpgid on zombie: EPERM |
§ zombie-getpgid | aix: good exit: 0 |
dragonfly: good getpgid on zombie: ESRCH |
freebsd: good getpgid on zombie: ESRCH |
haiku: good getpgid on zombie: ESRCH |
hurd: good getpgid on zombie: ESRCH |
linux: good exit: 0 |
macos: good getpgid on zombie: ESRCH |
minix: bad getpgid on zombie: ENOSYS |
netbsd: good getpgid on zombie: ESRCH |
omnios: good exit: 0 |
openbsd: good getpgid on zombie: ESRCH |
solaris: good exit: 0 |
sortix: good getpgid on zombie: ESRCH |
§ zombie-setpgid | aix: good exit: 0 |
dragonfly: good setpgid on zombie: ESRCH |
freebsd: good setpgid on zombie: ESRCH |
haiku: good setpgid on zombie: ESRCH |
hurd: good setpgid on zombie: ESRCH |
linux: good exit: 0 |
macos: good setpgid on zombie: ESRCH |
minix: bad setpgid on zombie: EINVAL |
netbsd: good setpgid on zombie: ESRCH |
omnios: good exit: 0 |
openbsd: good setpgid on zombie: ESRCH |
solaris: good exit: 0 |
sortix: bad setpgid on zombie: EPERM |
§ zombie-setpgid-leader | aix: good exit: 0 |
dragonfly: good setpgid on zombie: ESRCH |
freebsd: good setpgid on zombie: ESRCH |
haiku: good setpgid on zombie: ESRCH |
hurd: good setpgid on zombie: ESRCH |
linux: good exit: 0 |
macos: good setpgid on zombie: ESRCH |
minix: bad setpgid on zombie: EINVAL |
netbsd: good setpgid on zombie: ESRCH |
omnios: good exit: 0 |
openbsd: good setpgid on zombie: ESRCH |
solaris: good exit: 0 |
sortix: bad setpgid on zombie: EPERM |
§ zombie-setpgid-move | aix: good exit: 0 |
dragonfly: good setpgid on zombie: ESRCH |
freebsd: good setpgid on zombie: ESRCH |
haiku: good setpgid on zombie: ESRCH |
hurd: good setpgid on zombie: ESRCH |
linux: good exit: 0 |
macos: good setpgid on zombie: ESRCH |
minix: bad setpgid on leader: EINVAL |
netbsd: good setpgid on zombie: ESRCH |
omnios: good exit: 0 |
openbsd: good setpgid on zombie: ESRCH |
solaris: good exit: 0 |
sortix: bad setpgid on zombie: EPERM |
pty
This suite tests pseudoterminals.
aix AIX 3 00F9C1964C00 |
dragonfly DragonFly 6.4-RELEASE x86_64 |
freebsd FreeBSD 14.1-RELEASE amd64 |
haiku Haiku 1 x86_64 |
hurd GNU 0.9 i686-AT386 |
linux Linux 6.12.32-amd64 x86_64 |
macos Darwin 21.6.0 arm64 |
minix Minix 3.4.0 i386 |
netbsd NetBSD 10.0 amd64 |
omnios SunOS 5.11 i86pc |
openbsd OpenBSD 7.6 amd64 |
solaris SunOS 5.11 i86pc |
sortix Sortix 1.1.0-dev x86_64 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
§ cs5 | aix: good f1f2f3f4 f1f2f3f4 |
dragonfly: good f1f2f3f4 f1f2f3f4 |
freebsd: good f1f2f3f4 f1f2f3f4 |
haiku: good f1f2f3f4 f1f2f3f4 |
hurd: good f1f2f3f4 f1f2f3f4 |
linux: good f1f2f3f4 f1f2f3f4 |
macos: good f1f2f3f4 f1f2f3f4 |
minix: good f1f2f3f4 f1f2f3f4 |
netbsd: good f1f2f3f4 f1f2f3f4 |
omnios: bad tcgetattr: EINVAL |
openbsd: good f1f2f3f4 f1f2f3f4 |
solaris: good f1f2f3f4 f1f2f3f4 |
sortix: good f1f2f3f4 f1f2f3f4 |
§ tcgetpgrp | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: bad tcgetpgrp: ENOTTY |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ tcgetpgrp-exited | aix: good unchanged |
dragonfly: good unchanged |
freebsd: good reserved |
haiku: good unchanged |
hurd: good unchanged |
linux: good unchanged |
macos: good unchanged |
minix: bad tcgetpgrp: ENOTTY |
netbsd: good reserved |
omnios: good unchanged |
openbsd: good reserved |
solaris: good unchanged |
sortix: good unchanged |
§ tcgetpgrp-uncontrolled | aix: good tcgetpgrp: ENOTTY |
dragonfly: good tcgetpgrp: ENOTTY |
freebsd: good tcgetpgrp: ENOTTY |
haiku: bad tcgetpgrp: errno == 0 |
hurd: good tcgetpgrp: ENOTTY |
linux: good tcgetpgrp: ENOTTY |
macos: good tcgetpgrp: ENOTTY |
minix: good tcgetpgrp: ENOTTY |
netbsd: good tcgetpgrp: ENOTTY |
omnios: good tcgetpgrp: ENOTTY |
openbsd: good tcgetpgrp: ENOTTY |
solaris: good tcgetpgrp: ENOTTY |
sortix: bad 4294967295 |
§ tcgetpgrp-wrong-controlling | aix: good tcgetpgrp: ENOTTY |
dragonfly: good tcgetpgrp: ENOTTY |
freebsd: good tcgetpgrp: ENOTTY |
haiku: bad exit: 0 |
hurd: bad exit: 0 |
linux: good tcgetpgrp: ENOTTY |
macos: good tcgetpgrp: ENOTTY |
minix: good tcgetpgrp: ENOTTY |
netbsd: good tcgetpgrp: ENOTTY |
omnios: good tcgetpgrp: ENOTTY |
openbsd: good tcgetpgrp: ENOTTY |
solaris: good tcgetpgrp: ENOTTY |
sortix: bad exit: 0 |
§ tcgetsid | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: bad tcgetsid: ENOSYS |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ tcgetsid-uncontrolled | aix: bad tcgetsid: EACCES |
dragonfly: good tcgetsid: ENOTTY |
freebsd: good tcgetsid: ENOTTY |
haiku: bad tcgetsid: errno == 0 |
hurd: good tcgetsid: ENOTTY |
linux: good tcgetsid: ENOTTY |
macos: good tcgetsid: ENOTTY |
minix: bad tcgetsid: ENOSYS |
netbsd: good tcgetsid: ENOTTY |
omnios: good tcgetsid: ENOTTY |
openbsd: good tcgetsid: ENOTTY |
solaris: good tcgetsid: ENOTTY |
sortix: bad tcgetsid: errno == 0 |
§ tcgetsid-wrong-controlling | aix: bad tcgetpgrp: EACCES |
dragonfly: bad tcgetpgrp: ENOTTY |
freebsd: bad tcgetpgrp: ENOTTY |
haiku: bad exit: 0 |
hurd: bad exit: 0 |
linux: bad tcgetpgrp: ENOTTY |
macos: bad exit: 0 |
minix: bad tcgetpgrp: ENOSYS |
netbsd: bad tcgetpgrp: ENOTTY |
omnios: bad tcgetpgrp: ENOTTY |
openbsd: bad tcgetpgrp: ENOTTY |
solaris: bad tcgetpgrp: ENOTTY |
sortix: bad exit: 0 |
§ tcsetpgrp | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: bad tcsetpgrp: ENOTTY |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ tcsetpgrp-limbo | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: bad setpgid on zombie: EINVAL |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ tcsetpgrp-wrong-controlling | aix: good tcsetpgrp: ENOTTY |
dragonfly: good tcsetpgrp: ENOTTY |
freebsd: good tcsetpgrp: ENOTTY |
haiku: good tcsetpgrp: ENOTTY |
hurd: bad exit: 0 |
linux: good tcsetpgrp: ENOTTY |
macos: good tcsetpgrp: ENOTTY |
minix: good tcsetpgrp: ENOTTY |
netbsd: good tcsetpgrp: ENOTTY |
omnios: good tcsetpgrp: ENOTTY |
openbsd: good tcsetpgrp: ENOTTY |
solaris: good tcsetpgrp: ENOTTY |
sortix: bad exit: 0 |
§ tcsetpgrp-wrong-member | aix: good tcsetpgrp: EPERM |
dragonfly: good tcsetpgrp: EPERM |
freebsd: good tcsetpgrp: EPERM |
haiku: good tcsetpgrp: EINVAL |
hurd: bad exit: 0 |
linux: bad exit: 0 |
macos: good tcsetpgrp: EINVAL |
minix: bad tcsetpgrp: ENOTTY |
netbsd: good tcsetpgrp: EPERM |
omnios: good tcsetpgrp: EPERM |
openbsd: good tcsetpgrp: EINVAL |
solaris: good tcsetpgrp: EPERM |
sortix: good tcsetpgrp: EINVAL |
§ tcsetpgrp-wrong-orphan | aix: good tcsetpgrp: EIO |
dragonfly: bad exit: 0 |
freebsd: bad exit: 0 |
haiku: bad exit: 0 |
hurd: bad exit: 0 |
linux: bad tcsetpgrp: ENOTTY |
macos: good tcsetpgrp: EIO |
minix: bad tcsetpgrp: ENOTTY |
netbsd: bad exit: 0 |
omnios: bad exit: 0 |
openbsd: bad exit: 0 |
solaris: bad exit: 0 |
sortix: bad read: errno == 0 |
§ tcsetpgrp-wrong-pid | aix: good tcsetpgrp: EPERM |
dragonfly: good tcsetpgrp: EINVAL |
freebsd: good tcsetpgrp: EPERM |
haiku: good tcsetpgrp: EINVAL |
hurd: bad exit: 0 |
linux: unknown tcsetpgrp: ESRCH |
macos: good tcsetpgrp: EINVAL |
minix: bad tcsetpgrp: ENOTTY |
netbsd: good tcsetpgrp: EPERM |
omnios: good tcsetpgrp: EINVAL |
openbsd: good tcsetpgrp: EINVAL |
solaris: good tcsetpgrp: EINVAL |
sortix: unknown tcsetpgrp: ESRCH |
§ tcsetpgrp-wrong-session | aix: bad tcsetpgrp: EINVAL |
dragonfly: good tcsetpgrp: EPERM |
freebsd: good tcsetpgrp: EPERM |
haiku: bad tcsetpgrp: EINVAL |
hurd: bad exit: 0 |
linux: good tcsetpgrp: EPERM |
macos: good tcsetpgrp: EPERM |
minix: bad tcsetpgrp: ENOTTY |
netbsd: good tcsetpgrp: EPERM |
omnios: good tcsetpgrp: EPERM |
openbsd: bad tcsetpgrp: EINVAL |
solaris: good tcsetpgrp: EPERM |
sortix: bad exit: 0 |
§ tcsetpgrp-zombie | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: bad tcsetpgrp: ENOTTY |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: bad tcsetpgrp: EINVAL |
§ tiocsctty | aix: good no TIOCSCTTY |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good ioctl: TIOCSCTTY: ENOTTY |
openbsd: good exit: 0 |
solaris: good ioctl: TIOCSCTTY: ENOTTY |
sortix: good exit: 0 |
§ tiocsctty-if-needed | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: bad tcgetsid: errno == 0 |
§ tiocsctty-is-needed | aix: good no |
dragonfly: good yes |
freebsd: good yes |
haiku: good no |
hurd: good yes |
linux: good no |
macos: good no |
minix: good no |
netbsd: good yes |
omnios: good no |
openbsd: good yes |
solaris: good no |
sortix: bad tcgetsid: errno == 0 |
§ tiocsctty-o-noctty | aix: good no TIOCSCTTY |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
signal
This suite tests signal system calls.
aix AIX 3 00F9C1964C00 |
dragonfly DragonFly 6.4-RELEASE x86_64 |
freebsd FreeBSD 14.1-RELEASE amd64 |
haiku Haiku 1 x86_64 |
hurd GNU 0.9 i686-AT386 |
linux Linux 6.12.32-amd64 x86_64 |
macos Darwin 21.6.0 arm64 |
minix Minix 3.4.0 i386 |
netbsd NetBSD 10.0 amd64 |
omnios SunOS 5.11 i86pc |
openbsd OpenBSD 7.6 amd64 |
solaris SunOS 5.11 i86pc |
sortix Sortix 1.1.0-dev x86_64 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
§ block-chld-default-rehandle-unblock | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: bad SIGCHLD |
linux: good exit: 0 |
macos: good exit: 0 |
minix: bad SIGCHLD |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ block-chld-default-unblock | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ block-chld-unblock | aix: good SIGCHLD |
dragonfly: good SIGCHLD |
freebsd: good SIGCHLD |
haiku: good SIGCHLD |
hurd: good SIGCHLD |
linux: good SIGCHLD |
macos: good SIGCHLD |
minix: good SIGCHLD |
netbsd: good SIGCHLD |
omnios: good SIGCHLD |
openbsd: good SIGCHLD |
solaris: good SIGCHLD |
sortix: good SIGCHLD |
§ block-ignore-raise-ignore-unignore-unblock | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: bad SIGUSR1 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ block-ignore-raise-unblock | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ block-ignore-raise-unignore-unblock | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good SIGUSR1 |
hurd: good SIGUSR1 |
linux: good SIGUSR1 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good SIGUSR1 |
openbsd: good exit: 0 |
solaris: good SIGUSR1 |
sortix: good exit: 0 |
§ block-raise | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ block-raise-handle-unblock | aix: good SIGUSR1 |
dragonfly: good SIGUSR1 |
freebsd: good SIGUSR1 |
haiku: good SIGUSR1 |
hurd: good SIGUSR1 |
linux: good SIGUSR1 |
macos: good SIGUSR1 |
minix: good SIGUSR1 |
netbsd: good SIGUSR1 |
omnios: good SIGUSR1 |
openbsd: good SIGUSR1 |
solaris: good SIGUSR1 |
sortix: good SIGUSR1 |
§ block-raise-ignore-unignore-unblock | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: bad SIGUSR1 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ block-raise-unblock | aix: good SIGUSR1 |
dragonfly: good SIGUSR1 |
freebsd: good SIGUSR1 |
haiku: good SIGUSR1 |
hurd: good SIGUSR1 |
linux: good SIGUSR1 |
macos: good SIGUSR1 |
minix: good SIGUSR1 |
netbsd: good SIGUSR1 |
omnios: good SIGUSR1 |
openbsd: good SIGUSR1 |
solaris: good SIGUSR1 |
sortix: good SIGUSR1 |
§ default-chld-exec | aix: good SIG_DFL |
dragonfly: good SIG_DFL |
freebsd: good SIG_DFL |
haiku: good SIG_DFL |
hurd: good SIG_DFL |
linux: good SIG_DFL |
macos: good SIG_DFL |
minix: good SIG_DFL |
netbsd: good SIG_DFL |
omnios: good SIG_DFL |
openbsd: good SIG_DFL |
solaris: good SIG_DFL |
sortix: good SIG_DFL |
§ default-usr1-exec | aix: good SIG_DFL |
dragonfly: good SIG_DFL |
freebsd: good SIG_DFL |
haiku: good SIG_DFL |
hurd: good SIG_DFL |
linux: good SIG_DFL |
macos: good SIG_DFL |
minix: good SIG_DFL |
netbsd: good SIG_DFL |
omnios: good SIG_DFL |
openbsd: good SIG_DFL |
solaris: good SIG_DFL |
sortix: good SIG_DFL |
§ handle-chld-exec | aix: good SIG_DFL |
dragonfly: good SIG_DFL |
freebsd: good SIG_DFL |
haiku: good SIG_DFL |
hurd: good SIG_DFL |
linux: good SIG_DFL |
macos: good SIG_DFL |
minix: good SIG_DFL |
netbsd: good SIG_DFL |
omnios: good SIG_DFL |
openbsd: good SIG_DFL |
solaris: good SIG_DFL |
sortix: good SIG_DFL |
§ handle-usr1-exec | aix: good SIG_DFL |
dragonfly: good SIG_DFL |
freebsd: good SIG_DFL |
haiku: good SIG_DFL |
hurd: good SIG_DFL |
linux: good SIG_DFL |
macos: good SIG_DFL |
minix: good SIG_DFL |
netbsd: good SIG_DFL |
omnios: good SIG_DFL |
openbsd: good SIG_DFL |
solaris: good SIG_DFL |
sortix: good SIG_DFL |
§ ignore-block-raise | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ ignore-block-raise-unignore-unblock | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good SIGUSR1 |
hurd: good SIGUSR1 |
linux: good SIGUSR1 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good SIGUSR1 |
openbsd: good exit: 0 |
solaris: good SIGUSR1 |
sortix: good exit: 0 |
§ ignore-chld-exec | aix: good SIG_IGN |
dragonfly: good SIG_DFL |
freebsd: good SIG_DFL |
haiku: good SIG_IGN |
hurd: good SIG_IGN |
linux: good SIG_IGN |
macos: good SIG_IGN |
minix: good SIG_IGN |
netbsd: good SIG_DFL |
omnios: good SIG_DFL |
openbsd: good SIG_DFL |
solaris: good SIG_DFL |
sortix: good SIG_IGN |
§ ignore-raise | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ ignore-raise-unignore | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ ignore-usr1-exec | aix: good SIG_IGN |
dragonfly: good SIG_IGN |
freebsd: good SIG_IGN |
haiku: good SIG_IGN |
hurd: good SIG_IGN |
linux: good SIG_IGN |
macos: good SIG_IGN |
minix: good SIG_IGN |
netbsd: good SIG_IGN |
omnios: good SIG_IGN |
openbsd: good SIG_IGN |
solaris: good SIG_IGN |
sortix: good SIG_IGN |
§ ppoll-block-close | aix: bad ppoll: ENOSYS |
dragonfly: good 0 | POLLNVAL |
freebsd: good 0 | POLLNVAL |
haiku: good 0 | POLLNVAL |
hurd: bad Alarm clock exit: 142 |
linux: good 0 | POLLNVAL |
macos: bad ppoll: ENOSYS |
minix: bad ppoll: ENOSYS |
netbsd: good 0 | POLLNVAL |
omnios: good 0 | POLLNVAL |
openbsd: good 0 | POLLNVAL |
solaris: good 0 | POLLNVAL |
sortix: good 0 | POLLNVAL |
§ ppoll-block-close-raise | aix: bad ppoll: ENOSYS |
dragonfly: bad 0 | POLLNVAL |
freebsd: good SIGUSR1 0 | POLLNVAL |
haiku: good SIGUSR1 0 | POLLNVAL |
hurd: good SIGUSR1 ppoll: EINTR |
linux: bad 0 | POLLNVAL |
macos: bad ppoll: ENOSYS |
minix: bad ppoll: ENOSYS |
netbsd: good SIGUSR1 0 | POLLNVAL |
omnios: good SIGUSR1 ppoll: EINTR |
openbsd: good SIGUSR1 0 | POLLNVAL |
solaris: good SIGUSR1 ppoll: EINTR |
sortix: good SIGUSR1 0 | POLLNVAL |
§ ppoll-block-raise | aix: bad ppoll: ENOSYS |
dragonfly: good SIGUSR1 ppoll: EINTR |
freebsd: good SIGUSR1 ppoll: EINTR |
haiku: good SIGUSR1 ppoll: EINTR |
hurd: good SIGUSR1 ppoll: EINTR |
linux: good SIGUSR1 ppoll: EINTR |
macos: bad ppoll: ENOSYS |
minix: bad ppoll: ENOSYS |
netbsd: good SIGUSR1 ppoll: EINTR |
omnios: good SIGUSR1 ppoll: EINTR |
openbsd: good SIGUSR1 ppoll: EINTR |
solaris: good SIGUSR1 ppoll: EINTR |
sortix: good SIGUSR1 ppoll: EINTR |
§ ppoll-block-raise-write | aix: bad ppoll: ENOSYS |
dragonfly: bad 0 | POLLIN |
freebsd: good SIGUSR1 0 | POLLIN |
haiku: good SIGUSR1 0 | POLLIN |
hurd: good SIGUSR1 0 | POLLIN |
linux: bad 0 | POLLIN |
macos: bad ppoll: ENOSYS |
minix: bad ppoll: ENOSYS |
netbsd: good SIGUSR1 0 | POLLIN |
omnios: good SIGUSR1 ppoll: EINTR |
openbsd: good SIGUSR1 0 | POLLIN |
solaris: good SIGUSR1 ppoll: EINTR |
sortix: good SIGUSR1 0 | POLLIN |
§ ppoll-block-sleep-raise | aix: bad ppoll: ENOSYS |
dragonfly: good SIGUSR1 ppoll: EINTR |
freebsd: good SIGUSR1 ppoll: EINTR |
haiku: good SIGUSR1 ppoll: EINTR |
hurd: good SIGUSR1 ppoll: EINTR |
linux: good SIGUSR1 ppoll: EINTR |
macos: bad ppoll: ENOSYS |
minix: bad ppoll: ENOSYS |
netbsd: good SIGUSR1 ppoll: EINTR |
omnios: good SIGUSR1 ppoll: EINTR |
openbsd: good SIGUSR1 ppoll: EINTR |
solaris: good SIGUSR1 ppoll: EINTR |
sortix: good SIGUSR1 ppoll: EINTR |
§ ppoll-block-sleep-raise-write | aix: bad ppoll: ENOSYS |
dragonfly: good SIGUSR1 ppoll: EINTR |
freebsd: good SIGUSR1 ppoll: EINTR |
haiku: good SIGUSR1 ppoll: EINTR |
hurd: good SIGUSR1 0 | POLLIN |
linux: good SIGUSR1 ppoll: EINTR |
macos: bad ppoll: ENOSYS |
minix: bad ppoll: ENOSYS |
netbsd: good SIGUSR1 ppoll: EINTR |
omnios: good SIGUSR1 ppoll: EINTR |
openbsd: good SIGUSR1 ppoll: EINTR |
solaris: good SIGUSR1 ppoll: EINTR |
sortix: good SIGUSR1 0 | POLLIN |
§ ppoll-block-sleep-write-raise | aix: bad ppoll: ENOSYS |
dragonfly: bad 0 | POLLIN |
freebsd: good SIGUSR1 0 | POLLIN |
haiku: good SIGUSR1 ppoll: EINTR |
hurd: good SIGUSR1 0 | POLLIN |
linux: good SIGUSR1 ppoll: EINTR |
macos: bad ppoll: ENOSYS |
minix: bad ppoll: ENOSYS |
netbsd: good SIGUSR1 0 | POLLIN |
omnios: good SIGUSR1 ppoll: EINTR |
openbsd: good SIGUSR1 ppoll: EINTR |
solaris: good SIGUSR1 ppoll: EINTR |
sortix: good SIGUSR1 0 | POLLIN |
§ raise | aix: good SIGUSR1 |
dragonfly: good SIGUSR1 |
freebsd: good SIGUSR1 |
haiku: good SIGUSR1 |
hurd: good SIGUSR1 |
linux: good SIGUSR1 |
macos: good SIGUSR1 |
minix: good SIGUSR1 |
netbsd: good SIGUSR1 |
omnios: good SIGUSR1 |
openbsd: good SIGUSR1 |
solaris: good SIGUSR1 |
sortix: good SIGUSR1 |
§ sigaction-exec-flags | aix: unknown 0 | SA_RESETHAND | SA_RESTART | SA_NODEFER |
dragonfly: unknown 0 | SA_RESETHAND | SA_RESTART | SA_SIGINFO | SA_NODEFER |
freebsd: unknown 0 | SA_RESETHAND | SA_RESTART | SA_NODEFER |
haiku: unknown 0 |
hurd: unknown 0 | SA_RESTART |
linux: unknown 0 |
macos: unknown 0 | SA_RESTART | SA_SIGINFO | SA_NODEFER |
minix: unknown 0 | SA_RESETHAND | SA_RESTART | SA_NODEFER |
netbsd: unknown 0 | SA_RESTART |
omnios: unknown 0 |
openbsd: unknown 0 | SA_RESETHAND | SA_RESTART | SA_SIGINFO | SA_NODEFER |
solaris: unknown 0 |
sortix: unknown 0 |
§ sigaltstack-exec | aix: good ss_sp==NULL SS_DISABLE |
dragonfly: bad ss_sp==NULL SA_ONSTACK SS_DISABLE |
freebsd: bad ss_sp==NULL SA_ONSTACK SS_DISABLE |
haiku: good ss_sp==NULL SS_DISABLE |
hurd: good ss_sp==NULL SS_DISABLE |
linux: good ss_sp==NULL SS_DISABLE |
macos: good ss_sp==NULL SS_DISABLE |
minix: bad sigaltstack |
netbsd: good ss_sp==NULL SS_DISABLE |
omnios: good ss_sp==NULL SS_DISABLE |
openbsd: bad ss_sp==NULL SA_ONSTACK SS_DISABLE |
solaris: good ss_sp==NULL SS_DISABLE |
sortix: good ss_sp==NULL SS_DISABLE |
§ sigaltstack-raise | aix: good ss_sp!=NULL SS_ONSTACK |
dragonfly: good ss_sp!=NULL SS_ONSTACK |
freebsd: good ss_sp!=NULL SS_ONSTACK |
haiku: good ss_sp!=NULL SS_ONSTACK |
hurd: good ss_sp!=NULL SS_ONSTACK |
linux: good ss_sp!=NULL SS_ONSTACK |
macos: good ss_sp!=NULL SS_ONSTACK |
minix: bad sigaltstack |
netbsd: good ss_sp!=NULL SS_ONSTACK |
omnios: good ss_sp!=NULL SS_ONSTACK |
openbsd: good ss_sp!=NULL SS_ONSTACK |
solaris: good ss_sp!=NULL SS_ONSTACK |
sortix: good ss_sp!=NULL SS_ONSTACK |
§ sigaltstack-raise-exec | aix: good ss_sp==NULL SS_DISABLE |
dragonfly: bad ss_sp==NULL SA_ONSTACK SS_DISABLE |
freebsd: bad ss_sp==NULL SA_ONSTACK SS_DISABLE |
haiku: good ss_sp==NULL SS_DISABLE |
hurd: good ss_sp==NULL SS_DISABLE |
linux: good ss_sp==NULL SS_DISABLE |
macos: good ss_sp==NULL SS_DISABLE |
minix: bad sigaltstack |
netbsd: good ss_sp==NULL SS_DISABLE |
omnios: good ss_sp==NULL SS_DISABLE |
openbsd: bad ss_sp==NULL SA_ONSTACK SS_DISABLE |
solaris: good ss_sp==NULL SS_DISABLE |
sortix: good ss_sp==NULL SS_DISABLE |
udp
This suite tests the UDP stack.
Open questions:
- What should happen if you bind to the broadcast address 255.255.255.255? It is an explicitly forbidden source address. Should it fail with EADDRNOTAVAIL, or some other error, or succeed (and in which case, what does it mean?). (bind-broadcast-0-getpeername, bind-broadcast-0-getsockname)
- What should happen if you connect to the broadcast address 255.255.255.255? Must SO_BROADCAST be set first? (connect-broadcast-getpeername-so-broadcast, connect-broadcast-getpeername, connect-broadcast-getsockname-so-broadcast, connect-broadcast-getsockname)
- What should happen if you bind to the first address in the lan subnet? (bind-lan-subnet-first)
- What should happen if you connect to the any address 0.0.0.0? Is it the same as connecting to the loopback address? (connect-any-getpeername and connect-any-getsockname)
- What should happen if you connect to port 0? Does connecting to port 0 unconnect the socket on DragonFly and Linux? (connect-any-0-getpeername, connect-any-0-getsockname, connect-loopback-0-getpeername, connect-loopback-0-getsockname)
- What should happen if you send to the any address 0.0.0.0? (sendto-any-so-error)
- What should happen if you send to port 0? (sendto-loopback-0-so-error)
- Should it be possible to shutdown a socket without having connected it?
- Should reading on a socket shutdown for read return 0 or should it fail with EWOULDBLOCK?
- Should writing to socket shutdown for write send SIGPIPE in addition to failing with ESPIPE?
- After shutdown for read, should data already received be avalilable for read? Some systems deliver already received asyncronous errors after shutdown, yet don't deliver already received data after shutdown.
- After shutdown for read, should data be received? Should POLLIN be set if data is received yet recv of it would return 0.
- Should POLLOUT be set after shutdown for write? Should POLLHUP be set?
- Should POLLIN be set after shutdown for write if there's already received data?
- If an asynchronous socket error is pending, which of POLLIN, POLLOUT, POLLERR should be set?
- Should asynchronous socket errors be delivered on connect?
- What should happen if you connect to an address on the loopback interface and then reconnect to the public internet? What happens to the locally bound address? Is the socket rebound? Or does the connect fail because there's no longer a valid route from the loopback interface to the public internet.
- If a socket is connected, can you supply a destination address to sendto? What if the destination address is the current remote address?
- What is the local socket name after connect to loopback and then unconnect?
- How does unconnecting work? Can you pass a
sa_family_t
set toAF_UNSPEC
to connect, or do you need to wrap it in astruct sockaddr
, or astruct sockaddr_in
? - What happens if you bind after unconnect?
- Does unconnect on a freshly made socket bind the socket? (unconnect-getsockname)
- Can you unconnect a socket that hasn't been connected yet? (unconnect-getsockname)
- If a socket is shutdown for read, should recv return any data received after the shutdown.
- If you receive on freshly made socket, what address should getsockname return?
- Can you bind to the any address in the loopback network? (bind-loopback-other)
- Can you bind to the broadcast address in the loopback network? (bind-loopback-broadcast)
- Does SO_REUSEADDR need to set on both sockets or just the second? (bind-conflict-any-loopback-so-reuseaddr, bind-conflict-any-loopback-so-reuseaddr-both)
- Does SO_REUSEADDR allow the same address and port to be bound twice? (bind-conflict-loopback-loopback-so-reuseaddr, bind-conflict-loopback-loopback-so-reuseaddr-both)
Running this suite has the following side effects:
- Datagrams containing just the byte 'x' are sent to 8.8.8.8:53 (Google DNS)
because I needed a legitimate address that would not send back any ICMP
connection refused address. Please configure this address in udp/udp.h using
BLACKHOLE_HOST
andBLACKHOLE_PORT
to a site of your choice. - Datagrams containing just the byte 'x' are sent to port 65534 and port 65535 on the loopback address 127.0.0.1.
- This suite requires port 65535 on the loopback address 127.0.0.1 to be unused.
- UDP sockets will be bound to the loopback interface and on the interface leading to the public internet.
aix AIX 3 00F9C1964C00 |
dragonfly DragonFly 6.4-RELEASE x86_64 |
freebsd FreeBSD 14.1-RELEASE amd64 |
haiku Haiku 1 x86_64 |
hurd GNU 0.9 i686-AT386 |
linux Linux 6.12.32-amd64 x86_64 |
macos Darwin 21.6.0 arm64 |
minix Minix 3.4.0 i386 |
netbsd NetBSD 10.0 amd64 |
omnios SunOS 5.11 i86pc |
openbsd OpenBSD 7.6 amd64 |
solaris SunOS 5.11 i86pc |
sortix Sortix 1.1.0-dev x86_64 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
§ accept | aix: good accept: ENOTSUP |
dragonfly: bad accept: EINVAL |
freebsd: bad accept: EINVAL |
haiku: bad accept: EINVAL |
hurd: good accept: ENOTSUP |
linux: good accept: ENOTSUP |
macos: good accept: ENOTSUP |
minix: good accept: ENOTSUP |
netbsd: good accept: ENOTSUP |
omnios: good accept: ENOTSUP |
openbsd: bad accept: EINVAL |
solaris: good accept: ENOTSUP |
sortix: good accept: ENOTSUP |
§ accept-nonblock | aix: good accept: ENOTSUP |
dragonfly: bad accept: EINVAL |
freebsd: bad accept: EINVAL |
haiku: bad accept: EINVAL |
hurd: good accept: ENOTSUP |
linux: good accept: ENOTSUP |
macos: good accept: ENOTSUP |
minix: good accept: ENOTSUP |
netbsd: good accept: ENOTSUP |
omnios: good accept: ENOTSUP |
openbsd: bad accept: EINVAL |
solaris: good accept: ENOTSUP |
sortix: good accept: ENOTSUP |
§ bind-any-0 | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ bind-any-0-getpeername | aix: good getsockname: ENOTCONN |
dragonfly: good getsockname: ENOTCONN |
freebsd: good getsockname: ENOTCONN |
haiku: good getsockname: ENOTCONN |
hurd: good getsockname: ENOTCONN |
linux: good getsockname: ENOTCONN |
macos: good getsockname: ENOTCONN |
minix: good getsockname: ENOTCONN |
netbsd: good getsockname: ENOTCONN |
omnios: good getsockname: ENOTCONN |
openbsd: good getsockname: ENOTCONN |
solaris: good getsockname: ENOTCONN |
sortix: good getsockname: ENOTCONN |
§ bind-any-0-getsockname | aix: good 0.0.0.0:non-zero |
dragonfly: good 0.0.0.0:non-zero |
freebsd: good 0.0.0.0:non-zero |
haiku: good 0.0.0.0:non-zero |
hurd: good 0.0.0.0:non-zero |
linux: good 0.0.0.0:non-zero |
macos: good 0.0.0.0:non-zero |
minix: good 0.0.0.0:non-zero |
netbsd: good 0.0.0.0:non-zero |
omnios: good 0.0.0.0:non-zero |
openbsd: good 0.0.0.0:non-zero |
solaris: good 0.0.0.0:non-zero |
sortix: good 0.0.0.0:non-zero |
§ bind-any-0-unbind | aix: good bind AF_UNSPEC: EINVAL |
dragonfly: good bind AF_UNSPEC: EINVAL |
freebsd: good bind AF_UNSPEC: EINVAL |
haiku: good bind AF_UNSPEC: EINVAL |
hurd: good bind AF_UNSPEC: EINVAL |
linux: good bind AF_UNSPEC: EINVAL |
macos: good bind AF_UNSPEC: EINVAL |
minix: good bind AF_UNSPEC: EINVAL |
netbsd: good bind AF_UNSPEC: EAFNOSUPPORT |
omnios: good bind AF_UNSPEC: EINVAL |
openbsd: good bind AF_UNSPEC: EINVAL |
solaris: good bind AF_UNSPEC: EAFNOSUPPORT |
sortix: good bind AF_UNSPEC: EINVAL |
§ bind-broadcast-0-getpeername | aix: unknown bind: EADDRNOTAVAIL |
dragonfly: unknown bind: EADDRNOTAVAIL |
freebsd: unknown bind: EADDRNOTAVAIL |
haiku: unknown bind: EADDRNOTAVAIL |
hurd: unknown getpeername: ENOTCONN |
linux: unknown getpeername: ENOTCONN |
macos: unknown bind: EADDRNOTAVAIL |
minix: unknown bind: EADDRNOTAVAIL |
netbsd: unknown bind: EADDRNOTAVAIL |
omnios: unknown getpeername: ENOTCONN |
openbsd: unknown getpeername: ENOTCONN |
solaris: unknown getpeername: ENOTCONN |
sortix: unknown getpeername: ENOTCONN |
§ bind-broadcast-0-getsockname | aix: unknown bind: EADDRNOTAVAIL |
dragonfly: unknown bind: EADDRNOTAVAIL |
freebsd: unknown bind: EADDRNOTAVAIL |
haiku: unknown bind: EADDRNOTAVAIL |
hurd: unknown 255.255.255.255:non-zero |
linux: unknown 255.255.255.255:non-zero |
macos: unknown bind: EADDRNOTAVAIL |
minix: unknown bind: EADDRNOTAVAIL |
netbsd: unknown bind: EADDRNOTAVAIL |
omnios: unknown 255.255.255.255:non-zero |
openbsd: unknown 255.255.255.255:non-zero |
solaris: unknown 255.255.255.255:non-zero |
sortix: unknown 255.255.255.255:non-zero |
§ bind-conflict-any-any | aix: good second bind: EADDRINUSE |
dragonfly: good second bind: EADDRINUSE |
freebsd: good second bind: EADDRINUSE |
haiku: good second bind: EADDRINUSE |
hurd: good second bind: EADDRINUSE |
linux: good second bind: EADDRINUSE |
macos: good second bind: EADDRINUSE |
minix: good second bind: EADDRINUSE |
netbsd: good second bind: EADDRINUSE |
omnios: good second bind: EADDRINUSE |
openbsd: good second bind: EADDRINUSE |
solaris: good second bind: EADDRINUSE |
sortix: good second bind: EADDRINUSE |
§ bind-conflict-any-any-so-reuseaddr | aix: unknown second bind: EADDRINUSE |
dragonfly: unknown second bind: EADDRINUSE |
freebsd: unknown second bind: EADDRINUSE |
haiku: unknown second bind: EADDRINUSE |
hurd: unknown second bind: EADDRINUSE |
linux: unknown second bind: EADDRINUSE |
macos: unknown second bind: EADDRINUSE |
minix: unknown second bind: EADDRINUSE |
netbsd: unknown second bind: EADDRINUSE |
omnios: unknown exit: 0 |
openbsd: unknown second bind: EADDRINUSE |
solaris: unknown exit: 0 |
sortix: unknown second bind: EADDRINUSE |
§ bind-conflict-any-any-so-reuseaddr-both | aix: unknown second bind: EADDRINUSE |
dragonfly: unknown second bind: EADDRINUSE |
freebsd: unknown second bind: EADDRINUSE |
haiku: unknown second bind: EADDRINUSE |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown second bind: EADDRINUSE |
minix: unknown exit: 0 |
netbsd: unknown second bind: EADDRINUSE |
omnios: unknown exit: 0 |
openbsd: unknown second bind: EADDRINUSE |
solaris: unknown exit: 0 |
sortix: unknown second bind: EADDRINUSE |
§ bind-conflict-any-broadcast | aix: unknown second bind: EADDRNOTAVAIL |
dragonfly: unknown second bind: EADDRNOTAVAIL |
freebsd: unknown second bind: EADDRNOTAVAIL |
haiku: unknown second bind: EADDRINUSE |
hurd: unknown second bind: EADDRINUSE |
linux: unknown second bind: EADDRINUSE |
macos: unknown second bind: EADDRNOTAVAIL |
minix: unknown second bind: EADDRNOTAVAIL |
netbsd: unknown second bind: EADDRNOTAVAIL |
omnios: unknown second bind: EADDRINUSE |
openbsd: unknown second bind: EADDRINUSE |
solaris: unknown second bind: EADDRINUSE |
sortix: unknown second bind: EADDRINUSE |
§ bind-conflict-any-broadcast-so-reuseaddr | aix: unknown second bind: EADDRNOTAVAIL |
dragonfly: unknown second bind: EADDRNOTAVAIL |
freebsd: unknown second bind: EADDRNOTAVAIL |
haiku: unknown second bind: EADDRINUSE |
hurd: unknown second bind: EADDRINUSE |
linux: unknown second bind: EADDRINUSE |
macos: unknown second bind: EADDRNOTAVAIL |
minix: unknown second bind: EADDRNOTAVAIL |
netbsd: unknown second bind: EADDRNOTAVAIL |
omnios: unknown exit: 0 |
openbsd: unknown exit: 0 |
solaris: unknown exit: 0 |
sortix: unknown second bind: EADDRINUSE |
§ bind-conflict-any-broadcast-so-reuseaddr-both | aix: unknown second bind: EADDRNOTAVAIL |
dragonfly: unknown second bind: EADDRNOTAVAIL |
freebsd: unknown second bind: EADDRNOTAVAIL |
haiku: unknown second bind: EADDRNOTAVAIL |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown second bind: EADDRNOTAVAIL |
minix: unknown second bind: EADDRNOTAVAIL |
netbsd: unknown second bind: EADDRNOTAVAIL |
omnios: unknown exit: 0 |
openbsd: unknown exit: 0 |
solaris: unknown exit: 0 |
sortix: unknown exit: 0 |
§ bind-conflict-any-loopback | aix: good second bind: EADDRINUSE |
dragonfly: good second bind: EADDRINUSE |
freebsd: good second bind: EADDRINUSE |
haiku: good second bind: EADDRINUSE |
hurd: good second bind: EADDRINUSE |
linux: good second bind: EADDRINUSE |
macos: good second bind: EADDRINUSE |
minix: bad exit: 0 |
netbsd: good second bind: EADDRINUSE |
omnios: good second bind: EADDRINUSE |
openbsd: good second bind: EADDRINUSE |
solaris: good second bind: EADDRINUSE |
sortix: good second bind: EADDRINUSE |
§ bind-conflict-any-loopback-so-reuseaddr | aix: unknown exit: 0 |
dragonfly: unknown exit: 0 |
freebsd: unknown exit: 0 |
haiku: unknown second bind: EADDRINUSE |
hurd: unknown second bind: EADDRINUSE |
linux: unknown second bind: EADDRINUSE |
macos: unknown exit: 0 |
minix: unknown exit: 0 |
netbsd: unknown exit: 0 |
omnios: unknown exit: 0 |
openbsd: unknown exit: 0 |
solaris: unknown exit: 0 |
sortix: unknown second bind: EADDRINUSE |
§ bind-conflict-any-loopback-so-reuseaddr-both | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ bind-conflict-broadcast-any | aix: unknown first bind: EADDRNOTAVAIL |
dragonfly: unknown first bind: EADDRNOTAVAIL |
freebsd: unknown first bind: EADDRNOTAVAIL |
haiku: unknown first bind: EADDRNOTAVAIL |
hurd: unknown second bind: EADDRINUSE |
linux: unknown second bind: EADDRINUSE |
macos: unknown first bind: EADDRNOTAVAIL |
minix: unknown first bind: EADDRNOTAVAIL |
netbsd: unknown first bind: EADDRNOTAVAIL |
omnios: unknown second bind: EADDRINUSE |
openbsd: unknown second bind: EADDRINUSE |
solaris: unknown second bind: EADDRINUSE |
sortix: unknown second bind: EADDRINUSE |
§ bind-conflict-broadcast-any-so-reuseaddr | aix: unknown first bind: EADDRNOTAVAIL |
dragonfly: unknown first bind: EADDRNOTAVAIL |
freebsd: unknown first bind: EADDRNOTAVAIL |
haiku: unknown first bind: EADDRNOTAVAIL |
hurd: unknown second bind: EADDRINUSE |
linux: unknown second bind: EADDRINUSE |
macos: unknown first bind: EADDRNOTAVAIL |
minix: unknown first bind: EADDRNOTAVAIL |
netbsd: unknown first bind: EADDRNOTAVAIL |
omnios: unknown exit: 0 |
openbsd: unknown exit: 0 |
solaris: unknown exit: 0 |
sortix: unknown second bind: EADDRINUSE |
§ bind-conflict-broadcast-any-so-reuseaddr-both | aix: unknown first bind: EADDRNOTAVAIL |
dragonfly: unknown first bind: EADDRNOTAVAIL |
freebsd: unknown first bind: EADDRNOTAVAIL |
haiku: unknown first bind: EADDRNOTAVAIL |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown first bind: EADDRNOTAVAIL |
minix: unknown first bind: EADDRNOTAVAIL |
netbsd: unknown first bind: EADDRNOTAVAIL |
omnios: unknown exit: 0 |
openbsd: unknown exit: 0 |
solaris: unknown exit: 0 |
sortix: unknown exit: 0 |
§ bind-conflict-broadcast-broadcast | aix: unknown first bind: EADDRNOTAVAIL |
dragonfly: unknown first bind: EADDRNOTAVAIL |
freebsd: unknown first bind: EADDRNOTAVAIL |
haiku: unknown first bind: EADDRNOTAVAIL |
hurd: unknown second bind: EADDRINUSE |
linux: unknown second bind: EADDRINUSE |
macos: unknown first bind: EADDRNOTAVAIL |
minix: unknown first bind: EADDRNOTAVAIL |
netbsd: unknown first bind: EADDRNOTAVAIL |
omnios: unknown second bind: EADDRINUSE |
openbsd: unknown second bind: EADDRINUSE |
solaris: unknown second bind: EADDRINUSE |
sortix: unknown second bind: EADDRINUSE |
§ bind-conflict-broadcast-broadcast-so-reuseaddr | aix: unknown first bind: EADDRNOTAVAIL |
dragonfly: unknown first bind: EADDRNOTAVAIL |
freebsd: unknown first bind: EADDRNOTAVAIL |
haiku: unknown first bind: EADDRNOTAVAIL |
hurd: unknown second bind: EADDRINUSE |
linux: unknown second bind: EADDRINUSE |
macos: unknown first bind: EADDRNOTAVAIL |
minix: unknown first bind: EADDRNOTAVAIL |
netbsd: unknown first bind: EADDRNOTAVAIL |
omnios: unknown exit: 0 |
openbsd: unknown second bind: EADDRINUSE |
solaris: unknown exit: 0 |
sortix: unknown second bind: EADDRINUSE |
§ bind-conflict-broadcast-broadcast-so-reuseaddr-both | aix: unknown first bind: EADDRNOTAVAIL |
dragonfly: unknown first bind: EADDRNOTAVAIL |
freebsd: unknown first bind: EADDRNOTAVAIL |
haiku: unknown first bind: EADDRNOTAVAIL |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown first bind: EADDRNOTAVAIL |
minix: unknown first bind: EADDRNOTAVAIL |
netbsd: unknown first bind: EADDRNOTAVAIL |
omnios: unknown exit: 0 |
openbsd: unknown second bind: EADDRINUSE |
solaris: unknown exit: 0 |
sortix: unknown second bind: EADDRINUSE |
§ bind-conflict-broadcast-loopback | aix: unknown first bind: EADDRNOTAVAIL |
dragonfly: unknown first bind: EADDRNOTAVAIL |
freebsd: unknown first bind: EADDRNOTAVAIL |
haiku: unknown first bind: EADDRNOTAVAIL |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown first bind: EADDRNOTAVAIL |
minix: unknown first bind: EADDRNOTAVAIL |
netbsd: unknown first bind: EADDRNOTAVAIL |
omnios: unknown exit: 0 |
openbsd: unknown exit: 0 |
solaris: unknown exit: 0 |
sortix: unknown exit: 0 |
§ bind-conflict-broadcast-loopback-so-reuseaddr | aix: unknown first bind: EADDRNOTAVAIL |
dragonfly: unknown first bind: EADDRNOTAVAIL |
freebsd: unknown first bind: EADDRNOTAVAIL |
haiku: unknown first bind: EADDRNOTAVAIL |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown first bind: EADDRNOTAVAIL |
minix: unknown first bind: EADDRNOTAVAIL |
netbsd: unknown first bind: EADDRNOTAVAIL |
omnios: unknown exit: 0 |
openbsd: unknown exit: 0 |
solaris: unknown exit: 0 |
sortix: unknown exit: 0 |
§ bind-conflict-broadcast-loopback-so-reuseaddr-both | aix: unknown first bind: EADDRNOTAVAIL |
dragonfly: unknown first bind: EADDRNOTAVAIL |
freebsd: unknown first bind: EADDRNOTAVAIL |
haiku: unknown first bind: EADDRNOTAVAIL |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown first bind: EADDRNOTAVAIL |
minix: unknown first bind: EADDRNOTAVAIL |
netbsd: unknown first bind: EADDRNOTAVAIL |
omnios: unknown exit: 0 |
openbsd: unknown exit: 0 |
solaris: unknown exit: 0 |
sortix: unknown exit: 0 |
§ bind-conflict-loopback-any | aix: good second bind: EADDRINUSE |
dragonfly: good second bind: EADDRINUSE |
freebsd: good second bind: EADDRINUSE |
haiku: good second bind: EADDRINUSE |
hurd: good second bind: EADDRINUSE |
linux: good second bind: EADDRINUSE |
macos: good second bind: EADDRINUSE |
minix: bad exit: 0 |
netbsd: good second bind: EADDRINUSE |
omnios: good second bind: EADDRINUSE |
openbsd: good second bind: EADDRINUSE |
solaris: good second bind: EADDRINUSE |
sortix: good second bind: EADDRINUSE |
§ bind-conflict-loopback-any-so-reuseaddr | aix: unknown exit: 0 |
dragonfly: unknown exit: 0 |
freebsd: unknown exit: 0 |
haiku: unknown second bind: EADDRINUSE |
hurd: unknown second bind: EADDRINUSE |
linux: unknown second bind: EADDRINUSE |
macos: unknown exit: 0 |
minix: unknown exit: 0 |
netbsd: unknown exit: 0 |
omnios: unknown exit: 0 |
openbsd: unknown exit: 0 |
solaris: unknown exit: 0 |
sortix: unknown second bind: EADDRINUSE |
§ bind-conflict-loopback-any-so-reuseaddr-both | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ bind-conflict-loopback-broadcast | aix: unknown second bind: EADDRNOTAVAIL |
dragonfly: unknown second bind: EADDRNOTAVAIL |
freebsd: unknown second bind: EADDRNOTAVAIL |
haiku: bad second bind: EADDRINUSE |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown second bind: EADDRNOTAVAIL |
minix: unknown second bind: EADDRNOTAVAIL |
netbsd: unknown second bind: EADDRNOTAVAIL |
omnios: unknown exit: 0 |
openbsd: unknown exit: 0 |
solaris: unknown exit: 0 |
sortix: unknown exit: 0 |
§ bind-conflict-loopback-broadcast-so-reuseaddr | aix: unknown second bind: EADDRNOTAVAIL |
dragonfly: unknown second bind: EADDRNOTAVAIL |
freebsd: unknown second bind: EADDRNOTAVAIL |
haiku: bad second bind: EADDRINUSE |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown second bind: EADDRNOTAVAIL |
minix: unknown second bind: EADDRNOTAVAIL |
netbsd: unknown second bind: EADDRNOTAVAIL |
omnios: unknown exit: 0 |
openbsd: unknown exit: 0 |
solaris: unknown exit: 0 |
sortix: unknown exit: 0 |
§ bind-conflict-loopback-broadcast-so-reuseaddr-both | aix: unknown second bind: EADDRNOTAVAIL |
dragonfly: unknown second bind: EADDRNOTAVAIL |
freebsd: unknown second bind: EADDRNOTAVAIL |
haiku: unknown second bind: EADDRNOTAVAIL |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown second bind: EADDRNOTAVAIL |
minix: unknown second bind: EADDRNOTAVAIL |
netbsd: unknown second bind: EADDRNOTAVAIL |
omnios: unknown exit: 0 |
openbsd: unknown exit: 0 |
solaris: unknown exit: 0 |
sortix: unknown exit: 0 |
§ bind-conflict-loopback-loopback | aix: good second bind: EADDRINUSE |
dragonfly: good second bind: EADDRINUSE |
freebsd: good second bind: EADDRINUSE |
haiku: good second bind: EADDRINUSE |
hurd: good second bind: EADDRINUSE |
linux: good second bind: EADDRINUSE |
macos: good second bind: EADDRINUSE |
minix: good second bind: EADDRINUSE |
netbsd: good second bind: EADDRINUSE |
omnios: good second bind: EADDRINUSE |
openbsd: good second bind: EADDRINUSE |
solaris: good second bind: EADDRINUSE |
sortix: good second bind: EADDRINUSE |
§ bind-conflict-loopback-loopback-so-reuseaddr | aix: unknown second bind: EADDRINUSE |
dragonfly: unknown second bind: EADDRINUSE |
freebsd: unknown second bind: EADDRINUSE |
haiku: unknown second bind: EADDRINUSE |
hurd: unknown second bind: EADDRINUSE |
linux: unknown second bind: EADDRINUSE |
macos: unknown second bind: EADDRINUSE |
minix: unknown second bind: EADDRINUSE |
netbsd: unknown second bind: EADDRINUSE |
omnios: unknown exit: 0 |
openbsd: unknown second bind: EADDRINUSE |
solaris: unknown exit: 0 |
sortix: unknown second bind: EADDRINUSE |
§ bind-conflict-loopback-loopback-so-reuseaddr-both | aix: unknown second bind: EADDRINUSE |
dragonfly: unknown second bind: EADDRINUSE |
freebsd: unknown second bind: EADDRINUSE |
haiku: unknown second bind: EADDRINUSE |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown second bind: EADDRINUSE |
minix: unknown exit: 0 |
netbsd: unknown second bind: EADDRINUSE |
omnios: unknown exit: 0 |
openbsd: unknown second bind: EADDRINUSE |
solaris: unknown exit: 0 |
sortix: unknown second bind: EADDRINUSE |
§ bind-connect-self | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ bind-connect-self-send | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ bind-connect-self-send-poll | aix: good 0 | POLLIN | POLLOUT |
dragonfly: good 0 | POLLIN | POLLOUT |
freebsd: good 0 | POLLIN | POLLOUT |
haiku: good 0 | POLLIN | POLLOUT |
hurd: good 0 | POLLIN | POLLOUT |
linux: good 0 | POLLIN | POLLOUT |
macos: good 0 | POLLIN | POLLOUT |
minix: good 0 | POLLIN | POLLOUT |
netbsd: good 0 | POLLIN | POLLOUT |
omnios: good 0 | POLLIN | POLLOUT |
openbsd: good 0 | POLLIN | POLLOUT |
solaris: good 0 | POLLIN | POLLOUT |
sortix: good 0 | POLLIN | POLLOUT |
§ bind-connect-self-send-recv | aix: good x |
dragonfly: good x |
freebsd: good x |
haiku: good x |
hurd: good x |
linux: good x |
macos: good x |
minix: good x |
netbsd: good x |
omnios: good x |
openbsd: good x |
solaris: good x |
sortix: good x |
§ bind-connect-self-send-shutdown-r-poll | aix: unknown 0 | POLLIN | POLLOUT |
dragonfly: unknown 0 | POLLIN | POLLOUT |
freebsd: unknown 0 | POLLIN | POLLOUT |
haiku: bad shutdown: ENOTSUP |
hurd: unknown 0 | POLLIN | POLLOUT |
linux: unknown 0 | POLLIN | POLLOUT |
macos: unknown 0 | POLLIN | POLLHUP |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
omnios: unknown 0 | POLLIN | POLLOUT |
openbsd: unknown 0 | POLLIN | POLLOUT |
solaris: unknown 0 | POLLIN | POLLOUT |
sortix: unknown 0 | POLLIN | POLLOUT |
§ bind-connect-self-send-shutdown-r-recv | aix: unknown EOF |
dragonfly: unknown EOF |
freebsd: unknown EOF |
haiku: bad shutdown: ENOTSUP |
hurd: unknown x |
linux: unknown x |
macos: unknown EOF |
minix: unknown EOF |
netbsd: unknown EOF |
omnios: unknown EOF |
openbsd: unknown EOF |
solaris: unknown x |
sortix: unknown EOF |
§ bind-connect-self-send-shutdown-r-recv-recv | aix: unknown first recv: EOF |
dragonfly: unknown first recv: EOF |
freebsd: unknown first recv: EOF |
haiku: bad shutdown: ENOTSUP |
hurd: bad first recv: x second recv: EINVAL |
linux: unknown first recv: x second recv: EWOULDBLOCK |
macos: unknown first recv: EOF |
minix: unknown first recv: EOF |
netbsd: unknown first recv: EOF |
omnios: unknown first recv: EOF |
openbsd: unknown first recv: EOF |
solaris: unknown first recv: x second recv: EWOULDBLOCK |
sortix: unknown first recv: EOF |
§ bind-connect-self-send-shutdown-rw-poll | aix: unknown 0 | POLLIN | POLLOUT |
dragonfly: unknown 0 | POLLIN | POLLHUP |
freebsd: unknown 0 | POLLIN | POLLHUP |
haiku: bad shutdown: ENOTSUP |
hurd: unknown 0 | POLLIN |
linux: bad 0 | POLLIN | POLLOUT | POLLHUP |
macos: unknown 0 | POLLIN | POLLHUP |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
omnios: unknown 0 | POLLIN | POLLOUT |
openbsd: unknown 0 | POLLIN | POLLOUT |
solaris: unknown 0 | POLLIN | POLLOUT |
sortix: unknown 0 | POLLIN | POLLHUP |
§ bind-connect-self-send-shutdown-rw-recv | aix: unknown EOF |
dragonfly: unknown EOF |
freebsd: unknown EOF |
haiku: bad shutdown: ENOTSUP |
hurd: unknown x |
linux: unknown x |
macos: unknown EOF |
minix: unknown EOF |
netbsd: unknown EOF |
omnios: unknown EOF |
openbsd: unknown EOF |
solaris: unknown x |
sortix: unknown EOF |
§ bind-connect-self-send-shutdown-rw-recv-recv | aix: unknown first recv: EOF |
dragonfly: unknown first recv: EOF |
freebsd: unknown first recv: EOF |
haiku: bad shutdown: ENOTSUP |
hurd: bad first recv: x second recv: EINVAL |
linux: unknown first recv: x second recv: EWOULDBLOCK |
macos: unknown first recv: EOF |
minix: unknown first recv: EOF |
netbsd: unknown first recv: EOF |
omnios: unknown first recv: EOF |
openbsd: unknown first recv: EOF |
solaris: unknown first recv: x second recv: EWOULDBLOCK |
sortix: unknown first recv: EOF |
§ bind-connect-self-shutdown-r-send-poll | aix: unknown 0 | POLLIN | POLLOUT |
dragonfly: unknown 0 | POLLIN | POLLOUT |
freebsd: unknown 0 | POLLIN | POLLOUT |
haiku: bad shutdown: ENOTSUP |
hurd: unknown 0 | POLLIN | POLLOUT |
linux: unknown 0 | POLLIN | POLLOUT |
macos: unknown 0 | POLLIN | POLLHUP |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
omnios: unknown 0 | POLLIN | POLLOUT |
openbsd: unknown 0 | POLLIN | POLLOUT |
solaris: unknown 0 | POLLIN | POLLOUT |
sortix: unknown 0 | POLLIN | POLLOUT |
§ bind-connect-self-shutdown-r-send-recv | aix: unknown EOF |
dragonfly: unknown EOF |
freebsd: unknown EOF |
haiku: bad shutdown: ENOTSUP |
hurd: bad x |
linux: bad x |
macos: unknown EOF |
minix: unknown EOF |
netbsd: unknown EOF |
omnios: unknown EOF |
openbsd: unknown EOF |
solaris: bad x |
sortix: unknown EOF |
§ bind-lan-subnet-broadcast | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: bad bind: EADDRNOTAVAIL |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ bind-lan-subnet-first | aix: unknown bind: EADDRNOTAVAIL |
dragonfly: unknown bind: EADDRNOTAVAIL |
freebsd: unknown bind: EADDRNOTAVAIL |
haiku: unknown bind: EADDRNOTAVAIL |
hurd: unknown exit: 0 |
linux: unknown bind: EADDRNOTAVAIL |
macos: unknown bind: EADDRNOTAVAIL |
minix: unknown bind: EADDRNOTAVAIL |
netbsd: unknown bind: EADDRNOTAVAIL |
omnios: unknown exit: 0 |
openbsd: unknown bind: EADDRNOTAVAIL |
solaris: unknown exit: 0 |
sortix: unknown bind: EADDRNOTAVAIL |
§ bind-lan-subnet-wrong | aix: good bind: EADDRNOTAVAIL |
dragonfly: good bind: EADDRNOTAVAIL |
freebsd: good bind: EADDRNOTAVAIL |
haiku: good bind: EADDRNOTAVAIL |
hurd: good bind: EADDRNOTAVAIL |
linux: good bind: EADDRNOTAVAIL |
macos: good bind: EADDRNOTAVAIL |
minix: good bind: EADDRNOTAVAIL |
netbsd: good bind: EADDRNOTAVAIL |
omnios: good bind: EADDRNOTAVAIL |
openbsd: good bind: EADDRNOTAVAIL |
solaris: good bind: EADDRNOTAVAIL |
sortix: good bind: EADDRNOTAVAIL |
§ bind-loopback-0-getpeername | aix: good getsockname: ENOTCONN |
dragonfly: good getsockname: ENOTCONN |
freebsd: good getsockname: ENOTCONN |
haiku: good getsockname: ENOTCONN |
hurd: good getsockname: ENOTCONN |
linux: good getsockname: ENOTCONN |
macos: good getsockname: ENOTCONN |
minix: good getsockname: ENOTCONN |
netbsd: good getsockname: ENOTCONN |
omnios: good getsockname: ENOTCONN |
openbsd: good getsockname: ENOTCONN |
solaris: good getsockname: ENOTCONN |
sortix: good getsockname: ENOTCONN |
§ bind-loopback-0-getsockname | aix: good 127.0.0.1:non-zero |
dragonfly: good 127.0.0.1:non-zero |
freebsd: good 127.0.0.1:non-zero |
haiku: good 127.0.0.1:non-zero |
hurd: good 127.0.0.1:non-zero |
linux: good 127.0.0.1:non-zero |
macos: good 127.0.0.1:non-zero |
minix: good 127.0.0.1:non-zero |
netbsd: good 127.0.0.1:non-zero |
omnios: good 127.0.0.1:non-zero |
openbsd: good 127.0.0.1:non-zero |
solaris: good 127.0.0.1:non-zero |
sortix: good 127.0.0.1:non-zero |
§ bind-loopback-broadcast | aix: unknown exit: 0 |
dragonfly: unknown bind: EADDRNOTAVAIL |
freebsd: unknown bind: EADDRNOTAVAIL |
haiku: unknown bind: EADDRNOTAVAIL |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown bind: EADDRNOTAVAIL |
minix: unknown bind: EADDRNOTAVAIL |
netbsd: unknown bind: EADDRNOTAVAIL |
omnios: unknown bind: EADDRNOTAVAIL |
openbsd: unknown bind: EADDRNOTAVAIL |
solaris: unknown bind: EADDRNOTAVAIL |
sortix: unknown exit: 0 |
§ bind-loopback-other | aix: unknown bind: EADDRNOTAVAIL |
dragonfly: unknown bind: EADDRNOTAVAIL |
freebsd: unknown bind: EADDRNOTAVAIL |
haiku: unknown bind: EADDRNOTAVAIL |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown bind: EADDRNOTAVAIL |
minix: unknown bind: EADDRNOTAVAIL |
netbsd: unknown bind: EADDRNOTAVAIL |
omnios: unknown bind: EADDRNOTAVAIL |
openbsd: unknown bind: EADDRNOTAVAIL |
solaris: unknown bind: EADDRNOTAVAIL |
sortix: unknown bind: EADDRNOTAVAIL |
§ bind-rebind | aix: good second bind: EINVAL |
dragonfly: good second bind: EINVAL |
freebsd: good second bind: EINVAL |
haiku: good second bind: EINVAL |
hurd: good second bind: EINVAL |
linux: good second bind: EINVAL |
macos: good second bind: EINVAL |
minix: good second bind: EINVAL |
netbsd: good second bind: EINVAL |
omnios: good second bind: EINVAL |
openbsd: good second bind: EINVAL |
solaris: good second bind: EINVAL |
sortix: good second bind: EINVAL |
§ bind-sendto-self | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ bind-sendto-self-recv | aix: good x |
dragonfly: good x |
freebsd: good x |
haiku: good x |
hurd: good x |
linux: good x |
macos: good x |
minix: good x |
netbsd: good x |
omnios: good x |
openbsd: good x |
solaris: good x |
sortix: good x |
§ bind-socket-sendto-first-poll | aix: good 0 | POLLIN | POLLOUT |
dragonfly: good 0 | POLLIN | POLLOUT |
freebsd: good 0 | POLLIN | POLLOUT |
haiku: good 0 | POLLIN | POLLOUT |
hurd: good 0 | POLLIN | POLLOUT |
linux: good 0 | POLLIN | POLLOUT |
macos: good 0 | POLLIN | POLLOUT |
minix: good 0 | POLLIN | POLLOUT |
netbsd: good 0 | POLLIN | POLLOUT |
omnios: good 0 | POLLIN | POLLOUT |
openbsd: good 0 | POLLIN | POLLOUT |
solaris: good 0 | POLLIN | POLLOUT |
sortix: good 0 | POLLIN | POLLOUT |
§ bind-socket-sendto-first-recv | aix: good x |
dragonfly: good x |
freebsd: good x |
haiku: good x |
hurd: good x |
linux: good x |
macos: good x |
minix: good x |
netbsd: good x |
omnios: good x |
openbsd: good x |
solaris: good x |
sortix: good x |
§ bind-socket-sendto-first-shutdown-r-poll | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown 0 | POLLIN | POLLOUT |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
omnios: unknown shutdown: ENOTCONN |
openbsd: unknown 0 | POLLIN | POLLOUT |
solaris: unknown shutdown: ENOTCONN |
sortix: unknown 0 | POLLIN | POLLOUT |
§ bind-socket-sendto-first-shutdown-r-recv | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown EOF |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown EOF |
netbsd: unknown EOF |
omnios: unknown shutdown: ENOTCONN |
openbsd: unknown EOF |
solaris: unknown shutdown: ENOTCONN |
sortix: unknown EOF |
§ bind-socket-sendto-first-shutdown-rw-poll | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown 0 | POLLIN | POLLHUP |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
omnios: unknown shutdown: ENOTCONN |
openbsd: unknown 0 | POLLIN | POLLOUT |
solaris: unknown shutdown: ENOTCONN |
sortix: unknown 0 | POLLIN | POLLHUP |
§ bind-socket-sendto-first-shutdown-rw-recv | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown EOF |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown EOF |
netbsd: unknown EOF |
omnios: unknown shutdown: ENOTCONN |
openbsd: unknown EOF |
solaris: unknown shutdown: ENOTCONN |
sortix: unknown EOF |
§ bind-socket-sendto-first-shutdown-w-poll | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown 0 | POLLIN | POLLHUP |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
omnios: unknown shutdown: ENOTCONN |
openbsd: unknown 0 | POLLIN | POLLOUT |
solaris: unknown shutdown: ENOTCONN |
sortix: unknown 0 | POLLIN | POLLHUP |
§ bind-socket-sendto-first-shutdown-w-recv | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown x |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown x |
netbsd: unknown x |
omnios: unknown shutdown: ENOTCONN |
openbsd: unknown x |
solaris: unknown shutdown: ENOTCONN |
sortix: unknown x |
§ bind-socket-shutdown-r-sendto-first-poll | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown 0 | POLLIN | POLLOUT |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
omnios: unknown shutdown: ENOTCONN |
openbsd: unknown 0 | POLLIN | POLLOUT |
solaris: unknown shutdown: ENOTCONN |
sortix: unknown 0 | POLLIN | POLLOUT |
§ bind-socket-shutdown-r-sendto-first-recv | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown EOF |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown EOF |
netbsd: unknown EOF |
omnios: unknown shutdown: ENOTCONN |
openbsd: unknown EOF |
solaris: unknown shutdown: ENOTCONN |
sortix: unknown EOF |
§ bind-socket-shutdown-rw-sendto-first-poll | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown 0 | POLLIN | POLLHUP |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
omnios: unknown shutdown: ENOTCONN |
openbsd: unknown 0 | POLLIN | POLLOUT |
solaris: unknown shutdown: ENOTCONN |
sortix: unknown 0 | POLLIN | POLLHUP |
§ bind-socket-shutdown-rw-sendto-first-recv | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown EOF |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown EOF |
netbsd: unknown EOF |
omnios: unknown shutdown: ENOTCONN |
openbsd: unknown EOF |
solaris: unknown shutdown: ENOTCONN |
sortix: unknown EOF |
§ bind-socket-shutdown-w-sendto-first-poll | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown 0 | POLLIN | POLLHUP |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
omnios: unknown shutdown: ENOTCONN |
openbsd: unknown 0 | POLLIN | POLLOUT |
solaris: unknown shutdown: ENOTCONN |
sortix: unknown 0 | POLLIN | POLLHUP |
§ bind-socket-shutdown-w-sendto-first-recv | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown x |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown x |
netbsd: unknown x |
omnios: unknown shutdown: ENOTCONN |
openbsd: unknown x |
solaris: unknown shutdown: ENOTCONN |
sortix: unknown x |
§ connect-any-0-getpeername | aix: unknown connect: EADDRNOTAVAIL |
dragonfly: unknown getpeername: ENOTCONN |
freebsd: unknown connect: EADDRNOTAVAIL |
haiku: unknown 127.0.0.1:0 |
hurd: unknown 127.0.0.1:0 |
linux: unknown getpeername: ENOTCONN |
macos: unknown connect: EADDRNOTAVAIL |
minix: unknown connect: EHOSTUNREACH |
netbsd: unknown connect: EADDRNOTAVAIL |
omnios: unknown connect: EADDRNOTAVAIL |
openbsd: unknown connect: EADDRNOTAVAIL |
solaris: unknown connect: EADDRNOTAVAIL |
sortix: unknown connect: EADDRNOTAVAIL |
§ connect-any-0-getsockname | aix: unknown connect: EADDRNOTAVAIL |
dragonfly: unknown 0.0.0.0:non-zero |
freebsd: unknown connect: EADDRNOTAVAIL |
haiku: unknown 127.0.0.1:non-zero |
hurd: unknown 127.0.0.1:non-zero |
linux: unknown 127.0.0.1:non-zero |
macos: unknown connect: EADDRNOTAVAIL |
minix: unknown connect: EHOSTUNREACH |
netbsd: unknown connect: EADDRNOTAVAIL |
omnios: unknown connect: EADDRNOTAVAIL |
openbsd: unknown connect: EADDRNOTAVAIL |
solaris: unknown connect: EADDRNOTAVAIL |
sortix: unknown connect: EADDRNOTAVAIL |
§ connect-any-getpeername | aix: bad 10.1.0.3:65535 |
dragonfly: unknown 127.0.0.1:65535 |
freebsd: unknown 127.0.0.1:65535 |
haiku: unknown 127.0.0.1:65535 |
hurd: unknown 127.0.0.1:65535 |
linux: unknown 127.0.0.1:65535 |
macos: unknown 127.0.0.1:65535 |
minix: unknown connect: EHOSTUNREACH |
netbsd: unknown 127.0.0.1:65535 |
omnios: unknown 127.0.0.1:65535 |
openbsd: unknown 0.0.0.0:65535 |
solaris: unknown 127.0.0.1:65535 |
sortix: unknown connect: ENETUNREACH |
§ connect-any-getsockname | aix: unknown 192.168.1.x:non-zero |
dragonfly: unknown 127.0.0.1:non-zero |
freebsd: unknown 127.0.0.1:non-zero |
haiku: unknown 127.0.0.1:non-zero |
hurd: unknown 127.0.0.1:non-zero |
linux: unknown 127.0.0.1:non-zero |
macos: unknown 127.0.0.1:non-zero |
minix: unknown connect: EHOSTUNREACH |
netbsd: unknown 127.0.0.1:non-zero |
omnios: unknown 127.0.0.1:non-zero |
openbsd: unknown 192.168.1.x:non-zero |
solaris: unknown 127.0.0.1:non-zero |
sortix: unknown connect: ENETUNREACH |
§ connect-broadcast-getpeername | aix: bad 10.1.1.255:1 |
dragonfly: bad 10.0.2.255:1 |
freebsd: good 255.255.255.255:1 |
haiku: good 255.255.255.255:1 |
hurd: good connect: EACCES |
linux: good connect: EACCES |
macos: good 255.255.255.255:1 |
minix: good 255.255.255.255:1 |
netbsd: bad 10.0.2.255:1 |
omnios: good 255.255.255.255:1 |
openbsd: good 255.255.255.255:1 |
solaris: good 255.255.255.255:1 |
sortix: good 255.255.255.255:1 |
§ connect-broadcast-getpeername-so-broadcast | aix: bad 10.1.1.255:1 |
dragonfly: bad 10.0.2.255:1 |
freebsd: good 255.255.255.255:1 |
haiku: good 255.255.255.255:1 |
hurd: good 255.255.255.255:1 |
linux: good 255.255.255.255:1 |
macos: good 255.255.255.255:1 |
minix: good 255.255.255.255:1 |
netbsd: bad 10.0.2.255:1 |
omnios: good 255.255.255.255:1 |
openbsd: good 255.255.255.255:1 |
solaris: good 255.255.255.255:1 |
sortix: good 255.255.255.255:1 |
§ connect-broadcast-getsockname | aix: good 192.168.1.x:non-zero |
dragonfly: good 192.168.1.x:non-zero |
freebsd: good 192.168.1.x:non-zero |
haiku: good 192.168.1.x:non-zero |
hurd: good connect: EACCES |
linux: good connect: EACCES |
macos: good 192.168.1.x:non-zero |
minix: good 192.168.1.x:non-zero |
netbsd: good 192.168.1.x:non-zero |
omnios: good 192.168.1.x:non-zero |
openbsd: good 192.168.1.x:non-zero |
solaris: good 192.168.1.x:non-zero |
sortix: good 192.168.1.x:non-zero |
§ connect-broadcast-getsockname-so-broadcast | aix: good 192.168.1.x:non-zero |
dragonfly: good 192.168.1.x:non-zero |
freebsd: good 192.168.1.x:non-zero |
haiku: good 192.168.1.x:non-zero |
hurd: good 192.168.1.x:non-zero |
linux: good 192.168.1.x:non-zero |
macos: good 192.168.1.x:non-zero |
minix: good 192.168.1.x:non-zero |
netbsd: good 192.168.1.x:non-zero |
omnios: good 192.168.1.x:non-zero |
openbsd: good 192.168.1.x:non-zero |
solaris: good 192.168.1.x:non-zero |
sortix: good 192.168.1.x:non-zero |
§ connect-getpeername | aix: good 127.0.0.1:65535 |
dragonfly: good 127.0.0.1:65535 |
freebsd: good 127.0.0.1:65535 |
haiku: good 127.0.0.1:65535 |
hurd: good 127.0.0.1:65535 |
linux: good 127.0.0.1:65535 |
macos: good 127.0.0.1:65535 |
minix: good 127.0.0.1:65535 |
netbsd: good 127.0.0.1:65535 |
omnios: good 127.0.0.1:65535 |
openbsd: good 127.0.0.1:65535 |
solaris: good 127.0.0.1:65535 |
sortix: good 127.0.0.1:65535 |
§ connect-loopback-0-getpeername | aix: unknown connect: EADDRNOTAVAIL |
dragonfly: unknown getpeername: ENOTCONN |
freebsd: unknown connect: EADDRNOTAVAIL |
haiku: unknown 127.0.0.1:0 |
hurd: unknown 127.0.0.1:0 |
linux: unknown getpeername: ENOTCONN |
macos: unknown connect: EADDRNOTAVAIL |
minix: unknown connect: EADDRNOTAVAIL |
netbsd: unknown connect: EADDRNOTAVAIL |
omnios: unknown connect: EADDRNOTAVAIL |
openbsd: unknown connect: EADDRNOTAVAIL |
solaris: unknown connect: EADDRNOTAVAIL |
sortix: unknown connect: EADDRNOTAVAIL |
§ connect-loopback-0-getsockname | aix: unknown connect: EADDRNOTAVAIL |
dragonfly: unknown 0.0.0.0:non-zero |
freebsd: unknown connect: EADDRNOTAVAIL |
haiku: unknown 127.0.0.1:non-zero |
hurd: unknown 127.0.0.1:non-zero |
linux: unknown 127.0.0.1:non-zero |
macos: unknown connect: EADDRNOTAVAIL |
minix: unknown connect: EADDRNOTAVAIL |
netbsd: unknown connect: EADDRNOTAVAIL |
omnios: unknown connect: EADDRNOTAVAIL |
openbsd: unknown connect: EADDRNOTAVAIL |
solaris: unknown connect: EADDRNOTAVAIL |
sortix: unknown connect: EADDRNOTAVAIL |
§ connect-loopback-get-so-bindtodevice | aix: good getsockopt: SO_BINDTODEVICE: ENOSYS |
dragonfly: good getsockopt: SO_BINDTODEVICE: ENOSYS |
freebsd: good getsockopt: SO_BINDTODEVICE: ENOSYS |
haiku: good getsockopt: SO_BINDTODEVICE: ENOPROTOOPT |
hurd: good getsockopt: SO_BINDTODEVICE: ENOSYS |
linux: good |
macos: good getsockopt: SO_BINDTODEVICE: ENOSYS |
minix: good getsockopt: SO_BINDTODEVICE: ENOSYS |
netbsd: good getsockopt: SO_BINDTODEVICE: ENOSYS |
omnios: good getsockopt: SO_BINDTODEVICE: ENOSYS |
openbsd: good getsockopt: SO_BINDTODEVICE: ENOSYS |
solaris: good getsockopt: SO_BINDTODEVICE: ENOSYS |
sortix: good |
§ connect-loopback-getpeername | aix: good 127.0.0.1:65535 |
dragonfly: good 127.0.0.1:65535 |
freebsd: good 127.0.0.1:65535 |
haiku: good 127.0.0.1:65535 |
hurd: good 127.0.0.1:65535 |
linux: good 127.0.0.1:65535 |
macos: good 127.0.0.1:65535 |
minix: good 127.0.0.1:65535 |
netbsd: good 127.0.0.1:65535 |
omnios: good 127.0.0.1:65535 |
openbsd: good 127.0.0.1:65535 |
solaris: good 127.0.0.1:65535 |
sortix: good 127.0.0.1:65535 |
§ connect-loopback-getsockname | aix: good 127.0.0.1:non-zero |
dragonfly: good 127.0.0.1:non-zero |
freebsd: good 127.0.0.1:non-zero |
haiku: good 127.0.0.1:non-zero |
hurd: good 127.0.0.1:non-zero |
linux: good 127.0.0.1:non-zero |
macos: good 127.0.0.1:non-zero |
minix: good 127.0.0.1:non-zero |
netbsd: good 127.0.0.1:non-zero |
omnios: good 127.0.0.1:non-zero |
openbsd: good 127.0.0.1:non-zero |
solaris: good 127.0.0.1:non-zero |
sortix: good 127.0.0.1:non-zero |
§ connect-loopback-reconnect-loopback-getsockname | aix: good 127.0.0.1:same port |
dragonfly: good 127.0.0.1:same port |
freebsd: good 127.0.0.1:same port |
haiku: good 127.0.0.1:same port |
hurd: good 127.0.0.1:same port |
linux: good 127.0.0.1:same port |
macos: good 127.0.0.1:same port |
minix: good 127.0.0.1:same port |
netbsd: good 127.0.0.1:same port |
omnios: good 127.0.0.1:same port |
openbsd: good 127.0.0.1:same port |
solaris: good 127.0.0.1:same port |
sortix: good 127.0.0.1:same port |
§ connect-loopback-reconnect-wan-getsockname | aix: bad 127.0.0.1:same port |
dragonfly: unknown 192.168.1.x:same port |
freebsd: unknown 192.168.1.x:same port |
haiku: unknown 192.168.1.x:same port |
hurd: unknown second connect: EINVAL |
linux: unknown second connect: EINVAL |
macos: unknown 192.168.1.x:same port |
minix: bad 127.0.0.1:same port |
netbsd: unknown 192.168.1.x:same port |
omnios: unknown 192.168.1.x:same port |
openbsd: unknown 192.168.1.x:same port |
solaris: unknown 192.168.1.x:same port |
sortix: unknown second connect: ENETUNREACH |
§ connect-loopback-unconnect-rebind-any-getsockname | aix: unknown bind: EINVAL |
dragonfly: unknown bind: EINVAL |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: unknown bind: EINVAL |
hurd: unknown bind: EINVAL |
linux: unknown 0.0.0.0:non-zero |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown bind: EINVAL |
netbsd: bad second connect: EAFNOSUPPORT |
omnios: unknown bind: EINVAL |
openbsd: bad second connect: EAFNOSUPPORT |
solaris: unknown bind: EINVAL |
sortix: unknown bind: EINVAL |
§ connect-loopback-unconnect-rebind-loopback-getsockname | aix: unknown bind: EINVAL |
dragonfly: unknown bind: EINVAL |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: unknown bind: EINVAL |
hurd: unknown bind: EINVAL |
linux: unknown 127.0.0.1:non-zero |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown bind: EINVAL |
netbsd: bad second connect: EAFNOSUPPORT |
omnios: unknown bind: EINVAL |
openbsd: bad second connect: EAFNOSUPPORT |
solaris: unknown bind: EINVAL |
sortix: unknown bind: EINVAL |
§ connect-poll | aix: good 0 | POLLOUT |
dragonfly: good 0 | POLLOUT |
freebsd: good 0 | POLLOUT |
haiku: good 0 | POLLOUT |
hurd: good 0 | POLLOUT |
linux: good 0 | POLLOUT |
macos: good 0 | POLLOUT |
minix: good 0 | POLLOUT |
netbsd: good 0 | POLLOUT |
omnios: good 0 | POLLOUT |
openbsd: good 0 | POLLOUT |
solaris: good 0 | POLLOUT |
sortix: good 0 | POLLOUT |
§ connect-reconnect | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ connect-reconnect-any-getpeername | aix: unknown second connect: EADDRNOTAVAIL |
dragonfly: unknown getpeername: ENOTCONN |
freebsd: unknown second connect: EADDRNOTAVAIL |
haiku: bad 127.0.0.1:0 |
hurd: bad 127.0.0.1:0 |
linux: unknown getpeername: ENOTCONN |
macos: unknown second connect: EADDRNOTAVAIL |
minix: unknown second connect: EHOSTUNREACH |
netbsd: unknown second connect: EADDRNOTAVAIL |
omnios: unknown second connect: EADDRNOTAVAIL |
openbsd: unknown second connect: EADDRNOTAVAIL |
solaris: unknown second connect: EADDRNOTAVAIL |
sortix: unknown second connect: EADDRNOTAVAIL |
§ connect-reconnect-getpeername | aix: good 127.0.0.1:65534 |
dragonfly: good 127.0.0.1:65534 |
freebsd: good 127.0.0.1:65534 |
haiku: good 127.0.0.1:65534 |
hurd: good 127.0.0.1:65534 |
linux: good 127.0.0.1:65534 |
macos: good 127.0.0.1:65534 |
minix: good 127.0.0.1:65534 |
netbsd: good 127.0.0.1:65534 |
omnios: good 127.0.0.1:65534 |
openbsd: good 127.0.0.1:65534 |
solaris: good 127.0.0.1:65534 |
sortix: good 127.0.0.1:65534 |
§ connect-reconnect-same | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ connect-recv | aix: good recv: EWOULDBLOCK |
dragonfly: good recv: EWOULDBLOCK |
freebsd: good recv: EWOULDBLOCK |
haiku: good recv: EWOULDBLOCK |
hurd: good recv: EWOULDBLOCK |
linux: good recv: EWOULDBLOCK |
macos: good recv: EWOULDBLOCK |
minix: good recv: EWOULDBLOCK |
netbsd: good recv: EWOULDBLOCK |
omnios: good recv: EWOULDBLOCK |
openbsd: good recv: EWOULDBLOCK |
solaris: good recv: EWOULDBLOCK |
sortix: good recv: EWOULDBLOCK |
§ connect-send-error-accept | aix: good accept: ENOTSUP |
dragonfly: bad accept: EINVAL |
freebsd: bad accept: EINVAL |
haiku: bad accept: EINVAL |
hurd: good accept: ENOTSUP |
linux: good accept: ENOTSUP |
macos: good accept: ENOTSUP |
minix: good accept: ENOTSUP |
netbsd: good accept: ENOTSUP |
omnios: good accept: ENOTSUP |
openbsd: bad accept: EINVAL |
solaris: good accept: ENOTSUP |
sortix: good accept: ENOTSUP |
§ connect-send-error-getpeername | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ connect-send-error-getsockname | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ connect-send-error-listen | aix: good listen: ENOTSUP |
dragonfly: bad listen: EINVAL |
freebsd: good listen: ENOTSUP |
haiku: good listen: ENOTSUP |
hurd: good listen: ENOTSUP |
linux: good listen: ENOTSUP |
macos: good listen: ENOTSUP |
minix: good listen: ENOTSUP |
netbsd: bad listen: EINVAL |
omnios: good listen: ENOTSUP |
openbsd: good listen: ENOTSUP |
solaris: good listen: ENOTSUP |
sortix: good listen: ENOTSUP |
§ connect-send-error-poll | aix: unknown 0 | POLLIN | POLLOUT |
dragonfly: unknown 0 | POLLIN | POLLOUT |
freebsd: unknown 0 | POLLIN | POLLOUT |
haiku: unknown 0 | POLLIN | POLLOUT | POLLERR |
hurd: unknown 0 | POLLERR |
linux: unknown 0 | POLLOUT | POLLERR |
macos: unknown 0 | POLLIN | POLLOUT |
minix: unknown 0 | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
omnios: unknown 0 | POLLIN | POLLOUT |
openbsd: unknown 0 | POLLIN | POLLOUT |
solaris: unknown 0 | POLLIN | POLLOUT |
sortix: unknown 0 | POLLOUT |
§ connect-send-error-poll-poll | aix: unknown first poll: 0 | POLLIN | POLLOUT second poll: 0 | POLLIN | POLLOUT |
dragonfly: unknown first poll: 0 | POLLIN | POLLOUT second poll: 0 | POLLIN | POLLOUT |
freebsd: unknown first poll: 0 | POLLIN | POLLOUT second poll: 0 | POLLIN | POLLOUT |
haiku: unknown first poll: 0 | POLLIN | POLLOUT | POLLERR second poll: 0 | POLLIN | POLLOUT | POLLERR |
hurd: unknown first poll: 0 | POLLERR second poll: 0 | POLLERR |
linux: unknown first poll: 0 | POLLOUT | POLLERR second poll: 0 | POLLOUT | POLLERR |
macos: unknown first poll: 0 | POLLIN | POLLOUT second poll: 0 | POLLIN | POLLOUT |
minix: unknown first poll: 0 | POLLOUT second poll: 0 | POLLOUT |
netbsd: unknown first poll: 0 | POLLIN | POLLOUT second poll: 0 | POLLIN | POLLOUT |
omnios: unknown first poll: 0 | POLLIN | POLLOUT second poll: 0 | POLLIN | POLLOUT |
openbsd: unknown first poll: 0 | POLLIN | POLLOUT second poll: 0 | POLLIN | POLLOUT |
solaris: unknown first poll: 0 | POLLIN | POLLOUT second poll: 0 | POLLIN | POLLOUT |
sortix: unknown first poll: 0 | POLLOUT second poll: 0 | POLLOUT |
§ connect-send-error-poll-so-error-poll | aix: unknown first poll: 0 | POLLIN | POLLOUT SO_ERROR: ECONNREFUSED second poll: 0 | POLLOUT |
dragonfly: unknown first poll: 0 | POLLIN | POLLOUT SO_ERROR: ECONNREFUSED second poll: 0 | POLLOUT |
freebsd: unknown first poll: 0 | POLLIN | POLLOUT SO_ERROR: ECONNREFUSED second poll: 0 | POLLOUT |
haiku: unknown first poll: 0 | POLLIN | POLLOUT | POLLERR SO_ERROR: ECONNREFUSED second poll: 0 | POLLOUT |
hurd: unknown first poll: 0 | POLLERR SO_ERROR: ECONNREFUSED second poll: 0 | POLLOUT |
linux: unknown first poll: 0 | POLLOUT | POLLERR SO_ERROR: ECONNREFUSED second poll: 0 | POLLOUT |
macos: unknown first poll: 0 | POLLIN | POLLOUT SO_ERROR: ECONNREFUSED second poll: 0 | POLLOUT |
minix: unknown first poll: 0 | POLLOUT SO_ERROR: no error second poll: 0 | POLLOUT |
netbsd: unknown first poll: 0 | POLLIN | POLLOUT SO_ERROR: ECONNREFUSED second poll: 0 | POLLOUT |
omnios: unknown first poll: 0 | POLLIN | POLLOUT SO_ERROR: ECONNREFUSED second poll: 0 | POLLOUT |
openbsd: unknown first poll: 0 | POLLIN | POLLOUT SO_ERROR: ECONNREFUSED second poll: 0 | POLLOUT |
solaris: unknown first poll: 0 | POLLIN | POLLOUT SO_ERROR: ECONNREFUSED second poll: 0 | POLLOUT |
sortix: unknown first poll: 0 | POLLOUT SO_ERROR: no error second poll: 0 | POLLOUT |
§ connect-send-error-reconnect | aix: unknown second connect: ECONNREFUSED |
dragonfly: unknown exit: 0 |
freebsd: unknown exit: 0 |
haiku: unknown exit: 0 |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown second connect: ECONNREFUSED |
minix: unknown exit: 0 |
netbsd: unknown second connect: ECONNREFUSED |
omnios: unknown second connect: ECONNREFUSED |
openbsd: unknown second connect: ECONNREFUSED |
solaris: unknown second connect: ECONNREFUSED |
sortix: unknown exit: 0 |
§ connect-send-error-recv | aix: good recv: ECONNREFUSED |
dragonfly: good recv: ECONNREFUSED |
freebsd: good recv: ECONNREFUSED |
haiku: good recv: ECONNREFUSED |
hurd: good recv: ECONNREFUSED |
linux: good recv: ECONNREFUSED |
macos: good recv: ECONNREFUSED |
minix: bad recv: EWOULDBLOCK |
netbsd: good recv: ECONNREFUSED |
omnios: good recv: ECONNREFUSED |
openbsd: good recv: ECONNREFUSED |
solaris: good recv: ECONNREFUSED |
sortix: bad recv: EWOULDBLOCK |
§ connect-send-error-send | aix: bad second send: no error |
dragonfly: good second send: ECONNREFUSED |
freebsd: good second send: ECONNREFUSED |
haiku: bad second send: no error |
hurd: good second send: ECONNREFUSED |
linux: good second send: ECONNREFUSED |
macos: good second send: ECONNREFUSED |
minix: bad second send: no error |
netbsd: good second send: ECONNREFUSED |
omnios: good second send: ECONNREFUSED |
openbsd: good second send: ECONNREFUSED |
solaris: good second send: ECONNREFUSED |
sortix: bad second send: no error |
§ connect-send-error-send-send | aix: bad second send: no error third send: no error |
dragonfly: good second send: ECONNREFUSED third send: no error |
freebsd: good second send: ECONNREFUSED third send: no error |
haiku: bad second send: no error third send: no error |
hurd: good second send: ECONNREFUSED third send: no error |
linux: good second send: ECONNREFUSED third send: no error |
macos: good second send: ECONNREFUSED third send: no error |
minix: bad second send: no error third send: no error |
netbsd: good second send: ECONNREFUSED third send: no error |
omnios: good second send: ECONNREFUSED third send: no error |
openbsd: good second send: ECONNREFUSED third send: no error |
solaris: good second send: ECONNREFUSED third send: no error |
sortix: bad second send: no error third send: no error |
§ connect-send-error-shutdown-r-recv | aix: unknown recv: ECONNREFUSED |
dragonfly: unknown recv: ECONNREFUSED |
freebsd: unknown recv: ECONNREFUSED |
haiku: bad shutdown: ENOTSUP |
hurd: unknown recv: ECONNREFUSED |
linux: unknown recv: ECONNREFUSED |
macos: unknown recv: ECONNREFUSED |
minix: unknown EOF |
netbsd: unknown recv: ECONNREFUSED |
omnios: unknown recv: ECONNREFUSED |
openbsd: unknown recv: ECONNREFUSED |
solaris: unknown recv: ECONNREFUSED |
sortix: unknown EOF |
§ connect-send-error-shutdown-r-send | aix: bad exit: 0 |
dragonfly: good second send: ECONNREFUSED |
freebsd: good second send: ECONNREFUSED |
haiku: bad shutdown: ENOTSUP |
hurd: good second send: ECONNREFUSED |
linux: good second send: ECONNREFUSED |
macos: good second send: ECONNREFUSED |
minix: bad exit: 0 |
netbsd: good second send: ECONNREFUSED |
omnios: good second send: ECONNREFUSED |
openbsd: good second send: ECONNREFUSED |
solaris: good second send: ECONNREFUSED |
sortix: bad exit: 0 |
§ connect-send-error-shutdown-rw-recv | aix: unknown recv: ECONNREFUSED |
dragonfly: unknown recv: ECONNREFUSED |
freebsd: unknown recv: ECONNREFUSED |
haiku: bad shutdown: ENOTSUP |
hurd: unknown recv: ECONNREFUSED |
linux: unknown recv: ECONNREFUSED |
macos: unknown recv: ECONNREFUSED |
minix: unknown EOF |
netbsd: unknown recv: ECONNREFUSED |
omnios: unknown recv: ECONNREFUSED |
openbsd: unknown recv: ECONNREFUSED |
solaris: unknown recv: ECONNREFUSED |
sortix: unknown EOF |
§ connect-send-error-shutdown-rw-send | aix: bad SIGPIPE second send: EPIPE |
dragonfly: bad SIGPIPE second send: EPIPE |
freebsd: bad SIGPIPE second send: EPIPE |
haiku: bad shutdown: ENOTSUP |
hurd: bad SIGPIPE second send: EPIPE |
linux: unknown second send: ECONNREFUSED |
macos: bad SIGPIPE second send: EPIPE |
minix: unknown second send: EPIPE |
netbsd: bad SIGPIPE second send: EPIPE |
omnios: bad SIGPIPE second send: EPIPE |
openbsd: bad SIGPIPE second send: EPIPE |
solaris: bad SIGPIPE second send: EPIPE |
sortix: bad SIGPIPE second send: EPIPE |
§ connect-send-error-shutdown-rw-so-error | aix: good SO_ERROR: ECONNREFUSED |
dragonfly: good SO_ERROR: ECONNREFUSED |
freebsd: good SO_ERROR: ECONNREFUSED |
haiku: bad shutdown: ENOTSUP |
hurd: good SO_ERROR: ECONNREFUSED |
linux: good SO_ERROR: ECONNREFUSED |
macos: good SO_ERROR: ECONNREFUSED |
minix: bad SO_ERROR: no error |
netbsd: good SO_ERROR: ECONNREFUSED |
omnios: good SO_ERROR: ECONNREFUSED |
openbsd: good SO_ERROR: ECONNREFUSED |
solaris: good SO_ERROR: ECONNREFUSED |
sortix: bad SO_ERROR: no error |
§ connect-send-error-shutdown-w-recv | aix: good recv: ECONNREFUSED |
dragonfly: good recv: ECONNREFUSED |
freebsd: good recv: ECONNREFUSED |
haiku: bad shutdown: ENOTSUP |
hurd: good recv: ECONNREFUSED |
linux: good recv: ECONNREFUSED |
macos: good recv: ECONNREFUSED |
minix: bad recv: EWOULDBLOCK |
netbsd: good recv: ECONNREFUSED |
omnios: good recv: ECONNREFUSED |
openbsd: good recv: ECONNREFUSED |
solaris: good recv: ECONNREFUSED |
sortix: bad recv: EWOULDBLOCK |
§ connect-send-error-shutdown-w-send | aix: bad SIGPIPE second send: EPIPE |
dragonfly: bad SIGPIPE second send: EPIPE |
freebsd: bad SIGPIPE second send: EPIPE |
haiku: bad shutdown: ENOTSUP |
hurd: bad SIGPIPE second send: EPIPE |
linux: unknown second send: ECONNREFUSED |
macos: bad SIGPIPE second send: EPIPE |
minix: unknown second send: EPIPE |
netbsd: bad SIGPIPE second send: EPIPE |
omnios: bad SIGPIPE second send: EPIPE |
openbsd: bad SIGPIPE second send: EPIPE |
solaris: bad SIGPIPE second send: EPIPE |
sortix: bad SIGPIPE second send: EPIPE |
§ connect-send-error-so-error-send-send | aix: bad SO_ERROR: ECONNREFUSED second send: no error third send: no error |
dragonfly: good SO_ERROR: ECONNREFUSED second send: no error third send: ECONNREFUSED |
freebsd: good SO_ERROR: ECONNREFUSED second send: no error third send: ECONNREFUSED |
haiku: bad SO_ERROR: ECONNREFUSED second send: no error third send: no error |
hurd: good SO_ERROR: ECONNREFUSED second send: no error third send: ECONNREFUSED |
linux: good SO_ERROR: ECONNREFUSED second send: no error third send: ECONNREFUSED |
macos: good SO_ERROR: ECONNREFUSED second send: no error third send: ECONNREFUSED |
minix: bad SO_ERROR: no error second send: no error third send: no error |
netbsd: good SO_ERROR: ECONNREFUSED second send: no error third send: ECONNREFUSED |
omnios: bad SO_ERROR: ECONNREFUSED second send: no error third send: no error |
openbsd: good SO_ERROR: ECONNREFUSED second send: no error third send: ECONNREFUSED |
solaris: bad SO_ERROR: no error second send: no error third send: ECONNREFUSED |
sortix: bad SO_ERROR: no error second send: no error third send: no error |
§ connect-sendto-null | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad sendto: EINVAL |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ connect-sendto-other | aix: good sendto: EISCONN |
dragonfly: good exit: 0 |
freebsd: good sendto: EISCONN |
haiku: good sendto: EISCONN |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good sendto: EISCONN |
minix: good exit: 0 |
netbsd: good sendto: EISCONN |
omnios: good sendto: EISCONN |
openbsd: good sendto: EISCONN |
solaris: good sendto: EISCONN |
sortix: good sendto: EISCONN |
§ connect-sendto-same | aix: good sendto: EISCONN |
dragonfly: good exit: 0 |
freebsd: good sendto: EISCONN |
haiku: good sendto: EISCONN |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good sendto: EISCONN |
minix: good exit: 0 |
netbsd: good sendto: EISCONN |
omnios: good sendto: EISCONN |
openbsd: good sendto: EISCONN |
solaris: good sendto: EISCONN |
sortix: good sendto: EISCONN |
§ connect-shutdown | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad shutdown: ENOTSUP |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ connect-shutdown-r-recv | aix: unknown EOF |
dragonfly: unknown EOF |
freebsd: unknown EOF |
haiku: bad shutdown: ENOTSUP |
hurd: bad recv: EINVAL |
linux: unknown recv: EWOULDBLOCK |
macos: unknown EOF |
minix: unknown EOF |
netbsd: unknown EOF |
omnios: unknown EOF |
openbsd: unknown EOF |
solaris: unknown recv: EWOULDBLOCK |
sortix: unknown EOF |
§ connect-shutdown-r-send | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad shutdown: ENOTSUP |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ connect-shutdown-r-unconnect-recv | aix: unknown EOF |
dragonfly: unknown EOF |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: bad shutdown: ENOTSUP |
hurd: bad recv: EINVAL |
linux: unknown recv: EWOULDBLOCK |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown EOF |
netbsd: bad second connect: EAFNOSUPPORT |
omnios: unknown EOF |
openbsd: bad second connect: EAFNOSUPPORT |
solaris: unknown recv: EWOULDBLOCK |
sortix: unknown EOF |
§ connect-shutdown-r-unconnect-send | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: bad shutdown: ENOTSUP |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad second connect: EAFNOSUPPORT |
minix: good exit: 0 |
netbsd: bad second connect: EAFNOSUPPORT |
omnios: good exit: 0 |
openbsd: bad second connect: EAFNOSUPPORT |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ connect-shutdown-reconnect | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad shutdown: ENOTSUP |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ connect-shutdown-rw-reconnect-send | aix: bad SIGPIPE send: EPIPE |
dragonfly: bad SIGPIPE send: EPIPE |
freebsd: bad SIGPIPE send: EPIPE |
haiku: bad shutdown: ENOTSUP |
hurd: bad SIGPIPE send: EPIPE |
linux: unknown send: EPIPE |
macos: bad SIGPIPE send: EPIPE |
minix: unknown send: EPIPE |
netbsd: bad SIGPIPE send: EPIPE |
omnios: bad SIGPIPE send: EPIPE |
openbsd: bad SIGPIPE send: EPIPE |
solaris: bad SIGPIPE send: EPIPE |
sortix: bad SIGPIPE send: EPIPE |
§ connect-shutdown-rw-recv | aix: unknown EOF |
dragonfly: unknown EOF |
freebsd: unknown EOF |
haiku: bad shutdown: ENOTSUP |
hurd: bad recv: EINVAL |
linux: unknown recv: EWOULDBLOCK |
macos: unknown EOF |
minix: unknown EOF |
netbsd: unknown EOF |
omnios: unknown EOF |
openbsd: unknown EOF |
solaris: unknown recv: EWOULDBLOCK |
sortix: unknown EOF |
§ connect-shutdown-rw-send | aix: bad SIGPIPE send: EPIPE |
dragonfly: bad SIGPIPE send: EPIPE |
freebsd: bad SIGPIPE send: EPIPE |
haiku: bad shutdown: ENOTSUP |
hurd: bad SIGPIPE send: EPIPE |
linux: unknown send: EPIPE |
macos: bad SIGPIPE send: EPIPE |
minix: unknown send: EPIPE |
netbsd: bad SIGPIPE send: EPIPE |
omnios: bad SIGPIPE send: EPIPE |
openbsd: bad SIGPIPE send: EPIPE |
solaris: bad SIGPIPE send: EPIPE |
sortix: bad SIGPIPE send: EPIPE |
§ connect-shutdown-rw-unconnect-recv | aix: unknown EOF |
dragonfly: unknown EOF |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: bad shutdown: ENOTSUP |
hurd: bad recv: EINVAL |
linux: unknown recv: EWOULDBLOCK |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown EOF |
netbsd: bad second connect: EAFNOSUPPORT |
omnios: unknown EOF |
openbsd: bad second connect: EAFNOSUPPORT |
solaris: unknown recv: EWOULDBLOCK |
sortix: unknown EOF |
§ connect-shutdown-rw-unconnect-send | aix: unknown sendto: EPIPE |
dragonfly: bad SIGPIPE sendto: EPIPE |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: bad shutdown: ENOTSUP |
hurd: bad SIGPIPE sendto: EPIPE |
linux: unknown sendto: EPIPE |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown sendto: EPIPE |
netbsd: bad second connect: EAFNOSUPPORT |
omnios: bad SIGPIPE sendto: EPIPE |
openbsd: bad second connect: EAFNOSUPPORT |
solaris: bad SIGPIPE sendto: EPIPE |
sortix: bad SIGPIPE sendto: EPIPE |
§ connect-shutdown-w-recv | aix: good recv: EWOULDBLOCK |
dragonfly: good recv: EWOULDBLOCK |
freebsd: good recv: EWOULDBLOCK |
haiku: bad shutdown: ENOTSUP |
hurd: good recv: EWOULDBLOCK |
linux: good recv: EWOULDBLOCK |
macos: good recv: EWOULDBLOCK |
minix: good recv: EWOULDBLOCK |
netbsd: good recv: EWOULDBLOCK |
omnios: good recv: EWOULDBLOCK |
openbsd: good recv: EWOULDBLOCK |
solaris: good recv: EWOULDBLOCK |
sortix: good recv: EWOULDBLOCK |
§ connect-shutdown-w-send | aix: bad SIGPIPE send: EPIPE |
dragonfly: bad SIGPIPE send: EPIPE |
freebsd: bad SIGPIPE send: EPIPE |
haiku: bad shutdown: ENOTSUP |
hurd: bad SIGPIPE send: EPIPE |
linux: unknown send: EPIPE |
macos: bad SIGPIPE send: EPIPE |
minix: unknown send: EPIPE |
netbsd: bad SIGPIPE send: EPIPE |
omnios: bad SIGPIPE send: EPIPE |
openbsd: bad SIGPIPE send: EPIPE |
solaris: bad SIGPIPE send: EPIPE |
sortix: bad SIGPIPE send: EPIPE |
§ connect-shutdown-w-unconnect-recv | aix: good recv: EWOULDBLOCK |
dragonfly: good recv: EWOULDBLOCK |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: bad shutdown: ENOTSUP |
hurd: good recv: EWOULDBLOCK |
linux: good recv: EWOULDBLOCK |
macos: bad second connect: EAFNOSUPPORT |
minix: good recv: EWOULDBLOCK |
netbsd: bad second connect: EAFNOSUPPORT |
omnios: good recv: EWOULDBLOCK |
openbsd: bad second connect: EAFNOSUPPORT |
solaris: good recv: EWOULDBLOCK |
sortix: good recv: EWOULDBLOCK |
§ connect-shutdown-w-unconnect-send | aix: unknown sendto: EPIPE |
dragonfly: bad SIGPIPE sendto: EPIPE |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: bad shutdown: ENOTSUP |
hurd: bad SIGPIPE sendto: EPIPE |
linux: unknown sendto: EPIPE |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown sendto: EPIPE |
netbsd: bad second connect: EAFNOSUPPORT |
omnios: bad SIGPIPE sendto: EPIPE |
openbsd: bad second connect: EAFNOSUPPORT |
solaris: bad SIGPIPE sendto: EPIPE |
sortix: bad SIGPIPE sendto: EPIPE |
§ connect-unconnect | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad second connect: EAFNOSUPPORT |
minix: good exit: 0 |
netbsd: bad second connect: EAFNOSUPPORT |
omnios: good exit: 0 |
openbsd: bad second connect: EAFNOSUPPORT |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ connect-unconnect-getpeername | aix: good getpeername: ENOTCONN |
dragonfly: good getpeername: ENOTCONN |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: bad 0.0.0.0:0 |
hurd: good getpeername: ENOTCONN |
linux: good getpeername: ENOTCONN |
macos: bad second connect: EAFNOSUPPORT |
minix: good getpeername: ENOTCONN |
netbsd: bad second connect: EAFNOSUPPORT |
omnios: good getpeername: ENOTCONN |
openbsd: bad second connect: EAFNOSUPPORT |
solaris: good getpeername: ENOTCONN |
sortix: good getpeername: ENOTCONN |
§ connect-unconnect-getsockname | aix: unknown 127.0.0.1:non-zero |
dragonfly: unknown 0.0.0.0:non-zero |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: unknown 127.0.0.1:non-zero |
hurd: unknown 0.0.0.0:non-zero |
linux: unknown 0.0.0.0:0 |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown 127.0.0.1:non-zero |
netbsd: bad second connect: EAFNOSUPPORT |
omnios: unknown 0.0.0.0:non-zero |
openbsd: bad second connect: EAFNOSUPPORT |
solaris: unknown 0.0.0.0:non-zero |
sortix: unknown 127.0.0.1:non-zero |
§ connect-unconnect-sa-family | aix: unknown exit: 0 |
dragonfly: bad second connect: EDOM |
freebsd: unknown second connect: EINVAL |
haiku: unknown exit: 0 |
hurd: unknown second connect: EINVAL |
linux: unknown exit: 0 |
macos: unknown second connect: EINVAL |
minix: unknown second connect: EINVAL |
netbsd: unknown second connect: EINVAL |
omnios: unknown exit: 0 |
openbsd: unknown second connect: EINVAL |
solaris: unknown exit: 0 |
sortix: unknown exit: 0 |
§ connect-unconnect-shutdown-r-recv | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown EOF |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown EOF |
netbsd: bad second connect: EAFNOSUPPORT |
omnios: unknown EOF |
openbsd: bad second connect: EAFNOSUPPORT |
solaris: bad recv: EWOULDBLOCK |
sortix: unknown EOF |
§ connect-unconnect-shutdown-r-send | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown exit: 0 |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown exit: 0 |
netbsd: bad second connect: EAFNOSUPPORT |
omnios: unknown exit: 0 |
openbsd: bad second connect: EAFNOSUPPORT |
solaris: unknown exit: 0 |
sortix: unknown exit: 0 |
§ connect-unconnect-shutdown-rw-recv | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown EOF |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown EOF |
netbsd: bad second connect: EAFNOSUPPORT |
omnios: unknown EOF |
openbsd: bad second connect: EAFNOSUPPORT |
solaris: bad recv: EWOULDBLOCK |
sortix: unknown EOF |
§ connect-unconnect-shutdown-rw-send | aix: unknown shutdown: ENOTCONN |
dragonfly: bad SIGPIPE sendto: EPIPE |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown sendto: EPIPE |
netbsd: bad second connect: EAFNOSUPPORT |
omnios: bad SIGPIPE sendto: EPIPE |
openbsd: bad second connect: EAFNOSUPPORT |
solaris: bad SIGPIPE sendto: EPIPE |
sortix: bad SIGPIPE sendto: EPIPE |
§ connect-unconnect-shutdown-w-recv | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown recv: EWOULDBLOCK |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown recv: EWOULDBLOCK |
netbsd: bad second connect: EAFNOSUPPORT |
omnios: unknown recv: EWOULDBLOCK |
openbsd: bad second connect: EAFNOSUPPORT |
solaris: unknown recv: EWOULDBLOCK |
sortix: unknown recv: EWOULDBLOCK |
§ connect-unconnect-shutdown-w-send | aix: unknown shutdown: ENOTCONN |
dragonfly: bad SIGPIPE sendto: EPIPE |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown sendto: EPIPE |
netbsd: bad second connect: EAFNOSUPPORT |
omnios: bad SIGPIPE sendto: EPIPE |
openbsd: bad second connect: EAFNOSUPPORT |
solaris: bad SIGPIPE sendto: EPIPE |
sortix: bad SIGPIPE sendto: EPIPE |
§ connect-unconnect-sockaddr | aix: unknown exit: 0 |
dragonfly: unknown exit: 0 |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: unknown exit: 0 |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown exit: 0 |
netbsd: bad second connect: EAFNOSUPPORT |
omnios: unknown exit: 0 |
openbsd: bad second connect: EAFNOSUPPORT |
solaris: unknown exit: 0 |
sortix: unknown exit: 0 |
§ connect-unconnect-sockaddr-in | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad second connect: EAFNOSUPPORT |
minix: good exit: 0 |
netbsd: bad second connect: EAFNOSUPPORT |
omnios: good exit: 0 |
openbsd: bad second connect: EAFNOSUPPORT |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ connect-unconnect-sockaddr-storage | aix: bad second connect: EINVAL |
dragonfly: good exit: 0 |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad second connect: EINVAL |
minix: good exit: 0 |
netbsd: bad second connect: EAFNOSUPPORT |
omnios: good exit: 0 |
openbsd: bad second connect: EINVAL |
solaris: good exit: 0 |
sortix: good exit: 0 |
§ connect-unconnect-unconnect | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad second connect: EAFNOSUPPORT |
minix: good exit: 0 |
netbsd: bad second connect: EAFNOSUPPORT |
omnios: bad third connect: EINVAL |
openbsd: bad second connect: EAFNOSUPPORT |
solaris: bad third connect: EINVAL |
sortix: good exit: 0 |
§ connect-wan-get-so-bindtodevice | aix: good getsockopt: SO_BINDTODEVICE: ENOSYS |
dragonfly: good getsockopt: SO_BINDTODEVICE: ENOSYS |
freebsd: good getsockopt: SO_BINDTODEVICE: ENOSYS |
haiku: good getsockopt: SO_BINDTODEVICE: ENOPROTOOPT |
hurd: good getsockopt: SO_BINDTODEVICE: ENOSYS |
linux: good |
macos: good getsockopt: SO_BINDTODEVICE: ENOSYS |
minix: good getsockopt: SO_BINDTODEVICE: ENOSYS |
netbsd: good getsockopt: SO_BINDTODEVICE: ENOSYS |
omnios: good getsockopt: SO_BINDTODEVICE: ENOSYS |
openbsd: good getsockopt: SO_BINDTODEVICE: ENOSYS |
solaris: good getsockopt: SO_BINDTODEVICE: ENOSYS |
sortix: good |
§ connect-wan-getsockname | aix: good 192.168.1.x:non-zero |
dragonfly: good 192.168.1.x:non-zero |
freebsd: good 192.168.1.x:non-zero |
haiku: good 192.168.1.x:non-zero |
hurd: good 192.168.1.x:non-zero |
linux: good 192.168.1.x:non-zero |
macos: good 192.168.1.x:non-zero |
minix: good 192.168.1.x:non-zero |
netbsd: good 192.168.1.x:non-zero |
omnios: good 192.168.1.x:non-zero |
openbsd: good 192.168.1.x:non-zero |
solaris: good 192.168.1.x:non-zero |
sortix: good 192.168.1.x:non-zero |
§ connect-wan-send-reconnect-loopback-send | aix: unknown exit: 0 |
dragonfly: unknown exit: 0 |
freebsd: unknown second send: EADDRNOTAVAIL |
haiku: unknown exit: 0 |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown exit: 0 |
minix: unknown exit: 0 |
netbsd: unknown exit: 0 |
omnios: unknown exit: 0 |
openbsd: unknown exit: 0 |
solaris: unknown exit: 0 |
sortix: unknown second connect: ENETUNREACH |
§ connect-wan-unconnect-rebind-any-getsockname | aix: unknown bind: EINVAL |
dragonfly: unknown bind: EINVAL |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: unknown bind: EINVAL |
hurd: unknown bind: EINVAL |
linux: unknown bind: EADDRNOTAVAIL |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown bind: EINVAL |
netbsd: bad second connect: EAFNOSUPPORT |
omnios: unknown bind: EADDRNOTAVAIL |
openbsd: bad second connect: EAFNOSUPPORT |
solaris: unknown bind: EADDRNOTAVAIL |
sortix: unknown bind: EINVAL |
§ connect-wan-unconnect-rebind-same-getsockname | aix: unknown bind: EINVAL |
dragonfly: unknown bind: EINVAL |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: unknown bind: EINVAL |
hurd: unknown bind: EINVAL |
linux: unknown 192.168.1.x:non-zero |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown bind: EINVAL |
netbsd: bad second connect: EAFNOSUPPORT |
omnios: unknown bind: EINVAL |
openbsd: bad second connect: EAFNOSUPPORT |
solaris: unknown bind: EINVAL |
sortix: unknown bind: EINVAL |
§ cross-netif-lan-send-loopback-recv | aix: good 192.168.1.x:non-zero: x |
dragonfly: good 192.168.1.x:non-zero: x |
freebsd: good 192.168.1.x:non-zero: x |
haiku: good 192.168.1.x:non-zero: x |
hurd: good 192.168.1.x:non-zero: x |
linux: good 192.168.1.x:non-zero: x |
macos: good 192.168.1.x:non-zero: x |
minix: good 192.168.1.x:non-zero: x |
netbsd: good 192.168.1.x:non-zero: x |
omnios: good 192.168.1.x:non-zero: x |
openbsd: good 192.168.1.x:non-zero: x |
solaris: good 192.168.1.x:non-zero: x |
sortix: bad sendto: ENETUNREACH |
§ cross-netif-loopback-send-lan-recv | aix: good 127.0.0.1:non-zero: x |
dragonfly: good 127.0.0.1:non-zero: x |
freebsd: good 127.0.0.1:non-zero: x |
haiku: good 127.0.0.1:non-zero: x |
hurd: good 127.0.0.1:non-zero: x |
linux: good 127.0.0.1:non-zero: x |
macos: good 127.0.0.1:non-zero: x |
minix: good 127.0.0.1:non-zero: x |
netbsd: good 127.0.0.1:non-zero: x |
omnios: good 127.0.0.1:non-zero: x |
openbsd: good 127.0.0.1:non-zero: x |
solaris: good 127.0.0.1:non-zero: x |
sortix: bad sendto: ENETUNREACH |
§ get-so-bindtodevice | aix: good getsockopt: SO_BINDTODEVICE: ENOSYS |
dragonfly: good getsockopt: SO_BINDTODEVICE: ENOSYS |
freebsd: good getsockopt: SO_BINDTODEVICE: ENOSYS |
haiku: good getsockopt: SO_BINDTODEVICE: ENOPROTOOPT |
hurd: good getsockopt: SO_BINDTODEVICE: ENOSYS |
linux: good |
macos: good getsockopt: SO_BINDTODEVICE: ENOSYS |
minix: good getsockopt: SO_BINDTODEVICE: ENOSYS |
netbsd: good getsockopt: SO_BINDTODEVICE: ENOSYS |
omnios: good getsockopt: SO_BINDTODEVICE: ENOSYS |
openbsd: good getsockopt: SO_BINDTODEVICE: ENOSYS |
solaris: good getsockopt: SO_BINDTODEVICE: ENOSYS |
sortix: good |
§ getpeername | aix: good getpeername: ENOTCONN |
dragonfly: good getpeername: ENOTCONN |
freebsd: good getpeername: ENOTCONN |
haiku: good getpeername: ENOTCONN |
hurd: good getpeername: ENOTCONN |
linux: good getpeername: ENOTCONN |
macos: good getpeername: ENOTCONN |
minix: good getpeername: ENOTCONN |
netbsd: good getpeername: ENOTCONN |
omnios: good getpeername: ENOTCONN |
openbsd: good getpeername: ENOTCONN |
solaris: good getpeername: ENOTCONN |
sortix: good getpeername: ENOTCONN |
§ getsockname | aix: good 0.0.0.0:0 |
dragonfly: good 0.0.0.0:0 |
freebsd: good 0.0.0.0:0 |
haiku: good 0.0.0.0:0 |
hurd: good 0.0.0.0:0 |
linux: good 0.0.0.0:0 |
macos: good 0.0.0.0:0 |
minix: good 0.0.0.0:0 |
netbsd: good 0.0.0.0:0 |
omnios: good 0.0.0.0:0 |
openbsd: good 0.0.0.0:0 |
solaris: good 0.0.0.0:0 |
sortix: good 0.0.0.0:0 |
§ listen | aix: good listen: ENOTSUP |
dragonfly: good listen: ENOTSUP |
freebsd: good listen: ENOTSUP |
haiku: good listen: ENOTSUP |
hurd: good listen: ENOTSUP |
linux: good listen: ENOTSUP |
macos: good listen: ENOTSUP |
minix: good listen: ENOTSUP |
netbsd: good listen: ENOTSUP |
omnios: good listen: ENOTSUP |
openbsd: good listen: ENOTSUP |
solaris: good listen: ENOTSUP |
sortix: good listen: ENOTSUP |
§ pair-poll | aix: good 0 | POLLOUT |
dragonfly: good 0 | POLLOUT |
freebsd: good 0 | POLLOUT |
haiku: good 0 | POLLOUT |
hurd: good 0 | POLLOUT |
linux: good 0 | POLLOUT |
macos: good 0 | POLLOUT |
minix: good 0 | POLLOUT |
netbsd: good 0 | POLLOUT |
omnios: good 0 | POLLOUT |
openbsd: good 0 | POLLOUT |
solaris: good 0 | POLLOUT |
sortix: good 0 | POLLOUT |
§ pair-send-poll | aix: good 0 | POLLIN | POLLOUT |
dragonfly: good 0 | POLLIN | POLLOUT |
freebsd: good 0 | POLLIN | POLLOUT |
haiku: good 0 | POLLIN | POLLOUT |
hurd: good 0 | POLLIN | POLLOUT |
linux: good 0 | POLLIN | POLLOUT |
macos: good 0 | POLLIN | POLLOUT |
minix: good 0 | POLLIN | POLLOUT |
netbsd: good 0 | POLLIN | POLLOUT |
omnios: good 0 | POLLIN | POLLOUT |
openbsd: good 0 | POLLIN | POLLOUT |
solaris: good 0 | POLLIN | POLLOUT |
sortix: good 0 | POLLIN | POLLOUT |
§ pair-send-recv | aix: good x |
dragonfly: good x |
freebsd: good x |
haiku: good x |
hurd: good x |
linux: good x |
macos: good x |
minix: good x |
netbsd: good x |
omnios: good x |
openbsd: good x |
solaris: good x |
sortix: good x |
§ pair-send-shutdown-r-poll | aix: unknown 0 | POLLIN | POLLOUT |
dragonfly: unknown 0 | POLLIN | POLLOUT |
freebsd: unknown 0 | POLLIN | POLLOUT |
haiku: bad shutdown: ENOTSUP |
hurd: unknown 0 | POLLIN | POLLOUT |
linux: unknown 0 | POLLIN | POLLOUT |
macos: unknown 0 | POLLIN | POLLHUP |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
omnios: unknown 0 | POLLIN | POLLOUT |
openbsd: unknown 0 | POLLIN | POLLOUT |
solaris: unknown 0 | POLLIN | POLLOUT |
sortix: unknown 0 | POLLIN | POLLOUT |
§ pair-send-shutdown-r-recv | aix: unknown EOF |
dragonfly: unknown EOF |
freebsd: unknown EOF |
haiku: bad shutdown: ENOTSUP |
hurd: unknown x |
linux: unknown x |
macos: unknown EOF |
minix: unknown EOF |
netbsd: unknown EOF |
omnios: unknown EOF |
openbsd: unknown EOF |
solaris: unknown x |
sortix: unknown EOF |
§ pair-send-shutdown-rw-poll | aix: unknown 0 | POLLIN | POLLOUT |
dragonfly: unknown 0 | POLLIN | POLLHUP |
freebsd: unknown 0 | POLLIN | POLLHUP |
haiku: bad shutdown: ENOTSUP |
hurd: unknown 0 | POLLIN |
linux: bad 0 | POLLIN | POLLOUT | POLLHUP |
macos: unknown 0 | POLLIN | POLLHUP |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
omnios: unknown 0 | POLLIN | POLLOUT |
openbsd: unknown 0 | POLLIN | POLLOUT |
solaris: unknown 0 | POLLIN | POLLOUT |
sortix: unknown 0 | POLLIN | POLLHUP |
§ pair-send-shutdown-rw-recv | aix: unknown EOF |
dragonfly: unknown EOF |
freebsd: unknown EOF |
haiku: bad shutdown: ENOTSUP |
hurd: unknown x |
linux: unknown x |
macos: unknown EOF |
minix: unknown EOF |
netbsd: unknown EOF |
omnios: unknown EOF |
openbsd: unknown EOF |
solaris: unknown x |
sortix: unknown EOF |
§ pair-send-shutdown-w-poll | aix: unknown 0 | POLLIN | POLLOUT |
dragonfly: unknown 0 | POLLIN | POLLHUP |
freebsd: unknown 0 | POLLIN | POLLOUT |
haiku: bad shutdown: ENOTSUP |
hurd: unknown 0 | POLLIN |
linux: unknown 0 | POLLIN | POLLOUT |
macos: unknown 0 | POLLIN | POLLHUP |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
omnios: unknown 0 | POLLIN | POLLOUT |
openbsd: unknown 0 | POLLIN | POLLOUT |
solaris: unknown 0 | POLLIN | POLLOUT |
sortix: unknown 0 | POLLIN | POLLHUP |
§ pair-send-shutdown-w-recv | aix: good x |
dragonfly: good x |
freebsd: good x |
haiku: bad shutdown: ENOTSUP |
hurd: good x |
linux: good x |
macos: good x |
minix: good x |
netbsd: good x |
omnios: good x |
openbsd: good x |
solaris: good x |
sortix: good x |
§ pair-shutdown-r-poll | aix: unknown 0 | POLLIN | POLLOUT |
dragonfly: unknown 0 | POLLIN | POLLOUT |
freebsd: unknown 0 | POLLIN | POLLOUT |
haiku: bad shutdown: ENOTSUP |
hurd: unknown 0 | POLLIN | POLLOUT |
linux: unknown 0 | POLLIN | POLLOUT |
macos: unknown 0 | POLLIN | POLLHUP |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
omnios: unknown 0 | POLLIN | POLLOUT |
openbsd: unknown 0 | POLLIN | POLLOUT |
solaris: unknown 0 | POLLOUT |
sortix: unknown 0 | POLLIN | POLLOUT |
§ pair-shutdown-r-send-poll | aix: unknown 0 | POLLIN | POLLOUT |
dragonfly: unknown 0 | POLLIN | POLLOUT |
freebsd: unknown 0 | POLLIN | POLLOUT |
haiku: bad shutdown: ENOTSUP |
hurd: unknown 0 | POLLIN | POLLOUT |
linux: unknown 0 | POLLIN | POLLOUT |
macos: unknown 0 | POLLIN | POLLHUP |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
omnios: unknown 0 | POLLIN | POLLOUT |
openbsd: unknown 0 | POLLIN | POLLOUT |
solaris: unknown 0 | POLLIN | POLLOUT |
sortix: unknown 0 | POLLIN | POLLOUT |
§ pair-shutdown-r-send-recv | aix: unknown EOF |
dragonfly: unknown EOF |
freebsd: unknown EOF |
haiku: bad shutdown: ENOTSUP |
hurd: bad x |
linux: bad x |
macos: unknown EOF |
minix: unknown EOF |
netbsd: unknown EOF |
omnios: unknown EOF |
openbsd: unknown EOF |
solaris: bad x |
sortix: unknown EOF |
§ pair-shutdown-rw-poll | aix: unknown 0 | POLLIN | POLLOUT |
dragonfly: unknown 0 | POLLIN | POLLHUP |
freebsd: unknown 0 | POLLIN | POLLHUP |
haiku: bad shutdown: ENOTSUP |
hurd: unknown 0 | POLLIN |
linux: bad 0 | POLLIN | POLLOUT | POLLHUP |
macos: unknown 0 | POLLIN | POLLHUP |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
omnios: unknown 0 | POLLIN | POLLOUT |
openbsd: unknown 0 | POLLIN | POLLOUT |
solaris: bad 0 | POLLOUT |
sortix: unknown 0 | POLLIN | POLLHUP |
§ pair-shutdown-rw-send-poll | aix: unknown 0 | POLLIN | POLLOUT |
dragonfly: unknown 0 | POLLIN | POLLHUP |
freebsd: unknown 0 | POLLIN | POLLHUP |
haiku: bad shutdown: ENOTSUP |
hurd: unknown 0 | POLLIN |
linux: bad 0 | POLLIN | POLLOUT | POLLHUP |
macos: unknown 0 | POLLIN | POLLHUP |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
omnios: unknown 0 | POLLIN | POLLOUT |
openbsd: unknown 0 | POLLIN | POLLOUT |
solaris: unknown 0 | POLLIN | POLLOUT |
sortix: unknown 0 | POLLIN | POLLHUP |
§ pair-shutdown-rw-send-recv | aix: unknown EOF |
dragonfly: unknown EOF |
freebsd: unknown EOF |
haiku: bad shutdown: ENOTSUP |
hurd: bad x |
linux: bad x |
macos: unknown EOF |
minix: unknown EOF |
netbsd: unknown EOF |
omnios: unknown EOF |
openbsd: unknown EOF |
solaris: bad x |
sortix: unknown EOF |
§ pair-shutdown-w-poll | aix: unknown 0 | POLLOUT |
dragonfly: unknown 0 | POLLHUP |
freebsd: unknown 0 | POLLOUT |
haiku: bad shutdown: ENOTSUP |
hurd: unknown poll returned 0 |
linux: unknown 0 | POLLOUT |
macos: unknown 0 | POLLHUP |
minix: unknown 0 | POLLOUT |
netbsd: unknown 0 | POLLOUT |
omnios: unknown 0 | POLLOUT |
openbsd: unknown 0 | POLLOUT |
solaris: unknown 0 | POLLOUT |
sortix: unknown 0 | POLLHUP |
§ pair-shutdown-w-send-poll | aix: unknown 0 | POLLIN | POLLOUT |
dragonfly: unknown 0 | POLLIN | POLLHUP |
freebsd: unknown 0 | POLLIN | POLLOUT |
haiku: bad shutdown: ENOTSUP |
hurd: unknown 0 | POLLIN |
linux: unknown 0 | POLLIN | POLLOUT |
macos: unknown 0 | POLLIN | POLLHUP |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
omnios: unknown 0 | POLLIN | POLLOUT |
openbsd: unknown 0 | POLLIN | POLLOUT |
solaris: unknown 0 | POLLIN | POLLOUT |
sortix: unknown 0 | POLLIN | POLLHUP |
§ pair-shutdown-w-send-recv | aix: good x |
dragonfly: good x |
freebsd: good x |
haiku: bad shutdown: ENOTSUP |
hurd: good x |
linux: good x |
macos: good x |
minix: good x |
netbsd: good x |
omnios: good x |
openbsd: good x |
solaris: good x |
sortix: good x |
§ poll | aix: unknown 0 | POLLOUT |
dragonfly: unknown 0 | POLLOUT |
freebsd: unknown 0 | POLLOUT |
haiku: unknown 0 | POLLOUT |
hurd: unknown 0 | POLLOUT |
linux: unknown 0 | POLLOUT |
macos: unknown 0 | POLLOUT |
minix: unknown 0 | POLLOUT |
netbsd: unknown 0 | POLLOUT |
omnios: unknown 0 | POLLOUT |
openbsd: unknown 0 | POLLOUT |
solaris: unknown 0 | POLLOUT |
sortix: unknown 0 | POLLOUT |
§ recvfrom-getsockname | aix: good 0.0.0.0:0 |
dragonfly: good 0.0.0.0:0 |
freebsd: good 0.0.0.0:0 |
haiku: good 0.0.0.0:0 |
hurd: unknown 0.0.0.0:non-zero |
linux: good 0.0.0.0:0 |
macos: good 0.0.0.0:0 |
minix: good 0.0.0.0:0 |
netbsd: good 0.0.0.0:0 |
omnios: good 0.0.0.0:0 |
openbsd: good 0.0.0.0:0 |
solaris: good 0.0.0.0:0 |
sortix: good 0.0.0.0:0 |
§ send | aix: good send: EDESTADDRREQ |
dragonfly: good send: EDESTADDRREQ |
freebsd: good send: EDESTADDRREQ |
haiku: good send: EDESTADDRREQ |
hurd: bad send: ENOTCONN |
linux: good send: EDESTADDRREQ |
macos: good send: EDESTADDRREQ |
minix: good send: EDESTADDRREQ |
netbsd: good send: EDESTADDRREQ |
omnios: good send: EDESTADDRREQ |
openbsd: good send: EDESTADDRREQ |
solaris: good send: EDESTADDRREQ |
sortix: good send: EDESTADDRREQ |
§ sendto-any-so-error | aix: unknown exit: 0 |
dragonfly: unknown exit: 0 |
freebsd: unknown exit: 0 |
haiku: unknown sendto: EDESTADDRREQ |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown exit: 0 |
minix: bad sendto: EHOSTUNREACH |
netbsd: unknown exit: 0 |
omnios: unknown exit: 0 |
openbsd: unknown sendto: ENETUNREACH |
solaris: unknown exit: 0 |
sortix: unknown sendto: ENETUNREACH |
§ sendto-getsockname | aix: good 0.0.0.0:non-zero |
dragonfly: good 0.0.0.0:non-zero |
freebsd: good 0.0.0.0:non-zero |
haiku: good 0.0.0.0:non-zero |
hurd: good 0.0.0.0:non-zero |
linux: good 0.0.0.0:non-zero |
macos: good 0.0.0.0:non-zero |
minix: good 0.0.0.0:non-zero |
netbsd: good 0.0.0.0:non-zero |
omnios: good 0.0.0.0:non-zero |
openbsd: good 0.0.0.0:non-zero |
solaris: good 0.0.0.0:non-zero |
sortix: good 0.0.0.0:non-zero |
§ sendto-loopback-0-so-error | aix: unknown sendto: EADDRNOTAVAIL |
dragonfly: unknown exit: 0 |
freebsd: unknown sendto: EADDRNOTAVAIL |
haiku: unknown exit: 0 |
hurd: bad sendto: EINVAL |
linux: bad sendto: EINVAL |
macos: unknown sendto: EADDRNOTAVAIL |
minix: unknown sendto: EADDRNOTAVAIL |
netbsd: unknown sendto: EADDRNOTAVAIL |
omnios: unknown exit: 0 |
openbsd: unknown sendto: EADDRNOTAVAIL |
solaris: unknown exit: 0 |
sortix: unknown sendto: EADDRNOTAVAIL |
§ sendto-null | aix: good sendto: EDESTADDRREQ |
dragonfly: good sendto: EDESTADDRREQ |
freebsd: good sendto: EDESTADDRREQ |
haiku: bad sendto: EINVAL |
hurd: bad sendto: ENOTCONN |
linux: good sendto: EDESTADDRREQ |
macos: good sendto: EDESTADDRREQ |
minix: good sendto: EDESTADDRREQ |
netbsd: good sendto: EDESTADDRREQ |
omnios: good sendto: EDESTADDRREQ |
openbsd: good sendto: EDESTADDRREQ |
solaris: good sendto: EDESTADDRREQ |
sortix: good sendto: EDESTADDRREQ |
§ shutdown | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown exit: 0 |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown exit: 0 |
netbsd: unknown exit: 0 |
omnios: unknown shutdown: ENOTCONN |
openbsd: unknown exit: 0 |
solaris: unknown shutdown: ENOTCONN |
sortix: unknown exit: 0 |
§ shutdown-r-recv | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown EOF |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown EOF |
netbsd: unknown EOF |
omnios: unknown shutdown: ENOTCONN |
openbsd: unknown EOF |
solaris: unknown shutdown: ENOTCONN |
sortix: unknown EOF |
§ shutdown-r-send | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown exit: 0 |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown exit: 0 |
netbsd: unknown exit: 0 |
omnios: unknown shutdown: ENOTCONN |
openbsd: unknown exit: 0 |
solaris: unknown shutdown: ENOTCONN |
sortix: unknown exit: 0 |
§ shutdown-rw-recv | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown EOF |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown EOF |
netbsd: unknown EOF |
omnios: unknown shutdown: ENOTCONN |
openbsd: unknown EOF |
solaris: unknown shutdown: ENOTCONN |
sortix: unknown EOF |
§ shutdown-rw-send | aix: unknown shutdown: ENOTCONN |
dragonfly: bad SIGPIPE sendto: EPIPE |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown sendto: EPIPE |
netbsd: bad SIGPIPE sendto: EPIPE |
omnios: unknown shutdown: ENOTCONN |
openbsd: bad SIGPIPE sendto: EPIPE |
solaris: unknown shutdown: ENOTCONN |
sortix: bad SIGPIPE sendto: EPIPE |
§ shutdown-w-recv | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown recv: EWOULDBLOCK |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown recv: EWOULDBLOCK |
netbsd: unknown recv: EWOULDBLOCK |
omnios: unknown shutdown: ENOTCONN |
openbsd: unknown recv: EWOULDBLOCK |
solaris: unknown shutdown: ENOTCONN |
sortix: unknown recv: EWOULDBLOCK |
§ shutdown-w-send | aix: unknown shutdown: ENOTCONN |
dragonfly: bad SIGPIPE sendto: EPIPE |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown sendto: EPIPE |
netbsd: bad SIGPIPE sendto: EPIPE |
omnios: unknown shutdown: ENOTCONN |
openbsd: bad SIGPIPE sendto: EPIPE |
solaris: unknown shutdown: ENOTCONN |
sortix: bad SIGPIPE sendto: EPIPE |
§ so-error | aix: good SO_ERROR: no error |
dragonfly: good SO_ERROR: no error |
freebsd: good SO_ERROR: no error |
haiku: good SO_ERROR: no error |
hurd: good SO_ERROR: no error |
linux: good SO_ERROR: no error |
macos: good SO_ERROR: no error |
minix: good SO_ERROR: no error |
netbsd: good SO_ERROR: no error |
omnios: good SO_ERROR: no error |
openbsd: good SO_ERROR: no error |
solaris: good SO_ERROR: no error |
sortix: good SO_ERROR: no error |
§ trio-connect-send-right-x-poll | aix: good 0 | POLLIN | POLLOUT |
dragonfly: good 0 | POLLIN | POLLOUT |
freebsd: good 0 | POLLIN | POLLOUT |
haiku: good 0 | POLLIN | POLLOUT |
hurd: good 0 | POLLIN | POLLOUT |
linux: good 0 | POLLIN | POLLOUT |
macos: good 0 | POLLIN | POLLOUT |
minix: good 0 | POLLIN | POLLOUT |
netbsd: good 0 | POLLIN | POLLOUT |
omnios: good 0 | POLLIN | POLLOUT |
openbsd: good 0 | POLLIN | POLLOUT |
solaris: good 0 | POLLIN | POLLOUT |
sortix: good 0 | POLLIN | POLLOUT |
§ trio-connect-send-right-x-recv | aix: good x |
dragonfly: good x |
freebsd: good x |
haiku: good x |
hurd: good x |
linux: good x |
macos: good x |
minix: good x |
netbsd: good x |
omnios: good x |
openbsd: good x |
solaris: good x |
sortix: good x |
§ trio-connect-send-wrong-y-poll | aix: good 0 | POLLOUT |
dragonfly: good 0 | POLLOUT |
freebsd: good 0 | POLLOUT |
haiku: good 0 | POLLOUT |
hurd: good 0 | POLLOUT |
linux: good 0 | POLLOUT |
macos: good 0 | POLLOUT |
minix: good 0 | POLLOUT |
netbsd: good 0 | POLLOUT |
omnios: good 0 | POLLOUT |
openbsd: good 0 | POLLOUT |
solaris: good 0 | POLLOUT |
sortix: good 0 | POLLOUT |
§ trio-connect-send-wrong-y-recv | aix: good recv: EWOULDBLOCK |
dragonfly: good recv: EWOULDBLOCK |
freebsd: good recv: EWOULDBLOCK |
haiku: good recv: EWOULDBLOCK |
hurd: good recv: EWOULDBLOCK |
linux: good recv: EWOULDBLOCK |
macos: good recv: EWOULDBLOCK |
minix: good recv: EWOULDBLOCK |
netbsd: good recv: EWOULDBLOCK |
omnios: good recv: EWOULDBLOCK |
openbsd: good recv: EWOULDBLOCK |
solaris: good recv: EWOULDBLOCK |
sortix: good recv: EWOULDBLOCK |
§ trio-connect-send-wrong-y-send-right-x-poll | aix: good 0 | POLLIN | POLLOUT |
dragonfly: good 0 | POLLIN | POLLOUT |
freebsd: good 0 | POLLIN | POLLOUT |
haiku: good 0 | POLLIN | POLLOUT |
hurd: good 0 | POLLIN | POLLOUT |
linux: good 0 | POLLIN | POLLOUT |
macos: good 0 | POLLIN | POLLOUT |
minix: good 0 | POLLIN | POLLOUT |
netbsd: good 0 | POLLIN | POLLOUT |
omnios: good 0 | POLLIN | POLLOUT |
openbsd: good 0 | POLLIN | POLLOUT |
solaris: good 0 | POLLIN | POLLOUT |
sortix: good 0 | POLLIN | POLLOUT |
§ trio-connect-send-wrong-y-send-right-x-recv | aix: good x |
dragonfly: good x |
freebsd: good x |
haiku: good x |
hurd: good x |
linux: good x |
macos: good x |
minix: good x |
netbsd: good x |
omnios: good x |
openbsd: good x |
solaris: good x |
sortix: good x |
§ trio-send-right-x-poll | aix: good 0 | POLLIN | POLLOUT |
dragonfly: good 0 | POLLIN | POLLOUT |
freebsd: good 0 | POLLIN | POLLOUT |
haiku: good 0 | POLLIN | POLLOUT |
hurd: good 0 | POLLIN | POLLOUT |
linux: good 0 | POLLIN | POLLOUT |
macos: good 0 | POLLIN | POLLOUT |
minix: good 0 | POLLIN | POLLOUT |
netbsd: good 0 | POLLIN | POLLOUT |
omnios: good 0 | POLLIN | POLLOUT |
openbsd: good 0 | POLLIN | POLLOUT |
solaris: good 0 | POLLIN | POLLOUT |
sortix: good 0 | POLLIN | POLLOUT |
§ trio-send-right-x-recv | aix: good x |
dragonfly: good x |
freebsd: good x |
haiku: good x |
hurd: good x |
linux: good x |
macos: good x |
minix: good x |
netbsd: good x |
omnios: good x |
openbsd: good x |
solaris: good x |
sortix: good x |
§ trio-send-right-x-send-wrong-y-poll | aix: good 0 | POLLIN | POLLOUT |
dragonfly: good 0 | POLLIN | POLLOUT |
freebsd: good 0 | POLLIN | POLLOUT |
haiku: good 0 | POLLIN | POLLOUT |
hurd: good 0 | POLLIN | POLLOUT |
linux: good 0 | POLLIN | POLLOUT |
macos: good 0 | POLLIN | POLLOUT |
minix: good 0 | POLLIN | POLLOUT |
netbsd: good 0 | POLLIN | POLLOUT |
omnios: good 0 | POLLIN | POLLOUT |
openbsd: good 0 | POLLIN | POLLOUT |
solaris: good 0 | POLLIN | POLLOUT |
sortix: good 0 | POLLIN | POLLOUT |
§ trio-send-right-x-send-wrong-y-recv | aix: good x |
dragonfly: good x |
freebsd: good x |
haiku: good x |
hurd: good x |
linux: good x |
macos: good x |
minix: good x |
netbsd: good x |
omnios: good x |
openbsd: good x |
solaris: good x |
sortix: good x |
§ trio-send-wrong-y-connect-poll | aix: bad 0 | POLLIN | POLLOUT |
dragonfly: bad 0 | POLLIN | POLLOUT |
freebsd: bad 0 | POLLIN | POLLOUT |
haiku: bad 0 | POLLIN | POLLOUT |
hurd: bad 0 | POLLIN | POLLOUT |
linux: bad 0 | POLLIN | POLLOUT |
macos: bad 0 | POLLIN | POLLOUT |
minix: bad 0 | POLLIN | POLLOUT |
netbsd: bad 0 | POLLIN | POLLOUT |
omnios: bad 0 | POLLIN | POLLOUT |
openbsd: bad 0 | POLLIN | POLLOUT |
solaris: bad 0 | POLLIN | POLLOUT |
sortix: good 0 | POLLOUT |
§ trio-send-wrong-y-connect-recv | aix: bad y |
dragonfly: bad y |
freebsd: bad y |
haiku: bad y |
hurd: bad y |
linux: bad y |
macos: bad y |
minix: bad y |
netbsd: bad y |
omnios: bad y |
openbsd: bad y |
solaris: bad y |
sortix: good recv: EWOULDBLOCK |
§ trio-send-wrong-y-connect-send-right-x-poll | aix: good 0 | POLLIN | POLLOUT |
dragonfly: good 0 | POLLIN | POLLOUT |
freebsd: good 0 | POLLIN | POLLOUT |
haiku: good 0 | POLLIN | POLLOUT |
hurd: good 0 | POLLIN | POLLOUT |
linux: good 0 | POLLIN | POLLOUT |
macos: good 0 | POLLIN | POLLOUT |
minix: good 0 | POLLIN | POLLOUT |
netbsd: good 0 | POLLIN | POLLOUT |
omnios: good 0 | POLLIN | POLLOUT |
openbsd: good 0 | POLLIN | POLLOUT |
solaris: good 0 | POLLIN | POLLOUT |
sortix: good 0 | POLLIN | POLLOUT |
§ trio-send-wrong-y-connect-send-right-x-recv | aix: bad y |
dragonfly: bad y |
freebsd: bad y |
haiku: bad y |
hurd: bad y |
linux: bad y |
macos: bad y |
minix: bad y |
netbsd: bad y |
omnios: bad y |
openbsd: bad y |
solaris: bad y |
sortix: good x |
§ unconnect | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: bad unconnect: EAFNOSUPPORT |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad unconnect: EAFNOSUPPORT |
minix: good exit: 0 |
netbsd: bad unconnect: EAFNOSUPPORT |
omnios: bad unconnect: EINVAL |
openbsd: bad unconnect: EAFNOSUPPORT |
solaris: bad unconnect: EINVAL |
sortix: good exit: 0 |
§ unconnect-getpeername | aix: good getpeername: ENOTCONN |
dragonfly: good getpeername: ENOTCONN |
freebsd: bad unconnect: EAFNOSUPPORT |
haiku: bad 0.0.0.0:0 |
hurd: good getpeername: ENOTCONN |
linux: good getpeername: ENOTCONN |
macos: bad unconnect: EAFNOSUPPORT |
minix: good getpeername: ENOTCONN |
netbsd: bad unconnect: EAFNOSUPPORT |
omnios: bad unconnect: EINVAL |
openbsd: bad unconnect: EAFNOSUPPORT |
solaris: bad unconnect: EINVAL |
sortix: good getpeername: ENOTCONN |
§ unconnect-getsockname | aix: unknown 0.0.0.0:0 |
dragonfly: unknown 0.0.0.0:non-zero |
freebsd: bad unconnect: EAFNOSUPPORT |
haiku: unknown 0.0.0.0:non-zero |
hurd: unknown 0.0.0.0:non-zero |
linux: unknown 0.0.0.0:0 |
macos: bad unconnect: EAFNOSUPPORT |
minix: unknown 0.0.0.0:0 |
netbsd: bad unconnect: EAFNOSUPPORT |
omnios: bad unconnect: EINVAL |
openbsd: bad unconnect: EAFNOSUPPORT |
solaris: bad unconnect: EINVAL |
sortix: unknown 0.0.0.0:0 |