Skip to content

test(pty): exercise native ConPTY runtime - #12

Open
jlongster wants to merge 2 commits into
windows-pipesfrom
conpty-runtime
Open

test(pty): exercise native ConPTY runtime#12
jlongster wants to merge 2 commits into
windows-pipesfrom
conpty-runtime

Conversation

@jlongster

@jlongster jlongster commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator

P1 — native ConPTY runtime

Adds a reusable self-spawned Rust console fixture and six direct TerminalService tests on Unix and Windows, without daemon/client transport. Covers actual child stdin/stdout, Unicode, cwd/env/argv, supported child-PATH lookup, console resize, snapshots/replay, terminal replies, and independent terminals.

  • portable-pty 0.9.0 unchanged; existing ConPTY runtime passes the basic tests without runtime rewrites. Actor-owned Ghostty and one PTY reader/writer preserved.
  • Minimal windows-sys 0.61.2 Console dev dependency; native Windows x64/ARM64 CI adds Clippy and runtime diagnostics.
  • Fixed pre-existing Unix-only client imports exposed by Windows Clippy (coordinated with transport).
  • Fixture explicitly restores blocking mode after BSD accept; its deadline bounds hung tests only, not runtime cleanup.
  • Optional relative-program lookup probe is outside Git; no undocumented cross-platform resolver parity imposed.

Verified at 3a1d57d

Windows run 33777172486:

  • Native x64: 19 library + 5 callback + 6 real ConPTY runtime tests passed; standalone library 19/19.
  • Native ARM64: same 30 tests passed, plus standalone library 19/19. OS architecture and PE target assertions passed; not x64 runtime emulation.
  • Both: formatting, Clippy all targets/features, build and executable smoke passed.

Core run 33777172540:

  • Linux: 51 tests passed. macOS: 47 tests passed.
  • Miri: 5 Stacked + 5 Tree Borrows passed.
  • The one ignored runtime test is the deliberately self-spawned fixture entry, not omitted coverage.
  • Local Linux full suite and play query-response smoke also passed.

P1 basic native runtime gate is complete. P2 termination/EOF/cleanup follows as a separate stacked PR. Named-pipe transport is an independent lane. Do not merge.

@jlongster
jlongster marked this pull request as ready for review September 3, 2026 16:18
@jlongster
jlongster changed the base branch from master to windows-pipes September 3, 2026 17:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant