os-test > pty
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.
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: good tcgetpgrp: ENOTTY |
§ 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: good tcgetpgrp: ENOTTY |
§ 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: good tcgetsid: ENOTTY |
§ 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 tcgetpgrp: ENOTTY |
§ 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: good tcsetpgrp: ENOTTY |
§ 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: EPERM |
§ 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: good tcsetpgrp: EIO |
§ 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: good tcsetpgrp: EPERM |
§ 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: good exit: 0 |
§ 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: good exit: 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: good yes |
§ 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 |
§ tiocsctty-steal | aix: good no TIOCSCTTY |
dragonfly: good stealing ioctl: TIOCSCTTY: EPERM |
freebsd: good stealing ioctl: TIOCSCTTY: EPERM |
haiku: bad exit: 0 |
hurd: bad exit: 0 |
linux: good stealing ioctl: TIOCSCTTY: EPERM |
macos: good stealing ioctl: TIOCSCTTY: EPERM |
minix: bad exit: 0 |
netbsd: good stealing ioctl: TIOCSCTTY: EPERM |
omnios: bad stealing ioctl: TIOCSCTTY: ENOTTY |
openbsd: good stealing ioctl: TIOCSCTTY: EPERM |
solaris: bad stealing ioctl: TIOCSCTTY: ENOTTY |
sortix: good stealing ioctl: TIOCSCTTY: EPERM |
§ tiocsctty-steal-tiocnotty | aix: good no TIOCSCTTY |
dragonfly: good ioctl: TIOCNOTTY: ENOTTY |
freebsd: good ioctl: TIOCNOTTY: ENOTTY |
haiku: good no TIOCNOTTY |
hurd: good ioctl: TIOCNOTTY: EINVAL |
linux: good ioctl: TIOCNOTTY: ENOTTY |
macos: good ioctl: TIOCNOTTY: ENOTTY |
minix: good ioctl: TIOCNOTTY: ENOTTY |
netbsd: good ioctl: TIOCNOTTY: ENOTTY |
omnios: good stealing ioctl: TIOCSCTTY: ENOTTY |
openbsd: good ioctl: TIOCNOTTY: ENOTTY |
solaris: good stealing ioctl: TIOCSCTTY: ENOTTY |
sortix: good no TIOCNOTTY |
§ tiocsctty-tiocnotty-transfer | aix: good no TIOCSCTTY |
dragonfly: good ioctl: TIOCNOTTY: ENOTTY |
freebsd: good exit: 0 |
haiku: good no TIOCNOTTY |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good ioctl: TIOCNOTTY: ENOTTY |
minix: good ioctl: TIOCNOTTY: ENOTTY |
netbsd: good ioctl: TIOCNOTTY: ENOTTY |
omnios: good exit: 0 |
openbsd: good ioctl: TIOCNOTTY: ENOTTY |
solaris: good exit: 0 |
sortix: good no TIOCNOTTY |
§ tiocsctty-tiocnotty-transfer-dev-tty | aix: good no TIOCSCTTY |
dragonfly: good ioctl: TIOCNOTTY: EINVAL |
freebsd: good exit: 0 |
haiku: good no TIOCNOTTY |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good ioctl: TIOCNOTTY: EINVAL |
minix: bad ioctl: TIOCNOTTY: ENOTTY |
netbsd: good ioctl: TIOCNOTTY: EINVAL |
omnios: good ioctl: TIOCNOTTY: EINVAL |
openbsd: good ioctl: TIOCNOTTY: EINVAL |
solaris: good ioctl: TIOCNOTTY: EINVAL |
sortix: good no TIOCNOTTY |