Migrate QA PTY test harness from vt100 to rio-vt - #4931
Conversation
|
Thanks @raphamorim for taking the time to contribute. This repository is observing a maintainer-managed PR intake gate in dry-run mode, so this pull request is staying open. This note helps maintainers prepare the allowlist before any enforcement is considered. Please read |
|
Thanks for this @raphamorim — swapping the QA harness to rio-vt through a neutral 1. Compile error under
|
|
Thanks for the review! About net2: is only in corcovado's Windows (and fuchsia, never-built) TCP/UDP socket code, and nearly all of it is #[allow(unused)]. Rio uses corcovado for PTY/event polling, not network sockets, so this is dead mio-inherited API surface. The socket2 swap is feasible and I can compile-verify it for x86_64-pc-windows-msvc locally (teletypewriter already builds for that target and pulls corcovado). The only non-mechanical bit is keepalive (net2's Option vs socket2's TcpKeepalive/bool), and that method is dead. |
|
updated, corcovado drops net2 for socket2 upstream |
Swaps the QA PTY test harness (
crates/tui/tests) from vt100 to rio-vt, Rio's terminal engine.The
Framehelper parsed the TUI's real PTY output with vt100 and read cell text and colors to assert on visible rendering. It now uses rio-vt through the same small surface. Cell colors are surfaced through a neutralqa_harness::Colorenum (Default/Idx/Rgb) that mirrors exactly what the tests already matched on, so the assertions are unchanged; only the dev-dependency and the harness internals move.The frame unit tests (blank interior columns, wide-glyph continuation cells) pass, and the PTY integration tests compile and run against the rio-vt harness.
Benchmark against vt100 and alacritty_terminal: https://github.com/raphamorim/rio-vt-benchmark
Background on the engine and why it was split out of Rio: https://rioterm.com/blog/2026/07/27/rio-vt-and-librio
No-Issue: migrate the QA PTY harness from vt100 to rio-vt