os-test > basic
Legend
This page is an overview of the test results from the contained suites.
Each cell contains the percentage scores of the test results for a operating system on a suite, along with the number of good test results and the total number of non-neutral test results. Test outcomes that are unknown, neutral, or otherwise non-good and non-bad are not counted.
Click on the the percentages to explore the detailed suite test results.
If the cell scored any partial test outcomes, then a smaller alternate percentage is shown beneath, showing what the score would have been if the following minor problems had not occurred:
- extension - The POSIX feature macro values did not work, but implementation-specific feature macros did work. This outcome typically indicates a recently standardized feature.
- previous_posix - The latest POSIX feature macro values did not work, but the previous values worked. This outcome indicates the headers are not forward compatible with new standards.
The table is sliced into the mandatory POSIX section, and a section for each applicable optional part of POSIX. Each table section is headed by an overall score for the option if multiple suites cover that option.
Subsuites
The basic suite contains the following subsuites:
basic
This suite tests basic invocations of all functions.
The goal to test if functions work on basic, hello-world level inputs, as a overall runtime coverage metric, as opposed to detailed unit tests.
| aix AIX 3 00F9C1964C00 |
dragonfly DragonFly 6.4-RELEASE x86_64 |
freebsd FreeBSD 14.3-RELEASE-p2 amd64 |
haiku Haiku 1 x86_64 |
hurd GNU 0.9 i686-AT386 |
linux Linux 6.16.12+deb14+1-amd64 x86_64 |
macos Darwin 24.6.0 arm64 |
managarm Managarm 0.0.1-rolling x86_64 |
minix Minix 3.4.0 i386 |
musl Linux 6.12.54-0-lts x86_64 |
netbsd NetBSD 10.1 amd64 |
omnios SunOS 5.11 i86pc |
openbsd OpenBSD 7.7 amd64 |
redox Redox 0.5.12 x86_64 |
solaris SunOS 5.11 sun4v |
sortix Sortix 1.1.0-dev x86_64 |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| § overall | aix: 91% (263/287) |
dragonfly: 83% (241/287) |
freebsd: 97% (281/287) |
haiku: 92% (265/287) |
hurd: 94% (271/287) |
linux: 97% (280/287) |
macos: 78% (226/287) |
managarm: 83% (93/112) |
minix: 72% (209/287) |
musl: 98% (282/287) |
netbsd: 96% (276/287) |
omnios: 93% (269/287) |
openbsd: 82% (238/287) |
redox: 62% (146/234) |
solaris: 95% (275/287) |
sortix: 92% (265/287) |
| § locale | aix: 85% (6/7) |
dragonfly: 85% (6/7) |
freebsd: 85% (6/7) |
haiku: 85% (6/7) |
hurd: 85% (6/7) |
linux: 85% (6/7) |
macos: 85% (6/7) |
managarm: 28% (2/7) |
minix: 71% (5/7) |
musl: 85% (6/7) |
netbsd: 71% (5/7) |
omnios: 100% (7/7) |
openbsd: 85% (6/7) |
redox: 28% (2/7) |
solaris: 85% (6/7) |
sortix: 100% (7/7) |
| § sched | aix: 0% (0/1) |
dragonfly: 0% (0/1) |
freebsd: 0% (0/1) |
haiku: 0% (0/1) |
hurd: 0% (0/1) |
linux: 0% (0/1) |
macos: 0% (0/1) |
managarm: 0% (0/0) |
minix: 0% (0/1) |
musl: 0% (0/1) |
netbsd: 0% (0/1) |
omnios: 0% (0/1) |
openbsd: 0% (0/1) |
redox: 0% (0/0) |
solaris: 0% (0/1) |
sortix: 0% (0/1) |
| § signal | aix: 81% (18/22) |
dragonfly: 77% (17/22) |
freebsd: 90% (20/22) |
haiku: 90% (20/22) |
hurd: 77% (17/22) |
linux: 90% (20/22) |
macos: 59% (13/22) |
managarm: 0% (0/0) |
minix: 63% (14/22) |
musl: 86% (19/22) |
netbsd: 90% (20/22) |
omnios: 86% (19/22) |
openbsd: 72% (16/22) |
redox: 72% (16/22) |
solaris: 100% (22/22) |
sortix: 68% (15/22) |
| § stdio | aix: 100% (1/1) |
dragonfly: 100% (1/1) |
freebsd: 100% (1/1) |
haiku: 100% (1/1) |
hurd: 100% (1/1) |
linux: 100% (1/1) |
macos: 100% (1/1) |
managarm: 100% (1/1) |
minix: 100% (1/1) |
musl: 100% (1/1) |
netbsd: 100% (1/1) |
omnios: 100% (1/1) |
openbsd: 100% (1/1) |
redox: 100% (1/1) |
solaris: 100% (1/1) |
sortix: 100% (1/1) |
| § stdlib | aix: 91% (45/49) |
dragonfly: 95% (47/49) |
freebsd: 100% (49/49) |
haiku: 89% (44/49) |
hurd: 100% (49/49) |
linux: 100% (49/49) |
macos: 93% (46/49) |
managarm: 100% (3/3) |
minix: 89% (44/49) |
musl: 100% (49/49) |
netbsd: 95% (47/49) |
omnios: 100% (49/49) |
openbsd: 91% (45/49) |
redox: 91% (45/49) |
solaris: 100% (49/49) |
sortix: 97% (48/49) |
| § string | aix: 94% (34/36) |
dragonfly: 100% (36/36) |
freebsd: 100% (36/36) |
haiku: 100% (36/36) |
hurd: 94% (34/36) |
linux: 100% (36/36) |
macos: 91% (33/36) |
managarm: 0% (0/0) |
minix: 100% (36/36) |
musl: 100% (36/36) |
netbsd: 100% (36/36) |
omnios: 100% (36/36) |
openbsd: 100% (36/36) |
redox: 0% (0/0) |
solaris: 100% (36/36) |
sortix: 97% (35/36) |
| § sys_mman | aix: 100% (3/3) |
dragonfly: 100% (3/3) |
freebsd: 100% (3/3) |
haiku: 100% (3/3) |
hurd: 100% (3/3) |
linux: 100% (3/3) |
macos: 100% (3/3) |
managarm: 0% (0/0) |
minix: 66% (2/3) |
musl: 100% (3/3) |
netbsd: 100% (3/3) |
omnios: 100% (3/3) |
openbsd: 100% (3/3) |
redox: 0% (0/0) |
solaris: 100% (3/3) |
sortix: 100% (3/3) |
| § sys_socket | aix: 94% (18/19) |
dragonfly: 100% (19/19) |
freebsd: 100% (19/19) |
haiku: 94% (18/19) |
hurd: 84% (16/19) |
linux: 100% (19/19) |
macos: 89% (17/19) |
managarm: 0% (0/0) |
minix: 89% (17/19) |
musl: 100% (19/19) |
netbsd: 100% (19/19) |
omnios: 100% (19/19) |
openbsd: 100% (19/19) |
redox: 31% (6/19) |
solaris: 100% (19/19) |
sortix: 94% (18/19) |
| § sys_stat | aix: 100% (14/14) |
dragonfly: 100% (14/14) |
freebsd: 100% (14/14) |
haiku: 85% (12/14) |
hurd: 100% (14/14) |
linux: 100% (14/14) |
macos: 85% (12/14) |
managarm: 0% (0/0) |
minix: 64% (9/14) |
musl: 100% (14/14) |
netbsd: 100% (14/14) |
omnios: 100% (14/14) |
openbsd: 100% (14/14) |
redox: 71% (10/14) |
solaris: 100% (14/14) |
sortix: 78% (11/14) |
| § termios | aix: 84% (11/13) |
dragonfly: 76% (10/13) |
freebsd: 92% (12/13) |
haiku: 69% (9/13) |
hurd: 84% (11/13) |
linux: 84% (11/13) |
macos: 84% (11/13) |
managarm: 0% (0/0) |
minix: 76% (10/13) |
musl: 100% (13/13) |
netbsd: 92% (12/13) |
omnios: 38% (5/13) |
openbsd: 76% (10/13) |
redox: 0% (0/0) |
solaris: 84% (11/13) |
sortix: 84% (11/13) |
| § threads | aix: 88% (22/25) |
dragonfly: 0% (0/25) |
freebsd: 100% (25/25) |
haiku: 100% (25/25) |
hurd: 100% (25/25) |
linux: 100% (25/25) |
macos: 0% (0/25) |
managarm: 84% (21/25) |
minix: 0% (0/25) |
musl: 100% (25/25) |
netbsd: 100% (25/25) |
omnios: 100% (25/25) |
openbsd: 0% (0/25) |
redox: 0% (0/25) |
solaris: 100% (25/25) |
sortix: 100% (25/25) |
| § time | aix: 95% (21/22) |
dragonfly: 77% (17/22) |
freebsd: 100% (22/22) |
haiku: 95% (21/22) |
hurd: 95% (21/22) |
linux: 100% (22/22) |
macos: 68% (15/22) |
managarm: 100% (1/1) |
minix: 68% (15/22) |
musl: 100% (22/22) |
netbsd: 95% (21/22) |
omnios: 100% (22/22) |
openbsd: 72% (16/22) |
redox: 68% (15/22) |
solaris: 77% (17/22) |
sortix: 90% (20/22) |
| § unistd | aix: 93% (70/75) |
dragonfly: 94% (71/75) |
freebsd: 98% (74/75) |
haiku: 93% (70/75) |
hurd: 98% (74/75) |
linux: 98% (74/75) |
macos: 92% (69/75) |
managarm: 86% (65/75) |
minix: 74% (56/75) |
musl: 100% (75/75) |
netbsd: 97% (73/75) |
omnios: 92% (69/75) |
openbsd: 96% (72/75) |
redox: 68% (51/75) |
solaris: 96% (72/75) |
sortix: 94% (71/75) |
|
Optional: ADV Advisory Information |
||||||||||||||||
| § ADV | aix: 100% (2/2) |
dragonfly: 100% (2/2) |
freebsd: 100% (2/2) |
haiku: 100% (2/2) |
hurd: 100% (2/2) |
linux: 100% (2/2) |
macos: 100% (2/2) |
managarm: 0% (0/0) |
minix: 50% (1/2) |
musl: 100% (2/2) |
netbsd: 100% (2/2) |
omnios: 100% (2/2) |
openbsd: 100% (2/2) |
redox: 100% (1/1) |
solaris: 100% (2/2) |
sortix: 0% (0/2) |
| § stdlib | aix: 100% (1/1) |
dragonfly: 100% (1/1) |
freebsd: 100% (1/1) |
haiku: 100% (1/1) |
hurd: 100% (1/1) |
linux: 100% (1/1) |
macos: 100% (1/1) |
managarm: 0% (0/0) |
minix: 100% (1/1) |
musl: 100% (1/1) |
netbsd: 100% (1/1) |
omnios: 100% (1/1) |
openbsd: 100% (1/1) |
redox: 100% (1/1) |
solaris: 100% (1/1) |
sortix: 0% (0/1) |
| § sys_mman | aix: 100% (1/1) |
dragonfly: 100% (1/1) |
freebsd: 100% (1/1) |
haiku: 100% (1/1) |
hurd: 100% (1/1) |
linux: 100% (1/1) |
macos: 100% (1/1) |
managarm: 0% (0/0) |
minix: 0% (0/1) |
musl: 100% (1/1) |
netbsd: 100% (1/1) |
omnios: 100% (1/1) |
openbsd: 100% (1/1) |
redox: 0% (0/0) |
solaris: 100% (1/1) |
sortix: 0% (0/1) |
|
Optional: CPT Process CPU-Time Clocks |
||||||||||||||||
| § time | aix: 100% (1/1) |
dragonfly: 100% (1/1) |
freebsd: 100% (1/1) |
haiku: 100% (1/1) |
hurd: 100% (1/1) |
linux: 100% (1/1) |
macos: 0% (0/1) |
managarm: 0% (0/0) |
minix: 0% (0/1) |
musl: 100% (1/1) |
netbsd: 100% (1/1) |
omnios: 0% (0/1) |
openbsd: 100% (1/1) |
redox: 0% (0/1) |
solaris: 100% (1/1) |
sortix: 0% (0/1) |
|
Optional: FSC File Synchronization |
||||||||||||||||
| § unistd | aix: 100% (1/1) |
dragonfly: 100% (1/1) |
freebsd: 100% (1/1) |
haiku: 100% (1/1) |
hurd: 100% (1/1) |
linux: 100% (1/1) |
macos: 100% (1/1) |
managarm: 100% (1/1) |
minix: 100% (1/1) |
musl: 100% (1/1) |
netbsd: 100% (1/1) |
omnios: 100% (1/1) |
openbsd: 100% (1/1) |
redox: 100% (1/1) |
solaris: 100% (1/1) |
sortix: 100% (1/1) |
|
Optional: ML Process Memory Locking |
||||||||||||||||
| § sys_mman | aix: 100% (2/2) |
dragonfly: 100% (2/2) |
freebsd: 100% (2/2) |
haiku: 0% (0/2) |
hurd: 100% (2/2) |
linux: 100% (2/2) |
macos: 0% (0/2) |
managarm: 0% (0/0) |
minix: 0% (0/2) |
musl: 100% (2/2) |
netbsd: 100% (2/2) |
omnios: 100% (2/2) |
openbsd: 100% (2/2) |
redox: 0% (0/0) |
solaris: 100% (2/2) |
sortix: 0% (0/2) |
|
Optional: MLR Range Memory Locking |
||||||||||||||||
| § sys_mman | aix: 100% (2/2) |
dragonfly: 100% (2/2) |
freebsd: 100% (2/2) |
haiku: 100% (2/2) |
hurd: 100% (2/2) |
linux: 100% (2/2) |
macos: 100% (2/2) |
managarm: 0% (0/0) |
minix: 0% (0/2) |
musl: 100% (2/2) |
netbsd: 100% (2/2) |
omnios: 100% (2/2) |
openbsd: 100% (2/2) |
redox: 0% (0/0) |
solaris: 100% (2/2) |
sortix: 0% (0/2) |
|
Optional: OB Obsolescent |
||||||||||||||||
| § time | aix: 100% (2/2) |
dragonfly: 100% (2/2) |
freebsd: 100% (2/2) |
haiku: 100% (2/2) |
hurd: 100% (2/2) |
linux: 100% (2/2) |
macos: 100% (2/2) |
managarm: 0% (0/0) |
minix: 100% (2/2) |
musl: 100% (2/2) |
netbsd: 100% (2/2) |
omnios: 100% (2/2) |
openbsd: 100% (2/2) |
redox: 100% (2/2) |
solaris: 100% (2/2) |
sortix: 50% (1/2) |
|
Optional: OB XSI Obsolescent and X/Open System Interfaces |
||||||||||||||||
| § OB XSI | aix: 0% (0/2) |
dragonfly: 100% (2/2) |
freebsd: 0% (0/2) |
haiku: 100% (2/2) |
hurd: 0% (0/2) |
linux: 0% (0/2) |
macos: 100% (2/2) |
managarm: 0% (0/1) |
minix: 0% (0/2) |
musl: 100% (2/2) |
netbsd: 100% (2/2) |
omnios: 50% (1/2) |
openbsd: 0% (0/2) |
redox: 0% (0/2) |
solaris: 50% (1/2) |
sortix: 0% (0/2) |
| § stdlib | aix: 0% (0/1) |
dragonfly: 100% (1/1) |
freebsd: 0% (0/1) |
haiku: 100% (1/1) |
hurd: 0% (0/1) |
linux: 0% (0/1) |
macos: 100% (1/1) |
managarm: 0% (0/0) |
minix: 0% (0/1) |
musl: 100% (1/1) |
netbsd: 100% (1/1) |
omnios: 100% (1/1) |
openbsd: 0% (0/1) |
redox: 0% (0/1) |
solaris: 100% (1/1) |
sortix: 0% (0/1) |
| § unistd | aix: 0% (0/1) |
dragonfly: 100% (1/1) |
freebsd: 0% (0/1) |
haiku: 100% (1/1) |
hurd: 0% (0/1) |
linux: 0% (0/1) |
macos: 100% (1/1) |
managarm: 0% (0/1) |
minix: 0% (0/1) |
musl: 100% (1/1) |
netbsd: 100% (1/1) |
omnios: 0% (0/1) |
openbsd: 0% (0/1) |
redox: 0% (0/1) |
solaris: 0% (0/1) |
sortix: 0% (0/1) |
|
Optional: PS Process Scheduling |
||||||||||||||||
| § sched | aix: 100% (4/4) |
dragonfly: 100% (4/4) |
freebsd: 100% (4/4) |
haiku: 0% (0/4) |
hurd: 25% (1/4) |
linux: 100% (4/4) |
macos: 0% (0/4) |
managarm: 0% (0/0) |
minix: 0% (0/4) |
musl: 0% (0/4) |
netbsd: 50% (2/4) |
omnios: 100% (4/4) |
openbsd: 0% (0/4) |
redox: 0% (0/0) |
solaris: 100% (4/4) |
sortix: 0% (0/4) |
|
Optional: PS|TPS Process Scheduling or Thread Execution Scheduling |
||||||||||||||||
| § sched | aix: 100% (3/3) |
dragonfly: 66% (2/3) |
freebsd: 100% (3/3) |
haiku: 33% (1/3) |
hurd: 0% (0/3) |
linux: 100% (3/3) |
macos: 66% (2/3) |
managarm: 0% (0/0) |
minix: 0% (0/3) |
musl: 100% (3/3) |
netbsd: 100% (3/3) |
omnios: 100% (3/3) |
openbsd: 66% (2/3) |
redox: 0% (0/0) |
solaris: 100% (3/3) |
sortix: 0% (0/3) |
|
Optional: SHM Shared Memory Objects |
||||||||||||||||
| § sys_mman | aix: 100% (2/2) |
dragonfly: 100% (2/2) |
freebsd: 100% (2/2) |
haiku: 100% (2/2) |
hurd: 100% (2/2) |
linux: 100% (2/2) |
macos: 100% (2/2) |
managarm: 0% (0/0) |
minix: 0% (0/2) |
musl: 100% (2/2) |
netbsd: 100% (2/2) |
omnios: 100% (2/2) |
openbsd: 100% (2/2) |
redox: 0% (0/0) |
solaris: 100% (2/2) |
sortix: 0% (0/2) |
|
Optional: SIO Synchronized Input and Output |
||||||||||||||||
| § unistd | aix: 100% (1/1) |
dragonfly: 100% (1/1) |
freebsd: 100% (1/1) |
haiku: 100% (1/1) |
hurd: 100% (1/1) |
linux: 100% (1/1) |
macos: 100% (1/1) |
managarm: 100% (1/1) |
minix: 0% (0/1) |
musl: 100% (1/1) |
netbsd: 100% (1/1) |
omnios: 100% (1/1) |
openbsd: 100% (1/1) |
redox: 100% (1/1) |
solaris: 100% (1/1) |
sortix: 0% (0/1) |
|
Optional: TYM Typed Memory Objects |
||||||||||||||||
| § sys_mman | aix: 0% (0/3) |
dragonfly: 0% (0/3) |
freebsd: 0% (0/3) |
haiku: 0% (0/3) |
hurd: 0% (0/3) |
linux: 0% (0/3) |
macos: 0% (0/3) |
managarm: 0% (0/0) |
minix: 0% (0/3) |
musl: 0% (0/3) |
netbsd: 0% (0/3) |
omnios: 0% (0/3) |
openbsd: 0% (0/3) |
redox: 0% (0/0) |
solaris: 0% (0/3) |
sortix: 0% (0/3) |
|
Optional: XSI X/Open System Interfaces |
||||||||||||||||
| § XSI | aix: 87% (35/40) |
dragonfly: 97% (39/40) |
freebsd: 97% (39/40) |
haiku: 82% (33/40) |
hurd: 100% (40/40) |
linux: 100% (40/40) |
macos: 90% (36/40) |
managarm: 41% (5/12) |
minix: 75% (30/40) |
musl: 100% (40/40) |
netbsd: 90% (36/40) |
omnios: 87% (35/40) |
openbsd: 92% (37/40) |
redox: 76% (30/39) |
solaris: 85% (34/40) |
sortix: 22% (9/40) |
| § signal | aix: 100% (2/2) |
dragonfly: 100% (2/2) |
freebsd: 100% (2/2) |
haiku: 100% (2/2) |
hurd: 100% (2/2) |
linux: 100% (2/2) |
macos: 100% (2/2) |
managarm: 0% (0/0) |
minix: 0% (0/2) |
musl: 100% (2/2) |
netbsd: 100% (2/2) |
omnios: 100% (2/2) |
openbsd: 100% (2/2) |
redox: 50% (1/2) |
solaris: 100% (2/2) |
sortix: 100% (2/2) |
| § stdlib | aix: 95% (20/21) |
dragonfly: 95% (20/21) |
freebsd: 100% (21/21) |
haiku: 95% (20/21) |
hurd: 100% (21/21) |
linux: 100% (21/21) |
macos: 100% (21/21) |
managarm: 0% (0/0) |
minix: 100% (21/21) |
musl: 100% (21/21) |
netbsd: 100% (21/21) |
omnios: 100% (21/21) |
openbsd: 95% (20/21) |
redox: 85% (18/21) |
solaris: 95% (20/21) |
sortix: 23% (5/21) |
| § string | aix: 100% (1/1) |
dragonfly: 100% (1/1) |
freebsd: 100% (1/1) |
haiku: 100% (1/1) |
hurd: 100% (1/1) |
linux: 100% (1/1) |
macos: 100% (1/1) |
managarm: 0% (0/0) |
minix: 100% (1/1) |
musl: 100% (1/1) |
netbsd: 100% (1/1) |
omnios: 100% (1/1) |
openbsd: 100% (1/1) |
redox: 0% (0/0) |
solaris: 100% (1/1) |
sortix: 100% (1/1) |
| § sys_stat | aix: 100% (2/2) |
dragonfly: 100% (2/2) |
freebsd: 100% (2/2) |
haiku: 100% (2/2) |
hurd: 100% (2/2) |
linux: 100% (2/2) |
macos: 100% (2/2) |
managarm: 0% (0/0) |
minix: 50% (1/2) |
musl: 100% (2/2) |
netbsd: 100% (2/2) |
omnios: 100% (2/2) |
openbsd: 100% (2/2) |
redox: 100% (2/2) |
solaris: 100% (2/2) |
sortix: 0% (0/2) |
| § time | aix: 100% (2/2) |
dragonfly: 100% (2/2) |
freebsd: 50% (1/2) |
haiku: 50% (1/2) |
hurd: 100% (2/2) |
linux: 100% (2/2) |
macos: 100% (2/2) |
managarm: 0% (0/0) |
minix: 100% (2/2) |
musl: 100% (2/2) |
netbsd: 100% (2/2) |
omnios: 100% (2/2) |
openbsd: 50% (1/2) |
redox: 50% (1/2) |
solaris: 100% (2/2) |
sortix: 50% (1/2) |
| § unistd | aix: 66% (8/12) |
dragonfly: 100% (12/12) |
freebsd: 100% (12/12) |
haiku: 58% (7/12) |
hurd: 100% (12/12) |
linux: 100% (12/12) |
macos: 66% (8/12) |
managarm: 41% (5/12) |
minix: 41% (5/12) |
musl: 100% (12/12) |
netbsd: 66% (8/12) |
omnios: 58% (7/12) |
openbsd: 91% (11/12) |
redox: 66% (8/12) |
solaris: 58% (7/12) |
sortix: 0% (0/12) |
|
Optional: XSI|SIO X/Open System Interfaces or Synchronized Input and Output |
||||||||||||||||
| § sys_mman | aix: 100% (1/1) |
dragonfly: 100% (1/1) |
freebsd: 100% (1/1) |
haiku: 100% (1/1) |
hurd: 100% (1/1) |
linux: 100% (1/1) |
macos: 100% (1/1) |
managarm: 0% (0/0) |
minix: 0% (0/1) |
musl: 100% (1/1) |
netbsd: 100% (1/1) |
omnios: 100% (1/1) |
openbsd: 100% (1/1) |
redox: 0% (0/0) |
solaris: 100% (1/1) |
sortix: 0% (0/1) |