Sortix
Sortix Download Manual Development Source Code News Blog More

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
Copyright 2011-2025 Jonas 'Sortie' Termansen and contributors.
Sortix's source code is free software under the ISC license.
#sortix on irc.sortix.org
@sortix_org