[INFO] fetching crate retach 0.8.1...
[INFO] testing retach-0.8.1 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate retach 0.8.1 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate retach 0.8.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate retach 0.8.1
[INFO] tweaked toml for crates.io crate retach 0.8.1 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate retach 0.8.1 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate retach 0.8.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 33be0436d8aeec4a6758cd9a09e0fb89188f0eab3aaa1b2f9d0d4457e21b36cd
[INFO] running `Command { std: "docker" "start" "-a" "33be0436d8aeec4a6758cd9a09e0fb89188f0eab3aaa1b2f9d0d4457e21b36cd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "33be0436d8aeec4a6758cd9a09e0fb89188f0eab3aaa1b2f9d0d4457e21b36cd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "33be0436d8aeec4a6758cd9a09e0fb89188f0eab3aaa1b2f9d0d4457e21b36cd", kill_on_drop: false }`
[INFO] [stdout] 33be0436d8aeec4a6758cd9a09e0fb89188f0eab3aaa1b2f9d0d4457e21b36cd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 220fa63e7d0e795304c49c4f02090fd558ac9dbdc5cdad60225af2188451338e
[INFO] running `Command { std: "docker" "start" "-a" "220fa63e7d0e795304c49c4f02090fd558ac9dbdc5cdad60225af2188451338e", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling vte_generate_state_changes v0.1.2
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling shell-words v1.1.1
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling vte v0.13.1
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling terminal_size v0.4.3
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling ioctl-rs v0.1.6
[INFO] [stderr]    Compiling termios v0.2.2
[INFO] [stderr]    Compiling serial-core v0.4.0
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling filedescriptor v0.8.3
[INFO] [stderr]    Compiling nix v0.25.1
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling serial-unix v0.4.0
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling serial v0.4.0
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling portable-pty v0.8.1
[INFO] [stderr]    Compiling retach v0.8.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/screen/grid.rs:320:19
[INFO] [stdout]     |
[INFO] [stdout] 231 | impl Grid {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 320 |     pub(super) fn cursor_x(&self) -> u16 { self.cursor_x }
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 328 |     pub(super) fn set_cursor_x_unclamped(&mut self, x: u16) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 340 |     pub(super) fn set_wrap_pending(&mut self, val: bool) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 346 |     pub(super) fn set_cursor_visible(&mut self, visible: bool) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 359 |     pub(super) fn scroll_top(&self) -> u16 { self.scroll_top }
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 363 |     pub(super) fn scroll_bottom(&self) -> u16 { self.scroll_bottom }
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 367 |     pub(super) fn modes_mut(&mut self) -> &mut TerminalModes { &mut self.modes }
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 371 |     pub(super) fn set_modes(&mut self, modes: TerminalModes) {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 25.22s
[INFO] running `Command { std: "docker" "inspect" "220fa63e7d0e795304c49c4f02090fd558ac9dbdc5cdad60225af2188451338e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "220fa63e7d0e795304c49c4f02090fd558ac9dbdc5cdad60225af2188451338e", kill_on_drop: false }`
[INFO] [stdout] 220fa63e7d0e795304c49c4f02090fd558ac9dbdc5cdad60225af2188451338e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d691625fe29f6df3237532efbe067b22c69696882ee2f80a5c3f485336b1bcc7
[INFO] running `Command { std: "docker" "start" "-a" "d691625fe29f6df3237532efbe067b22c69696882ee2f80a5c3f485336b1bcc7", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling terminal_size v0.4.3
[INFO] [stderr]    Compiling tempfile v3.26.0
[INFO] [stderr]    Compiling retach v0.8.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/screen/grid.rs:320:19
[INFO] [stdout]     |
[INFO] [stdout] 231 | impl Grid {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 320 |     pub(super) fn cursor_x(&self) -> u16 { self.cursor_x }
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 328 |     pub(super) fn set_cursor_x_unclamped(&mut self, x: u16) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 340 |     pub(super) fn set_wrap_pending(&mut self, val: bool) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 346 |     pub(super) fn set_cursor_visible(&mut self, visible: bool) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 359 |     pub(super) fn scroll_top(&self) -> u16 { self.scroll_top }
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 363 |     pub(super) fn scroll_bottom(&self) -> u16 { self.scroll_bottom }
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 367 |     pub(super) fn modes_mut(&mut self) -> &mut TerminalModes { &mut self.modes }
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 371 |     pub(super) fn set_modes(&mut self, modes: TerminalModes) {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TerminalEmulator`
[INFO] [stdout]     --> src/screen/render.rs:1814:36
[INFO] [stdout]      |
[INFO] [stdout] 1814 |         use super::super::traits::{TerminalEmulator, TerminalRenderer};
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TerminalEmulator`
[INFO] [stdout]     --> src/screen/render.rs:1353:36
[INFO] [stdout]      |
[INFO] [stdout] 1353 |         use super::super::traits::{TerminalEmulator, TerminalRenderer};
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TerminalEmulator`
[INFO] [stdout]     --> src/screen/render.rs:1381:36
[INFO] [stdout]      |
[INFO] [stdout] 1381 |         use super::super::traits::{TerminalEmulator, TerminalRenderer};
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TerminalEmulator`
[INFO] [stdout]     --> src/screen/render.rs:1408:36
[INFO] [stdout]      |
[INFO] [stdout] 1408 |         use super::super::traits::{TerminalEmulator, TerminalRenderer};
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TerminalEmulator`
[INFO] [stdout]     --> src/screen/render.rs:1457:36
[INFO] [stdout]      |
[INFO] [stdout] 1457 |         use super::super::traits::{TerminalEmulator, TerminalRenderer};
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TerminalEmulator`
[INFO] [stdout]     --> src/screen/render.rs:1733:36
[INFO] [stdout]      |
[INFO] [stdout] 1733 |         use super::super::traits::{TerminalEmulator, TerminalRenderer};
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TerminalEmulator`
[INFO] [stdout]     --> src/screen/render.rs:1749:36
[INFO] [stdout]      |
[INFO] [stdout] 1749 |         use super::super::traits::{TerminalEmulator, TerminalRenderer};
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TerminalEmulator`
[INFO] [stdout]     --> src/screen/render.rs:1775:36
[INFO] [stdout]      |
[INFO] [stdout] 1775 |         use super::super::traits::{TerminalEmulator, TerminalRenderer};
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TerminalEmulator`
[INFO] [stdout]     --> src/screen/render.rs:1793:36
[INFO] [stdout]      |
[INFO] [stdout] 1793 |         use super::super::traits::{TerminalEmulator, TerminalRenderer};
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `grid` and `cell_width` are never used
[INFO] [stdout]    --> src/screen/mod.rs:136:19
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl Screen {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub(crate) fn grid(&self) -> &Grid {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub(crate) fn cell_width(&self, row: usize, col: usize) -> u8 {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_wrap_pending` and `set_modes` are never used
[INFO] [stdout]    --> src/screen/grid.rs:340:19
[INFO] [stdout]     |
[INFO] [stdout] 231 | impl Grid {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 340 |     pub(super) fn set_wrap_pending(&mut self, val: bool) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 371 |     pub(super) fn set_modes(&mut self, modes: TerminalModes) {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_nonempty_history` is never used
[INFO] [stdout]   --> src/screen/tests_progress_bar_scrollback.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn count_nonempty_history(screen: &Screen) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 16.75s
[INFO] running `Command { std: "docker" "inspect" "d691625fe29f6df3237532efbe067b22c69696882ee2f80a5c3f485336b1bcc7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d691625fe29f6df3237532efbe067b22c69696882ee2f80a5c3f485336b1bcc7", kill_on_drop: false }`
[INFO] [stdout] d691625fe29f6df3237532efbe067b22c69696882ee2f80a5c3f485336b1bcc7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] c76fff262a30d11dcc209a790ab8f64b59f580447c8f9eb97028fe1062328aec
[INFO] running `Command { std: "docker" "start" "-a" "c76fff262a30d11dcc209a790ab8f64b59f580447c8f9eb97028fe1062328aec", kill_on_drop: false }`
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stdout] 
[INFO] [stderr]    --> src/screen/grid.rs:320:19
[INFO] [stdout] running 695 tests
[INFO] [stderr]     |
[INFO] [stderr] 231 | impl Grid {
[INFO] [stderr]     | --------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 320 |     pub(super) fn cursor_x(&self) -> u16 { self.cursor_x }
[INFO] [stderr]     |                   ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 328 |     pub(super) fn set_cursor_x_unclamped(&mut self, x: u16) {
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 340 |     pub(super) fn set_wrap_pending(&mut self, val: bool) {
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 346 |     pub(super) fn set_cursor_visible(&mut self, visible: bool) {
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 359 |     pub(super) fn scroll_top(&self) -> u16 { self.scroll_top }
[INFO] [stderr]     |                   ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 363 |     pub(super) fn scroll_bottom(&self) -> u16 { self.scroll_bottom }
[INFO] [stderr]     |                   ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 367 |     pub(super) fn modes_mut(&mut self) -> &mut TerminalModes { &mut self.modes }
[INFO] [stderr]     |                   ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 371 |     pub(super) fn set_modes(&mut self, modes: TerminalModes) {
[INFO] [stderr]     |                   ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `retach` (lib) generated 1 warning
[INFO] [stderr] warning: unused import: `TerminalEmulator`
[INFO] [stderr]     --> src/screen/render.rs:1814:36
[INFO] [stderr]      |
[INFO] [stderr] 1814 |         use super::super::traits::{TerminalEmulator, TerminalRenderer};
[INFO] [stderr]      |                                    ^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TerminalEmulator`
[INFO] [stderr]     --> src/screen/render.rs:1353:36
[INFO] [stderr]      |
[INFO] [stderr] 1353 |         use super::super::traits::{TerminalEmulator, TerminalRenderer};
[INFO] [stderr]      |                                    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TerminalEmulator`
[INFO] [stderr]     --> src/screen/render.rs:1381:36
[INFO] [stderr]      |
[INFO] [stderr] 1381 |         use super::super::traits::{TerminalEmulator, TerminalRenderer};
[INFO] [stderr]      |                                    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TerminalEmulator`
[INFO] [stderr]     --> src/screen/render.rs:1408:36
[INFO] [stderr]      |
[INFO] [stderr] 1408 |         use super::super::traits::{TerminalEmulator, TerminalRenderer};
[INFO] [stderr]      |                                    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TerminalEmulator`
[INFO] [stderr]     --> src/screen/render.rs:1457:36
[INFO] [stderr]      |
[INFO] [stderr] 1457 |         use super::super::traits::{TerminalEmulator, TerminalRenderer};
[INFO] [stderr]      |                                    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TerminalEmulator`
[INFO] [stderr]     --> src/screen/render.rs:1733:36
[INFO] [stderr]      |
[INFO] [stderr] 1733 |         use super::super::traits::{TerminalEmulator, TerminalRenderer};
[INFO] [stderr]      |                                    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TerminalEmulator`
[INFO] [stderr]     --> src/screen/render.rs:1749:36
[INFO] [stderr]      |
[INFO] [stderr] 1749 |         use super::super::traits::{TerminalEmulator, TerminalRenderer};
[INFO] [stderr]      |                                    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TerminalEmulator`
[INFO] [stderr]     --> src/screen/render.rs:1775:36
[INFO] [stderr]      |
[INFO] [stderr] 1775 |         use super::super::traits::{TerminalEmulator, TerminalRenderer};
[INFO] [stderr]      |                                    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TerminalEmulator`
[INFO] [stderr]     --> src/screen/render.rs:1793:36
[INFO] [stderr]      |
[INFO] [stderr] 1793 |         use super::super::traits::{TerminalEmulator, TerminalRenderer};
[INFO] [stderr]      |                                    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `grid` and `cell_width` are never used
[INFO] [stderr]    --> src/screen/mod.rs:136:19
[INFO] [stderr]     |
[INFO] [stderr] 124 | impl Screen {
[INFO] [stderr]     | ----------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 136 |     pub(crate) fn grid(&self) -> &Grid {
[INFO] [stderr]     |                   ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 241 |     pub(crate) fn cell_width(&self, row: usize, col: usize) -> u8 {
[INFO] [stderr]     |                   ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `set_wrap_pending` and `set_modes` are never used
[INFO] [stderr]    --> src/screen/grid.rs:340:19
[INFO] [stderr]     |
[INFO] [stderr] 231 | impl Grid {
[INFO] [stderr]     | --------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 340 |     pub(super) fn set_wrap_pending(&mut self, val: bool) {
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 371 |     pub(super) fn set_modes(&mut self, modes: TerminalModes) {
[INFO] [stderr]     |                   ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `count_nonempty_history` is never used
[INFO] [stderr]   --> src/screen/tests_progress_bar_scrollback.rs:55:4
[INFO] [stderr]    |
[INFO] [stderr] 55 | fn count_nonempty_history(screen: &Screen) -> usize {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `retach` (lib test) generated 12 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.19s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/retach-ab190086fd11fdcd)
[INFO] [stdout] test screen::cell::tests::row_combining_basic ... ok
[INFO] [stdout] test screen::cell::tests::row_fix_wide_char_orphan_noop_when_short ... ok
[INFO] [stdout] test screen::cell::tests::row_clear_combining ... ok
[INFO] [stdout] test screen::cell::tests::cell_size ... ok
[INFO] [stdout] test screen::cell::tests::row_fix_wide_char_orphan_at_boundary_continuation ... ok
[INFO] [stdout] test screen::cell::tests::row_fix_wide_char_orphan_at_boundary_width2 ... ok
[INFO] [stdout] test screen::cell::tests::row_remove_shifts_combining ... ok
[INFO] [stdout] test screen::cell::tests::row_insert_shifts_combining ... ok
[INFO] [stdout] test screen::cell::tests::row_resize_truncates_combining ... ok
[INFO] [stdout] test screen::grid::tests::grid_new_zero_dimensions ... ok
[INFO] [stdout] test screen::grid::tests::grid_scroll_up ... ok
[INFO] [stdout] test screen::grid::tests::grid_scroll_up_alt_screen_no_scrollback ... ok
[INFO] [stdout] test screen::grid::tests::grid_scroll_up_respects_limit ... ok
[INFO] [stdout] test screen::grid::tests::pending_scrollback_respects_limit ... ok
[INFO] [stdout] test screen::grid::tests::resize_both_expand ... ok
[INFO] [stdout] test screen::grid::tests::resize_both_shrink ... ok
[INFO] [stdout] test screen::grid::tests::resize_both_shrink_clamps_cursor ... ok
[INFO] [stdout] test screen::grid::tests::resize_expand_preserves_cursor ... ok
[INFO] [stdout] test screen::grid::tests::resize_expand_cols_shrink_rows ... ok
[INFO] [stdout] test screen::grid::tests::resize_horizontal_expand_preserves_content ... ok
[INFO] [stdout] test screen::grid::tests::resize_horizontal_shrink_then_expand_loses_truncated ... ok
[INFO] [stdout] test screen::grid::tests::resize_horizontal_shrink_clamps_cursor ... ok
[INFO] [stdout] test screen::grid::tests::resize_multiple_sequential_preserves_overlap ... ok
[INFO] [stdout] test screen::grid::tests::resize_resets_scroll_region ... ok
[INFO] [stdout] test screen::grid::tests::resize_resets_tab_stops ... ok
[INFO] [stdout] test screen::grid::tests::resize_vertical_shrink_preserves_visible_content ... ok
[INFO] [stdout] test screen::grid::tests::resize_same_dimensions_preserves_everything ... ok
[INFO] [stdout] test screen::grid::tests::sanitize_zero_dimensions ... ok
[INFO] [stdout] test screen::grid::tests::resize_vertical_shrink_then_expand_loses_truncated ... ok
[INFO] [stdout] test screen::grid::tests::scroll_up_partial_region_with_scrollback_preserves_rows_below ... ok
[INFO] [stdout] test screen::grid::tests::resize_shrink_cols_expand_rows ... ok
[INFO] [stdout] test screen::grid::tests::scroll_up_full_region_with_scrollback_still_works ... ok
[INFO] [stdout] test screen::grid::tests::terminal_modes_default ... ok
[INFO] [stdout] test screen::grid::tests::resize_vertical_shrink_clamps_cursor ... ok
[INFO] [stdout] test screen::grid::tests_grid_safe_api::erase_cells_basic ... ok
[INFO] [stdout] test screen::grid::tests_grid_safe_api::erase_cells_fixes_wide_char_at_boundary ... ok
[INFO] [stdout] test screen::grid::tests::resize_vertical_expand_preserves_content ... ok
[INFO] [stdout] test screen::grid::tests_grid_safe_api::erase_rows_basic ... ok
[INFO] [stdout] test screen::grid::tests_grid_safe_api::set_cell_basic ... ok
[INFO] [stdout] test screen::grid::tests_grid_safe_api::set_cell_out_of_bounds_noop ... ok
[INFO] [stdout] test screen::grid::tests_grid_safe_api::set_cell_wide_char_overwrites_previous ... ok
[INFO] [stdout] test screen::grid::tests_grid_safe_api::set_cell_wide_char_places_continuation ... ok
[INFO] [stdout] test screen::history_boundary_tests::e2e_reattach_history_then_screen ... ok
[INFO] [stdout] test screen::history_boundary_tests::e2e_reattach_no_history_no_flush ... ok
[INFO] [stdout] test screen::history_boundary_tests::e2e_reattach_wide_terminal_to_narrow ... ok
[INFO] [stdout] test screen::grid::tests::grid_new_creates_correct_size ... ok
[INFO] [stdout] test screen::grid::tests_grid_safe_api::check_invariants_passes_on_fresh_grid ... ok
[INFO] [stdout] test screen::history_boundary_tests::e2e_reattach_with_styled_history ... ok
[INFO] [stdout] test screen::history_boundary_tests::e2e_resize_between_reattach_cycles ... ok
[INFO] [stdout] test screen::history_boundary_tests::e2e_scrollback_during_session_then_reattach ... ok
[INFO] [stdout] test screen::history_boundary_tests::history_and_screen_no_overlap ... ok
[INFO] [stdout] test screen::grid::tests::resize_horizontal_shrink_preserves_visible_content ... ok
[INFO] [stdout] test screen::history_boundary_tests::resize_expand_between_reattach_restores_scrollback ... ok
[INFO] [stdout] test screen::history_boundary_tests::history_ordering_preserved_with_many_lines ... ok
[INFO] [stdout] test screen::history_boundary_tests::resize_expand_moves_scrollback_to_screen_no_duplication ... ok
[INFO] [stdout] test screen::history_boundary_tests::resize_shrink_then_expand_roundtrip_no_duplication ... ok
[INFO] [stdout] test screen::history_boundary_tests::history_render_flush_newlines_match_rows ... ok
[INFO] [stdout] test screen::history_boundary_tests::pending_scrollback_drained_before_reattach ... ok
[INFO] [stdout] test screen::render::tests::cursor_position_always_emitted_on_full ... ok
[INFO] [stdout] test screen::render::tests::cursor_visibility_change_detected ... ok
[INFO] [stdout] test screen::history_boundary_tests::stale_pending_scrollback_only_new_lines ... ok
[INFO] [stdout] test screen::render::tests::full_render_no_erase_line ... ok
[INFO] [stdout] test screen::render::tests::incremental_no_screen_clear ... ok
[INFO] [stdout] test screen::render::tests::cursor_position_cached_across_renders ... ok
[INFO] [stdout] test screen::render::tests::cursor_visibility_cached ... ok
[INFO] [stdout] test screen::render::tests::modes_delta_skips_unchanged ... ok
[INFO] [stdout] test screen::render::tests::incremental_render_uses_erase_line ... ok
[INFO] [stdout] test screen::render::tests::modes_full_always_emitted ... ok
[INFO] [stdout] test screen::render::tests::noop_render_after_cursor_only_change ... ok
[INFO] [stdout] test screen::render::tests::no_scrollback_no_crlf_in_output ... ok
[INFO] [stdout] test screen::render::tests::non_noop_render_has_sync_block ... ok
[INFO] [stdout] test screen::render::tests::noop_render_returns_empty ... ok
[INFO] [stdout] test screen::render::tests::noop_render_trait_returns_empty ... ok
[INFO] [stdout] test screen::history_boundary_tests::resize_between_reattach_preserves_content ... ok
[INFO] [stdout] test screen::render::tests::reattach_history_flush_count ... ok
[INFO] [stdout] test screen::render::tests::reattach_no_flush_without_history ... ok
[INFO] [stdout] test screen::render::tests::incremental_render_smaller_than_full ... ok
[INFO] [stdout] test screen::render::tests::render_cache_invalidate ... ok
[INFO] [stdout] test screen::render::tests::render_cached_title_no_bell ... ok
[INFO] [stdout] test screen::render::tests::render_full_redraw_no_standalone_bell ... ok
[INFO] [stdout] test screen::render::tests::render_line_256_color ... ok
[INFO] [stdout] test screen::render::tests::render_line_blank ... ok
[INFO] [stdout] test screen::render::tests::render_line_combining_mark ... ok
[INFO] [stdout] test screen::render::tests::render_line_combined_attributes ... ok
[INFO] [stdout] test screen::render::tests::render_line_combining_on_wide_char ... ok
[INFO] [stdout] test screen::render::tests::render_line_multiple_style_changes ... ok
[INFO] [stdout] test screen::render::tests::render_line_rgb_color ... ok
[INFO] [stdout] test screen::render::tests::render_line_styled_spaces_not_blank ... ok
[INFO] [stdout] test screen::render::tests::render_line_skips_wide_char_continuation ... ok
[INFO] [stdout] test screen::render::tests::render_line_with_text ... ok
[INFO] [stdout] test screen::render::tests::render_line_wide_char_at_end ... ok
[INFO] [stdout] test screen::render::tests::render_line_with_style ... ok
[INFO] [stdout] test screen::render::tests::render_screen_after_resize ... ok
[INFO] [stdout] test screen::render::tests::render_screen_cursor_position ... ok
[INFO] [stdout] test screen::render::tests::render_no_title_no_bell_bytes ... ok
[INFO] [stdout] test screen::render::tests::render_no_standalone_bell ... ok
[INFO] [stdout] test screen::render::tests::render_screen_cursor_bottom_right ... ok
[INFO] [stdout] test screen::render::tests::render_line_styled_trailing_space ... ok
[INFO] [stdout] test screen::render::tests::render_screen_full ... ok
[INFO] [stdout] test screen::render::tests::render_screen_full_mode_emits_mouse_modes ... ok
[INFO] [stdout] test screen::render::tests::render_screen_hidden_cursor ... ok
[INFO] [stdout] test screen::render::tests::render_screen_includes_title ... ok
[INFO] [stdout] test screen::render::tests::render_screen_incremental_dirty_tracking ... ok
[INFO] [stdout] test screen::render::tests::render_screen_mode_delta_mouse_switch ... ok
[INFO] [stdout] test screen::render::tests::render_screen_mode_delta_bracketed_paste ... ok
[INFO] [stdout] test screen::render::tests::render_screen_1x1_grid ... ok
[INFO] [stdout] test screen::render::tests::render_screen_cursor_shape_delta ... ok
[INFO] [stdout] test screen::render::tests::render_screen_keypad_mode_delta ... ok
[INFO] [stdout] test screen::render::tests::render_screen_mouse_encoding_1005 ... ok
[INFO] [stdout] test screen::render::tests::render_screen_incremental ... ok
[INFO] [stdout] test screen::render::tests::render_screen_mouse_encoding_1006 ... ok
[INFO] [stdout] test screen::render::tests::render_screen_no_title_when_empty ... ok
[INFO] [stdout] test screen::render::tests::render_screen_style_only_change_detected ... ok
[INFO] [stdout] test screen::render::tests::render_screen_synchronized_output ... ok
[INFO] [stdout] test screen::render::tests::render_screen_title_cached ... ok
[INFO] [stdout] test screen::render::tests::render_screen_title_cleared ... ok
[INFO] [stdout] test screen::render::tests::render_screen_title_sanitized ... ok
[INFO] [stdout] test screen::render::tests::scroll_region_change_emitted ... ok
[INFO] [stdout] test screen::render::tests::title_not_reemitted_when_unchanged ... ok
[INFO] [stdout] test screen::render::tests::scroll_region_cached ... ok
[INFO] [stdout] test screen::render::tests::scrollback_forces_full_redraw ... ok
[INFO] [stdout] test screen::render::tests::title_emitted_when_changed ... ok
[INFO] [stdout] test screen::render::tests::scrollback_lines_use_cursor_positioning ... ok
[INFO] [stdout] test screen::render::tests::scrollback_positions_cursor_at_bottom ... ok
[INFO] [stdout] test screen::render::tests::scrollback_outside_sync_block ... ok
[INFO] [stdout] test screen::render::tests::trait_noop_render_no_sync_block ... ok
[INFO] [stdout] test screen::render::tests::trait_render_full_redraws_all_rows ... ok
[INFO] [stdout] test screen::render::tests::trait_mode_delta_only_changed ... ok
[INFO] [stdout] test screen::render::tests::scrollback_lines_appear_before_screen_clear ... ok
[INFO] [stdout] test screen::render::tests::trait_incremental_smaller_than_full ... ok
[INFO] [stdout] test screen::render::tests::trait_cursor_position_cached ... ok
[INFO] [stdout] test screen::render::tests::trait_render_incremental_redraws_changed_row ... ok
[INFO] [stdout] test screen::render::tests::trait_render_incremental_skips_unchanged_rows ... ok
[INFO] [stdout] test screen::style::tests::sgr_all_attributes_combined ... ok
[INFO] [stdout] test screen::style::tests::sgr_bright_colors ... ok
[INFO] [stdout] test screen::render::tests::trait_title_cached ... ok
[INFO] [stdout] test screen::style::tests::sgr_colon_separated_subparams ... ok
[INFO] [stdout] test screen::style::tests::sgr_dim_attribute ... ok
[INFO] [stdout] test screen::style::tests::sgr_blink_attribute ... ok
[INFO] [stdout] test screen::style::tests::sgr_reset ... ok
[INFO] [stdout] test screen::style::tests::sgr_round_trip_bold ... ok
[INFO] [stdout] test screen::style::tests::sgr_round_trip_default ... ok
[INFO] [stdout] test screen::style::tests::sgr_round_trip_fg_indexed ... ok
[INFO] [stdout] test screen::style::tests::sgr_underline_variants ... ok
[INFO] [stdout] test screen::style::tests::sgr_round_trip_256_color ... ok
[INFO] [stdout] test screen::style::tests::sgr_with_reset_styled ... ok
[INFO] [stdout] test screen::style::tests::sgr_round_trip_rgb ... ok
[INFO] [stdout] test screen::style::tests::sgr_inverse_attribute ... ok
[INFO] [stdout] test screen::style::tests::style_table_len_and_capacity ... ok
[INFO] [stdout] test screen::style::tests::underline_color_colon_separated ... ok
[INFO] [stdout] test screen::style::tests::underline_color_emitted_in_sgr ... ok
[INFO] [stdout] test screen::style::tests::underline_color_indexed ... ok
[INFO] [stdout] test screen::style::tests::style_table_reclaim_all_dead ... ok
[INFO] [stdout] test screen::style::tests::style_table_reclaim_frees_dead_slots ... ok
[INFO] [stdout] test screen::style::tests::style_table_reclaim_none_dead ... ok
[INFO] [stdout] test screen::style::tests::sgr_with_reset_default ... ok
[INFO] [stdout] test screen::style::tests::sgr_strikethrough_attribute ... ok
[INFO] [stdout] test screen::style::tests::underline_color_reset ... ok
[INFO] [stdout] test screen::style::tests::underline_color_rgb ... ok
[INFO] [stdout] test screen::tests_large_updates::bulk_output_pending_scrollback_matches_total ... ok
[INFO] [stdout] test screen::style::tests::style_table_is_full ... ok
[INFO] [stdout] test screen::tests_large_updates::bulk_output_with_styles_renders_correctly ... ok
[INFO] [stdout] test screen::tests_large_updates::bulk_output_scrollback_count ... ok
[INFO] [stdout] test screen::tests_large_updates::cache_invalidate_mid_bulk_produces_correct_render ... ok
[INFO] [stdout] test screen::tests_large_updates::cursor_position_after_bulk_output ... ok
[INFO] [stdout] test screen::tests_large_updates::cursor_stays_on_bottom_row_during_continuous_scroll ... ok
[INFO] [stdout] test screen::tests_large_updates::output_exactly_fills_screen_no_scroll ... ok
[INFO] [stdout] test screen::tests_large_updates::full_render_after_bulk_scroll_shows_last_rows ... ok
[INFO] [stdout] test screen::tests_large_updates::multiple_bulk_updates_dirty_tracking ... ok
[INFO] [stdout] test screen::tests_large_updates::incremental_render_after_bulk_scroll ... ok
[INFO] [stdout] test screen::tests_large_updates::incremental_render_no_redraw_when_content_unchanged_after_scroll ... ok
[INFO] [stdout] test screen::tests_large_updates::output_one_more_than_screen_scrolls_once ... ok
[INFO] [stdout] test screen::grid::tests::grid_resize_zero ... ok
[INFO] [stdout] test screen::tests_large_updates::render_with_large_pending_scrollback ... ok
[INFO] [stdout] test screen::tests_large_updates::rapid_output_then_partial_overwrite ... ok
[INFO] [stdout] test screen::tests_live_scrollback::autowrap_delta_after_scrollback_cycle ... ok
[INFO] [stdout] test screen::tests_live_scrollback::alternating_scrollback_and_no_scrollback_cycles ... ok
[INFO] [stdout] test screen::grid::tests::grid_resize ... ok
[INFO] [stdout] test screen::tests_large_updates::scrollback_limit_caps_history ... ok
[INFO] [stdout] test screen::tests_large_updates::scrollback_limit_pending_also_capped ... ok
[INFO] [stdout] test screen::tests_large_updates::scrollback_limit_zero_no_history ... ok
[INFO] [stdout] test screen::tests_live_scrollback::alt_screen_does_not_generate_scrollback ... ok
[INFO] [stdout] test screen::tests_large_updates::reattach_render_no_standalone_bell_after_bulk ... ok
[INFO] [stdout] test screen::tests_live_scrollback::cursor_hidden_state_preserved_after_scrollback_injection ... ok
[INFO] [stdout] test screen::tests_live_scrollback::cursor_position_correct_after_scrollback_injection ... ok
[INFO] [stdout] test screen::tests_live_scrollback::output_between_take_and_render_captured_in_next_cycle ... ok
[INFO] [stdout] test screen::tests_live_scrollback::pending_empty_after_drain_no_double_send ... ok
[INFO] [stdout] test screen::tests_live_scrollback::pending_scrollback_limit_enforced_during_rapid_output ... ok
[INFO] [stdout] test screen::tests_live_scrollback::many_sequential_batches_accumulate_correctly ... ok
[INFO] [stdout] test screen::tests_live_scrollback::large_pending_scrollback_renders_all_lines ... ok
[INFO] [stdout] test screen::tests_live_scrollback::mode_change_between_scrollback_batches_reflected_correctly ... ok
[INFO] [stdout] test screen::tests_live_scrollback::full_relay_cycle_scrollback_then_incremental_then_scrollback ... ok
[INFO] [stdout] test screen::tests_live_scrollback::incremental_render_after_scrollback_injection_redraws_all_rows ... ok
[INFO] [stdout] test screen::tests_live_scrollback::cursor_shape_delta_correct_after_scrollback_then_change ... ok
[INFO] [stdout] test screen::tests_live_scrollback::blank_lines_in_scrollback_produce_empty_entries ... ok
[INFO] [stdout] test screen::tests_large_updates::bulk_output_scrollback_ordering ... ok
[INFO] [stdout] test screen::tests_live_scrollback::scrollback_byte_ordering_end_to_end ... ok
[INFO] [stdout] test screen::tests_live_scrollback::scrollback_injection_outside_synchronized_output ... ok
[INFO] [stdout] test screen::tests_live_scrollback::scrollback_injection_resets_scroll_region ... ok
[INFO] [stdout] test screen::tests_live_scrollback::scrollback_exactly_rows_lines_single_chunk ... ok
[INFO] [stdout] test screen::tests_live_scrollback::scrollback_content_before_clear_screen_content_after ... ok
[INFO] [stdout] test screen::tests_live_scrollback::scrollback_injection_starts_at_bottom_row ... ok
[INFO] [stdout] test screen::tests_live_scrollback::pending_scrollback_preserved_across_alt_screen_excursion ... ok
[INFO] [stdout] test screen::tests_live_scrollback::screen_only_change_after_scrollback_renders_incrementally ... ok
[INFO] [stdout] test screen::tests_live_scrollback::scroll_region_cached_after_scrollback_not_re_emitted ... ok
[INFO] [stdout] test screen::tests_live_scrollback::scroll_region_not_at_top_produces_no_scrollback ... ok
[INFO] [stdout] test screen::tests_live_scrollback::bracketed_paste_delta_after_scrollback_cycle ... ok
[INFO] [stdout] test screen::tests_live_scrollback::scrollback_single_line_overwrites_and_scrolls ... ok
[INFO] [stdout] test screen::tests_live_scrollback::single_line_scrollback_injection ... ok
[INFO] [stdout] test screen::tests_live_scrollback::styled_scrollback_lines_preserve_formatting ... ok
[INFO] [stdout] test screen::tests_live_scrollback::wide_chars_in_scrollback_render_correctly ... ok
[INFO] [stdout] test screen::tests_live_scrollback::title_cached_after_scrollback_not_re_emitted ... ok
[INFO] [stdout] test screen::tests_live_scrollback::two_incremental_renders_after_scrollback_only_first_redraws ... ok
[INFO] [stdout] test screen::tests_live_scrollback::scrollback_large_burst_chunked_correctly ... ok
[INFO] [stdout] test screen::tests_live_scrollback::scrollback_single_chunk_overwrites_rows ... ok
[INFO] [stdout] test screen::tests_live_scrollback::scrollback_multi_chunk_processes_correctly ... ok
[INFO] [stdout] test screen::tests_progress_bar_scrollback::cuu_cannot_reach_scrollback ... ok
[INFO] [stdout] test screen::tests_progress_bar_scrollback::el_only_affects_current_grid_row ... ok
[INFO] [stdout] test screen::tests_progress_bar_scrollback::ed2_erase_display_does_not_leak_to_scrollback ... ok
[INFO] [stdout] test screen::tests_progress_bar_scrollback::ed3_erase_display_with_scrollback_clears_history ... ok
[INFO] [stdout] test screen::tests_progress_bar_scrollback::erased_progress_becomes_blank_line_in_scrollback ... ok
[INFO] [stdout] test screen::tests_progress_bar_scrollback::erased_region_creates_blank_artifact_in_scrollback ... ok
[INFO] [stdout] test screen::tests_progress_bar_scrollback::output_arrives_before_progress_erase_captures_progress_in_scrollback ... ok
[INFO] [stdout] test screen::tests_progress_bar_scrollback::multiline_progress_erased_before_scrolling ... ok
[INFO] [stdout] test screen::tests_live_scrollback::scrollback_partial_chunk_erases_remaining_rows ... ok
[INFO] [stdout] test screen::tests_progress_bar_scrollback::multiline_spinner_then_erase_then_large_output ... ok
[INFO] [stdout] test screen::tests_live_scrollback::sequential_scrollback_batches_no_duplication ... ok
[INFO] [stdout] test screen::tests_progress_bar_scrollback::progress_bar_captured_in_scrollback_before_erase ... ok
[INFO] [stdout] test screen::tests_progress_bar_scrollback::progress_overwritten_by_normal_output_no_scrollback_leak ... ok
[INFO] [stdout] test screen::tests_large_updates::reattach_after_1000_lines ... ok
[INFO] [stdout] test screen::tests_progress_bar_scrollback::reverse_index_at_top_does_not_affect_scrollback ... ok
[INFO] [stdout] test screen::tests_progress_bar_scrollback::save_restore_cursor_around_progress_erase ... ok
[INFO] [stdout] test screen::tests_progress_bar_scrollback::styled_progress_bar_erased_cleanly ... ok
[INFO] [stdout] test screen::tests_progress_bar_scrollback::progress_in_scroll_region_does_not_leak_to_scrollback ... ok
[INFO] [stdout] test screen::tests_reattach::full_data_processing_keeps_grid_in_sync ... ok
[INFO] [stdout] test screen::tests_progress_bar_scrollback::pending_scrollback_correct_during_progress_erase_cycle ... ok
[INFO] [stdout] test screen::tests_progress_bar_scrollback::progress_bar_visible_in_scrollback_after_reconnect ... ok
[INFO] [stdout] test screen::tests_reattach::consumed_notifications_not_replayed_on_second_reconnect ... ok
[INFO] [stdout] test screen::render::tests::noop_render_no_sync_block ... ok
[INFO] [stdout] test screen::tests_progress_bar_scrollback::response_with_cursor_home_and_overwrite_no_scrollback_leak ... ok
[INFO] [stdout] test screen::tests_reattach::history_available_after_alt_screen_exit ... ok
[INFO] [stdout] test screen::tests_reattach::mode_delta_detects_charset_change ... ok
[INFO] [stdout] test screen::tests_reattach::mode_delta_detects_autowrap_change ... ok
[INFO] [stdout] test screen::tests_progress_bar_scrollback::single_line_progress_erased_before_scrolling ... ok
[INFO] [stdout] test screen::tests_reattach::notifications_during_active_session_consumed_by_relay ... ok
[INFO] [stdout] test screen::tests_reattach::notifications_survive_passthrough_drain ... ok
[INFO] [stdout] test screen::tests_reattach::mode_delta_skips_unchanged_scroll_region ... ok
[INFO] [stdout] test screen::tests_progress_bar_scrollback::spinner_loop_then_erase_then_large_output ... ok
[INFO] [stdout] test screen::tests_reattach::notifications_replayed_on_simulated_reconnect ... ok
[INFO] [stdout] test screen::tests_reattach::only_new_notifications_on_subsequent_reconnect ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_after_full_reset ... ok
[INFO] [stdout] test screen::tests_reattach::mode_delta_detects_scroll_region_change ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_256_color_preserved ... ok
[INFO] [stdout] test screen::tests_reattach::no_flush_newlines_without_history ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_after_alt_screen_roundtrip ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_background_color_erase ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_alt_screen_content ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_background_color_preserved ... ok
[INFO] [stdout] test screen::tests_reattach::multiple_reconnects_no_stale_notifications ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_after_multiple_resizes ... ok
[INFO] [stdout] test screen::tests_progress_bar_scrollback::full_session_prompt_spinner_response_scrollback_consistency ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_after_simulated_data_loss ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_bold_text_preserved ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_combining_marks ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_combined_sgr_attributes ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_content_after_autowrap ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_content_after_delete_lines ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_cell_content_preserved ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_colored_text_preserved ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_content_after_insert_characters ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_content_after_reverse_index ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_content_after_insert_lines ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_content_last_column ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_content_with_scroll_region ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_content_last_row ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_bracketed_paste_mode ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_cursor_after_clear_screen ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_cursor_after_alt_screen_exit ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_cursor_after_newlines ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_cursor_after_erase_in_display ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_content_after_erase_to_end_of_line ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_cursor_after_resize_clamp ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_cursor_after_movement ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_cursor_after_scroll ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_cursor_key_mode ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_cursor_after_text_input ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_cursor_at_origin ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_cursor_after_resize_within_bounds ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_cursor_after_save_restore ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_cursor_bottom_right ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_cursor_shape_steady_block ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_emits_full_screen_scroll_region ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_empty_screen ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_focus_reporting ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_cursor_position_independent_of_content ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_hidden_text_attribute ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_fresh_cache_always_full_render ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_full_state_roundtrip ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_cursor_visibility_hidden ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_htop_scroll_region_layout ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_dim_attribute ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_inverse_attribute ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_cursor_shape_preserved ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_keypad_app_mode ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_htop_multiple_reconnections ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_cursor_visibility_visible ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_multiple_style_changes_per_row ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_multiple_rows_content ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_overwritten_cell_shows_latest ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_preserves_all_rows_after_partial_scroll ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_mouse_sgr_encoding ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_mouse_mode_1003 ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_mixed_styled_unstyled_regions ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_render_structure_order ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_render_is_self_contained ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_line_drawing_characters ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_restores_active_charset_g0 ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_restores_autowrap_disabled ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_restores_active_charset_g1 ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_restores_autowrap_enabled ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_rgb_color_preserved ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_restores_g1_line_drawing_charset ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_scrollback_not_in_grid_render ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_restores_g0_line_drawing_charset ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_scroll_region_before_cursor_position ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_tab_aligned_content ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_restores_custom_scroll_region ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_title_preserved ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_second_render_uses_cache ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_scrollback_lines_in_history_render ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_row_order_correct ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_restores_g0_ascii_charset ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_strikethrough_attribute ... ok
[INFO] [stdout] test screen::tests_reattach::vte_parser_recovers_from_partial_escape_sequence ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_wide_char_wraps_at_boundary ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_wrap_pending_cursor_at_right_margin ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_wide_char_at_end_of_row ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_with_scrollback_preserves_cursor ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_wide_characters ... ok
[INFO] [stdout] test screen::tests_reattach::vte_parser_sgr_correct_after_partial_sequence ... ok
[INFO] [stdout] test screen::style::tests::style_table_reset_clears_free_slots ... ok
[INFO] [stdout] test screen::tests_reconnect_scrollback::get_history_unchanged_without_new_output ... ok
[INFO] [stdout] test screen::tests_reconnect_scrollback::alt_screen_app_no_scrollback_on_reconnect ... ok
[INFO] [stdout] test screen::tests_reconnect_scrollback::clear_screen_does_not_generate_scrollback ... ok
[INFO] [stdout] test screen::tests_reconnect_scrollback::get_history_is_idempotent ... ok
[INFO] [stdout] test screen::tests_reconnect_scrollback::grow_vertical_restores_from_scrollback ... ok
[INFO] [stdout] test screen::tests_reconnect_scrollback::clear_then_redraw_inplace_no_scrollback ... ok
[INFO] [stdout] test screen::tests_reconnect_scrollback::inplace_redraw_does_not_grow_scrollback ... ok
[INFO] [stdout] test screen::tests_reconnect_scrollback::full_reconnect_cycle_different_size_with_overflow_causes_duplication ... ok
[INFO] [stdout] test screen::tests_reconnect_scrollback::logo_duplicates_on_reconnect_with_overflow_redraw ... ok
[INFO] [stdout] test screen::tests_reconnect_scrollback::resize_smaller_then_app_sequential_redraw_overflows ... ok
[INFO] [stdout] test screen::tests_reconnect_scrollback::full_reconnect_cycle_same_size_inplace_no_duplication ... ok
[INFO] [stdout] test screen::tests_reconnect_scrollback::logo_accumulates_with_each_reconnect_cycle ... ok
[INFO] [stdout] test screen::tests_reconnect_scrollback::sequential_redraw_overflows_screen_grows_scrollback ... ok
[INFO] [stdout] test screen::tests_reconnect_scrollback::scrollback_limit_caps_logo_accumulation ... ok
[INFO] [stdout] test screen::tests_reconnect_scrollback::shrink_then_grow_cycle_scrollback_consistency ... ok
[INFO] [stdout] test screen::tests_reconnect_scrollback::shrink_vertical_does_not_push_to_scrollback ... ok
[INFO] [stdout] test screen::tests_reconnect_scrollback::inplace_redraw_multiple_reconnects_no_growth ... ok
[INFO] [stdout] test screen::tests_reconnect_scrollback::sequential_redraw_at_top_does_not_scroll_when_fits ... ok
[INFO] [stdout] test screen::tests_reconnect_scrollback::resize_smaller_then_app_redraw_inplace_no_duplication ... ok
[INFO] [stdout] test screen::tests_resize::reattach_with_scrollback_after_resize_has_both ... ok
[INFO] [stdout] test screen::tests_resize::render_with_scrollback_after_shrink_positions_correctly ... ok
[INFO] [stdout] test screen::tests_resize::resize_after_scroll_reattach_renders_correctly ... ok
[INFO] [stdout] test screen::tests_resize::resize_after_scroll_preserves_scrollback ... ok
[INFO] [stdout] test screen::tests_resize::render_with_scrollback_after_resize_positions_correctly ... ok
[INFO] [stdout] test screen::tests_resize::resize_after_scroll_within_region ... ok
[INFO] [stdout] test screen::tests_resize::resize_alt_screen_no_scrollback_leak ... ok
[INFO] [stdout] test screen::tests_resize::resize_between_decsc_decrc_clamps_cursor ... ok
[INFO] [stdout] test screen::tests_resize::resize_between_csi_s_u_clamps_cursor ... ok
[INFO] [stdout] test screen::tests_resize::resize_after_scroll_preserves_visible_and_scrollback ... ok
[INFO] [stdout] test screen::tests_resize::resize_both_expand_preserves_text ... ok
[INFO] [stdout] test screen::tests_resize::resize_both_shrink_preserves_visible_text ... ok
[INFO] [stdout] test screen::tests_resize::resize_clears_wrap_pending ... ok
[INFO] [stdout] test screen::tests_resize::resize_cursor_at_bottom_left_clamps ... ok
[INFO] [stdout] test screen::tests_resize::resize_current_style_persists_for_new_content ... ok
[INFO] [stdout] test screen::tests_resize::resize_cursor_at_top_left_stays ... ok
[INFO] [stdout] test screen::tests_resize::resize_cursor_at_bottom_right_clamps ... ok
[INFO] [stdout] test screen::tests_resize::resize_cursor_at_top_right_clamps ... ok
[INFO] [stdout] test screen::tests_resize::resize_expand_after_scroll_visible_cells_intact ... ok
[INFO] [stdout] test screen::tests_resize::resize_does_not_reset_sgr_state ... ok
[INFO] [stdout] test screen::tests_resize::resize_custom_tab_stop_lost ... ok
[INFO] [stdout] test screen::tests_resize::resize_expand_between_save_restore_preserves_cursor ... ok
[INFO] [stdout] test screen::tests_resize::resize_horizontal_expand_preserves_text ... ok
[INFO] [stdout] test screen::tests_resize::resize_horizontal_shrink_preserves_visible_text ... ok
[INFO] [stdout] test screen::tests_resize::resize_expand_in_alt_screen_skips_scrollback_restore ... ok
[INFO] [stdout] test screen::tests_resize::resize_in_alt_screen_expand_then_exit ... ok
[INFO] [stdout] test screen::tests_resize::resize_extreme_shrink_cursor_to_origin ... ok
[INFO] [stdout] test screen::tests_resize::resize_expand_cols_shrink_rows_preserves_overlap ... ok
[INFO] [stdout] test screen::tests_resize::resize_in_alt_screen_modes_restored_correctly ... ok
[INFO] [stdout] test screen::tests_resize::resize_in_alt_screen_multiple_then_exit ... ok
[INFO] [stdout] test screen::tests_resize::resize_invalidates_render_cache ... ok
[INFO] [stdout] test screen::tests_resize::resize_mid_osc_sequence_completes_after ... ok
[INFO] [stdout] test screen::tests_resize::resize_in_alt_screen_then_exit_restores_main_resized ... ok
[INFO] [stdout] test screen::tests_resize::resize_preserves_combining_marks ... ok
[INFO] [stdout] test screen::tests_resize::resize_mid_sgr_sequence_style_applied_after ... ok
[INFO] [stdout] test screen::tests_resize::resize_reattach_render_preserves_content ... ok
[INFO] [stdout] test screen::tests_resize::resize_mid_csi_sequence_completes_after ... ok
[INFO] [stdout] test screen::tests_resize::resize_pending_scrollback_independent_of_horizontal_resize ... ok
[INFO] [stdout] test screen::tests_resize::resize_preserves_styled_content ... ok
[INFO] [stdout] test screen::tests_resize::resize_render_cache_shrink_then_expand ... ok
[INFO] [stdout] test screen::tests_resize::resize_scrollback_contains_correct_content ... ok
[INFO] [stdout] test screen::tests_resize::resize_same_dimensions_is_noop_for_content ... ok
[INFO] [stdout] test screen::tests_resize::resize_same_height_no_scrollback_restore ... ok
[INFO] [stdout] test screen::tests_resize::resize_reattach_render_shrink_then_expand ... ok
[INFO] [stdout] test screen::tests_resize::resize_saved_cursor_style_preserved ... ok
[INFO] [stdout] test screen::tests_resize::resize_scrollback_screen_boundary_integrity ... ok
[INFO] [stdout] test screen::tests_resize::resize_shrink_after_scroll_keeps_scrollback ... ok
[INFO] [stdout] test screen::tests_resize::resize_shrink_after_scroll_visible_cells_intact ... ok
[INFO] [stdout] test screen::tests_resize::resize_shrink_cols_expand_rows_preserves_overlap ... ok
[INFO] [stdout] test screen::tests_resize::resize_shrink_wide_char_fully_inside_survives ... ok
[INFO] [stdout] test screen::tests_resize::resize_shrink_splits_wide_char_at_boundary ... ok
[INFO] [stdout] test screen::tests_resize::resize_shrink_wide_char_at_exact_right_edge ... ok
[INFO] [stdout] test screen::tests_resize::resize_tab_content_preserved_but_stops_reset ... ok
[INFO] [stdout] test screen::tests_resize::resize_vertical_expand_limited_by_scrollback ... ok
[INFO] [stdout] test screen::tests_resize::resize_vertical_expand_preserves_text ... ok
[INFO] [stdout] test screen::tests_resize::resize_vertical_expand_no_restore_in_alt_screen ... ok
[INFO] [stdout] test screen::tests_resize::resize_vertical_expand_removes_restored_from_scrollback ... ok
[INFO] [stdout] test screen::tests_resize::resize_vertical_expand_shifts_cursor ... ok
[INFO] [stdout] test screen::tests_resize::resize_vertical_expand_restores_scrollback ... ok
[INFO] [stdout] test screen::tests_resize::resize_vertical_grow_restores_scrollback_from_pending ... ok
[INFO] [stdout] test screen::tests_resize::resize_wide_char_with_combining_survives ... ok
[INFO] [stdout] test screen::tests_resize::resize_vertical_shrink_drops_bottom_rows_without_scrollback ... ok
[INFO] [stdout] test screen::tests_resize::resize_vertical_shrink_preserves_visible_text ... ok
[INFO] [stdout] test screen::tests_resize::resize_with_scroll_region_preserves_region_content ... ok
[INFO] [stdout] test screen::tests_resize::scrollback_not_duplicated_on_resize ... ok
[INFO] [stdout] test screen::tests_resize::scrollback_frozen_at_old_width_after_resize ... ok
[INFO] [stdout] test screen::tests_resize::scroll_after_resize_captures_at_new_width ... ok
[INFO] [stdout] test screen::tests_resize::scrollback_mixed_widths_after_multiple_resizes ... ok
[INFO] [stdout] test screen::tests_resize::resize_shrink_multiple_wide_chars_on_boundary ... ok
[INFO] [stdout] test screen::tests_resize::vertical_shrink_with_scrollback_then_reattach ... ok
[INFO] [stdout] test screen::tests_screen::alt_screen_mode_47_no_cursor_save ... ok
[INFO] [stdout] test screen::tests_screen::alt_screen_save_restore ... ok
[INFO] [stdout] test screen::tests_screen::autowrap_at_scroll_bottom_triggers_scroll ... ok
[INFO] [stdout] test screen::tests_screen::alt_screen_exit_gc_trigger ... ok
[INFO] [stdout] test screen::tests_screen::autowrap_mode_re_enable ... ok
[INFO] [stdout] test screen::tests_screen::alt_screen_clears_wrap_pending ... ok
[INFO] [stdout] test screen::tests_screen::alt_screen_mode_47 ... ok
[INFO] [stdout] test screen::tests_screen::backspace_at_column_zero ... ok
[INFO] [stdout] test screen::tests_screen::alt_screen_mode_1047 ... ok
[INFO] [stdout] test screen::tests_screen::bce_erase_uses_bg_color ... ok
[INFO] [stdout] test screen::tests_screen::alt_screen_restores_modes ... ok
[INFO] [stdout] test screen::tests_screen::autowrap_at_scroll_region_bottom_triggers_region_scroll ... ok
[INFO] [stdout] test screen::tests_screen::autowrap_mode_disable_prevents_wrap ... ok
[INFO] [stdout] test screen::tests_screen::bell_and_osc_777_interleaved ... ok
[INFO] [stdout] test screen::tests_screen::bell_does_not_affect_screen_state ... ok
[INFO] [stdout] test screen::tests_screen::bell_forwarded_as_passthrough ... ok
[INFO] [stdout] test screen::tests_screen::bell_drained_after_take ... ok
[INFO] [stdout] test screen::tests_screen::bell_in_osc_is_terminator_not_separate_bell ... ok
[INFO] [stdout] test screen::tests_screen::bell_not_queued_as_notification ... ok
[INFO] [stdout] test screen::tests_screen::bell_not_resent_on_render_with_scrollback ... ok
[INFO] [stdout] test screen::tests_screen::bell_not_resent_on_render ... ok
[INFO] [stdout] test screen::tests_screen::bell_not_resent_on_incremental_render ... ok
[INFO] [stdout] test screen::tests_screen::bell_not_resent_on_resize ... ok
[INFO] [stdout] test screen::tests_screen::combining_in_full_render_output ... ok
[INFO] [stdout] test screen::tests_screen::combining_erased_by_erase_character ... ok
[INFO] [stdout] test screen::tests_screen::combining_erased_by_erase_display ... ok
[INFO] [stdout] test screen::tests_screen::combining_in_delete_lines ... ok
[INFO] [stdout] test screen::tests_screen::combining_in_scrollback_renders_correctly ... ok
[INFO] [stdout] test screen::tests_screen::combining_mark_at_column_zero_no_previous_cell ... ok
[INFO] [stdout] test screen::tests_large_updates::alternating_bulk_and_single_line_updates ... ok
[INFO] [stdout] test screen::tests_screen::combining_mark_attaches_to_previous_cell ... ok
[INFO] [stdout] test screen::tests_screen::combining_mark_on_wide_char ... ok
[INFO] [stdout] test screen::tests_screen::combining_mark_with_wrap_pending ... ok
[INFO] [stdout] test screen::tests_screen::combining_overwritten_by_new_char ... ok
[INFO] [stdout] test screen::tests_screen::combining_mark_renders_in_output ... ok
[INFO] [stdout] test screen::tests_screen::combining_shifted_by_delete_character ... ok
[INFO] [stdout] test screen::tests_screen::combining_shifted_by_insert_character ... ok
[INFO] [stdout] test screen::tests_screen::combining_survives_alt_screen_round_trip ... ok
[INFO] [stdout] test screen::tests_screen::combining_survives_scroll_into_scrollback ... ok
[INFO] [stdout] test screen::tests_screen::compact_styles_preserves_scrollback_styles ... ok
[INFO] [stdout] test screen::tests_screen::compact_styles_preserves_saved_grid_styles ... ok
[INFO] [stdout] test screen::tests_screen::compact_styles_reclaims_unused ... ok
[INFO] [stdout] test screen::tests_screen::cr_does_not_scroll ... ok
[INFO] [stdout] test screen::tests_screen::csi_cup_params_beyond_screen_clamp ... ok
[INFO] [stdout] test screen::tests_screen::csi_cup_zero_params_default_to_home ... ok
[INFO] [stdout] test screen::tests_screen::csi_f_is_alias_for_cup ... ok
[INFO] [stdout] test screen::tests_screen::csi_gt_m_does_not_set_underline ... ok
[INFO] [stdout] test screen::tests_screen::csi_r_reset_restores_full_screen_scroll ... ok
[INFO] [stdout] test screen::tests_screen::csi_s_does_not_move_cursor ... ok
[INFO] [stdout] test screen::tests_screen::csi_s_u_save_restore_cursor ... ok
[INFO] [stdout] test screen::tests_screen::csi_s_within_scroll_region ... ok
[INFO] [stdout] test screen::tests_screen::csi_t_does_not_move_cursor ... ok
[INFO] [stdout] test screen::tests_screen::csi_t_within_scroll_region ... ok
[INFO] [stdout] test screen::tests_screen::cursor_column_preserved_on_bare_lf_scroll ... ok
[INFO] [stdout] test screen::tests_screen::cursor_horizontal_absolute ... ok
[INFO] [stdout] test screen::tests_screen::cursor_movement_beyond_bounds_clamps ... ok
[INFO] [stdout] test screen::tests_screen::cursor_movement_cnl_cpl ... ok
[INFO] [stdout] test screen::tests_screen::cursor_movement_cuf_cub ... ok
[INFO] [stdout] test screen::tests_screen::cursor_movement_with_zero_params_defaults ... ok
[INFO] [stdout] test screen::tests_screen::cursor_position_cup ... ok
[INFO] [stdout] test screen::tests_screen::cursor_save_restore ... ok
[INFO] [stdout] test screen::tests_screen::cursor_shape_decscusr ... ok
[INFO] [stdout] test screen::tests_screen::cursor_stays_in_place_during_lf_scroll ... ok
[INFO] [stdout] test screen::tests_screen::cursor_visibility_mode_25 ... ok
[INFO] [stdout] test screen::tests_screen::cursor_visibility_toggle ... ok
[INFO] [stdout] test screen::tests_screen::cuu_cud_respects_scroll_region ... ok
[INFO] [stdout] test screen::tests_screen::da1_primary_device_attributes ... ok
[INFO] [stdout] test screen::tests_screen::da2_secondary_device_attributes ... ok
[INFO] [stdout] test screen::tests_screen::dch_at_end_of_line ... ok
[INFO] [stdout] test screen::tests_screen::dch_count_exceeds_remaining_columns ... ok
[INFO] [stdout] test screen::tests_screen::dch_through_wide_char_no_orphan ... ok
[INFO] [stdout] test screen::tests_large_updates::bulk_output_with_scroll_region ... ok
[INFO] [stdout] test screen::tests_screen::decaln_fills_screen_with_e ... ok
[INFO] [stdout] test screen::tests_large_updates::sync_block_wraps_large_render ... ok
[INFO] [stdout] test screen::tests_screen::decom_cursor_clamped_to_scroll_region ... ok
[INFO] [stdout] test screen::tests_reattach::alt_screen_skips_history_on_reattach ... ok
[INFO] [stdout] test screen::tests_screen::combining_in_insert_lines ... ok
[INFO] [stdout] test screen::tests_screen::decom_cursor_position_relative_to_scroll_region ... ok
[INFO] [stdout] test screen::tests_screen::combining_in_reattach_history ... ok
[INFO] [stdout] test screen::tests_screen::continuous_scroll_with_bottom_status_update ... ok
[INFO] [stdout] test screen::tests_reattach::data_loss_corrupts_scroll_region ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_content_after_delete_characters ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_content_after_scroll_within_region ... ok
[INFO] [stdout] test screen::tests_resize::resize_rapid_with_mixed_content ... ok
[INFO] [stdout] test screen::tests_reattach::reattach_content_fills_entire_screen ... ok
[INFO] [stdout] test screen::tests_screen::backspace_clears_wrap_pending ... ok
[INFO] [stdout] test screen::tests_screen::combining_in_incremental_render_output ... ok
[INFO] [stdout] test screen::tests_screen::combining_erased_by_erase_in_line ... ok
[INFO] [stdout] test screen::tests_screen::decom_off_cursor_absolute ... ok
[INFO] [stdout] test screen::tests_screen::decstbm_set_scroll_region ... ok
[INFO] [stdout] test screen::tests_screen::decom_saved_and_restored ... ok
[INFO] [stdout] test screen::tests_screen::deferred_wrap_cr_stays_on_same_line ... ok
[INFO] [stdout] test screen::tests_screen::delete_lines_dl ... ok
[INFO] [stdout] test screen::tests_screen::deferred_wrap_next_print_wraps ... ok
[INFO] [stdout] test screen::tests_screen::decom_set_scrolling_region_homes_to_origin ... ok
[INFO] [stdout] test screen::tests_screen::dl_large_count_clamped ... ok
[INFO] [stdout] test screen::tests_screen::delete_lines_preserves_cursor_x ... ok
[INFO] [stdout] test screen::tests_screen::delete_character_dch ... ok
[INFO] [stdout] test screen::tests_screen::dl_clears_wrap_pending ... ok
[INFO] [stdout] test screen::tests_screen::dl_il_outside_scroll_region_no_op ... ok
[INFO] [stdout] test screen::tests_screen::combining_dirty_tracking_detects_change ... ok
[INFO] [stdout] test screen::tests_screen::dsr_at_boundary_positions ... ok
[INFO] [stdout] test screen::tests_screen::double_enter_alt_screen ... ok
[INFO] [stdout] test screen::tests_screen::dec_line_drawing_charset ... ok
[INFO] [stdout] test screen::tests_screen::dsr_reports_relative_position_in_origin_mode ... ok
[INFO] [stdout] test screen::tests_screen::ech_count_exceeds_remaining_columns ... ok
[INFO] [stdout] test screen::tests_screen::ed2_does_not_produce_passthrough ... ok
[INFO] [stdout] test screen::tests_screen::ed3_not_queued_as_notification ... ok
[INFO] [stdout] test screen::tests_screen::ed3_clears_scrollback_and_forwards_passthrough ... ok
[INFO] [stdout] test screen::tests_screen::ed_0_cursor_on_wide_char_continuation ... ok
[INFO] [stdout] test screen::tests_screen::ed3_passthrough_even_without_scrollback ... ok
[INFO] [stdout] test screen::tests_screen::erase_character_ech ... ok
[INFO] [stdout] test screen::tests_screen::ed3_passthrough_drained_after_take ... ok
[INFO] [stdout] test screen::tests_screen::erase_in_display_j0 ... ok
[INFO] [stdout] test screen::tests_screen::dsr_cursor_position_report ... ok
[INFO] [stdout] test screen::tests_screen::erase_display_ignores_scroll_region ... ok
[INFO] [stdout] test screen::tests_screen::erase_in_line_k2 ... ok
[INFO] [stdout] test screen::tests_screen::erase_display_0_from_cursor_ignores_scroll_region ... ok
[INFO] [stdout] test screen::tests_screen::erase_in_display_j2 ... ok
[INFO] [stdout] test screen::tests_screen::erase_in_line_k0 ... ok
[INFO] [stdout] test screen::tests_screen::erase_line_preserves_cursor_position ... ok
[INFO] [stdout] test screen::tests_screen::el_1_cursor_on_wide_char_continuation ... ok
[INFO] [stdout] test screen::tests_screen::ed3_passthrough_not_resent_on_render ... ok
[INFO] [stdout] test screen::tests_screen::erase_in_line_k1 ... ok
[INFO] [stdout] test screen::tests_screen::erase_scrollback_j3 ... ok
[INFO] [stdout] test screen::tests_screen::esc_c_full_reset ... ok
[INFO] [stdout] test screen::tests_screen::erase_display_preserves_cursor_position ... ok
[INFO] [stdout] test screen::tests_screen::focus_reporting_mode ... ok
[INFO] [stdout] test screen::tests_screen::erase_in_display_j1 ... ok
[INFO] [stdout] test screen::tests_screen::hts_sets_tab_stop ... ok
[INFO] [stdout] test screen::tests_screen::ich_count_exceeds_remaining_columns ... ok
[INFO] [stdout] test screen::tests_screen::ich_pushes_wide_char_off_right_edge ... ok
[INFO] [stdout] test screen::tests_screen::exit_alt_screen_when_not_in_alt ... ok
[INFO] [stdout] test screen::tests_screen::history_preserved_across_sessions ... ok
[INFO] [stdout] test screen::tests_screen::il_clears_wrap_pending ... ok
[INFO] [stdout] test screen::tests_screen::ind_clears_wrap_pending ... ok
[INFO] [stdout] test screen::tests_screen::il_large_count_clamped ... ok
[INFO] [stdout] test screen::tests_screen::ind_esc_d_at_scroll_bottom_scrolls ... ok
[INFO] [stdout] test screen::tests_screen::ind_esc_d_mid_screen_just_moves_cursor ... ok
[INFO] [stdout] test screen::tests_screen::ind_esc_d_within_scroll_region_nonzero_top ... ok
[INFO] [stdout] test screen::tests_screen::insert_character_blanks_orphaned_wide_char_base_at_right_margin ... ok
[INFO] [stdout] test screen::tests_screen::insert_character_ich ... ok
[INFO] [stdout] test screen::tests_screen::insert_lines_il ... ok
[INFO] [stdout] test screen::tests_screen::insert_lines_preserves_cursor_x ... ok
[INFO] [stdout] test screen::tests_screen::interleaved_scroll_and_cup_writes ... ok
[INFO] [stdout] test screen::tests_screen::keypad_app_mode ... ok
[INFO] [stdout] test screen::tests_screen::lf_at_bottom_scrolls_content_up ... ok
[INFO] [stdout] test screen::tests_screen::lf_at_last_row_outside_scroll_region ... ok
[INFO] [stdout] test screen::tests_screen::lf_between_scroll_top_and_bottom_just_moves_cursor ... ok
[INFO] [stdout] test screen::tests_screen::lf_scroll_captures_scrollback ... ok
[INFO] [stdout] test screen::tests_screen::lf_scroll_with_styled_content ... ok
[INFO] [stdout] test screen::tests_screen::lf_at_last_row_without_scroll_region ... ok
[INFO] [stdout] test screen::tests_screen::mode_flags_bracketed_paste ... ok
[INFO] [stdout] test screen::tests_screen::mode_1048_save_restore_cursor ... ok
[INFO] [stdout] test screen::tests_screen::mode_flags_cursor_key_mode ... ok
[INFO] [stdout] test screen::tests_screen::mode_flags_mouse ... ok
[INFO] [stdout] test screen::tests_screen::mouse_encoding_disable_resets_to_x10 ... ok
[INFO] [stdout] test screen::tests_screen::mouse_mode_disable_own_mode_only ... ok
[INFO] [stdout] test screen::tests_screen::mouse_mode_multiple_simultaneous ... ok
[INFO] [stdout] test screen::tests_screen::mouse_mode_per_mode_toggle ... ok
[INFO] [stdout] test screen::tests_screen::mouse_mode_priority_resolution ... ok
[INFO] [stdout] test screen::tests_screen::multiple_bells_all_forwarded ... ok
[INFO] [stdout] test screen::tests_screen::multiple_combining_marks_on_single_cell ... ok
[INFO] [stdout] test screen::tests_screen::nel_at_scroll_bottom_scrolls ... ok
[INFO] [stdout] test screen::tests_screen::nel_next_line ... ok
[INFO] [stdout] test screen::tests_screen::lf_within_scroll_region_only_scrolls_region ... ok
[INFO] [stdout] test screen::tests_screen::no_scrollback_in_alt_screen ... ok
[INFO] [stdout] test screen::tests_screen::many_lines_overflow_screen ... ok
[INFO] [stdout] test screen::tests_screen::osc_777_drained_after_take ... ok
[INFO] [stdout] test screen::tests_screen::osc_52_not_queued_as_notification ... ok
[INFO] [stdout] test screen::tests_screen::osc_777_queued_as_notification ... ok
[INFO] [stdout] test screen::tests_screen::notification_queue_respects_limit ... ok
[INFO] [stdout] test screen::tests_screen::osc_9_queued_as_notification ... ok
[INFO] [stdout] test screen::tests_screen::osc_777_not_resent_on_render_with_scrollback ... ok
[INFO] [stdout] test screen::tests_screen::osc_passthrough_non_title ... ok
[INFO] [stdout] test screen::tests_screen::overwrite_wide_char_second_half ... ok
[INFO] [stdout] test screen::tests_screen::osc_777_not_resent_on_render ... ok
[INFO] [stdout] test screen::tests_screen::osc_777_not_resent_on_resize ... ok
[INFO] [stdout] test screen::tests_screen::osc_99_queued_as_notification ... ok
[INFO] [stdout] test screen::tests_screen::osc_sets_title ... ok
[INFO] [stdout] test screen::tests_screen::osc_title_not_passedthrough ... ok
[INFO] [stdout] test screen::tests_screen::osc_777_not_resent_on_resize_then_render ... ok
[INFO] [stdout] test screen::tests_screen::overwrite_wide_char_first_half ... ok
[INFO] [stdout] test screen::tests_screen::reattach_render_after_scroll_and_cup_overwrite ... ok
[INFO] [stdout] test screen::tests_screen::render_bce_erase_output ... ok
[INFO] [stdout] test screen::tests_screen::render_with_hidden_cursor ... ok
[INFO] [stdout] test screen::tests_screen::rep_with_no_prior_print ... ok
[INFO] [stdout] test screen::tests_screen::responses_drained_after_take ... ok
[INFO] [stdout] test screen::tests_screen::restore_cursor_csi_u_with_no_saved_state ... ok
[INFO] [stdout] test screen::tests_screen::render_full_reattach_redraws_all ... ok
[INFO] [stdout] test screen::tests_screen::rep_repeats_wide_char ... ok
[INFO] [stdout] test screen::tests_screen::ris_during_alt_screen_restores_scrollback_limit ... ok
[INFO] [stdout] test screen::tests_screen::reverse_index_ri_not_at_top ... ok
[INFO] [stdout] test screen::tests_screen::ris_forwards_clear_scrollback_passthrough ... ok
[INFO] [stdout] test screen::tests_screen::render_cup_appears_after_decom_on_full_render ... ok
[INFO] [stdout] test screen::tests_screen::rep_with_line_drawing_charset ... ok
[INFO] [stdout] test screen::tests_screen::pending_scrollback_drained_separately ... ok
[INFO] [stdout] test screen::tests_screen::rapid_scroll_up_down_content_integrity ... ok
[INFO] [stdout] test screen::tests_screen::save_cursor_scroll_restore_cursor_writes_at_shifted_content ... ok
[INFO] [stdout] test screen::tests_screen::save_cursor_resize_then_restore_clamps ... ok
[INFO] [stdout] test screen::tests_screen::rep_repeats_last_char ... ok
[INFO] [stdout] test screen::tests_screen::scroll_down_count_exceeds_region_size ... ok
[INFO] [stdout] test screen::tests_screen::scroll_and_partial_line_overwrite ... ok
[INFO] [stdout] test screen::tests_screen::scroll_down_within_region_does_not_produce_scrollback ... ok
[INFO] [stdout] test screen::tests_screen::scroll_down_does_not_generate_scrollback ... ok
[INFO] [stdout] test screen::tests_screen::scroll_down_sd ... ok
[INFO] [stdout] test screen::tests_screen::scroll_region_lf_no_scrollback_when_top_nonzero ... ok
[INFO] [stdout] test screen::tests_screen::reverse_index_at_top_of_full_screen_scrolls_down ... ok
[INFO] [stdout] test screen::tests_screen::scroll_region_preserves_outer_content_on_multiple_scrolls ... ok
[INFO] [stdout] test screen::tests_screen::scroll_region_reversed_params_rejected ... ok
[INFO] [stdout] test screen::tests_screen::scroll_region_reversed_params_ignored ... ok
[INFO] [stdout] test screen::tests_screen::scroll_region_scroll_then_overwrite_fixed_rows ... ok
[INFO] [stdout] test screen::tests_screen::scroll_region_il_dl_interaction ... ok
[INFO] [stdout] test screen::tests_screen::scroll_region_lf_cursor_outside_region_between_bottom_and_last_row ... ok
[INFO] [stdout] test screen::tests_screen::restore_cursor_with_no_saved_state ... ok
[INFO] [stdout] test screen::tests_screen::reverse_index_ri ... ok
[INFO] [stdout] test screen::tests_screen::ris_clears_scrollback ... ok
[INFO] [stdout] test screen::tests_screen::scroll_region_top_equals_bottom_accepted ... ok
[INFO] [stdout] test screen::tests_screen::scroll_single_row_region ... ok
[INFO] [stdout] test screen::tests_screen::scroll_then_overwrite_scrolled_line_content_integrity ... ok
[INFO] [stdout] test screen::tests_screen::scroll_up_su ... ok
[INFO] [stdout] test screen::tests_screen::scrollback_captured_with_partial_scroll_region ... ok
[INFO] [stdout] test screen::tests_screen::scroll_with_erase_and_rewrite ... ok
[INFO] [stdout] test screen::tests_screen::scrollback_limit_zero ... ok
[INFO] [stdout] test screen::tests_screen::scrollback_order_preserved ... ok
[INFO] [stdout] test screen::tests_screen::scrollback_on_scroll ... ok
[INFO] [stdout] test screen::tests_screen::sgr_color_reset_39_49 ... ok
[INFO] [stdout] test screen::tests_screen::sgr_hidden_attribute ... ok
[INFO] [stdout] test screen::tests_screen::scrollback_limit_enforced_during_scroll ... ok
[INFO] [stdout] test screen::tests_screen::take_queued_notifications_drains ... ok
[INFO] [stdout] test screen::tests_screen::tbc_clear_all_tab_stops ... ok
[INFO] [stdout] test screen::tests_screen::tbc_clear_current_tab_stop ... ok
[INFO] [stdout] test screen::tests_screen::title_pop_empty_stack_noop ... ok
[INFO] [stdout] test screen::tests_screen::stale_pending_scrollback_after_reattach_simulation ... ok
[INFO] [stdout] test screen::tests_screen::title_push_pop ... ok
[INFO] [stdout] test screen::tests_screen::scrollback_history_after_scroll_and_cup_overwrite ... ok
[INFO] [stdout] test screen::tests_screen::so_si_charset_switching ... ok
[INFO] [stdout] test screen::tests_screen::tab_advances_to_next_tab_stop ... ok
[INFO] [stdout] test screen::tests_screen::scroll_then_cup_overwrite_middle ... ok
[INFO] [stdout] test screen::tests_screen::scroll_then_overwrite_last_line ... ok
[INFO] [stdout] test screen::tests_screen::tab_at_end_of_line_clamps ... ok
[INFO] [stdout] test screen::tests_screen::tui_app_alt_screen_explicit_scroll_up ... ok
[INFO] [stdout] test screen::tests_screen::scroll_up_count_exceeds_region_size ... ok
[INFO] [stdout] test screen::tests_screen::tui_app_alt_screen_scroll_region_lf ... ok
[INFO] [stdout] test screen::tests_screen::tui_app_delete_lines_within_scroll_region ... ok
[INFO] [stdout] test screen::tests_screen::vpa_line_position_absolute ... ok
[INFO] [stdout] test screen::tests_screen::wide_char_exactly_fills_line ... ok
[INFO] [stdout] test screen::tests_screen::tui_app_scroll_region_with_header_and_footer ... ok
[INFO] [stdout] test screen::tests_screen::wide_char_no_autowrap_at_last_col ... ok
[INFO] [stdout] test screen::tests_screen::wide_char_on_1_column_terminal ... ok
[INFO] [stdout] test screen::tests_screen::tui_app_reverse_index_in_scroll_region ... ok
[INFO] [stdout] test screen::tests_screen::wide_char_scrollback_rendering ... ok
[INFO] [stdout] test screen::tests_screen::wide_char_wrap_at_scroll_bottom_triggers_scroll ... ok
[INFO] [stdout] test screen::tests_screen::window_ops_ignored ... ok
[INFO] [stdout] test screen::tests_screen::wide_character_occupies_two_cells ... ok
[INFO] [stdout] test screen::tests_traits::ansi_renderer_implements_terminal_renderer ... ok
[INFO] [stdout] test screen::tests_screen::wide_char_wraps_at_end_of_line ... ok
[INFO] [stdout] test screen::tests_screen::tui_app_insert_lines_within_scroll_region ... ok
[INFO] [stdout] test screen::tests_screen::vt_ff_treated_as_lf ... ok
[INFO] [stdout] test screen::tests_traits::ansi_renderer_clears_title_when_empty ... ok
[INFO] [stdout] test screen::tests_screen::wide_char_on_2_column_terminal ... ok
[INFO] [stdout] test screen::tests_traits::screen_implements_terminal_emulator ... ok
[INFO] [stdout] test screen::tests_traits::screen_as_dyn_terminal_emulator ... ok
[INFO] [stdout] test screen::tests_screen::tui_app_scroll_region_change_mid_session ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/retach-54afdd505f203f6f)
[INFO] [stdout] test screen::tests_screen::tui_app_alt_screen_scroll_then_exit_restores_main ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 695 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.57s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 80 tests
[INFO] [stdout] test client::tests::dispatch_server_msg_error_returns_done ... ok
[INFO] [stdout] test client::tests::input_filter_carry_esc_bracket ... ok
[INFO] [stdout] test client::tests::input_filter_esc_bracket_at_boundary ... ok
[INFO] [stdout] test client::tests::input_filter_esc_non_bracket_passthrough ... ok
[INFO] [stdout] test client::tests::dispatch_server_msg_screen_update_continues ... ok
[INFO] [stdout] test client::tests::input_filter_passthrough ... ok
[INFO] [stdout] test protocol::codec::tests::decode_accepts_max_size_frame ... ok
[INFO] [stdout] test client::tests::input_filter_flush ... ok
[INFO] [stdout] test client::tests::dispatch_server_msg_session_ended_returns_done ... ok
[INFO] [stdout] test client::tests::input_filter_focus_in ... ok
[INFO] [stdout] test client::tests::input_filter_carry_lone_esc ... ok
[INFO] [stdout] test client::tests::input_filter_focus_out_dropped ... ok
[INFO] [stdout] test client::tests::input_filter_mixed ... ok
[INFO] [stdout] test client::tests::input_filter_multiple_focus_events ... ok
[INFO] [stdout] test client::tests::input_filter_detach ... ok
[INFO] [stdout] test protocol::codec::tests::decode_frame_3_byte_buffer ... ok
[INFO] [stdout] test protocol::codec::tests::decode_frame_1_byte_buffer ... ok
[INFO] [stdout] test protocol::codec::tests::decode_frame_empty_buffer ... ok
[INFO] [stdout] test protocol::codec::tests::decode_frame_zero_length ... ok
[INFO] [stdout] test protocol::codec::tests::decode_rejects_corrupted_payload ... ok
[INFO] [stdout] test protocol::codec::tests::decode_rejects_oversized_frame ... ok
[INFO] [stdout] test protocol::codec::tests::encode_all_client_msg_variants ... ok
[INFO] [stdout] test protocol::codec::tests::encode_all_server_msg_variants ... ok
[INFO] [stdout] test protocol::codec::tests::encode_decode_round_trip ... ok
[INFO] [stdout] test protocol::codec::tests::encode_decode_server_msg ... ok
[INFO] [stdout] test protocol::codec::tests::encode_empty_collections ... ok
[INFO] [stdout] test protocol::codec::tests::encode_multiple_decode_sequential ... ok
[INFO] [stdout] test protocol::codec::tests::frame_reader_leftover_after_decode ... ok
[INFO] [stdout] test protocol::codec::tests::decode_incomplete_frame ... ok
[INFO] [stdout] test protocol::codec::tests::encode_decode_connect_mode_create_only ... ok
[INFO] [stdout] test client::tests::input_filter_detach_at_start ... ok
[INFO] [stdout] test protocol::codec::tests::encode_decode_connect_mode_attach_only ... ok
[INFO] [stdout] test protocol::codec::tests::frame_reader_multiple_messages_in_buffer ... ok
[INFO] [stdout] test protocol::codec::tests::frame_reader_with_leftover ... ok
[INFO] [stdout] test protocol::tests_history_protocol::screen_update_message_round_trip ... ok
[INFO] [stdout] test protocol::codec::tests::read_one_message_connection_closed ... ok
[INFO] [stdout] test server::session_bridge::tests::prepend_passthrough_multiple ... ok
[INFO] [stdout] test server::session_bridge::tests::prepend_passthrough_single ... ok
[INFO] [stdout] test server::client_handler::tests::client_disconnect_before_message ... ok
[INFO] [stdout] test server::session_bridge::tests::prepend_passthrough_empty ... ok
[INFO] [stdout] test server::session_bridge::tests::ed3_included_in_screen_update ... ok
[INFO] [stdout] test server::session_setup::tests::setup_attach_only_fails_for_missing ... ok
[INFO] [stdout] test server::client_handler::tests::unexpected_message_returns_error ... ok
[INFO] [stdout] test protocol::tests_history_protocol::history_message_round_trip ... ok
[INFO] [stdout] test server::client_handler::tests::list_sessions_empty ... ok
[INFO] [stdout] test server::client_handler::tests::kill_nonexistent_session ... ok
[INFO] [stdout] test protocol::tests_history_protocol::history_chunking_round_trip ... ok
[INFO] [stdout] test protocol::codec::tests::read_one_message_server_msg ... ok
[INFO] [stdout] test protocol::codec::tests::read_one_message_success ... ok
[INFO] [stdout] test protocol::tests_history_protocol::e2e_reattach_protocol_encode_decode_sequence ... ok
[INFO] [stdout] test server::socket::tests::lock_path_format ... ok
[INFO] [stdout] test server::socket::tests::socket_dir_returns_correct_format ... ok
[INFO] [stdout] test server::socket::tests::socket_path_ends_with_sock ... ok
[INFO] [stdout] test server::socket::tests::socket_dir_creates_directory ... ok
[INFO] [stdout] test server::socket::tests::socket_dir_has_correct_permissions ... ok
[INFO] [stdout] test server::socket::tests::socket_dir_idempotent ... ok
[INFO] [stdout] test session::tests::client_guard_clears_has_client_on_drop ... ok
[INFO] [stdout] test server::socket::tests::socket_dir_repairs_wrong_permissions ... ok
[INFO] [stdout] test session::tests::client_guard_skips_clear_when_evicted ... ok
[INFO] [stdout] test server::socket::tests::socket_dir_rejects_symlink ... ok
[INFO] [stdout] test session::tests::deferred_responses_bounded ... ok
[INFO] [stdout] test session::tests::validate_session_name_empty ... ok
[INFO] [stdout] test session::tests::validate_session_name_invalid_chars ... ok
[INFO] [stdout] test session::tests::session_manager_rejects_invalid_names ... ok
[INFO] [stdout] test session::tests::validate_session_name_valid ... ok
[INFO] [stdout] test session::tests::validate_session_name_too_long ... ok
[INFO] [stdout] test protocol::codec::tests::encode_large_input ... ok
[INFO] [stdout] test protocol::codec::tests::read_one_message_rejects_buffer_overflow ... ok
[INFO] [stdout] test session::tests::session_manager_get_or_create ... ok
[INFO] [stdout] test server::session_setup::tests::setup_creates_new_session ... ok
[INFO] [stdout] test server::session_setup::tests::setup_create_only_fails_for_existing ... ok
[INFO] [stdout] test server::session_setup::tests::setup_reattaches_existing_session ... ok
[INFO] [stdout] test session::tests::session_manager_create_and_list ... ok
[INFO] [stdout] test session::tests::persistent_reader_detects_child_exit ... ok
[INFO] [stdout] test session::tests::session_manager_duplicate_create_fails ... ok
[INFO] [stdout] test session::tests::session_manager_get_or_create_zero_dimensions ... ok
[INFO] [stdout] test session::tests::session_manager_remove ... ok
[INFO] [stdout] test session::tests::persistent_reader_captures_output_without_client ... ok
[INFO] [stdout] test session::tests::take_dead_sessions_empty_when_all_alive ... ok
[INFO] [stderr]      Running tests/library_api.rs (/opt/rustwide/target/debug/deps/library_api-824eaf042215d106)
[INFO] [stdout] test session::tests::take_dead_sessions_returns_dead ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 80 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.37s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test ansi_renderer_trait_emits_modes_title_scroll_region ... ok
[INFO] [stdout] test ansi_renderer_via_trait ... ok
[INFO] [stderr]      Running tests/pty_output.rs (/opt/rustwide/target/debug/deps/pty_output-e7c3e8370686e5af)
[INFO] [stdout] test cursor_shape_default ... ok
[INFO] [stdout] test dyn_terminal_emulator_works ... ok
[INFO] [stdout] test headless_terminal_emulator_workflow ... ok
[INFO] [stdout] test modes_returns_defaults ... ok
[INFO] [stdout] test take_passthrough_drains ... ok
[INFO] [stdout] test take_queued_notifications_drains ... ok
[INFO] [stdout] test scroll_region_defaults_to_full_screen ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test outer_terminal_output_contains_no_kitty_keyboard ... ok
[INFO] [stderr]    Doc-tests retach
[INFO] [stdout] test outer_terminal_receives_no_keyboard_modifier_sequences ... ok
[INFO] [stdout] test cleanup_resets_all_modes_set_by_render ... ok
[INFO] [stdout] test outer_terminal_output_contains_no_keyboard_csi_gt ... ok
[INFO] [stdout] test outer_terminal_all_csi_sequences_well_formed ... ok
[INFO] [stdout] test pty_detach_restores_termios_and_clean_output ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/lib.rs - (line 8) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.25s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "c76fff262a30d11dcc209a790ab8f64b59f580447c8f9eb97028fe1062328aec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c76fff262a30d11dcc209a790ab8f64b59f580447c8f9eb97028fe1062328aec", kill_on_drop: false }`
[INFO] [stdout] c76fff262a30d11dcc209a790ab8f64b59f580447c8f9eb97028fe1062328aec
