[INFO] cloning repository https://github.com/gHexaByte/retach [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/gHexaByte/retach" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FgHexaByte%2Fretach", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FgHexaByte%2Fretach'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 4b944377b7bbe0f647f417f6f5408791bfaa667e [INFO] testing gHexaByte/retach against master#d933cf483edf1605142ac6899ff32536c0ad8b22 for pr-150933 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FgHexaByte%2Fretach" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/gHexaByte/retach [INFO] finished tweaking git repo https://github.com/gHexaByte/retach [INFO] tweaked toml for git repo https://github.com/gHexaByte/retach written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/gHexaByte/retach on toolchain d933cf483edf1605142ac6899ff32536c0ad8b22 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d933cf483edf1605142ac6899ff32536c0ad8b22" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/gHexaByte/retach 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" "+d933cf483edf1605142ac6899ff32536c0ad8b22" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded pin-project-lite v0.2.17 [INFO] [stderr] Downloaded getrandom v0.4.2 [INFO] [stderr] Downloaded vte_generate_state_changes v0.1.2 [INFO] [stderr] Downloaded terminal_size v0.4.3 [INFO] [stderr] Downloaded shared_library v0.1.9 [INFO] [stderr] Downloaded vte v0.13.1 [INFO] [stderr] Downloaded filedescriptor v0.8.3 [INFO] [stderr] Downloaded ioctl-rs v0.1.6 [INFO] [stderr] Downloaded termios v0.2.2 [INFO] [stderr] Downloaded portable-pty v0.8.1 [INFO] [stderr] Downloaded tempfile v3.26.0 [INFO] [stderr] Downloaded r-efi v6.0.0 [INFO] [stderr] Downloaded serial-unix v0.4.0 [INFO] [stderr] Downloaded serial-core v0.4.0 [INFO] [stderr] Downloaded serial-windows v0.4.0 [INFO] [stderr] Downloaded serial v0.4.0 [INFO] [stderr] Downloaded shell-words v1.1.1 [INFO] [stderr] Downloaded rustix v1.1.4 [INFO] [stderr] Downloaded nix v0.25.1 [INFO] [stderr] Downloaded linux-raw-sys v0.12.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+d933cf483edf1605142ac6899ff32536c0ad8b22" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e13938d6302c8b908ae0c8909ec781f49c07dda079526aa883a75fadaff935d1 [INFO] running `Command { std: "docker" "start" "-a" "e13938d6302c8b908ae0c8909ec781f49c07dda079526aa883a75fadaff935d1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e13938d6302c8b908ae0c8909ec781f49c07dda079526aa883a75fadaff935d1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e13938d6302c8b908ae0c8909ec781f49c07dda079526aa883a75fadaff935d1", kill_on_drop: false }` [INFO] [stdout] e13938d6302c8b908ae0c8909ec781f49c07dda079526aa883a75fadaff935d1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+d933cf483edf1605142ac6899ff32536c0ad8b22" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6583fb36d1507c24f7829ff2864db7dc4ae4439b32e90cbf1fb191d5a48e086e [INFO] running `Command { std: "docker" "start" "-a" "6583fb36d1507c24f7829ff2864db7dc4ae4439b32e90cbf1fb191d5a48e086e", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling pin-project-lite v0.2.17 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling nix v0.29.0 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling clap_lex v1.0.0 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling downcast-rs v1.2.1 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling shell-words v1.1.1 [INFO] [stderr] Compiling arrayvec v0.7.6 [INFO] [stderr] Compiling unicode-width v0.2.2 [INFO] [stderr] Compiling clap_builder v4.5.60 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling vte_generate_state_changes v0.1.2 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling terminal_size v0.4.3 [INFO] [stderr] Compiling vte v0.13.1 [INFO] [stderr] Compiling serial-core v0.4.0 [INFO] [stderr] Compiling ioctl-rs v0.1.6 [INFO] [stderr] Compiling termios v0.2.2 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling socket2 v0.6.2 [INFO] [stderr] Compiling nix v0.25.1 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling serial-unix v0.4.0 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling serial v0.4.0 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling filedescriptor v0.8.3 [INFO] [stderr] Compiling portable-pty v0.8.1 [INFO] [stderr] Compiling clap v4.5.60 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling retach v0.7.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: enum `MouseMode` is never used [INFO] [stdout] --> src/screen/grid.rs:99:10 [INFO] [stdout] | [INFO] [stdout] 99 | pub enum MouseMode { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `effective` is never used [INFO] [stdout] --> src/screen/grid.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 117 | impl MouseModes { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn effective(&self) -> MouseMode { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 38.22s [INFO] running `Command { std: "docker" "inspect" "6583fb36d1507c24f7829ff2864db7dc4ae4439b32e90cbf1fb191d5a48e086e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6583fb36d1507c24f7829ff2864db7dc4ae4439b32e90cbf1fb191d5a48e086e", kill_on_drop: false }` [INFO] [stdout] 6583fb36d1507c24f7829ff2864db7dc4ae4439b32e90cbf1fb191d5a48e086e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+d933cf483edf1605142ac6899ff32536c0ad8b22" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6dabc8d2d2e5c3bebbc5a43761119badfa65a4426f0bd7933188f4e3ef403e0e [INFO] running `Command { std: "docker" "start" "-a" "6dabc8d2d2e5c3bebbc5a43761119badfa65a4426f0bd7933188f4e3ef403e0e", 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.7.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: function `count_nonempty_history` is never used [INFO] [stdout] --> src/screen/tests_progress_bar_scrollback.rs:86:4 [INFO] [stdout] | [INFO] [stdout] 86 | fn count_nonempty_history(screen: &Screen) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 11.77s [INFO] running `Command { std: "docker" "inspect" "6dabc8d2d2e5c3bebbc5a43761119badfa65a4426f0bd7933188f4e3ef403e0e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6dabc8d2d2e5c3bebbc5a43761119badfa65a4426f0bd7933188f4e3ef403e0e", kill_on_drop: false }` [INFO] [stdout] 6dabc8d2d2e5c3bebbc5a43761119badfa65a4426f0bd7933188f4e3ef403e0e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+d933cf483edf1605142ac6899ff32536c0ad8b22" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] f75a72b047c1d085a7de456a970279a240b43c64d16cd84e756afd58157e05ed [INFO] running `Command { std: "docker" "start" "-a" "f75a72b047c1d085a7de456a970279a240b43c64d16cd84e756afd58157e05ed", kill_on_drop: false }` [INFO] [stderr] warning: function `count_nonempty_history` is never used [INFO] [stderr] --> src/screen/tests_progress_bar_scrollback.rs:86:4 [INFO] [stderr] | [INFO] [stderr] 86 | fn count_nonempty_history(screen: &Screen) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `retach` (bin "retach" test) generated 1 warning [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.16s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/retach-b8c78d6c78a22a21) [INFO] [stdout] [INFO] [stdout] running 648 tests [INFO] [stdout] test client::tests::dispatch_server_msg_error_returns_done ... ok [INFO] [stdout] test protocol::codec::tests::decode_frame_3_byte_buffer ... ok [INFO] [stdout] test client::tests::dispatch_server_msg_session_ended_returns_done ... 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_incomplete_frame ... ok [INFO] [stdout] test protocol::codec::tests::decode_rejects_corrupted_payload ... ok [INFO] [stdout] test protocol::codec::tests::encode_all_server_msg_variants ... ok [INFO] [stdout] test protocol::codec::tests::encode_decode_connect_mode_attach_only ... ok [INFO] [stdout] test client::tests::dispatch_server_msg_screen_update_continues ... 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::codec::tests::encode_decode_connect_mode_create_only ... ok [INFO] [stdout] test protocol::codec::tests::encode_decode_round_trip ... ok [INFO] [stdout] test protocol::codec::tests::frame_reader_leftover_after_decode ... ok [INFO] [stdout] test protocol::codec::tests::read_one_message_connection_closed ... ok [INFO] [stdout] test protocol::codec::tests::encode_decode_server_msg ... ok [INFO] [stdout] test protocol::codec::tests::read_one_message_server_msg ... ok [INFO] [stdout] test screen::grid::tests::grid_new_zero_dimensions ... ok [INFO] [stdout] test protocol::codec::tests::read_one_message_success ... ok [INFO] [stdout] test screen::grid::tests::grid_new_creates_correct_size ... ok [INFO] [stdout] test screen::grid::tests::grid_resize_zero ... ok [INFO] [stdout] test screen::grid::tests::grid_resize ... ok [INFO] [stdout] test screen::grid::tests::grid_scroll_up ... ok [INFO] [stdout] test protocol::codec::tests::encode_empty_collections ... ok [INFO] [stdout] test protocol::codec::tests::decode_rejects_oversized_frame ... ok [INFO] [stdout] test protocol::codec::tests::encode_multiple_decode_sequential ... 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::resize_both_expand ... ok [INFO] [stdout] test screen::grid::tests::resize_both_shrink ... ok [INFO] [stdout] test screen::grid::tests::resize_expand_cols_shrink_rows ... 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_horizontal_expand_preserves_content ... ok [INFO] [stdout] test screen::grid::tests::resize_horizontal_shrink_clamps_cursor ... ok [INFO] [stdout] test screen::grid::tests::resize_horizontal_shrink_preserves_visible_content ... ok [INFO] [stdout] test screen::grid::tests::resize_horizontal_shrink_then_expand_loses_truncated ... ok [INFO] [stdout] test screen::grid::tests::resize_multiple_sequential_preserves_overlap ... 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_resets_tab_stops ... ok [INFO] [stdout] test screen::grid::tests::resize_shrink_cols_expand_rows ... ok [INFO] [stdout] test screen::grid::tests::resize_same_dimensions_preserves_everything ... ok [INFO] [stdout] test screen::grid::tests::resize_vertical_shrink_clamps_cursor ... ok [INFO] [stdout] test screen::grid::tests::resize_vertical_expand_preserves_content ... ok [INFO] [stdout] test screen::grid::tests::resize_resets_scroll_region ... ok [INFO] [stdout] test screen::grid::tests::resize_vertical_shrink_preserves_visible_content ... ok [INFO] [stdout] test screen::grid::tests::terminal_modes_default ... ok [INFO] [stdout] test screen::history_boundary_tests::e2e_reattach_no_history_no_flush ... ok [INFO] [stdout] test screen::history_boundary_tests::e2e_reattach_history_then_screen ... ok [INFO] [stdout] test protocol::codec::tests::encode_all_client_msg_variants ... ok [INFO] [stdout] test screen::grid::tests::pending_scrollback_respects_limit ... ok [INFO] [stdout] test screen::history_boundary_tests::e2e_reattach_protocol_encode_decode_sequence ... ok [INFO] [stdout] test screen::history_boundary_tests::e2e_reattach_wide_terminal_to_narrow ... ok [INFO] [stdout] test screen::history_boundary_tests::history_and_screen_no_overlap ... ok [INFO] [stdout] test screen::history_boundary_tests::e2e_resize_between_reattach_cycles ... ok [INFO] [stdout] test screen::history_boundary_tests::e2e_reattach_with_styled_history ... ok [INFO] [stdout] test screen::history_boundary_tests::e2e_scrollback_during_session_then_reattach ... ok [INFO] [stdout] test screen::grid::tests::sanitize_zero_dimensions ... ok [INFO] [stdout] test screen::grid::tests::scroll_up_full_region_with_scrollback_still_works ... ok [INFO] [stdout] test screen::history_boundary_tests::history_message_round_trip ... ok [INFO] [stdout] test screen::history_boundary_tests::resize_between_reattach_preserves_content ... ok [INFO] [stdout] test screen::history_boundary_tests::resize_expand_between_reattach_restores_scrollback ... ok [INFO] [stdout] test screen::history_boundary_tests::resize_shrink_then_expand_roundtrip_no_duplication ... ok [INFO] [stdout] test screen::history_boundary_tests::scrollback_line_message_round_trip ... ok [INFO] [stdout] test screen::render::tests::render_cache_invalidate ... ok [INFO] [stdout] test screen::history_boundary_tests::resize_expand_moves_scrollback_to_screen_no_duplication ... ok [INFO] [stdout] test screen::render::tests::reattach_no_flush_without_history ... ok [INFO] [stdout] test screen::history_boundary_tests::history_ordering_preserved_with_many_lines ... ok [INFO] [stdout] test screen::history_boundary_tests::screen_update_message_round_trip ... 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_skips_wide_char_continuation ... ok [INFO] [stdout] test screen::render::tests::render_line_styled_spaces_not_blank ... ok [INFO] [stdout] test screen::render::tests::render_line_styled_trailing_space ... ok [INFO] [stdout] test screen::render::tests::render_line_combined_attributes ... ok [INFO] [stdout] test screen::render::tests::render_cached_title_no_bell ... ok [INFO] [stdout] test screen::render::tests::render_line_rgb_color ... 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_wide_char_at_end ... ok [INFO] [stdout] test screen::history_boundary_tests::history_chunking_round_trip ... ok [INFO] [stdout] test screen::history_boundary_tests::pending_scrollback_drained_before_reattach ... ok [INFO] [stdout] test screen::render::tests::render_line_with_style ... ok [INFO] [stdout] test screen::render::tests::reattach_history_flush_count ... ok [INFO] [stdout] test screen::history_boundary_tests::stale_pending_scrollback_only_new_lines ... ok [INFO] [stdout] test screen::render::tests::render_screen_1x1_grid ... 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_screen_cursor_shape_delta ... ok [INFO] [stdout] test screen::render::tests::render_screen_full ... ok [INFO] [stdout] test screen::render::tests::render_screen_hidden_cursor ... ok [INFO] [stdout] test screen::render::tests::render_screen_incremental_dirty_tracking ... ok [INFO] [stdout] test screen::render::tests::render_screen_incremental ... ok [INFO] [stdout] test screen::render::tests::render_screen_mode_delta_mouse_switch ... ok [INFO] [stdout] test screen::render::tests::render_screen_mouse_encoding_1005 ... ok [INFO] [stdout] test screen::render::tests::render_no_standalone_bell ... ok [INFO] [stdout] test screen::render::tests::render_screen_mouse_encoding_1006 ... ok [INFO] [stdout] test screen::render::tests::no_scrollback_no_crlf_in_output ... 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_full_mode_emits_mouse_modes ... ok [INFO] [stdout] test screen::render::tests::render_screen_includes_title ... ok [INFO] [stdout] test screen::render::tests::render_screen_synchronized_output ... ok [INFO] [stdout] test screen::render::tests::render_screen_title_sanitized ... ok [INFO] [stdout] test screen::render::tests::render_screen_keypad_mode_delta ... ok [INFO] [stdout] test screen::render::tests::scrollback_forces_full_redraw ... ok [INFO] [stdout] test screen::render::tests::render_no_title_no_bell_bytes ... ok [INFO] [stdout] test protocol::codec::tests::encode_large_input ... ok [INFO] [stdout] test screen::render::tests::render_screen_cursor_bottom_right ... ok [INFO] [stdout] test screen::render::tests::render_screen_mode_delta_bracketed_paste ... ok [INFO] [stdout] test screen::style::tests::sgr_all_attributes_combined ... ok [INFO] [stdout] test screen::style::tests::sgr_blink_attribute ... ok [INFO] [stdout] test screen::style::tests::sgr_inverse_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_round_trip_rgb ... ok [INFO] [stdout] test screen::style::tests::sgr_strikethrough_attribute ... ok [INFO] [stdout] test screen::style::tests::sgr_underline_variants ... ok [INFO] [stdout] test screen::render::tests::scrollback_lines_appear_before_screen_clear ... ok [INFO] [stdout] test screen::style::tests::sgr_with_reset_default ... ok [INFO] [stdout] test screen::style::tests::sgr_with_reset_styled ... ok [INFO] [stdout] test screen::history_boundary_tests::history_render_flush_newlines_match_rows ... ok [INFO] [stdout] test screen::tests_large_updates::alternating_bulk_and_single_line_updates ... ok [INFO] [stdout] test screen::tests_large_updates::bulk_output_pending_scrollback_matches_total ... 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_full_redraw_no_standalone_bell ... ok [INFO] [stdout] test screen::tests_large_updates::bulk_output_with_styles_renders_correctly ... ok [INFO] [stdout] test screen::tests_large_updates::cache_invalidate_mid_bulk_produces_correct_render ... ok [INFO] [stdout] test screen::render::tests::render_line_with_text ... ok [INFO] [stdout] test screen::tests_large_updates::bulk_output_scrollback_count ... ok [INFO] [stdout] test screen::style::tests::sgr_bright_colors ... ok [INFO] [stdout] test screen::tests_large_updates::cursor_stays_on_bottom_row_during_continuous_scroll ... ok [INFO] [stdout] test screen::style::tests::sgr_dim_attribute ... ok [INFO] [stdout] test screen::tests_large_updates::cursor_position_after_bulk_output ... ok [INFO] [stdout] test screen::tests_large_updates::incremental_render_after_bulk_scroll ... ok [INFO] [stdout] test screen::tests_large_updates::full_render_after_bulk_scroll_shows_last_rows ... ok [INFO] [stdout] test screen::style::tests::sgr_colon_separated_subparams ... ok [INFO] [stdout] test screen::tests_large_updates::bulk_output_with_scroll_region ... ok [INFO] [stdout] test screen::tests_large_updates::incremental_render_no_redraw_when_content_unchanged_after_scroll ... 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::tests_large_updates::multiple_bulk_updates_dirty_tracking ... ok [INFO] [stdout] test screen::tests_large_updates::output_exactly_fills_screen_no_scroll ... ok [INFO] [stdout] test screen::tests_large_updates::output_one_more_than_screen_scrolls_once ... ok [INFO] [stdout] test screen::tests_large_updates::rapid_output_then_partial_overwrite ... ok [INFO] [stdout] test screen::tests_live_scrollback::blank_lines_in_scrollback_produce_empty_entries ... ok [INFO] [stdout] test screen::tests_large_updates::render_with_large_pending_scrollback ... ok [INFO] [stdout] test screen::tests_large_updates::reattach_render_no_standalone_bell_after_bulk ... ok [INFO] [stdout] test screen::render::tests::scrollback_lines_use_cursor_positioning ... ok [INFO] [stdout] test screen::tests_live_scrollback::cursor_hidden_state_preserved_after_scrollback_injection ... 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_large_updates::sync_block_wraps_large_render ... ok [INFO] [stdout] test screen::tests_live_scrollback::alt_screen_does_not_generate_scrollback ... ok [INFO] [stdout] test screen::tests_live_scrollback::alternating_scrollback_and_no_scrollback_cycles ... ok [INFO] [stdout] test screen::tests_live_scrollback::autowrap_delta_after_scrollback_cycle ... ok [INFO] [stdout] test screen::tests_live_scrollback::bracketed_paste_delta_after_scrollback_cycle ... ok [INFO] [stdout] test screen::tests_live_scrollback::mode_change_between_scrollback_batches_reflected_correctly ... ok [INFO] [stdout] test screen::tests_live_scrollback::cursor_position_correct_after_scrollback_injection ... ok [INFO] [stdout] test screen::tests_live_scrollback::many_sequential_batches_accumulate_correctly ... ok [INFO] [stdout] test screen::tests_live_scrollback::pending_scrollback_preserved_across_alt_screen_excursion ... ok [INFO] [stdout] test screen::tests_live_scrollback::cursor_shape_delta_correct_after_scrollback_then_change ... 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::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::scrollback_content_before_clear_screen_content_after ... ok [INFO] [stdout] test screen::tests_live_scrollback::pending_scrollback_limit_enforced_during_rapid_output ... ok [INFO] [stdout] test screen::tests_live_scrollback::scrollback_exactly_rows_lines_single_chunk ... ok [INFO] [stdout] test screen::tests_live_scrollback::scroll_region_not_at_top_produces_no_scrollback ... ok [INFO] [stdout] test screen::tests_live_scrollback::scroll_region_cached_after_scrollback_not_re_emitted ... 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_multi_chunk_processes_correctly ... ok [INFO] [stdout] test screen::tests_live_scrollback::scrollback_single_chunk_overwrites_rows ... ok [INFO] [stdout] test screen::tests_live_scrollback::single_line_scrollback_injection ... ok [INFO] [stdout] test screen::tests_live_scrollback::scrollback_partial_chunk_erases_remaining_rows ... ok [INFO] [stdout] test screen::tests_live_scrollback::scrollback_single_line_overwrites_and_scrolls ... ok [INFO] [stdout] test screen::tests_live_scrollback::sequential_scrollback_batches_no_duplication ... ok [INFO] [stdout] test screen::tests_live_scrollback::large_pending_scrollback_renders_all_lines ... ok [INFO] [stdout] test screen::tests_live_scrollback::scrollback_large_burst_chunked_correctly ... ok [INFO] [stdout] test screen::tests_large_updates::reattach_after_1000_lines ... ok [INFO] [stdout] test screen::tests_live_scrollback::styled_scrollback_lines_preserve_formatting ... ok [INFO] [stdout] test screen::tests_live_scrollback::scrollback_injection_resets_scroll_region ... ok [INFO] [stdout] test screen::tests_live_scrollback::scrollback_injection_starts_at_bottom_row ... ok [INFO] [stdout] test screen::tests_live_scrollback::screen_only_change_after_scrollback_renders_incrementally ... ok [INFO] [stdout] test screen::tests_live_scrollback::title_cached_after_scrollback_not_re_emitted ... ok [INFO] [stdout] test protocol::codec::tests::read_one_message_rejects_buffer_overflow ... ok [INFO] [stdout] test screen::tests_progress_bar_scrollback::cuu_cannot_reach_scrollback ... ok [INFO] [stdout] test screen::tests_live_scrollback::wide_chars_in_scrollback_render_correctly ... ok [INFO] [stdout] test screen::tests_progress_bar_scrollback::el_only_affects_current_grid_row ... 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::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_region_creates_blank_artifact_in_scrollback ... ok [INFO] [stdout] test protocol::codec::tests::decode_accepts_max_size_frame ... ok [INFO] [stdout] test screen::style::tests::sgr_round_trip_256_color ... ok [INFO] [stdout] test screen::tests_progress_bar_scrollback::multiline_spinner_then_erase_then_large_output ... ok [INFO] [stdout] test screen::tests_progress_bar_scrollback::multiline_progress_erased_before_scrolling ... ok [INFO] [stdout] test screen::tests_live_scrollback::two_incremental_renders_after_scrollback_only_first_redraws ... 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::pending_scrollback_correct_during_progress_erase_cycle ... ok [INFO] [stdout] test screen::tests_progress_bar_scrollback::progress_overwritten_by_normal_output_no_scrollback_leak ... ok [INFO] [stdout] test screen::tests_progress_bar_scrollback::reverse_index_at_top_does_not_affect_scrollback ... ok [INFO] [stdout] test screen::tests_reattach::mode_delta_detects_autowrap_change ... ok [INFO] [stdout] test screen::tests_progress_bar_scrollback::save_restore_cursor_around_progress_erase ... ok [INFO] [stdout] test screen::tests_progress_bar_scrollback::progress_bar_captured_in_scrollback_before_erase ... ok [INFO] [stdout] test screen::tests_reattach::alt_screen_skips_history_on_reattach ... ok [INFO] [stdout] test screen::tests_reattach::mode_delta_detects_charset_change ... ok [INFO] [stdout] test screen::tests_progress_bar_scrollback::styled_progress_bar_erased_cleanly ... ok [INFO] [stdout] test screen::tests_progress_bar_scrollback::single_line_progress_erased_before_scrolling ... ok [INFO] [stdout] test screen::tests_progress_bar_scrollback::response_with_cursor_home_and_overwrite_no_scrollback_leak ... ok [INFO] [stdout] test screen::tests_large_updates::bulk_output_scrollback_ordering ... ok [INFO] [stdout] test screen::tests_progress_bar_scrollback::spinner_loop_then_erase_then_large_output ... ok [INFO] [stdout] test screen::tests_reattach::data_loss_corrupts_scroll_region ... ok [INFO] [stdout] test screen::tests_reattach::history_available_after_alt_screen_exit ... ok [INFO] [stdout] test screen::tests_reattach::reattach_after_simulated_data_loss ... ok [INFO] [stdout] test screen::tests_reattach::reattach_after_alt_screen_roundtrip ... ok [INFO] [stdout] test screen::tests_reattach::no_flush_newlines_without_history ... ok [INFO] [stdout] test screen::tests_reattach::full_data_processing_keeps_grid_in_sync ... ok [INFO] [stdout] test screen::tests_reattach::reattach_after_full_reset ... ok [INFO] [stdout] test screen::tests_reattach::reattach_after_multiple_resizes ... ok [INFO] [stdout] test screen::tests_reattach::reattach_256_color_preserved ... 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::reattach_cell_content_preserved ... ok [INFO] [stdout] test screen::tests_reattach::reattach_content_after_autowrap ... ok [INFO] [stdout] test screen::tests_reattach::reattach_alt_screen_content ... ok [INFO] [stdout] test screen::tests_progress_bar_scrollback::progress_bar_visible_in_scrollback_after_reconnect ... ok [INFO] [stdout] test screen::tests_reattach::reattach_background_color_erase ... ok [INFO] [stdout] test screen::tests_reattach::reattach_colored_text_preserved ... ok [INFO] [stdout] test screen::tests_reattach::reattach_combined_sgr_attributes ... ok [INFO] [stdout] test screen::tests_reattach::reattach_content_after_delete_characters ... ok [INFO] [stdout] test screen::tests_reattach::reattach_content_after_delete_lines ... ok [INFO] [stdout] test screen::tests_reattach::mode_delta_detects_scroll_region_change ... ok [INFO] [stdout] test screen::tests_reattach::reattach_content_after_insert_lines ... ok [INFO] [stdout] test screen::tests_reattach::reattach_content_after_reverse_index ... ok [INFO] [stdout] test screen::tests_reattach::reattach_content_last_column ... ok [INFO] [stdout] test screen::tests_reattach::reattach_content_last_row ... ok [INFO] [stdout] test screen::tests_reattach::reattach_content_fills_entire_screen ... ok [INFO] [stdout] test screen::tests_reattach::reattach_content_after_scroll_within_region ... ok [INFO] [stdout] test screen::tests_reattach::mode_delta_skips_unchanged_scroll_region ... ok [INFO] [stdout] test screen::tests_reattach::reattach_combining_marks ... ok [INFO] [stdout] test screen::tests_reattach::reattach_content_after_erase_to_end_of_line ... ok [INFO] [stdout] test screen::tests_reattach::reattach_content_after_insert_characters ... ok [INFO] [stdout] test screen::tests_reattach::reattach_content_with_scroll_region ... ok [INFO] [stdout] test screen::tests_reattach::reattach_bracketed_paste_mode ... ok [INFO] [stdout] test screen::tests_reattach::reattach_bold_text_preserved ... ok [INFO] [stdout] test screen::tests_reattach::reattach_cursor_after_scroll ... ok [INFO] [stdout] test screen::tests_reattach::reattach_cursor_after_resize_clamp ... ok [INFO] [stdout] test screen::tests_reattach::reattach_cursor_after_newlines ... 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_position_independent_of_content ... ok [INFO] [stdout] test screen::tests_reattach::reattach_cursor_after_save_restore ... ok [INFO] [stdout] test screen::tests_reattach::reattach_empty_screen ... ok [INFO] [stdout] test screen::tests_reattach::reattach_cursor_bottom_right ... ok [INFO] [stdout] test screen::tests_reattach::reattach_cursor_shape_preserved ... ok [INFO] [stdout] test screen::tests_reattach::reattach_cursor_shape_steady_block ... ok [INFO] [stdout] test screen::tests_reattach::reattach_cursor_after_resize_within_bounds ... ok [INFO] [stdout] test screen::tests_reattach::reattach_hidden_text_attribute ... ok [INFO] [stdout] test screen::tests_reattach::reattach_cursor_visibility_hidden ... ok [INFO] [stdout] test screen::tests_reattach::reattach_cursor_at_origin ... ok [INFO] [stdout] test screen::tests_reattach::reattach_dim_attribute ... ok [INFO] [stdout] test screen::tests_reattach::reattach_background_color_preserved ... ok [INFO] [stdout] test screen::tests_progress_bar_scrollback::full_session_prompt_spinner_response_scrollback_consistency ... ok [INFO] [stdout] test screen::tests_reattach::reattach_emits_full_screen_scroll_region ... ok [INFO] [stdout] test screen::tests_reattach::reattach_cursor_after_alt_screen_exit ... ok [INFO] [stdout] test screen::tests_reattach::reattach_cursor_visibility_visible ... ok [INFO] [stdout] test screen::tests_reattach::reattach_htop_multiple_reconnections ... ok [INFO] [stdout] test screen::tests_reattach::reattach_cursor_after_movement ... ok [INFO] [stdout] test screen::tests_reattach::reattach_cursor_after_erase_in_display ... ok [INFO] [stdout] test screen::tests_reattach::reattach_cursor_after_clear_screen ... ok [INFO] [stdout] test screen::tests_reattach::reattach_keypad_app_mode ... ok [INFO] [stdout] test screen::tests_reattach::reattach_mixed_styled_unstyled_regions ... 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_fresh_cache_always_full_render ... ok [INFO] [stdout] test screen::tests_reattach::reattach_focus_reporting ... ok [INFO] [stdout] test screen::tests_reattach::reattach_full_state_roundtrip ... 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_render_structure_order ... ok [INFO] [stdout] test screen::tests_reattach::reattach_mouse_sgr_encoding ... ok [INFO] [stdout] test screen::tests_reattach::reattach_htop_scroll_region_layout ... ok [INFO] [stdout] test screen::tests_reattach::reattach_inverse_attribute ... ok [INFO] [stdout] test screen::tests_reattach::reattach_mouse_mode_1003 ... ok [INFO] [stdout] test screen::tests_reattach::reattach_restores_active_charset_g1 ... ok [INFO] [stdout] test screen::tests_reattach::reattach_restores_autowrap_disabled ... ok [INFO] [stdout] test screen::tests_reattach::reattach_line_drawing_characters ... ok [INFO] [stdout] test screen::tests_reattach::reattach_scrollback_not_in_grid_render ... ok [INFO] [stdout] test screen::tests_reattach::reattach_scrollback_lines_in_history_render ... ok [INFO] [stdout] test screen::tests_reattach::reattach_restores_custom_scroll_region ... ok [INFO] [stdout] test screen::tests_reattach::reattach_row_order_correct ... ok [INFO] [stdout] test screen::tests_reattach::reattach_restores_autowrap_enabled ... ok [INFO] [stdout] test screen::tests_reattach::reattach_restores_g0_line_drawing_charset ... ok [INFO] [stdout] test screen::tests_reattach::reattach_restores_g0_ascii_charset ... ok [INFO] [stdout] test screen::tests_reattach::reattach_restores_active_charset_g0 ... ok [INFO] [stdout] test screen::tests_reattach::reattach_second_render_uses_cache ... ok [INFO] [stdout] test screen::tests_reattach::reattach_render_is_self_contained ... ok [INFO] [stdout] test screen::tests_reattach::reattach_rgb_color_preserved ... ok [INFO] [stdout] test screen::tests_reattach::reattach_wide_char_at_end_of_row ... ok [INFO] [stdout] test screen::tests_reattach::reattach_tab_aligned_content ... ok [INFO] [stdout] test screen::tests_reattach::reattach_wide_char_wraps_at_boundary ... ok [INFO] [stdout] test screen::tests_reattach::reattach_with_scrollback_preserves_cursor ... 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_reattach::reattach_wrap_pending_cursor_at_right_margin ... ok [INFO] [stdout] test screen::tests_reattach::vte_parser_recovers_from_partial_escape_sequence ... ok [INFO] [stdout] test screen::tests_reattach::vte_parser_sgr_correct_after_partial_sequence ... ok [INFO] [stdout] test screen::tests_reattach::reattach_restores_g1_line_drawing_charset ... ok [INFO] [stdout] test screen::tests_reattach::reattach_scroll_region_before_cursor_position ... ok [INFO] [stdout] test screen::tests_reconnect_scrollback::clear_then_redraw_inplace_no_scrollback ... ok [INFO] [stdout] test screen::tests_reattach::reattach_strikethrough_attribute ... 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::full_reconnect_cycle_same_size_inplace_no_duplication ... ok [INFO] [stdout] test screen::tests_reconnect_scrollback::get_history_is_idempotent ... ok [INFO] [stdout] test screen::tests_reconnect_scrollback::resize_smaller_then_app_sequential_redraw_overflows ... ok [INFO] [stdout] test screen::tests_reconnect_scrollback::get_history_unchanged_without_new_output ... ok [INFO] [stdout] test screen::tests_reattach::reattach_title_preserved ... ok [INFO] [stdout] test screen::tests_reconnect_scrollback::inplace_redraw_does_not_grow_scrollback ... ok [INFO] [stdout] test screen::tests_reconnect_scrollback::logo_duplicates_on_reconnect_with_overflow_redraw ... ok [INFO] [stdout] test screen::tests_reconnect_scrollback::inplace_redraw_multiple_reconnects_no_growth ... ok [INFO] [stdout] test screen::tests_reconnect_scrollback::shrink_vertical_does_not_push_to_scrollback ... ok [INFO] [stdout] test screen::tests_resize::render_with_scrollback_after_shrink_positions_correctly ... 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_resize_positions_correctly ... ok [INFO] [stdout] test screen::tests_resize::resize_after_scroll_preserves_scrollback ... ok [INFO] [stdout] test screen::tests_reconnect_scrollback::logo_accumulates_with_each_reconnect_cycle ... ok [INFO] [stdout] test screen::tests_reconnect_scrollback::resize_smaller_then_app_redraw_inplace_no_duplication ... ok [INFO] [stdout] test screen::tests_reconnect_scrollback::sequential_redraw_at_top_does_not_scroll_when_fits ... ok [INFO] [stdout] test screen::tests_reattach::reattach_wide_characters ... ok [INFO] [stdout] test screen::tests_reconnect_scrollback::grow_vertical_restores_from_scrollback ... ok [INFO] [stdout] test screen::tests_reconnect_scrollback::shrink_then_grow_cycle_scrollback_consistency ... ok [INFO] [stdout] test screen::tests_resize::resize_after_scroll_reattach_renders_correctly ... ok [INFO] [stdout] test screen::tests_resize::resize_after_scroll_preserves_visible_and_scrollback ... 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_clears_wrap_pending ... ok [INFO] [stdout] test screen::tests_resize::resize_between_csi_s_u_clamps_cursor ... ok [INFO] [stdout] test screen::tests_resize::resize_both_shrink_preserves_visible_text ... ok [INFO] [stdout] test screen::tests_resize::resize_current_style_persists_for_new_content ... ok [INFO] [stdout] test screen::tests_resize::resize_cursor_at_bottom_left_clamps ... ok [INFO] [stdout] test screen::tests_resize::resize_between_decsc_decrc_clamps_cursor ... ok [INFO] [stdout] test screen::tests_resize::resize_cursor_at_top_right_clamps ... ok [INFO] [stdout] test screen::tests_resize::resize_does_not_reset_sgr_state ... ok [INFO] [stdout] test screen::tests_resize::resize_cursor_at_bottom_right_clamps ... ok [INFO] [stdout] test screen::tests_resize::resize_cursor_at_top_left_stays ... ok [INFO] [stdout] test screen::tests_resize::resize_expand_after_scroll_visible_cells_intact ... 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_expand_cols_shrink_rows_preserves_overlap ... ok [INFO] [stdout] test screen::tests_resize::resize_expand_in_alt_screen_skips_scrollback_restore ... 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_in_alt_screen_modes_restored_correctly ... ok [INFO] [stdout] test screen::tests_resize::resize_in_alt_screen_expand_then_exit ... ok [INFO] [stdout] test screen::tests_resize::resize_both_expand_preserves_text ... ok [INFO] [stdout] test screen::tests_resize::resize_extreme_shrink_cursor_to_origin ... ok [INFO] [stdout] test screen::tests_resize::resize_in_alt_screen_then_exit_restores_main_resized ... ok [INFO] [stdout] test screen::tests_resize::resize_in_alt_screen_multiple_then_exit ... ok [INFO] [stdout] test screen::tests_resize::resize_mid_sgr_sequence_style_applied_after ... 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_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_combining_marks ... ok [INFO] [stdout] test screen::tests_resize::resize_preserves_styled_content ... ok [INFO] [stdout] test screen::tests_resize::resize_rapid_with_mixed_content ... ok [INFO] [stdout] test screen::tests_resize::resize_reattach_render_preserves_content ... ok [INFO] [stdout] test screen::tests_resize::resize_scrollback_screen_boundary_integrity ... ok [INFO] [stdout] test screen::tests_resize::resize_shrink_splits_wide_char_at_boundary ... ok [INFO] [stdout] test screen::tests_resize::resize_shrink_after_scroll_keeps_scrollback ... ok [INFO] [stdout] test screen::tests_resize::resize_same_height_no_scrollback_restore ... ok [INFO] [stdout] test screen::tests_resize::resize_saved_cursor_style_preserved ... ok [INFO] [stdout] test screen::tests_resize::resize_reattach_render_shrink_then_expand ... ok [INFO] [stdout] test screen::tests_resize::resize_scrollback_contains_correct_content ... ok [INFO] [stdout] test screen::tests_resize::resize_shrink_after_scroll_visible_cells_intact ... ok [INFO] [stdout] test screen::tests_resize::resize_shrink_wide_char_at_exact_right_edge ... ok [INFO] [stdout] test screen::tests_resize::resize_render_cache_shrink_then_expand ... ok [INFO] [stdout] test screen::tests_resize::resize_same_dimensions_is_noop_for_content ... ok [INFO] [stdout] test screen::tests_resize::resize_shrink_cols_expand_rows_preserves_overlap ... ok [INFO] [stdout] test screen::tests_resize::resize_shrink_multiple_wide_chars_on_boundary ... ok [INFO] [stdout] test screen::tests_resize::resize_shrink_wide_char_fully_inside_survives ... 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_restores_scrollback ... ok [INFO] [stdout] test screen::tests_resize::resize_vertical_shrink_preserves_visible_text ... ok [INFO] [stdout] test screen::tests_resize::resize_vertical_expand_shifts_cursor ... ok [INFO] [stdout] test screen::tests_resize::scrollback_mixed_widths_after_multiple_resizes ... ok [INFO] [stdout] test screen::tests_resize::resize_vertical_expand_removes_restored_from_scrollback ... ok [INFO] [stdout] test screen::tests_screen::alt_screen_clears_wrap_pending ... ok [INFO] [stdout] test screen::tests_resize::scrollback_not_duplicated_on_resize ... ok [INFO] [stdout] test screen::tests_resize::resize_with_scroll_region_preserves_region_content ... ok [INFO] [stdout] test screen::tests_resize::resize_vertical_shrink_drops_bottom_rows_without_scrollback ... ok [INFO] [stdout] test screen::tests_resize::scrollback_frozen_at_old_width_after_resize ... ok [INFO] [stdout] test screen::tests_resize::vertical_shrink_with_scrollback_then_reattach ... ok [INFO] [stdout] test screen::tests_resize::scroll_after_resize_captures_at_new_width ... ok [INFO] [stdout] test screen::tests_resize::resize_wide_char_with_combining_survives ... ok [INFO] [stdout] test screen::tests_resize::resize_vertical_grow_restores_scrollback_from_pending ... ok [INFO] [stdout] test screen::tests_screen::alt_screen_mode_1047 ... ok [INFO] [stdout] test screen::tests_screen::autowrap_at_scroll_region_bottom_triggers_region_scroll ... ok [INFO] [stdout] test screen::tests_screen::backspace_at_column_zero ... ok [INFO] [stdout] test screen::tests_screen::alt_screen_mode_47 ... ok [INFO] [stdout] test screen::tests_screen::backspace_clears_wrap_pending ... ok [INFO] [stdout] test screen::tests_screen::autowrap_mode_disable_prevents_wrap ... ok [INFO] [stdout] test screen::tests_screen::bce_erase_uses_bg_color ... ok [INFO] [stdout] test screen::tests_screen::autowrap_mode_re_enable ... ok [INFO] [stdout] test screen::tests_screen::bell_and_osc_777_interleaved ... ok [INFO] [stdout] test screen::tests_screen::bell_drained_after_take ... ok [INFO] [stdout] test screen::tests_screen::bell_does_not_affect_screen_state ... ok [INFO] [stdout] test screen::tests_screen::alt_screen_mode_47_no_cursor_save ... ok [INFO] [stdout] test screen::tests_screen::alt_screen_restores_modes ... ok [INFO] [stdout] test screen::tests_screen::alt_screen_save_restore ... ok [INFO] [stdout] test screen::tests_screen::combining_mark_with_wrap_pending ... ok [INFO] [stdout] test screen::tests_screen::combining_mark_attaches_to_previous_cell ... ok [INFO] [stdout] test screen::tests_screen::bell_forwarded_as_passthrough ... ok [INFO] [stdout] test screen::tests_screen::continuous_scroll_with_bottom_status_update ... ok [INFO] [stdout] test screen::tests_screen::combining_mark_on_wide_char ... ok [INFO] [stdout] test screen::tests_screen::bell_not_resent_on_render_with_scrollback ... ok [INFO] [stdout] test screen::tests_screen::csi_r_reset_restores_full_screen_scroll ... ok [INFO] [stdout] test screen::tests_screen::csi_cup_zero_params_default_to_home ... ok [INFO] [stdout] test screen::tests_screen::csi_s_does_not_move_cursor ... ok [INFO] [stdout] test screen::tests_screen::csi_f_is_alias_for_cup ... ok [INFO] [stdout] test screen::tests_screen::csi_s_within_scroll_region ... ok [INFO] [stdout] test screen::tests_screen::csi_s_u_save_restore_cursor ... ok [INFO] [stdout] test screen::tests_screen::csi_t_does_not_move_cursor ... ok [INFO] [stdout] test screen::tests_screen::cursor_movement_beyond_bounds_clamps ... ok [INFO] [stdout] test screen::tests_screen::cursor_horizontal_absolute ... ok [INFO] [stdout] test screen::tests_screen::cursor_movement_cnl_cpl ... ok [INFO] [stdout] test screen::tests_screen::csi_t_within_scroll_region ... ok [INFO] [stdout] test screen::tests_screen::bell_in_osc_is_terminator_not_separate_bell ... ok [INFO] [stdout] test screen::tests_screen::autowrap_at_scroll_bottom_triggers_scroll ... ok [INFO] [stdout] test screen::tests_screen::cursor_position_cup ... ok [INFO] [stdout] test screen::tests_screen::cursor_movement_with_zero_params_defaults ... ok [INFO] [stdout] test screen::tests_screen::cursor_save_restore ... ok [INFO] [stdout] test screen::tests_screen::cursor_movement_cuf_cub ... ok [INFO] [stdout] test screen::tests_screen::cursor_shape_decscusr ... ok [INFO] [stdout] test screen::tests_screen::combining_mark_renders_in_output ... ok [INFO] [stdout] test screen::tests_screen::csi_cup_params_beyond_screen_clamp ... ok [INFO] [stdout] test screen::tests_screen::cr_does_not_scroll ... ok [INFO] [stdout] test screen::tests_screen::cursor_column_preserved_on_bare_lf_scroll ... ok [INFO] [stdout] test screen::tests_screen::bell_not_resent_on_render ... ok [INFO] [stdout] test screen::tests_screen::bell_not_resent_on_resize ... ok [INFO] [stdout] test screen::tests_screen::combining_mark_at_column_zero_no_previous_cell ... ok [INFO] [stdout] test screen::tests_screen::cursor_stays_in_place_during_lf_scroll ... ok [INFO] [stdout] test screen::tests_screen::dch_through_wide_char_no_orphan ... ok [INFO] [stdout] test screen::tests_screen::cursor_visibility_toggle ... ok [INFO] [stdout] test screen::tests_screen::deferred_wrap_next_print_wraps ... ok [INFO] [stdout] test screen::tests_screen::da1_primary_device_attributes ... ok [INFO] [stdout] test screen::tests_screen::dec_line_drawing_charset ... ok [INFO] [stdout] test screen::tests_screen::delete_character_dch ... 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::cuu_cud_respects_scroll_region ... ok [INFO] [stdout] test screen::tests_screen::deferred_wrap_cr_stays_on_same_line ... ok [INFO] [stdout] test screen::tests_screen::bell_not_resent_on_incremental_render ... ok [INFO] [stdout] test screen::tests_screen::cursor_visibility_mode_25 ... ok [INFO] [stdout] test screen::tests_screen::decstbm_set_scroll_region ... ok [INFO] [stdout] test screen::tests_screen::dl_il_outside_scroll_region_no_op ... ok [INFO] [stdout] test screen::tests_screen::delete_lines_dl ... ok [INFO] [stdout] test screen::tests_screen::dl_large_count_clamped ... ok [INFO] [stdout] test screen::tests_screen::double_enter_alt_screen ... ok [INFO] [stdout] test screen::tests_screen::dl_clears_wrap_pending ... ok [INFO] [stdout] test screen::tests_screen::delete_lines_preserves_cursor_x ... ok [INFO] [stdout] test screen::tests_screen::dsr_at_boundary_positions ... ok [INFO] [stdout] test screen::tests_screen::dsr_cursor_position_report ... ok [INFO] [stdout] test screen::tests_screen::ech_count_exceeds_remaining_columns ... ok [INFO] [stdout] test screen::tests_screen::erase_display_ignores_scroll_region ... ok [INFO] [stdout] test screen::tests_screen::ed2_does_not_produce_passthrough ... ok [INFO] [stdout] test screen::tests_screen::erase_display_preserves_cursor_position ... ok [INFO] [stdout] test screen::tests_screen::ed3_clears_scrollback_and_forwards_passthrough ... ok [INFO] [stdout] test screen::tests_screen::ed3_passthrough_drained_after_take ... ok [INFO] [stdout] test screen::tests_screen::ed3_passthrough_even_without_scrollback ... ok [INFO] [stdout] test screen::tests_screen::ed_0_cursor_on_wide_char_continuation ... ok [INFO] [stdout] test screen::tests_screen::erase_character_ech ... ok [INFO] [stdout] test screen::tests_screen::erase_display_0_from_cursor_ignores_scroll_region ... ok [INFO] [stdout] test screen::tests_screen::ed3_passthrough_not_resent_on_render ... ok [INFO] [stdout] test screen::tests_screen::el_1_cursor_on_wide_char_continuation ... ok [INFO] [stdout] test screen::tests_screen::erase_scrollback_j3 ... ok [INFO] [stdout] test screen::tests_screen::history_preserved_across_sessions ... ok [INFO] [stdout] test screen::tests_screen::erase_in_line_k2 ... ok [INFO] [stdout] test screen::tests_screen::esc_c_full_reset ... ok [INFO] [stdout] test screen::tests_screen::hts_sets_tab_stop ... ok [INFO] [stdout] test screen::tests_screen::erase_in_display_j0 ... ok [INFO] [stdout] test screen::tests_screen::erase_line_preserves_cursor_position ... ok [INFO] [stdout] test screen::tests_screen::erase_in_display_j1 ... ok [INFO] [stdout] test screen::tests_screen::focus_reporting_mode ... 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::ich_count_exceeds_remaining_columns ... ok [INFO] [stdout] test screen::tests_screen::erase_in_line_k1 ... 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::insert_character_ich ... ok [INFO] [stdout] test screen::tests_screen::ind_esc_d_within_scroll_region_nonzero_top ... ok [INFO] [stdout] test screen::tests_screen::insert_lines_il ... ok [INFO] [stdout] test screen::tests_reconnect_scrollback::sequential_redraw_overflows_screen_grows_scrollback ... ok [INFO] [stdout] test screen::tests_screen::lf_at_last_row_outside_scroll_region ... ok [INFO] [stdout] test screen::tests_screen::lf_scroll_with_styled_content ... ok [INFO] [stdout] test screen::tests_screen::lf_scroll_captures_scrollback ... ok [INFO] [stdout] test screen::tests_screen::lf_at_bottom_scrolls_content_up ... ok [INFO] [stdout] test screen::tests_screen::insert_lines_preserves_cursor_x ... ok [INFO] [stdout] test screen::tests_screen::lf_between_scroll_top_and_bottom_just_moves_cursor ... ok [INFO] [stdout] test screen::tests_screen::many_lines_overflow_screen ... ok [INFO] [stdout] test screen::tests_screen::interleaved_scroll_and_cup_writes ... ok [INFO] [stdout] test screen::tests_screen::mode_1048_save_restore_cursor ... ok [INFO] [stdout] test screen::tests_screen::lf_within_scroll_region_only_scrolls_region ... ok [INFO] [stdout] test screen::tests_screen::ich_pushes_wide_char_off_right_edge ... ok [INFO] [stdout] test screen::tests_screen::il_clears_wrap_pending ... 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::mode_flags_bracketed_paste ... ok [INFO] [stdout] test screen::tests_screen::mouse_mode_disable_own_mode_only ... ok [INFO] [stdout] test screen::tests_screen::keypad_app_mode ... ok [INFO] [stdout] test screen::tests_screen::il_large_count_clamped ... ok [INFO] [stdout] test screen::tests_screen::lf_at_last_row_without_scroll_region ... ok [INFO] [stdout] test screen::tests_screen::mode_flags_cursor_key_mode ... ok [INFO] [stdout] test screen::tests_screen::mouse_mode_per_mode_toggle ... ok [INFO] [stdout] test screen::tests_screen::osc_777_not_resent_on_render_with_scrollback ... ok [INFO] [stdout] test screen::tests_screen::mouse_mode_multiple_simultaneous ... ok [INFO] [stdout] test screen::tests_screen::osc_title_not_passedthrough ... ok [INFO] [stdout] test screen::tests_screen::overwrite_wide_char_first_half ... 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::no_scrollback_in_alt_screen ... ok [INFO] [stdout] test screen::tests_screen::osc_777_not_resent_on_resize ... ok [INFO] [stdout] test screen::tests_screen::osc_777_not_resent_on_render ... ok [INFO] [stdout] test screen::tests_screen::osc_777_drained_after_take ... ok [INFO] [stdout] test screen::tests_screen::osc_777_not_resent_on_resize_then_render ... ok [INFO] [stdout] test screen::tests_screen::osc_passthrough_non_title ... ok [INFO] [stdout] test screen::tests_screen::osc_sets_title ... ok [INFO] [stdout] test screen::tests_screen::overwrite_wide_char_second_half ... ok [INFO] [stdout] test screen::tests_screen::mouse_mode_priority_resolution ... 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::reattach_render_after_scroll_and_cup_overwrite ... ok [INFO] [stdout] test screen::tests_screen::render_full_reattach_redraws_all ... 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::save_cursor_scroll_restore_cursor_writes_at_shifted_content ... ok [INFO] [stdout] test screen::tests_screen::reverse_index_ri_not_at_top ... ok [INFO] [stdout] test screen::tests_screen::responses_drained_after_take ... ok [INFO] [stdout] test screen::tests_screen::scroll_and_partial_line_overwrite ... 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::rep_with_no_prior_print ... ok [INFO] [stdout] test screen::tests_screen::scroll_down_does_not_generate_scrollback ... ok [INFO] [stdout] test screen::tests_screen::rep_repeats_wide_char ... ok [INFO] [stdout] test screen::tests_screen::scroll_down_sd ... ok [INFO] [stdout] test screen::tests_screen::save_cursor_resize_then_restore_clamps ... ok [INFO] [stdout] test screen::tests_screen::ris_forwards_clear_scrollback_passthrough ... ok [INFO] [stdout] test screen::tests_screen::restore_cursor_with_no_saved_state ... ok [INFO] [stdout] test screen::tests_screen::reverse_index_at_top_of_full_screen_scrolls_down ... ok [INFO] [stdout] test screen::tests_screen::reverse_index_ri ... 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_csi_u_with_no_saved_state ... ok [INFO] [stdout] test screen::tests_screen::ris_clears_scrollback ... ok [INFO] [stdout] test screen::tests_screen::scroll_region_lf_no_scrollback_when_top_nonzero ... ok [INFO] [stdout] test screen::tests_screen::scroll_region_scroll_then_overwrite_fixed_rows ... ok [INFO] [stdout] test screen::tests_screen::scroll_then_cup_overwrite_middle ... ok [INFO] [stdout] test screen::tests_screen::scroll_region_top_equals_bottom_accepted ... ok [INFO] [stdout] test screen::tests_screen::scrollback_captured_with_partial_scroll_region ... ok [INFO] [stdout] test screen::tests_screen::scroll_region_reversed_params_rejected ... 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_ignored ... ok [INFO] [stdout] test screen::tests_screen::scroll_then_overwrite_last_line ... ok [INFO] [stdout] test screen::tests_screen::scroll_up_count_exceeds_region_size ... ok [INFO] [stdout] test screen::tests_screen::scroll_up_su ... ok [INFO] [stdout] test screen::tests_screen::scroll_down_within_region_does_not_produce_scrollback ... ok [INFO] [stdout] test screen::tests_screen::scroll_region_il_dl_interaction ... 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_with_erase_and_rewrite ... ok [INFO] [stdout] test screen::tests_screen::scrollback_history_after_scroll_and_cup_overwrite ... ok [INFO] [stdout] test screen::tests_screen::scrollback_limit_enforced_during_scroll ... 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::stale_pending_scrollback_after_reattach_simulation ... ok [INFO] [stdout] test screen::tests_screen::tab_at_end_of_line_clamps ... ok [INFO] [stdout] test screen::tests_screen::scrollback_limit_zero ... ok [INFO] [stdout] test screen::tests_screen::tbc_clear_current_tab_stop ... ok [INFO] [stdout] test screen::tests_screen::tui_app_alt_screen_explicit_scroll_up ... ok [INFO] [stdout] test screen::tests_screen::tui_app_alt_screen_scroll_then_exit_restores_main ... 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::tui_app_insert_lines_within_scroll_region ... 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::tbc_clear_all_tab_stops ... ok [INFO] [stdout] test screen::tests_screen::tui_app_reverse_index_in_scroll_region ... ok [INFO] [stdout] test screen::tests_screen::tui_app_scroll_region_with_header_and_footer ... ok [INFO] [stdout] test screen::tests_screen::tui_app_scroll_region_change_mid_session ... ok [INFO] [stdout] test screen::tests_screen::wide_char_exactly_fills_line ... ok [INFO] [stdout] test screen::tests_screen::wide_char_no_autowrap_at_last_col ... ok [INFO] [stdout] test screen::tests_screen::wide_char_on_2_column_terminal ... 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::wide_char_wraps_at_end_of_line ... ok [INFO] [stdout] test screen::tests_screen::vpa_line_position_absolute ... ok [INFO] [stdout] test server::client_handler::tests::kill_nonexistent_session ... ok [INFO] [stdout] test screen::tests_screen::vt_ff_treated_as_lf ... ok [INFO] [stdout] test server::client_handler::tests::list_sessions_empty ... ok [INFO] [stdout] test server::client_handler::tests::client_disconnect_before_message ... ok [INFO] [stdout] test server::client_handler::tests::unexpected_message_returns_error ... ok [INFO] [stdout] test server::session_bridge::tests::prepend_passthrough_empty ... ok [INFO] [stdout] test screen::tests_screen::sgr_hidden_attribute ... ok [INFO] [stdout] test screen::tests_reconnect_scrollback::scrollback_limit_caps_logo_accumulation ... ok [INFO] [stdout] test server::session_bridge::tests::ed3_included_in_screen_update ... ok [INFO] [stdout] test screen::tests_screen::exit_alt_screen_when_not_in_alt ... ok [INFO] [stdout] test screen::tests_screen::wide_character_occupies_two_cells ... ok [INFO] [stdout] test screen::tests_screen::window_ops_ignored ... 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 screen::tests_screen::wide_char_on_1_column_terminal ... ok [INFO] [stdout] test session::tests::session_manager_rejects_invalid_names ... 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::validate_session_name_empty ... ok [INFO] [stdout] test session::tests::validate_session_name_invalid_chars ... ok [INFO] [stdout] test session::tests::validate_session_name_too_long ... ok [INFO] [stdout] test server::socket::tests::socket_path_ends_with_sock ... ok [INFO] [stdout] test server::socket::tests::lock_path_format ... ok [INFO] [stdout] test session::tests::validate_session_name_valid ... ok [INFO] [stdout] test server::socket::tests::socket_dir_repairs_wrong_permissions ... ok [INFO] [stdout] test session::tests::session_manager_remove ... ok [INFO] [stdout] test server::socket::tests::socket_dir_returns_correct_format ... FAILED [INFO] [stdout] test session::tests::session_manager_get_or_create ... ok [INFO] [stdout] test session::tests::session_manager_get_or_create_zero_dimensions ... ok [INFO] [stdout] test server::socket::tests::socket_dir_rejects_symlink ... ok [INFO] [stdout] test session::tests::session_manager_create_and_list ... ok [INFO] [stdout] test session::tests::take_dead_sessions_empty_when_all_alive ... ok [INFO] [stdout] test session::tests::session_manager_duplicate_create_fails ... ok [INFO] [stdout] test session::tests::persistent_reader_captures_output_without_client ... ok [INFO] [stdout] test session::tests::persistent_reader_detects_child_exit ... ok [INFO] [stdout] test session::tests::take_dead_sessions_returns_dead ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- server::socket::tests::socket_dir_returns_correct_format stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'server::socket::tests::socket_dir_returns_correct_format' (658) panicked at src/server/socket.rs:71:13: [INFO] [stdout] assertion `left == right` failed [INFO] [stdout] left: "/tmp/retach-0" [INFO] [stdout] right: "/tmp/.tmpF5KO6P/retach" [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x62c685417c7a - std[69d51b4813ba037]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x62c685417c7a - std[69d51b4813ba037]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x62c685417c7a - std[69d51b4813ba037]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x62c685417c7a - <::print::DisplayBacktrace as core[51d4adbef590f61]::fmt::Display>::fmt [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x62c68542cfaa - ::fmt [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x62c68542cfaa - core[51d4adbef590f61]::fmt::write [INFO] [stdout] 6: 0x62c68541d182 - std[69d51b4813ba037]::io::default_write_fmt::> [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x62c68541d182 - as std[69d51b4813ba037]::io::Write>::write_fmt [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/std/src/io/mod.rs:1994:13 [INFO] [stdout] 8: 0x62c6853f3b1f - ::print [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x62c6853f3b1f - std[69d51b4813ba037]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x62c68540f209 - std[69d51b4813ba037]::panicking::default_hook [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x62c6852cf18c - core[51d4adbef590f61]::ops::function::Fn<(&'a std[69d51b4813ba037]::panic::PanicHookInfo<'b>,), Output = ()> + core[51d4adbef590f61]::marker::Sync + core[51d4adbef590f61]::marker::Send> as core[51d4adbef590f61]::ops::function::Fn<(&std[69d51b4813ba037]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 12: 0x62c6852cf18c - test[8fe65b9e05bf4c74]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x62c68540f482 - core[51d4adbef590f61]::ops::function::Fn<(&'a std[69d51b4813ba037]::panic::PanicHookInfo<'b>,), Output = ()> + core[51d4adbef590f61]::marker::Sync + core[51d4adbef590f61]::marker::Send> as core[51d4adbef590f61]::ops::function::Fn<(&std[69d51b4813ba037]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 14: 0x62c68540f482 - std[69d51b4813ba037]::panicking::panic_with_hook [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x62c6853f3bd8 - std[69d51b4813ba037]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/std/src/panicking.rs:698:13 [INFO] [stdout] 16: 0x62c6853ead49 - std[69d51b4813ba037]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x62c6853f4ced - __rustc[cb16bc19fc993bd7]::rust_begin_unwind [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x62c68542d8bc - core[51d4adbef590f61]::panicking::panic_fmt [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x62c68542d743 - core[51d4adbef590f61]::panicking::assert_failed_inner [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/core/src/panicking.rs:439:17 [INFO] [stdout] 20: 0x62c685187068 - core[51d4adbef590f61]::panicking::assert_failed:: [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/core/src/panicking.rs:394:5 [INFO] [stdout] 21: 0x62c6851cfb81 - retach[1d0e79de5a5ba31a]::server::socket::tests::socket_dir_returns_correct_format [INFO] [stdout] at /opt/rustwide/workdir/src/server/socket.rs:71:13 [INFO] [stdout] 22: 0x62c6851b4da7 - retach[1d0e79de5a5ba31a]::server::socket::tests::socket_dir_returns_correct_format::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/src/server/socket.rs:66:43 [INFO] [stdout] 23: 0x62c68522eb86 - >::call_once [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x62c6852c326b - core[51d4adbef590f61]::result::Result<(), alloc[18203fec9a0cd4ec]::string::String> as core[51d4adbef590f61]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 25: 0x62c6852c326b - test[8fe65b9e05bf4c74]::__rust_begin_short_backtrace::, fn() -> core[51d4adbef590f61]::result::Result<(), alloc[18203fec9a0cd4ec]::string::String>> [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x62c6852cfc5b - test[8fe65b9e05bf4c74]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x62c6852cfc5b - as core[51d4adbef590f61]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 28: 0x62c6852cfc5b - std[69d51b4813ba037]::panicking::catch_unwind::do_call::, core[51d4adbef590f61]::result::Result<(), alloc[18203fec9a0cd4ec]::string::String>> [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/std/src/panicking.rs:581:40 [INFO] [stdout] 29: 0x62c6852cfc5b - std[69d51b4813ba037]::panicking::catch_unwind::, core[51d4adbef590f61]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/std/src/panicking.rs:544:19 [INFO] [stdout] 30: 0x62c6852cfc5b - std[69d51b4813ba037]::panic::catch_unwind::, core[51d4adbef590f61]::result::Result<(), alloc[18203fec9a0cd4ec]::string::String>> [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x62c6852cfc5b - test[8fe65b9e05bf4c74]::run_test_in_process [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x62c6852cfc5b - test[8fe65b9e05bf4c74]::run_test::{closure#0} [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x62c6852cb374 - test[8fe65b9e05bf4c74]::run_test::{closure#1} [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x62c6852cb374 - std[69d51b4813ba037]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 35: 0x62c6852d2862 - std[69d51b4813ba037]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 36: 0x62c6852d2862 - ::{closure#1}::{closure#0}> as core[51d4adbef590f61]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 37: 0x62c6852d2862 - std[69d51b4813ba037]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/std/src/panicking.rs:581:40 [INFO] [stdout] 38: 0x62c6852d2862 - std[69d51b4813ba037]::panicking::catch_unwind::<(), core[51d4adbef590f61]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/std/src/panicking.rs:544:19 [INFO] [stdout] 39: 0x62c6852d2862 - std[69d51b4813ba037]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x62c6852d2862 - std[69d51b4813ba037]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 41: 0x62c6852d2862 - ::{closure#1} as core[51d4adbef590f61]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 42: 0x62c68541754f - + core[51d4adbef590f61]::marker::Send> as core[51d4adbef590f61]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/alloc/src/boxed.rs:2240:9 [INFO] [stdout] 43: 0x62c68541754f - ::new::thread_start [INFO] [stdout] at /rustc/d933cf483edf1605142ac6899ff32536c0ad8b22/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 44: 0x77b93e7eaaa4 - [INFO] [stdout] 45: 0x77b93e877a64 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] server::socket::tests::socket_dir_returns_correct_format [INFO] [stdout] [INFO] [stdout] test result: FAILED. 647 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.46s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `--bin retach` [INFO] running `Command { std: "docker" "inspect" "f75a72b047c1d085a7de456a970279a240b43c64d16cd84e756afd58157e05ed", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f75a72b047c1d085a7de456a970279a240b43c64d16cd84e756afd58157e05ed", kill_on_drop: false }` [INFO] [stdout] f75a72b047c1d085a7de456a970279a240b43c64d16cd84e756afd58157e05ed