fix(terminal): skip PTY tests when child spawn fails, not just openpty (VA-71) #75
Loading…
Reference in a new issue
No description provided.
Delete branch "chore/checks-workflow-776d46a3"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The
check.ymlworkflow'scargo test --workspace --lib --lockedstep failed onhost::terminal::tests::resize_does_not_error_on_live_sessionwithspawn: Pty("No such file or directory (os error 2)"). The PTY skip guard added in VA-64 probes onlyopenpty(), but the operation that fails in thedocker buildsandbox is the subsequent childspawn. Under that PTY-hostile environment allocation is unreliable, so the single-openptypty_available()probe can win its race and return true while the realTerminalSession::open(a secondopenptyplus aspawn) then ENOENTs, turning an environment limitation into a hard test failure.Route the three PTY tests'
openthrough a newopen_session_or_skiphelper that treats anyPtyerror fromopenas "no usable PTY here" and skips, mirroringpty_available(). A non-Ptyerror still panics so real regressions surface, andopen_with_missing_program_returns_pty_errorkeeps asserting the bad-program path directly. PTY-capable hosts run all four tests unchanged; the sandbox now skips cleanly instead of failing the check.#VA-71
The `check.yml` workflow's `cargo test --workspace --lib --locked` step failed on `host::terminal::tests::resize_does_not_error_on_live_session` with `spawn: Pty("No such file or directory (os error 2)")`. The PTY skip guard added in VA-64 probes only `openpty()`, but the operation that fails in the `docker build` sandbox is the subsequent child `spawn`. Under that PTY-hostile environment allocation is unreliable, so the single-`openpty` `pty_available()` probe can win its race and return true while the real `TerminalSession::open` (a second `openpty` plus a `spawn`) then ENOENTs, turning an environment limitation into a hard test failure. Route the three PTY tests' `open` through a new `open_session_or_skip` helper that treats any `Pty` error from `open` as "no usable PTY here" and skips, mirroring `pty_available()`. A non-`Pty` error still panics so real regressions surface, and `open_with_missing_program_returns_pty_error` keeps asserting the bad-program path directly. PTY-capable hosts run all four tests unchanged; the sandbox now skips cleanly instead of failing the check. #VA-71