1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-03-09 15:50:02 +00:00

Only run pty tests on systems where pty is known to be good

On some systems (AIX, HP-UX, OpenBSD) the pty tests may hang.

On all systems except Darwin/macOS, FreeBSD and Linux, the pty
tests show one or more regressions. But when I try out the failing
tests manually in a real session, it seems to work fine. So I
suspect pty is broken and not ksh.

src/cmd/ksh93/tests/pty.sh:
- For now, only run the pty tests on Darwin, FreeBSD and Linux.

src/lib/libast/Mamfile:
- tvsleep.c: Add missing error.h dependency (re: 2f7918de).
  (unrelated, but just wasn't worth its own commit)
This commit is contained in:
Martijn Dekker 2021-02-23 09:37:20 +00:00
parent 733f70e94b
commit e3882fe71b
2 changed files with 8 additions and 0 deletions

View file

@ -47,6 +47,13 @@ integer Errors=0 lineno=1
[[ -d $tmp && -w $tmp && $tmp == "$PWD" ]] || { err\_exit "$LINENO" '$tmp not set; run this from shtests. Aborting.'; exit 1; } [[ -d $tmp && -w $tmp && $tmp == "$PWD" ]] || { err\_exit "$LINENO" '$tmp not set; run this from shtests. Aborting.'; exit 1; }
whence -q pty || { warning "pty command not found -- tests skipped"; exit 0; } whence -q pty || { warning "pty command not found -- tests skipped"; exit 0; }
case $(uname -s) in
Darwin | FreeBSD | Linux )
;;
* ) warning "pty not confirmed to work correctly on this system -- tests skipped"
exit 0 ;;
esac
# On some systems, the stty command does not appear to work correctly on a pty pseudoterminal. # On some systems, the stty command does not appear to work correctly on a pty pseudoterminal.
# To avoid false regressions, we have to set 'erase' and 'kill' on the real terminal. # To avoid false regressions, we have to set 'erase' and 'kill' on the real terminal.
if test -t 0 2>/dev/null </dev/tty && stty_restore=$(stty -g </dev/tty) if test -t 0 2>/dev/null </dev/tty && stty_restore=$(stty -g </dev/tty)

View file

@ -2428,6 +2428,7 @@ make install
make tvsleep.o make tvsleep.o
make tm/tvsleep.c make tm/tvsleep.c
prev FEATURE/tvlib implicit prev FEATURE/tvlib implicit
prev include/error.h implicit
prev include/tm.h implicit prev include/tm.h implicit
prev tv.h implicit prev tv.h implicit
done tm/tvsleep.c done tm/tvsleep.c