[INFO] cloning repository https://github.com/KidIkaros/termos [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/KidIkaros/termos" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKidIkaros%2Ftermos", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKidIkaros%2Ftermos'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 7c4641afa2bd06497b1c74ec6dac288be84d133f [INFO] testing KidIkaros/termos against 1.99.0-beta.8 for beta-1.100-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKidIkaros%2Ftermos" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-3-tc1/source/.cargo/config.toml [INFO] started tweaking git repo https://github.com/KidIkaros/termos [INFO] finished tweaking git repo https://github.com/KidIkaros/termos [INFO] tweaked toml for git repo https://github.com/KidIkaros/termos written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/KidIkaros/termos on toolchain 1.99.0-beta.8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/KidIkaros/termos 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" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating git repository `https://github.com/KidIkaros/asciline-rust` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded ssh-cipher v0.2.0 [INFO] [stderr] Downloaded block-padding v0.3.3 [INFO] [stderr] Downloaded num-iter v0.1.46 [INFO] [stderr] Downloaded bcrypt-pbkdf v0.10.0 [INFO] [stderr] Downloaded lru v0.12.5 [INFO] [stderr] Downloaded instability v0.3.13 [INFO] [stderr] Downloaded russh-cryptovec v0.7.3 [INFO] [stderr] Downloaded hex-literal v0.4.1 [INFO] [stderr] Downloaded tokio-tungstenite v0.24.0 [INFO] [stderr] Downloaded tungstenite v0.24.0 [INFO] [stderr] Downloaded cc v1.4.3 [INFO] [stderr] Downloaded ssh-encoding v0.2.0 [INFO] [stderr] Downloaded unicode-truncate v1.1.0 [INFO] [stderr] Downloaded darling_macro v0.24.0 [INFO] [stderr] Downloaded cbc v0.1.2 [INFO] [stderr] Downloaded primeorder v0.13.6 [INFO] [stderr] Downloaded password-hash v0.4.2 [INFO] [stderr] Downloaded castaway v0.2.4 [INFO] [stderr] Downloaded russh-keys v0.45.0 [INFO] [stderr] Downloaded yasna v0.5.2 [INFO] [stderr] Downloaded indoc v2.0.7 [INFO] [stderr] Downloaded des v0.8.1 [INFO] [stderr] Downloaded darling v0.24.0 [INFO] [stderr] Downloaded cassowary v0.3.0 [INFO] [stderr] Downloaded notify-debouncer-mini v0.7.0 [INFO] [stderr] Downloaded notify-types v2.1.0 [INFO] [stderr] Downloaded kqueue-sys v1.1.2 [INFO] [stderr] Downloaded fsevent-sys v4.1.0 [INFO] [stderr] Downloaded pkcs5 v0.7.1 [INFO] [stderr] Downloaded notify v8.2.0 [INFO] [stderr] Downloaded inotify v0.11.5 [INFO] [stderr] Downloaded inotify-sys v0.1.8 [INFO] [stderr] Downloaded p256 v0.13.2 [INFO] [stderr] Downloaded russh v0.45.0 [INFO] [stderr] Downloaded rcgen v0.13.2 [INFO] [stderr] Downloaded darling_core v0.24.0 [INFO] [stderr] Downloaded kqueue v1.2.1 [INFO] [stderr] Downloaded compact_str v0.8.2 [INFO] [stderr] Downloaded ssh-key v0.6.7 [INFO] [stderr] Downloaded crossterm v0.28.1 [INFO] [stderr] Downloaded p521 v0.13.3 [INFO] [stderr] Downloaded p384 v0.13.1 [INFO] [stderr] Downloaded proptest v1.11.0 [INFO] [stderr] Downloaded h2 v0.4.15 [INFO] [stderr] Downloaded unicode-width v0.2.0 [INFO] [stderr] Downloaded ratatui v0.29.0 [INFO] [stderr] Downloaded libredox v0.1.20 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 3fcd30b73009a939d35e5b4002dc3913ec1d1906f56256c44e39caccd1f3571c [INFO] running `Command { std: "docker" "start" "3fcd30b73009a939d35e5b4002dc3913ec1d1906f56256c44e39caccd1f3571c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3fcd30b73009a939d35e5b4002dc3913ec1d1906f56256c44e39caccd1f3571c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3fcd30b73009a939d35e5b4002dc3913ec1d1906f56256c44e39caccd1f3571c" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3fcd30b73009a939d35e5b4002dc3913ec1d1906f56256c44e39caccd1f3571c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3fcd30b73009a939d35e5b4002dc3913ec1d1906f56256c44e39caccd1f3571c" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.189 [INFO] [stderr] Compiling proc-macro2 v1.0.107 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling quote v1.0.47 [INFO] [stderr] Compiling bitflags v2.13.1 [INFO] [stderr] Compiling log v0.4.33 [INFO] [stderr] Compiling serde_core v1.0.229 [INFO] [stderr] Compiling rustversion v1.0.23 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling memchr v2.8.3 [INFO] [stderr] Compiling serde v1.0.229 [INFO] [stderr] Compiling getrandom v0.4.3 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling typenum v1.20.1 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling inotify-sys v0.1.8 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling smallvec v1.15.2 [INFO] [stderr] Compiling regex-syntax v0.8.11 [INFO] [stderr] Compiling aho-corasick v1.1.5 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling syn v3.0.3 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling colorchoice v1.0.5 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling syn v2.0.119 [INFO] [stderr] Compiling zmij v1.0.23 [INFO] [stderr] Compiling either v1.17.0 [INFO] [stderr] Compiling foldhash v0.1.5 [INFO] [stderr] Compiling hashbrown v0.17.1 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling mio v1.2.2 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling regex-automata v0.4.18 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling cfg_aliases v0.2.2 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling instability v0.3.13 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling itoa v1.0.18 [INFO] [stderr] Compiling crossbeam-utils v0.8.22 [INFO] [stderr] Compiling hashbrown v0.15.5 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling nix v0.29.0 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling inotify v0.11.5 [INFO] [stderr] Compiling indexmap v2.14.0 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling castaway v0.2.4 [INFO] [stderr] Compiling notify-types v2.1.0 [INFO] [stderr] Compiling static_assertions v1.1.0 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Compiling darling_core v0.24.0 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling unicode-width v0.1.14 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling serde_json v1.0.151 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling winnow v0.7.15 [INFO] [stderr] Compiling fastrand v2.5.0 [INFO] [stderr] Compiling toml_write v0.1.2 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling unicode-segmentation v1.13.3 [INFO] [stderr] Compiling regex v1.13.1 [INFO] [stderr] Compiling simd-adler32 v0.3.10 [INFO] [stderr] Compiling adler2 v2.0.1 [INFO] [stderr] Compiling jiff-core v0.1.0 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling serde_derive v1.0.229 [INFO] [stderr] Compiling strum v0.26.3 [INFO] [stderr] Compiling clap_derive v4.6.4 [INFO] [stderr] Compiling env_filter v2.0.0 [INFO] [stderr] Compiling unicode-truncate v1.1.0 [INFO] [stderr] Compiling dirs-sys v0.4.1 [INFO] [stderr] Compiling clap_builder v4.6.6 [INFO] [stderr] Compiling jiff v0.2.35 [INFO] [stderr] Compiling compact_str v0.8.2 [INFO] [stderr] Compiling notify v8.2.0 [INFO] [stderr] Compiling darling_macro v0.24.0 [INFO] [stderr] Compiling darling v0.24.0 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling crossterm v0.28.1 [INFO] [stderr] Compiling lru v0.12.5 [INFO] [stderr] Compiling cassowary v0.3.0 [INFO] [stderr] Compiling unicode-width v0.2.0 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling crossbeam-channel v0.5.16 [INFO] [stderr] Compiling ratatui v0.29.0 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling notify-debouncer-mini v0.7.0 [INFO] [stderr] Compiling dirs v5.0.1 [INFO] [stderr] Compiling uuid v1.24.1 [INFO] [stderr] Compiling clap v4.6.6 [INFO] [stderr] Compiling env_logger v0.11.11 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling termos v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 00s [INFO] running `Command { std: "docker" "inspect" "3fcd30b73009a939d35e5b4002dc3913ec1d1906f56256c44e39caccd1f3571c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3fcd30b73009a939d35e5b4002dc3913ec1d1906f56256c44e39caccd1f3571c" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling serde_core v1.0.229 [INFO] [stderr] Compiling serde v1.0.229 [INFO] [stderr] Compiling crossbeam-utils v0.8.22 [INFO] [stderr] Compiling syn v2.0.119 [INFO] [stderr] Compiling zerocopy v0.8.56 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling crossbeam-epoch v0.9.20 [INFO] [stderr] Compiling autocfg v1.5.1 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling crossbeam-deque v0.8.7 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Compiling plotters-backend v0.3.7 [INFO] [stderr] Compiling ciborium-io v0.2.2 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling notify-debouncer-mini v0.7.0 [INFO] [stderr] Compiling plotters-svg v0.3.7 [INFO] [stderr] Compiling crossbeam-channel v0.5.16 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling cast v0.3.0 [INFO] [stderr] Compiling rusty-fork v0.3.1 [INFO] [stderr] Compiling rand v0.9.5 [INFO] [stderr] Compiling rand_xorshift v0.4.0 [INFO] [stderr] Compiling is-terminal v0.4.17 [INFO] [stderr] Compiling anes v0.1.6 [INFO] [stderr] Compiling oorandom v11.1.5 [INFO] [stderr] Compiling criterion-plot v0.5.0 [INFO] [stderr] Compiling rayon v1.12.0 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling serde_json v1.0.151 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling zerocopy-derive v0.8.56 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling strum v0.26.3 [INFO] [stderr] Compiling ratatui v0.29.0 [INFO] [stderr] Compiling termos v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling proptest v1.11.0 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stdout] warning: unused variable: `area` [INFO] [stdout] --> src/widgets/system.rs:759:21 [INFO] [stdout] | [INFO] [stdout] 759 | let area = Rect::new(0, 0, 40, 6); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_area` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/widgets/dev.rs:355:13 [INFO] [stdout] | [INFO] [stdout] 355 | let mut w = BuildWidget::new(); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/widgets/utility.rs:509:13 [INFO] [stdout] | [INFO] [stdout] 509 | let mut w = NotesWidget::new(); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/widgets/utility.rs:523:13 [INFO] [stdout] | [INFO] [stdout] 523 | let mut w = ActionsWidget::new(); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2m 10s [INFO] running `Command { std: "docker" "inspect" "3fcd30b73009a939d35e5b4002dc3913ec1d1906f56256c44e39caccd1f3571c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3fcd30b73009a939d35e5b4002dc3913ec1d1906f56256c44e39caccd1f3571c" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] warning: unused variable: `area` [INFO] [stderr] --> src/widgets/system.rs:759:21 [INFO] [stderr] | [INFO] [stderr] 759 | let area = Rect::new(0, 0, 40, 6); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_area` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/widgets/dev.rs:355:13 [INFO] [stderr] | [INFO] [stderr] 355 | let mut w = BuildWidget::new(); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/widgets/utility.rs:509:13 [INFO] [stderr] | [INFO] [stderr] 509 | let mut w = NotesWidget::new(); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/widgets/utility.rs:523:13 [INFO] [stderr] | [INFO] [stderr] 523 | let mut w = ActionsWidget::new(); [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: `termos` (lib test) generated 4 warnings (run `cargo fix --lib -p termos --tests` to apply 4 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.39s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/termos-49858e9f6cbad50d) [INFO] [stdout] [INFO] [stdout] running 2188 tests [INFO] [stdout] test app::actions::tests::move_and_follow_param ... ok [INFO] [stdout] test app::actions::tests::switch_workspace_param ... ok [INFO] [stdout] test app::actions::tests::scrollback_and_sidebar_actions ... ok [INFO] [stdout] test app::actions::tests::unknown_action_returns_false ... ok [INFO] [stdout] test app::agent_alert::tests::defaults_are_quiet ... ok [INFO] [stdout] test app::agent_alert::tests::cue_files_resolve ... ok [INFO] [stdout] test app::actions::tests::settings_and_palette ... ok [INFO] [stdout] test app::actions::tests::swap_left_swaps_windows ... ok [INFO] [stdout] test app::actions::tests::copy_and_paste_roundtrip ... ok [INFO] [stdout] test app::agent_alert::tests::explicit_false_survives ... ok [INFO] [stdout] test app::agent_alert::tests::master_switch_silences_everything ... ok [INFO] [stdout] test app::border_grid::tests::collect_edges_single_rect ... ok [INFO] [stdout] test app::agent_alert::tests::parse_agent_state_validates ... ok [INFO] [stdout] test app::agent_alert::tests::quiet_hours_parse_and_wrap_midnight ... ok [INFO] [stdout] test app::border_grid::tests::divider_glyphs_ascii ... ok [INFO] [stdout] test app::actions::tests::next_and_prev_window ... ok [INFO] [stdout] test app::border_grid::tests::divider_glyphs_unicode ... ok [INFO] [stdout] test app::border_grid::tests::is_border_char_recognizes_unicode ... ok [INFO] [stdout] test app::border_grid::tests::junction_glyph_crossing ... ok [INFO] [stdout] test app::border_grid::tests::junction_glyph_straight_lines ... ok [INFO] [stdout] test app::border_grid::tests::junction_glyph_t_junctions ... ok [INFO] [stdout] test app::agent_alert::tests::sound_mode_parses ... ok [INFO] [stdout] test app::border_grid::tests::border_dirs_detects_all_four ... ok [INFO] [stdout] test app::border_grid::tests::render_border_grid_empty_rects ... ok [INFO] [stdout] test app::border_grid::tests::junction_glyph_ascii_fallback ... ok [INFO] [stdout] test app::border_grid::tests::junction_glyph_corners ... ok [INFO] [stdout] test app::border_grid::tests::render_border_grid_four_quadrants ... ok [INFO] [stdout] test app::border_grid::tests::render_border_grid_two_horizontal_panes ... ok [INFO] [stdout] test app::clipboard::tests::clipboard_copy_args_wl_copy ... ok [INFO] [stdout] test app::clipboard::tests::clipboard_copy_args_xclip ... ok [INFO] [stdout] test app::clipboard::tests::looks_like_path_absolute ... ok [INFO] [stdout] test app::border_grid::tests::render_border_grid_two_vertical_panes ... ok [INFO] [stdout] test app::clipboard::tests::looks_like_path_not_path ... ok [INFO] [stdout] test app::clipboard::tests::looks_like_path_relative_with_ext ... ok [INFO] [stdout] test app::clipboard::tests::osc52_copy_command_unicode ... ok [INFO] [stdout] test app::copymode_ext::big_motion_tests::e_big_end ... ok [INFO] [stdout] test app::copymode_ext::big_motion_tests::ge_big_end_backward ... ok [INFO] [stdout] test app::clipboard::tests::looks_like_url_http ... ok [INFO] [stdout] test app::clipboard::tests::osc52_copy_command_basic ... ok [INFO] [stdout] test app::clipboard::tests::osc52_copy_command_empty ... ok [INFO] [stdout] test app::copymode_ext::big_motion_tests::w_forward_alnum ... ok [INFO] [stdout] test app::copymode_ext::big_motion_tests::b_big_backward ... ok [INFO] [stdout] test app::copymode_ext::big_motion_tests::w_big_forward_whitespace ... ok [INFO] [stdout] test app::copymode_ext::command_cleaning_tests::clean_plain_command ... ok [INFO] [stdout] test app::clipboard::tests::looks_like_url_not_url ... ok [INFO] [stdout] test app::clipboard::tests::clipboard_paste_args_xclip ... ok [INFO] [stdout] test app::copymode_ext::command_cleaning_tests::clean_removes_control_chars ... ok [INFO] [stdout] test app::copymode_ext::command_cleaning_tests::clean_strips_angle_prompt ... ok [INFO] [stdout] test app::copymode_ext::command_cleaning_tests::clean_trims_whitespace ... ok [INFO] [stdout] test app::copymode_ext::command_cleaning_tests::clean_strips_dollar_prompt ... ok [INFO] [stdout] test app::copymode_ext::command_cleaning_tests::clean_strips_hash_prompt ... ok [INFO] [stdout] test app::copymode_ext::command_cleaning_tests::clean_strips_percent_prompt ... ok [INFO] [stdout] test app::copymode_ext::count_state_tests::consume_returns_count_or_default ... ok [INFO] [stdout] test app::copymode_ext::count_state_tests::feed_digit_accumulates ... ok [INFO] [stdout] test app::copymode_ext::count_state_tests::leading_zero_not_consumed ... ok [INFO] [stdout] test app::copymode_ext::count_state_tests::reset_clears ... ok [INFO] [stdout] test app::copymode_ext::garbage_detection_tests::clean_selection_text_trims ... ok [INFO] [stdout] test app::copymode_ext::count_state_tests::default_is_inactive ... ok [INFO] [stdout] test app::copymode_ext::garbage_detection_tests::is_garbage_control_chars ... ok [INFO] [stdout] test app::copymode_ext::count_state_tests::zero_after_count_is_consumed ... ok [INFO] [stdout] test app::copymode_ext::goto_line_tests::gg_goes_to_first_line ... ok [INFO] [stdout] test app::copymode_ext::goto_line_tests::goto_line_empty_buffer ... ok [INFO] [stdout] test app::copymode_ext::goto_line_tests::count_g_clamps_to_last_line ... ok [INFO] [stdout] test app::copymode_ext::garbage_detection_tests::clean_selection_text_preserves_newlines ... ok [INFO] [stdout] test app::copymode_ext::garbage_detection_tests::clean_selection_text_removes_garbage ... ok [INFO] [stdout] test app::copymode_ext::garbage_detection_tests::is_garbage_not_normal_chars ... ok [INFO] [stdout] test app::copymode_ext::goto_line_tests::count_g_goes_to_specific_line ... ok [INFO] [stdout] test app::copymode_ext::mark_tests::clear_all_marks ... ok [INFO] [stdout] test app::copymode_ext::goto_line_tests::goto_line_one ... ok [INFO] [stdout] test app::copymode_ext::mark_tests::uppercase_marks_stored_separately ... ok [INFO] [stdout] test app::copymode_ext::paragraph_motion_tests::paragraph_backward_at_start_returns_zero ... ok [INFO] [stdout] test app::agent_alert::tests::sound_cooldown_gates_cues ... ok [INFO] [stdout] test app::copymode_ext::mark_tests::remove_mark ... ok [INFO] [stdout] test app::copymode_ext::mark_tests::set_and_get_mark ... ok [INFO] [stdout] test app::copymode_ext::mark_tests::iter_marks ... ok [INFO] [stdout] test app::copymode_ext::paragraph_motion_tests::paragraph_forward_multiple_blanks ... ok [INFO] [stdout] test app::copymode_ext::mark_tests::overwrite_mark ... ok [INFO] [stdout] test app::copymode_ext::paragraph_motion_tests::paragraph_forward_skips_blanks ... ok [INFO] [stdout] test app::copymode_ext::register_tests::clear_registers ... ok [INFO] [stdout] test app::copymode_ext::register_tests::register_helpers ... ok [INFO] [stdout] test app::copymode_ext::register_tests::uppercase_register_appends ... ok [INFO] [stdout] test app::copymode_ext::register_tests::uppercase_register_kind_mismatch_replaces ... ok [INFO] [stdout] test app::copymode_ext::paragraph_motion_tests::paragraph_backward_from_middle ... ok [INFO] [stdout] test app::copymode_ext::paragraph_motion_tests::paragraph_backward_skips_blanks ... ok [INFO] [stdout] test app::copymode_ext::paragraph_motion_tests::paragraph_forward_at_end_returns_last ... ok [INFO] [stdout] test app::copymode_ext::search_state_tests::clear_resets_state ... ok [INFO] [stdout] test app::copymode_ext::search_match_tests::search_match_at_or_after ... ok [INFO] [stdout] test app::copymode_ext::register_tests::yank_to_unnamed_only ... ok [INFO] [stdout] test app::copymode_ext::paragraph_motion_tests::paragraph_forward_from_middle ... ok [INFO] [stdout] test app::copymode_ext::search_match_tests::search_match_basic ... ok [INFO] [stdout] test app::copymode_ext::register_tests::line_wise_yank ... ok [INFO] [stdout] test app::copymode_ext::search_match_tests::search_match_at_or_before ... ok [INFO] [stdout] test app::copymode_ext::register_tests::yank_to_named_register ... ok [INFO] [stdout] test app::copymode_ext::search_state_tests::current_match_returns_none_when_empty ... ok [INFO] [stdout] test app::copymode_ext::search_state_tests::execute_case_insensitive ... ok [INFO] [stdout] test app::copymode_ext::search_state_tests::execute_case_sensitive ... ok [INFO] [stdout] test app::copymode_ext::search_state_tests::matches_on_line ... ok [INFO] [stdout] test app::copymode_ext::search_state_tests::next_wraps_around ... ok [INFO] [stdout] test app::copymode_ext::search_state_tests::prev_wraps_around ... ok [INFO] [stdout] test app::copymode_ext::sentence_tests::multiple_terminators ... ok [INFO] [stdout] test app::copymode_ext::search_state_tests::execute_empty_query_clears ... ok [INFO] [stdout] test app::copymode_ext::search_state_tests::execute_finds_all_matches ... ok [INFO] [stdout] test app::copymode_ext::sentence_tests::prev_sentence_finds_terminator ... ok [INFO] [stdout] test app::copymode_ext::sentence_tests::next_sentence_same_line ... ok [INFO] [stdout] test app::copymode_ext::sentence_tests::prev_sentence_across_blank_line ... ok [INFO] [stdout] test app::copymode_ext::styled_extraction_tests::extract_styled_line_basic ... ok [INFO] [stdout] test app::copymode_ext::styled_extraction_tests::extract_styled_line_skips_wide_continuation ... ok [INFO] [stdout] test app::copymode_ext::styled_extraction_tests::styled_to_plain_concatenates ... ok [INFO] [stdout] test app::copymode_ext::search_state_tests::execute_limits_to_1000_matches ... ok [INFO] [stdout] test app::copymode_ext::search_state_tests::jump_initial_backward ... ok [INFO] [stdout] test app::copymode_ext::search_state_tests::jump_initial_forward ... ok [INFO] [stdout] test app::copymode_ext::sentence_tests::next_sentence_across_blank_line ... ok [INFO] [stdout] test app::copymode_ext::sentence_tests::next_sentence_at_end_returns_original ... ok [INFO] [stdout] test app::copymode_ext::styled_extraction_tests::extract_styled_range_trims_trailing_spaces ... ok [INFO] [stdout] test app::copymode_ext::tests::char_search_forward_till ... ok [INFO] [stdout] test app::copymode_ext::tests::char_search_not_found ... ok [INFO] [stdout] test app::copymode_ext::tests::char_search_backward_find ... ok [INFO] [stdout] test app::copymode_ext::tests::find_matching_bracket_backward ... ok [INFO] [stdout] test app::copymode_ext::tests::char_search_forward_find ... ok [INFO] [stdout] test app::copymode_ext::tests::find_matching_bracket_forward ... ok [INFO] [stdout] test app::copymode_ext::tests::find_matching_bracket_nested ... ok [INFO] [stdout] test app::copymode_ext::tests::selection_range_line_mode ... ok [INFO] [stdout] test app::copymode_ext::tests::scroll_copy_mode_no_scrollback ... ok [INFO] [stdout] test app::copymode_ext::tests::selection_range_char_mode ... ok [INFO] [stdout] test app::copymode_ext::tests::visual_mode_active ... ok [INFO] [stdout] test app::copymode_ext::tests::word_motion_backward ... ok [INFO] [stdout] test app::copymode_ext::tests::reverse_search_flips_direction ... ok [INFO] [stdout] test app::copymode_ext::tests::find_matching_bracket_no_bracket ... ok [INFO] [stdout] test app::copymode_ext::tests::scroll_copy_mode_clamps ... ok [INFO] [stdout] test app::copymode_ext::tests::repeat_search_same_direction ... ok [INFO] [stdout] test app::damage::tests::merges_adjacent_regions ... ok [INFO] [stdout] test app::damage::tests::full_damage_replaces_partial_regions ... ok [INFO] [stdout] test app::copymode_ext::tests::word_motion_forward ... ok [INFO] [stdout] test app::damage::tests::merges_overlapping_regions ... ok [INFO] [stdout] test app::copymode_ext::tests::word_motion_end ... ok [INFO] [stdout] test app::damage::tests::bridging_region_merges_two_separate_rects ... ok [INFO] [stdout] test app::damage::tests::clips_regions_to_bounds ... ok [INFO] [stdout] test app::damage::tests::ignores_outside_regions ... ok [INFO] [stdout] test app::damage::tests::non_adjacent_regions_stay_separate ... ok [INFO] [stdout] test app::damage::tests::take_clears_pending_damage ... ok [INFO] [stdout] test app::damage::tests::take_preserves_full_reason ... ok [INFO] [stdout] test app::dock::tests::build_dock_workspace_tabs_disabled ... ok [INFO] [stdout] test app::dock::tests::build_dock_left_text_terminal_mode ... ok [INFO] [stdout] test app::dock::tests::calculate_dock_layout_basic ... ok [INFO] [stdout] test app::dock::tests::build_dock_workspace_tabs_single_workspace_with_add ... ok [INFO] [stdout] test app::dock::tests::copy_mode_help_search_has_two_tiers ... ok [INFO] [stdout] test app::dock::tests::copy_mode_state_search ... ok [INFO] [stdout] test app::dock::tests::copy_mode_help_normal_has_three_tiers ... ok [INFO] [stdout] test app::dock::tests::copy_mode_help_visual_char_has_two_tiers ... ok [INFO] [stdout] test app::dock::tests::copy_mode_state_visual_char ... ok [INFO] [stdout] test app::dock::tests::dock_item_at_returns_none_on_empty_dock ... ok [INFO] [stdout] test app::dock::tests::dock_item_label_without_name ... ok [INFO] [stdout] test app::dock::tests::copy_mode_help_visual_line_has_two_tiers ... ok [INFO] [stdout] test app::dock::tests::dock_items_width_empty ... ok [INFO] [stdout] test app::dock::tests::copy_mode_state_normal ... ok [INFO] [stdout] test app::dock::tests::dock_items_width_single ... ok [INFO] [stdout] test app::dock::tests::dock_item_label_truncates_long_name ... ok [INFO] [stdout] test app::dock::tests::pill_width_named ... ok [INFO] [stdout] test app::dock::tests::dock_item_label_with_name ... ok [INFO] [stdout] test app::dock::tests::dock_workspace_pill_at_hit ... ok [INFO] [stdout] test app::dock::tests::pill_width_plus ... ok [INFO] [stdout] test app::dock::tests::pill_width_single_digit ... ok [INFO] [stdout] test app::dock::tests::copy_mode_state_visual_line ... ok [INFO] [stdout] test app::dock::tests::plan_strip_fits_naturally ... ok [INFO] [stdout] test app::dock::tests::dock_item_at_returns_none_above_dock ... ok [INFO] [stdout] test app::dock::tests::pills_span_full ... ok [INFO] [stdout] test app::dock::tests::overflow_hit_requires_truncation ... ok [INFO] [stdout] test app::dock::tests::session_controls_fit_narrow ... ok [INFO] [stdout] test app::dock::tests::plan_strip_empty_tabs ... ok [INFO] [stdout] test app::dock_session_buttons::tests::buttons_contains_all_actions ... ok [INFO] [stdout] test app::dock::tests::plan_strip_narrow_room_add_only ... ok [INFO] [stdout] test app::dock_session_buttons::tests::buttons_returns_three ... ok [INFO] [stdout] test app::dock::tests::plan_strip_with_add_tab ... ok [INFO] [stdout] test app::dock::tests::session_controls_fit_boundary ... ok [INFO] [stdout] test app::dock_session_buttons::tests::controls_fit_boundary ... ok [INFO] [stdout] test app::dock::tests::pills_fitting_count ... ok [INFO] [stdout] test app::dock_session_buttons::tests::controls_fit_narrow ... ok [INFO] [stdout] test app::dock::tests::session_controls_fit_wide ... ok [INFO] [stdout] test app::dock_session_buttons::tests::controls_fit_wide ... ok [INFO] [stdout] test app::dock_session_buttons::tests::icon_close ... ok [INFO] [stdout] test app::dock_session_buttons::tests::icon_detach ... ok [INFO] [stdout] test app::dock::tests::dock_items_width_multiple ... ok [INFO] [stdout] test app::dock_session_buttons::tests::icon_rename ... ok [INFO] [stdout] test app::dock_session_buttons::tests::label_detach ... ok [INFO] [stdout] test app::dock_session_buttons::tests::strip_width_nonzero ... ok [INFO] [stdout] test app::dock_session_buttons::tests::label_rename ... ok [INFO] [stdout] test app::dock_session_buttons::tests::strip_width_ascii_vs_nerd ... ok [INFO] [stdout] test app::float::tests::clamp_keeps_rect_inside ... ok [INFO] [stdout] test app::dock_session_buttons::tests::label_close ... ok [INFO] [stdout] test app::float::tests::clamp_shrinks_oversized ... ok [INFO] [stdout] test app::float::tests::contains_hits_inside_only ... ok [INFO] [stdout] test app::float::tests::interior_is_not_a_handle ... ok [INFO] [stdout] test app::float::tests::side_edges_resize ... ok [INFO] [stdout] test app::input::click_to_type_tests::read_only_still_allows_window_management ... ok [INFO] [stdout] test app::input::debug_prefix_tests::debug_a_toggles_animations ... ok [INFO] [stdout] test app::input::click_to_type_tests::read_only_blocks_passthrough_input ... ok [INFO] [stdout] test app::input::debug_prefix_tests::debug_c_toggles_stats_overlay ... ok [INFO] [stdout] test app::input::debug_prefix_tests::debug_k_toggles_showkeys ... ok [INFO] [stdout] test app::float::tests::default_rect_is_centered_three_fifths ... ok [INFO] [stdout] test app::float::tests::default_rect_small_screen ... ok [INFO] [stdout] test app::input::click_to_type_tests::clean_click_enters_terminal_mode ... ok [INFO] [stdout] test app::float::tests::top_row_is_move ... ok [INFO] [stdout] test app::input::debug_prefix_tests::leader_d_enters_debug_prefix ... ok [INFO] [stdout] test app::input::click_to_type_tests::drag_cancels_click_to_type ... ok [INFO] [stdout] test app::input::click_to_type_tests::terminal_mode_click_still_selects ... ok [INFO] [stdout] test app::input::debug_prefix_tests::event_log_is_bounded ... ok [INFO] [stdout] test app::input::tests::copy_count_applies_to_line_motion ... ok [INFO] [stdout] test app::input::swap_snap_tests::action_dispatch_snap_left ... ok [INFO] [stdout] test app::input::swap_snap_tests::uppercase_swap_keys_do_not_panic ... ok [INFO] [stdout] test app::input::swap_snap_tests::swap_up_trades_positions ... ok [INFO] [stdout] test app::input::tests::copy_zero_remains_line_start_not_count ... ok [INFO] [stdout] test app::input::debug_prefix_tests::debug_l_toggles_log_viewer ... ok [INFO] [stdout] test app::input::tests::alt_esc_leaves_terminal_mode ... ok [INFO] [stdout] test app::input::debug_prefix_tests::debug_q_cancels ... ok [INFO] [stdout] test app::input::swap_snap_tests::alt_arrows_snap ... ok [INFO] [stdout] test app::input::tests::copy_double_g_jumps_to_oldest_line ... ok [INFO] [stdout] test app::input::tests::encode_key_arrow_left ... ok [INFO] [stdout] test app::input::tests::encode_key_ctrl_a ... ok [INFO] [stdout] test app::input::tests::encode_key_alt_arrow_left ... ok [INFO] [stdout] test app::input::tests::encode_key_alt_char ... ok [INFO] [stdout] test app::input::tests::encode_key_ctrl_backslash ... ok [INFO] [stdout] test app::input::tests::encode_key_arrow_down ... ok [INFO] [stdout] test app::input::tests::encode_key_arrow_right ... ok [INFO] [stdout] test app::input::tests::encode_key_arrow_up ... ok [INFO] [stdout] test app::input::tests::encode_key_backspace ... ok [INFO] [stdout] test app::input::tests::encode_key_ctrl_bracket_close ... ok [INFO] [stdout] test app::input::tests::encode_key_ctrl_space ... ok [INFO] [stdout] test app::input::tests::encode_key_end ... ok [INFO] [stdout] test app::input::tests::encode_key_enter ... ok [INFO] [stdout] test app::input::tests::encode_key_home ... ok [INFO] [stdout] test app::input::tests::encode_key_ctrl_underscore ... ok [INFO] [stdout] test app::input::tests::encode_key_ctrl_z ... ok [INFO] [stdout] test app::input::tests::encode_key_delete ... ok [INFO] [stdout] test app::input::tests::encode_key_page_down ... ok [INFO] [stdout] test app::input::tests::encode_key_page_up ... ok [INFO] [stdout] test app::input::tests::encode_key_back_tab ... ok [INFO] [stdout] test app::input::tests::encode_key_ctrl_bracket ... ok [INFO] [stdout] test app::input::tests::esc_leaves_terminal_mode ... ok [INFO] [stdout] test app::input::tests::encode_key_ctrl_caret ... ok [INFO] [stdout] test app::input::tests::encode_key_printable_char ... ok [INFO] [stdout] test app::input::tests::encode_key_esc ... ok [INFO] [stdout] test app::input::tests::encode_key_tab ... ok [INFO] [stdout] test app::input::tests::encode_key_unrecognized_returns_empty ... ok [INFO] [stdout] test app::input::tests::float_prefix_f_toggles_float ... ok [INFO] [stdout] test app::input::tests::float_prefix_moves_focused_float ... ok [INFO] [stdout] test app::input::tests::float_border_drag_resizes ... ok [INFO] [stdout] test app::input::tests::float_prefix_o_toggles_modal ... ok [INFO] [stdout] test app::input::tests::float_prefix_p_toggles_pin ... ok [INFO] [stdout] test app::input::tests::format_key_chord_ctrl_a ... ok [INFO] [stdout] test app::input::tests::format_key_chord_alt_esc ... ok [INFO] [stdout] test app::input::tests::float_prefix_n_spawns_floating_shell ... ok [INFO] [stdout] test app::input::tests::format_key_chord_empty_for_unknown ... ok [INFO] [stdout] test app::input::tests::float_title_drag_moves ... ok [INFO] [stdout] test app::input::tests::format_key_chord_arrows ... ok [INFO] [stdout] test app::input::tests::format_key_chord_ctrl_f12 ... ok [INFO] [stdout] test app::input::tests::format_key_chord_function_key ... ok [INFO] [stdout] test app::input::tests::format_key_chord_shift_enter ... ok [INFO] [stdout] test app::input::tests::format_key_chord_special_keys ... ok [INFO] [stdout] test app::input::tests::handle_key_last_key_chord_is_recorded ... ok [INFO] [stdout] test app::input::tests::handle_key_leader_then_m_opens_minimize_prefix ... ok [INFO] [stdout] test app::input::tests::handle_key_leader_then_t_opens_window_prefix ... ok [INFO] [stdout] test app::input::tests::handle_key_leader_then_open_bracket_scrollback ... ok [INFO] [stdout] test app::input::tests::handle_help_modal_esc ... ok [INFO] [stdout] test app::input::tests::handle_key_leader_then_t_window_prefix ... ok [INFO] [stdout] test app::input::tests::handle_key_leader_key_sets_prefix ... ok [INFO] [stdout] test app::input::tests::handle_key_leader_then_c_opens_window_switcher ... ok [INFO] [stdout] test app::input::tests::handle_key_quit_confirmation_n_cancels ... ok [INFO] [stdout] test app::input::tests::handle_key_leader_then_s_opens_window_switcher ... ok [INFO] [stdout] test app::input::tests::handle_key_ctrl_p_toggles_script_pause ... ok [INFO] [stdout] test app::input::tests::handle_key_leader_then_p_opens_palette ... ok [INFO] [stdout] test app::input::tests::handle_key_terminal_mode_alt_p_prev_window ... ok [INFO] [stdout] test app::input::tests::handle_key_leader_then_w_opens_workspace_switcher ... ok [INFO] [stdout] test app::input::tests::handle_key_quit_confirmation_y_quits ... ok [INFO] [stdout] test app::input::tests::handle_key_quit_confirmation_esc_cancels ... ok [INFO] [stdout] test app::input::tests::handle_key_window_mode_arrow_down ... ok [INFO] [stdout] test app::input::tests::handle_key_terminal_mode_alt_n_next_window ... ok [INFO] [stdout] test app::input::tests::handle_key_terminal_mode_passthrough ... ok [INFO] [stdout] test app::input::tests::handle_key_window_mode_esc_clears_prefix ... ok [INFO] [stdout] test app::input::tests::handle_key_window_mode_i_enters_terminal ... ok [INFO] [stdout] test app::input::tests::handle_key_window_mode_n_next_window ... ok [INFO] [stdout] test app::input::tests::handle_key_window_mode_p_prev_window ... ok [INFO] [stdout] test app::input::tests::handle_key_window_mode_tab_next_window ... ok [INFO] [stdout] test app::input::tests::handle_leader_key_backtab_prev_window ... ok [INFO] [stdout] test app::input::tests::handle_key_window_mode_arrow_up ... ok [INFO] [stdout] test app::input::tests::handle_leader_key_backslash_split_vertical ... ok [INFO] [stdout] test app::input::tests::handle_leader_key_dash_split_horizontal ... ok [INFO] [stdout] test app::input::tests::handle_key_window_mode_digit_1 ... ok [INFO] [stdout] test app::input::tests::handle_key_window_mode_backtab_prev_window ... ok [INFO] [stdout] test app::input::tests::handle_leader_key_c_creates_window ... ok [INFO] [stdout] test app::input::tests::handle_leader_key_m_minimize_prefix ... ok [INFO] [stdout] test app::input::tests::handle_key_window_mode_q_opens_quit_menu ... ok [INFO] [stdout] test app::input::tests::handle_leader_key_p_prev_window ... ok [INFO] [stdout] test app::input::tests::handle_leader_key_esc_clears_prefix ... ok [INFO] [stdout] test app::input::tests::handle_leader_key_equal_equalize_ratios ... ok [INFO] [stdout] test app::input::tests::handle_leader_key_digit_jumps_to_window ... ok [INFO] [stdout] test app::input::tests::handle_leader_key_n_next_window ... ok [INFO] [stdout] test app::input::tests::handle_leader_key_p_opens_palette ... ok [INFO] [stdout] test app::input::tests::handle_leader_key_r_rotate_split ... ok [INFO] [stdout] test app::input::tests::handle_leader_key_unrecognized_returns_consumed ... ok [INFO] [stdout] test app::input::tests::handle_leader_key_x_closes_window ... ok [INFO] [stdout] test app::input::tests::handle_leader_key_tab_next_window ... ok [INFO] [stdout] test app::input::tests::handle_leader_key_z_fullscreen ... ok [INFO] [stdout] test app::input::tests::handle_leader_key_tape_prefix ... ok [INFO] [stdout] test app::input::tests::handle_leader_key_w_workspace_prefix ... ok [INFO] [stdout] test app::input::tests::handle_leader_key_space_toggle_tiling ... ok [INFO] [stdout] test app::input::tests::handle_leader_key_t_window_prefix ... ok [INFO] [stdout] test app::input::tests::handle_palette_char_query ... ok [INFO] [stdout] test app::input::tests::handle_palette_esc ... ok [INFO] [stdout] test app::input::tests::handle_minimize_prefix_any_key ... ok [INFO] [stdout] test app::input::tests::handle_palette_j_down ... ok [INFO] [stdout] test app::input::tests::handle_project_tape_review_esc ... ok [INFO] [stdout] test app::input::tests::handle_palette_enter ... ok [INFO] [stdout] test app::input::tests::handle_palette_k_up ... ok [INFO] [stdout] test app::input::tests::handle_leader_key_pipe_split_vertical ... ok [INFO] [stdout] test app::input::tests::handle_scrollback_j_moves_down ... ok [INFO] [stdout] test app::input::tests::handle_project_tape_review_n ... ok [INFO] [stdout] test app::input::tests::handle_mouse_basic ... ok [INFO] [stdout] test app::input::tests::handle_scrollback_k_moves_up ... ok [INFO] [stdout] test app::input::tests::handle_scrollback_q_exits ... ok [INFO] [stdout] test app::input::tests::handle_scrollback_y_yanks ... ok [INFO] [stdout] test app::input::tests::handle_switcher_enter ... ok [INFO] [stdout] test app::input::tests::handle_scrollback_v_toggles_visual ... ok [INFO] [stdout] test app::input::tests::handle_tape_manager_esc ... ok [INFO] [stdout] test app::input::tests::handle_tape_manager_j_down ... ok [INFO] [stdout] test app::input::tests::handle_tape_manager_char_filter ... ok [INFO] [stdout] test app::input::tests::handle_tape_manager_backspace ... ok [INFO] [stdout] test app::input::tests::handle_tape_manager_k_up ... ok [INFO] [stdout] test app::input::tests::handle_tape_prefix_m_opens_manager ... ok [INFO] [stdout] test app::input::tests::handle_switcher_esc ... ok [INFO] [stdout] test app::input::tests::handle_switcher_j_down ... ok [INFO] [stdout] test app::input::tests::handle_switcher_k_up ... ok [INFO] [stdout] test app::input::tests::handle_tape_prefix_esc ... ok [INFO] [stdout] test app::input::tests::handle_project_tape_review_y ... ok [INFO] [stdout] test app::input::tests::handle_window_prefix_esc ... ok [INFO] [stdout] test app::input::tests::handle_theme_picker_j_down ... ok [INFO] [stdout] test app::input::tests::handle_tape_prefix_unrecognized ... ok [INFO] [stdout] test app::input::tests::handle_theme_picker_esc ... ok [INFO] [stdout] test app::input::tests::handle_tape_prefix_r_starts_recording ... ok [INFO] [stdout] test app::input::tests::handle_window_prefix_backtab ... ok [INFO] [stdout] test app::input::tests::handle_tape_prefix_s_stops_recording ... ok [INFO] [stdout] test app::input::tests::handle_theme_picker_k_up ... ok [INFO] [stdout] test app::input::tests::handle_workspace_prefix_shift_digit_moves_window ... ok [INFO] [stdout] test app::input::tests::hyphenated_ctrl_b_leader_enters_prefix ... ok [INFO] [stdout] test app::input::tests::handle_window_prefix_tab ... ok [INFO] [stdout] test app::input::tests::modal_click_on_other_pane_blocked ... ok [INFO] [stdout] test app::input::tests::handle_window_prefix_unrecognized ... ok [INFO] [stdout] test app::input::tests::modal_click_on_own_body_allowed ... ok [INFO] [stdout] test app::input::tests::leader_key_enters_prefix ... ok [INFO] [stdout] test app::input::tests::handle_workspace_prefix_digit ... ok [INFO] [stdout] test app::input::tests::handle_workspace_prefix_esc ... ok [INFO] [stdout] test app::input::tests::mouse_click_focuses_window ... ok [INFO] [stdout] test app::input::tests::handle_workspace_prefix_unrecognized ... ok [INFO] [stdout] test app::input::tests::handle_window_prefix_n ... ok [INFO] [stdout] test app::input::tests::leader_f_enters_float_prefix ... ok [INFO] [stdout] test app::input::tests::palette_lists_float_commands ... ok [INFO] [stdout] test app::input::tests::mouse_scroll_over_dock_is_ignored ... ok [INFO] [stdout] test app::input::tests::prefix_p_opens_palette ... ok [INFO] [stdout] test app::input::tests::quit_opens_quit_menu ... ok [INFO] [stdout] test app::input::tests::tape_manager_esc_cancels_delete ... ok [INFO] [stdout] test app::input::tests::tape_manager_d_enters_confirm_delete ... ok [INFO] [stdout] test app::input::tests::prefix_w_opens_workspace_switcher ... ok [INFO] [stdout] test app::input::tests::tape_manager_n_cancels_delete ... ok [INFO] [stdout] test app::input::tests::prefix_bracket_enters_scrollback_mode ... ok [INFO] [stdout] test app::input::tests::palette_esc_closes ... ok [INFO] [stdout] test app::input::tests::tape_manager_naming_backspace ... ok [INFO] [stdout] test app::input::tests::tape_manager_naming_char_appends ... ok [INFO] [stdout] test app::input::tests::tape_manager_naming_esc_cancels ... ok [INFO] [stdout] test app::input::tests::palette_activate_toggle_float_tiles_floating_window ... ok [INFO] [stdout] test app::input::tests::tape_manager_naming_enter_starts_recording ... ok [INFO] [stdout] test app::input::tests::tape_manager_r_enters_naming ... ok [INFO] [stdout] test app::input::tests::tape_manager_y_confirms_delete ... ok [INFO] [stdout] test app::interaction::pointer_shape_tests::bottom_edge_is_ns_resize ... ok [INFO] [stdout] test app::interaction::pointer_shape_tests::left_edge_is_ew_resize ... ok [INFO] [stdout] test app::interaction::pointer_shape_tests::borderless_is_default ... ok [INFO] [stdout] test app::interaction::pointer_shape_tests::corner_is_diagonal ... ok [INFO] [stdout] test app::interaction::pointer_shape_tests::inside_pane_is_default ... ok [INFO] [stdout] test app::input::tests::wm_mode_arrows_move_focused_float ... ok [INFO] [stdout] test app::interaction::pointer_shape_tests::pointer_shape_str ... ok [INFO] [stdout] test app::interaction::pointer_shape_tests::top_edge_is_grab ... ok [INFO] [stdout] test app::interaction::tests::detect_file_paths_ignores_short ... ok [INFO] [stdout] test app::interaction::tests::hold_mode_lifecycle ... ok [INFO] [stdout] test app::interaction::tests::base64_encode_basic ... ok [INFO] [stdout] test app::interaction::tests::detect_file_paths_finds_paths ... ok [INFO] [stdout] test app::interaction::tests::mac_option_advice_terminal ... ok [INFO] [stdout] test app::interaction::tests::keyboard_enhancements_set_flags ... ok [INFO] [stdout] test app::interaction::tests::osc777_notify_writes_sequence ... ok [INFO] [stdout] test app::interaction::tests::pointer_shape_for_border_corners ... ok [INFO] [stdout] test app::interaction::tests::pointer_shape_for_border_edges ... ok [INFO] [stdout] test app::interaction::tests::post_render_writer_queue_and_drain ... ok [INFO] [stdout] test app::interaction::tests::notification_jump_add_and_clear ... ok [INFO] [stdout] test app::interaction::tests::osc9_notify_writes_sequence ... ok [INFO] [stdout] test app::interaction::tests::pointer_shape_as_str ... ok [INFO] [stdout] test app::interaction::tests::set_pointer_shape_skips_redundant ... ok [INFO] [stdout] test app::interaction::tests::set_pointer_shape_writes_osc22 ... ok [INFO] [stdout] test app::interaction::tests::pointer_shape_no_border ... ok [INFO] [stdout] test app::interaction::tests::tick_stats_record ... ok [INFO] [stdout] test app::interaction::tests::notification_jump_latest_for ... ok [INFO] [stdout] test app::layout_templates::tests::generate_tape_script_format ... ok [INFO] [stdout] test app::interaction::tests::resize_deferral_pending ... ok [INFO] [stdout] test app::interaction::tests::separator_gap ... ok [INFO] [stdout] test app::layout_templates::tests::layout_template_round_trip ... ok [INFO] [stdout] test app::metrics::tests::format_rate_test ... ok [INFO] [stdout] test app::metrics::tests::pane_metrics_update ... ok [INFO] [stdout] test app::metrics::tests::remove_pane_cleans_up ... ok [INFO] [stdout] test app::metrics::tests::format_bytes_test ... ok [INFO] [stdout] test app::metrics::tests::session_metrics_aggregation ... ok [INFO] [stdout] test app::notifications::tests::history_is_tracked ... ok [INFO] [stdout] test app::layout_templates::tests::sanitize_name_handles_special_chars ... ok [INFO] [stdout] test app::metrics::tests::format_duration_test ... ok [INFO] [stdout] test app::notifications::tests::render_substitutes_variables ... ok [INFO] [stdout] test app::notifications::tests::unknown_template_returns_none ... ok [INFO] [stdout] test app::overlay_hit::tests::center_origin_clamps_to_zero ... ok [INFO] [stdout] test app::overlay_hit::tests::drag_state_start_and_end ... ok [INFO] [stdout] test app::overlay_hit::tests::hit_by_kind_finds_panel ... ok [INFO] [stdout] test app::overlay_hit::tests::overlay_hit_at_finds_topmost ... ok [INFO] [stdout] test app::overlay_hit::tests::overlay_hit_at_none_outside ... ok [INFO] [stdout] test app::overlay_hit::tests::overlay_offset_get_and_set ... ok [INFO] [stdout] test app::overlay_hit::tests::overlay_origin_clamps_to_screen ... ok [INFO] [stdout] test app::notifications::tests::notify_respects_rate_limit ... ok [INFO] [stdout] test app::overlay_hit::tests::overlay_origin_with_offset ... ok [INFO] [stdout] test app::notifications::tests::priority_ordering ... ok [INFO] [stdout] test app::overlay_hit::tests::center_origin_centers_block ... ok [INFO] [stdout] test app::overlay_hit::tests::overlay_z_from_position ... ok [INFO] [stdout] test app::overlay_hit::tests::panel_body_drops_hints_when_tight ... ok [INFO] [stdout] test app::overlay_hit::tests::panel_body_keeps_hints_when_room ... ok [INFO] [stdout] test app::overlay_hit::tests::panel_body_rows_min_clamp ... ok [INFO] [stdout] test app::overlay_hit::tests::panel_hit_contains ... ok [INFO] [stdout] test app::overlay_hit::tests::panel_hit_to_local ... ok [INFO] [stdout] test app::overlay_hit::tests::panel_width_fits_to_screen ... ok [INFO] [stdout] test app::overlay_hit::tests::panel_body_rows_fits_to_screen ... ok [INFO] [stdout] test app::overlay_hit::tests::raise_overlay_already_on_top ... ok [INFO] [stdout] test app::overlay_hit::tests::raise_overlay_moves_to_top ... ok [INFO] [stdout] test app::overlay_hit::tests::raise_overlay_not_found ... ok [INFO] [stdout] test app::overlay_hit::tests::reconcile_z_order_appends_new ... ok [INFO] [stdout] test app::overlay_hit::tests::scroll_window_keeps_selected_in_view ... ok [INFO] [stdout] test app::overlay_hit::tests::scroll_window_small_list ... ok [INFO] [stdout] test app::overlay_mouse::tests::accent_click_selects_clicked_row ... ok [INFO] [stdout] test app::overlay_hit::tests::reconcile_z_order_drops_closed ... ok [INFO] [stdout] test app::overlay_hit::tests::reconcile_z_order_preserves_existing ... ok [INFO] [stdout] test app::overlay_hit::tests::topmost_overlay_kind_empty ... ok [INFO] [stdout] test app::overlay_hit::tests::topmost_overlay_kind_returns_last ... ok [INFO] [stdout] test app::overlay_mouse::tests::close_overlay_clears_state ... ok [INFO] [stdout] test app::overlay_mouse::tests::close_overlay_ends_drag_for_same_kind ... ok [INFO] [stdout] test app::overlay_mouse::tests::open_overlay_kinds_lists_open_overlays ... ok [INFO] [stdout] test app::overlay_mouse::tests::overlay_active_false_when_no_hits ... ok [INFO] [stdout] test app::overlay_mouse::tests::close_overlay_unknown_kind_is_noop ... ok [INFO] [stdout] test app::overlay_mouse::tests::overlay_active_true_when_hits_present ... ok [INFO] [stdout] test app::overlay_mouse::tests::open_overlay_kinds_empty_when_none_open ... ok [INFO] [stdout] test app::overlay_mouse::tests::overlay_drag_active_false_by_default ... ok [INFO] [stdout] test app::overlay_mouse::tests::overlay_drag_active_true_when_dragging ... ok [INFO] [stdout] test app::overlay_mouse::tests::overlay_mouse_release_ends_drag ... ok [INFO] [stdout] test app::overlay_mouse::tests::overlay_mouse_click_inside_raises_overlay ... ok [INFO] [stdout] test app::overlay_mouse::tests::overlay_mouse_click_outside_dismisses_topmost ... ok [INFO] [stdout] test app::overlay_mouse::tests::overlay_mouse_wheel_consumed_over_overlay ... ok [INFO] [stdout] test app::overlay_mouse::tests::overlay_row_click_themepicker_selects ... ok [INFO] [stdout] test app::overlay_mouse::tests::overlay_row_click_palette_selects ... ok [INFO] [stdout] test app::overlay_mouse::tests::overlay_row_click_unknown_kind_consumes ... ok [INFO] [stdout] test app::overlay_mouse::tests::overlay_row_click_switcher_selects ... ok [INFO] [stdout] test app::overlay_mouse::tests::wheel_delta_returns_correct_direction ... ok [INFO] [stdout] test app::overlay_mouse::tests::overlay_row_hover_updates_switcher_selection ... ok [INFO] [stdout] test app::overlay_mouse::tests::overlay_row_hover_updates_palette_selection ... ok [INFO] [stdout] test app::pixel_canvas::tests::canvas_cache_invalidated_by_key_change ... ok [INFO] [stdout] test app::overlay_mouse::tests::overlay_mouse_click_on_chrome_starts_drag ... ok [INFO] [stdout] test app::overlay_mouse::tests::overlay_mouse_motion_when_not_dragging_consumes_over_panel ... ok [INFO] [stdout] test app::pixel_canvas::tests::canvas_cache_skips_effects_when_key_unchanged ... ok [INFO] [stdout] test app::pixel_canvas::tests::canvas_creation ... ok [INFO] [stdout] test app::pixel_canvas::tests::cell_compositor_lifecycle_preserves_dimensions_and_framebuffer ... ok [INFO] [stdout] test app::pixel_canvas::tests::clear_fills_all_pixels ... ok [INFO] [stdout] test app::pixel_canvas::tests::fill_background_sets_accent_gradient_and_dock ... ok [INFO] [stdout] test app::pixel_canvas::tests::compose_into_applies_quantization ... ok [INFO] [stdout] test app::pixel_canvas::tests::fill_background_single_row_is_safe ... ok [INFO] [stdout] test app::pixel_canvas::tests::gradient_horizontal_fills_region ... ok [INFO] [stdout] test app::pixel_canvas::tests::fill_background_updates_with_different_key ... ok [INFO] [stdout] test app::pixel_canvas::tests::gradient_vertical_fills_region ... ok [INFO] [stdout] test app::pixel_canvas::tests::lerp_edges ... ok [INFO] [stdout] test app::pixel_canvas::tests::quantize_256_rounds_to_cube ... ok [INFO] [stdout] test app::pixel_canvas::tests::quantize_ansi_snaps_to_basic ... ok [INFO] [stdout] test app::pixel_canvas::tests::quantize_truecolor_passthrough ... ok [INFO] [stdout] test app::pixel_canvas::tests::rounded_corner_alpha_edges ... ok [INFO] [stdout] test app::pixel_canvas::tests::rounded_rect_fills_center ... ok [INFO] [stdout] test app::pixel_canvas::tests::set_get_pixel_roundtrip ... ok [INFO] [stdout] test app::pixel_canvas::tests::compose_into_recomputes_on_scene_change ... ok [INFO] [stdout] test app::pixel_canvas::tests::drop_shadow_darkens_outside_rect ... ok [INFO] [stdout] test app::pixel_canvas::tests::smoothstep_edges ... ok [INFO] [stdout] test app::pixel_canvas::tests::compose_into_populates_canvas_and_caches ... ok [INFO] [stdout] test app::pixel_canvas::tests::single_pixel_gradient_is_well_defined ... ok [INFO] [stdout] test app::render::tests::build_which_key_lines_for_leader_prefix ... ok [INFO] [stdout] test app::render::tests::build_which_key_lines_for_minimize_prefix ... ok [INFO] [stdout] test app::pixel_canvas::tests::zero_radius_radial_gradient_is_safe ... ok [INFO] [stdout] test app::render::tests::build_which_key_lines_for_window_prefix ... ok [INFO] [stdout] test app::render::tests::build_which_key_lines_for_tape_prefix ... ok [INFO] [stdout] test app::render::tests::build_which_key_lines_for_workspace_prefix ... ok [INFO] [stdout] test app::pixel_canvas::tests::shadow_mask_cache_is_bounded ... ok [INFO] [stdout] test app::render::tests::paint_emulator_spaces_hangul_jamo_run ... ok [INFO] [stdout] test app::render::tests::focused_border_color_default ... ok [INFO] [stdout] test app::render::tests::paint_emulator_spaces_wide_glyphs_and_trailing_text ... ok [INFO] [stdout] test app::pixel_canvas::tests::shadow_mask_is_cached_and_position_independent ... ok [INFO] [stdout] test app::render::tests::paint_emulator_writes_combining_grapheme_into_one_cell ... ok [INFO] [stdout] test app::render::tests::paint_scrollback_rows_keep_wide_spacing ... ok [INFO] [stdout] test app::render::tests::paint_selection_reverses_wide_lead_cells_at_correct_columns ... ok [INFO] [stdout] test app::render::tests::paint_emulator_writes_spilled_combining_run ... ok [INFO] [stdout] test app::render::tests::render_dock_single_window ... ok [INFO] [stdout] test app::render::tests::render_dock_multiple_windows ... ok [INFO] [stdout] test app::render::tests::render_float_above_tiles_does_not_panic ... ok [INFO] [stdout] test app::render::tests::damage_aware_flush_skips_undamaged_regions ... ok [INFO] [stdout] test app::render::tests::render_help_modal ... ok [INFO] [stdout] test app::render::tests::render_overlay_basic ... ok [INFO] [stdout] test app::render::tests::render_overlay_has_rounded_corners ... ok [INFO] [stdout] test app::render::tests::render_project_tape_pending ... ok [INFO] [stdout] test app::render::tests::render_overlay_small_area ... ok [INFO] [stdout] test app::render::tests::render_quit_confirmation ... ok [INFO] [stdout] test app::render::tests::render_palette ... ok [INFO] [stdout] test app::render::tests::render_showkeys_requires_debug_flag ... ok [INFO] [stdout] test app::render::tests::render_scrollback_mode ... ok [INFO] [stdout] test app::render::tests::render_single_window_fills_content ... ok [INFO] [stdout] test app::render::tests::render_split_panes_with_offset_rects_does_not_panic ... ok [INFO] [stdout] test app::render::tests::render_switcher ... ok [INFO] [stdout] test app::render::tests::render_text_lines_basic ... ok [INFO] [stdout] test app::render::tests::render_text_lines_truncates_at_height ... ok [INFO] [stdout] test app::render::tests::render_text_lines_truncates_at_width ... ok [INFO] [stdout] test app::render::tests::render_theme_picker ... ok [INFO] [stdout] test app::render::tests::render_tape_manager ... ok [INFO] [stdout] test app::render::tests::render_two_windows ... ok [INFO] [stdout] test app::sidebar::accent::tests::accent_payload_roundtrip_slot ... ok [INFO] [stdout] test app::render::tests::render_zero_size_buffer_does_not_panic ... ok [INFO] [stdout] test app::render::tests::unfocused_border_color_default ... ok [INFO] [stdout] test app::sidebar::accent::tests::accent_payload_roundtrip_rgb ... ok [INFO] [stdout] test app::sidebar::accent::tests::accent_picker_new_from_accent ... ok [INFO] [stdout] test app::sidebar::accent::tests::accent_picker_snap_to_nearest ... ok [INFO] [stdout] test app::render::tests::render_which_key_overlay ... ok [INFO] [stdout] test app::sidebar::accent::tests::accent_picker_shift_hue_wraps ... ok [INFO] [stdout] test app::sidebar::accent::tests::best_text_color_dark_bg ... ok [INFO] [stdout] test app::sidebar::accent::tests::best_text_color_light_bg ... ok [INFO] [stdout] test app::sidebar::accent::tests::contrast_ratio_black_white ... ok [INFO] [stdout] test app::sidebar::accent::tests::contrast_ratio_identical ... ok [INFO] [stdout] test app::sidebar::accent::tests::effective_accent_prefers_window ... ok [INFO] [stdout] test app::sidebar::accent::tests::harmony_colors_produces_five ... ok [INFO] [stdout] test app::sidebar::accent::tests::effective_accent_inherits ... ok [INFO] [stdout] test app::sidebar::accent::tests::hsl_to_rgb_roundtrip ... ok [INFO] [stdout] test app::sidebar::accent::tests::migrate_accent_moves_entry ... ok [INFO] [stdout] test app::sidebar::accent::tests::nearest_slot_finds_bright_blue ... ok [INFO] [stdout] test app::sidebar::accent::tests::rgb_to_hsl_black ... ok [INFO] [stdout] test app::sidebar::accent::tests::rgb_to_hsl_red ... ok [INFO] [stdout] test app::sidebar::agents::tests::filter_session_returns_only_matching ... ok [INFO] [stdout] test app::sidebar::agents::tests::sort_priority_puts_errored_first ... ok [INFO] [stdout] test app::sidebar::agents::tests::sort_recent_puts_newest_first ... ok [INFO] [stdout] test app::sidebar::agents::tests::unread_done_count_correct ... ok [INFO] [stdout] test app::sidebar::agents::tests::working_count_correct ... ok [INFO] [stdout] test app::sidebar::cache::tests::cache_invalidate_sets_invalid ... ok [INFO] [stdout] test app::sidebar::cache::tests::cache_is_valid_checks_all ... ok [INFO] [stdout] test app::sidebar::cache::tests::fnv1a_consistent ... ok [INFO] [stdout] test app::sidebar::accent::tests::rgb_to_hsl_white ... ok [INFO] [stdout] test app::sidebar::cache::tests::fnv1a_different_inputs ... ok [INFO] [stdout] test app::sidebar::cache::tests::signature_changes_with_window_state ... ok [INFO] [stdout] test app::sidebar::cache::tests::signature_stable_for_same_inputs ... ok [INFO] [stdout] test app::sidebar::marquee::tests::inactive_marquee_returns_zero ... ok [INFO] [stdout] test app::sidebar::marquee::tests::initial_pause_prevents_scroll ... ok [INFO] [stdout] test app::sidebar::marquee::tests::offset_advances_after_pause ... ok [INFO] [stdout] test app::sidebar::marquee::tests::offset_wraps_around ... ok [INFO] [stdout] test app::sidebar::marquee::tests::render_scrolls_long_text ... ok [INFO] [stdout] test app::sidebar::marquee::tests::render_truncates_short_text ... ok [INFO] [stdout] test app::sidebar::marquee::tests::short_text_no_scroll ... ok [INFO] [stdout] test app::sidebar::marquee::tests::should_marquee_requires_hover_and_overflow ... ok [INFO] [stdout] test app::sidebar::marquee::tests::start_same_key_does_not_reset ... ok [INFO] [stdout] test app::sidebar::marquee::tests::stop_clears_state ... ok [INFO] [stdout] test app::sidebar::return_state::tests::arm_sets_window_and_session ... ok [INFO] [stdout] test app::sidebar::return_state::tests::disarm_clears_everything ... ok [INFO] [stdout] test app::sidebar::return_state::tests::enter_return_mode_only_when_armed ... ok [INFO] [stdout] test app::sidebar::return_state::tests::new_state_is_disarmed ... ok [INFO] [stdout] test app::sidebar::return_state::tests::take_return_consumes_state ... ok [INFO] [stdout] test app::sidebar::agents::tests::attention_count_correct ... ok [INFO] [stdout] test app::sidebar::agents::tests::priority_ranking ... ok [INFO] [stdout] test app::sidebar::strip::tests::ascii_fallbacks ... ok [INFO] [stdout] test app::sidebar::strip::tests::blank_cell_is_space ... ok [INFO] [stdout] test app::sidebar::strip::tests::agent_marks_use_agent_glyph ... ok [INFO] [stdout] test app::sidebar::strip::tests::build_strip_has_badge_and_controls ... ok [INFO] [stdout] test app::sidebar::strip::tests::more_marker_when_overflow ... ok [INFO] [stdout] test app::sidebar::tests::accent_nearest_slot_finds_closest ... ok [INFO] [stdout] test app::sidebar::tests::accent_rgb_resolution ... ok [INFO] [stdout] test app::sidebar::tests::agent_glyphs ... ok [INFO] [stdout] test app::sidebar::tests::agent_priority_ranking ... ok [INFO] [stdout] test app::sidebar::tests::agents_filter_default ... ok [INFO] [stdout] test app::sidebar::agents::tests::filter_all_returns_everything ... ok [INFO] [stdout] test app::sidebar::tests::agents_sort_default ... ok [INFO] [stdout] test app::sidebar::tests::cursor_move_clamps ... ok [INFO] [stdout] test app::sidebar::tests::cycle_agents_filter ... ok [INFO] [stdout] test app::sidebar::tests::local_mode_has_session_and_windows ... ok [INFO] [stdout] test app::sidebar::tests::nav_row_from_row ... ok [INFO] [stdout] test app::sidebar::tests::order_by_key_empty_order_keeps_natural ... ok [INFO] [stdout] test app::sidebar::tests::order_by_key_reorders ... ok [INFO] [stdout] test app::sidebar::tests::parse_accent_hex ... ok [INFO] [stdout] test app::sidebar::tests::parse_accent_names ... ok [INFO] [stdout] test app::sidebar::tests::printable_title_strips_controls ... ok [INFO] [stdout] test app::sidebar::tests::printable_title_strips_private_use ... ok [INFO] [stdout] test app::sidebar::tests::remote_mode_lists_sessions_with_expanded_current ... ok [INFO] [stdout] test app::sidebar::tests::row_hit_contains ... ok [INFO] [stdout] test app::sidebar::tests::selection_wraps ... ok [INFO] [stdout] test app::sidebar::tests::sidebar_attention_states ... ok [INFO] [stdout] test app::sidebar::tests::sidebar_variant_classification ... ok [INFO] [stdout] test app::sidebar::tests::toggle_opens_and_closes ... ok [INFO] [stdout] test app::sidebar::title_debounce::tests::different_title_resets_debounce ... ok [INFO] [stdout] test app::sidebar::title_debounce::tests::flush_adopts_all_ready ... ok [INFO] [stdout] test app::sidebar::title_debounce::tests::new_tracker_is_empty ... ok [INFO] [stdout] test app::sidebar::title_debounce::tests::offer_adopts_after_debounce ... ok [INFO] [stdout] test app::sidebar::title_debounce::tests::offer_does_not_adopt_immediately ... ok [INFO] [stdout] test app::sidebar::title_debounce::tests::remove_clears_entry ... ok [INFO] [stdout] test app::sidebar::title_debounce::tests::same_title_does_not_retrigger ... ok [INFO] [stdout] test app::sidebar::unread::tests::badge_glyph_done_seen ... ok [INFO] [stdout] test app::sidebar::unread::tests::badge_glyph_done_unread ... ok [INFO] [stdout] test app::sidebar::unread::tests::badge_glyph_other_state ... ok [INFO] [stdout] test app::sidebar::unread::tests::has_unread_badge_only_for_unseen_done ... ok [INFO] [stdout] test app::sidebar::unread::tests::mark_unread_then_seen ... ok [INFO] [stdout] test app::sidebar::unread::tests::new_tracker_all_seen ... ok [INFO] [stdout] test app::sidebar::unread::tests::on_state_change_done_marks_unread ... ok [INFO] [stdout] test app::sidebar::unread::tests::on_state_change_none_does_nothing ... ok [INFO] [stdout] test app::sidebar::unread::tests::on_state_change_working_marks_seen ... ok [INFO] [stdout] test app::sidebar::strip::tests::current_session_gets_filled_circle ... ok [INFO] [stdout] test app::sidebar::tests::enter_and_exit_focus ... ok [INFO] [stdout] test app::sidebar::unread::tests::remove_clears_entry ... ok [INFO] [stdout] test app::sidebar::unread::tests::unread_count ... ok [INFO] [stdout] test app::tests::agent_progress_tests::clear_progress_holds_then_idles ... ok [INFO] [stdout] test app::tests::agent_progress_tests::non_progress_osc_is_ignored ... ok [INFO] [stdout] test app::tests::agent_progress_tests::warning_progress_maps_to_needs_input ... ok [INFO] [stdout] test app::tests::agent_progress_tests::error_progress_maps_to_errored ... ok [INFO] [stdout] test app::tests::agent_progress_tests::working_progress_sets_state ... ok [INFO] [stdout] test app::sidebar::cache::tests::signature_changes_with_cursor ... ok [INFO] [stdout] test app::tests::aggregate_tests::leader_a_opens_and_esc_closes ... ok [INFO] [stdout] test app::tests::aggregate_tests::empty_when_no_windows ... ok [INFO] [stdout] test app::tests::aggregate_tests::preview_comes_from_emulator ... ok [INFO] [stdout] test app::tests::aggregate_tests::items_group_all_workspaces ... ok [INFO] [stdout] test app::tests::animation_tests::animation_position_interpolates ... ok [INFO] [stdout] test app::tests::animation_tests::zoom_toggles_and_restores ... ok [INFO] [stdout] test app::tests::aggregate_tests::enter_focuses_selected_window ... ok [INFO] [stdout] test app::tests::auto_theme_tests::auto_dark_env_resolves_dark ... ok [INFO] [stdout] test app::tests::auto_theme_tests::auto_without_env_falls_back_to_dark ... ok [INFO] [stdout] test app::tests::auto_theme_tests::auto_sets_flag_and_resolves_from_env ... ok [INFO] [stdout] ]11;?test app::tests::animation_tests::zoom_with_animation_registers_snap ... ok [INFO] [stdout] test app::tests::animation_tests::tick_animations_removes_finished ... ok [INFO] [stdout] test app::tests::auto_theme_tests::explicit_theme_is_not_auto ... ok [INFO] [stdout] test app::tests::auto_theme_tests::palette_theme_detect_command_dispatches ... ok [INFO] [stdout] test app::tests::animation_tests::animations_disabled_means_no_animation ... ok [INFO] [stdout] test app::tests::auto_theme_tests::redetect_noops_when_not_auto ... ok [INFO] [stdout] test app::tests::browser_tests::empty_window_has_no_blocks ... ok [INFO] [stdout] test app::tests::browser_tests::cache_returns_same_result_as_fresh_scan ... ok [INFO] [stdout] test app::tests::browser_tests::bracket_opens_from_scrollback_mode ... ok [INFO] [stdout] test app::tests::browser_tests::json_mode_finds_fragments ... ok [INFO] [stdout] test app::tests::browser_tests::navigation_and_close ... ok [INFO] [stdout] test app::tests::browser_tests::mode_cycles ... ok [INFO] [stdout] test app::tests::browser_tests::confirm_delete_repopulates_cache ... ok [INFO] [stdout] test app::tests::browser_tests::open_parses_blocks ... ok [INFO] [stdout] test app::tests::browser_tests::paths_mode_finds_paths ... ok [INFO] [stdout] test app::tests::browser_tests::refresh_cache_sets_none ... ok [INFO] [stdout] test app::tests::browser_tests::update_cache_after_query_change_repopulates ... ok [INFO] [stdout] test app::tests::browser_tests::open_tape_manager_populates_cache ... ok [INFO] [stdout] test app::tests::context_menu_tests::dismiss_clears_menu ... ok [INFO] [stdout] test app::tests::command_pane_tests::dialog_commit_spawns_command_pane ... ok [INFO] [stdout] test app::tests::context_menu_tests::menu_enter_runs_zoom_action ... ok [INFO] [stdout] test app::tests::context_menu_tests::menu_navigation_and_cancel ... ok [INFO] [stdout] test app::tests::context_menu_tests::right_click_toggles_menu ... ok [INFO] [stdout] test app::tests::context_menu_tests::open_menu_anchors_and_focuses ... ok [INFO] [stdout] test app::tests::damage_wiring_tests::all_minimized_dock_items_count ... ok [INFO] [stdout] test app::tests::damage_wiring_tests::all_minimized_layout_empty ... ok [INFO] [stdout] test app::tests::damage_wiring_tests::collect_pane_damage_skips_clean_windows ... ok [INFO] [stdout] test app::tests::damage_wiring_tests::damage_full_marks_bounds_and_requests_render ... ok [INFO] [stdout] test app::tests::damage_wiring_tests::damage_rect_marks_specific_region ... ok [INFO] [stdout] test app::tests::damage_wiring_tests::collect_pane_damage_marks_dirty_windows ... ok [INFO] [stdout] test app::tests::damage_wiring_tests::damage_resize_seeds_bounds_for_first_frame ... ok [INFO] [stdout] test app::tests::damage_wiring_tests::dock_count_includes_all_minimized ... ok [INFO] [stdout] test app::tests::damage_wiring_tests::damage_resize_replaces_bounds_and_full_marks ... ok [INFO] [stdout] test app::tests::damage_wiring_tests::dock_items_empty_when_no_minimized ... ok [INFO] [stdout] test app::tests::damage_wiring_tests::minimize_focused_hides_window_from_layout ... ok [INFO] [stdout] test app::tests::damage_wiring_tests::dock_items_include_minimized_windows ... ok [INFO] [stdout] test app::tests::damage_wiring_tests::restore_last_minimized_picks_last ... ok [INFO] [stdout] test app::tests::damage_wiring_tests::restore_window_brings_it_back ... ok [INFO] [stdout] test app::tests::extension_tests::custom_action_appears_in_palette ... ok [INFO] [stdout] test app::tests::command_pane_tests::spawn_command_window_captures_exit_code ... ok [INFO] [stdout] test app::tests::command_pane_tests::rerun_after_exit_resets_pane ... ok [INFO] [stdout] test app::tests::command_pane_tests::suspended_spawn_resumes_on_enter ... ok [INFO] [stdout] test app::input::tests::terminal_mode_forwards_key_input_to_focused_pty ... ok [INFO] [stdout] test app::tests::extension_tests::custom_action_dispatches ... ok [INFO] [stdout] test app::tests::layout_mode_tests::config_layout_mode_default ... ok [INFO] [stdout] test app::tests::layout_mode_tests::config_layout_mode_parsed ... ok [INFO] [stdout] test app::tests::extension_tests::config_backward_compat_no_widgets ... ok [INFO] [stdout] test app::tests::layout_mode_tests::layout_mode_from_config ... ok [INFO] [stdout] test app::tests::layout_mode_tests::layout_mode_label ... ok [INFO] [stdout] test app::tests::layout_mode_tests::layout_mode_next_cycles ... ok [INFO] [stdout] test app::tests::layout_mode_tests::cycle_layout_mode_bsp_to_ms_to_scroll ... ok [INFO] [stdout] test app::tests::layout_mode_tests::master_stack_layout_produces_rects ... ok [INFO] [stdout] test app::tests::layout_mode_tests::scrolling_layout_produces_rects ... ok [INFO] [stdout] test app::tests::extension_tests::status_widget_refresh_caches_output ... ok [INFO] [stdout] test app::tests::layout_picker_tests::enter_applies_selected_layout ... ok [INFO] [stdout] test app::tests::layout_picker_tests::x_deletes_selected_layout ... ok [INFO] [stdout] test app::tests::layout_picker_tests::leader_l_opens_layout_picker ... ok [INFO] [stdout] test app::tests::quit_menu_tests::arrow_navigation_wraps ... ok [INFO] [stdout] test app::tests::layout_picker_tests::esc_closes_picker ... ok [INFO] [stdout] test app::tests::quit_menu_tests::daemon_kill_and_quit_sets_pending ... ok [INFO] [stdout] test app::tests::quit_menu_tests::daemon_switch_session_opens_switcher ... ok [INFO] [stdout] test app::tests::quit_menu_tests::daemon_detach_quits_client ... ok [INFO] [stdout] test app::tests::quit_menu_tests::daemon_menu_first_row_is_detach ... ok [INFO] [stdout] test app::tests::quit_menu_tests::esc_cancels ... ok [INFO] [stdout] test app::tests::quit_menu_tests::standalone_enter_quits ... ok [INFO] [stdout] test app::tests::rename_dialog_tests::backspace_edits_text ... ok [INFO] [stdout] test app::tests::quit_menu_tests::standalone_menu_has_quit_and_cancel ... ok [INFO] [stdout] test app::tests::extension_tests::status_widget_respects_refresh_interval ... ok [INFO] [stdout] test app::input::tests::terminal_output_is_visible_after_an_initial_render ... ok [INFO] [stdout] test app::tests::rename_dialog_tests::context_menu_rename_opens_dialog ... ok [INFO] [stdout] test app::tests::rename_dialog_tests::esc_cancels_without_change ... ok [INFO] [stdout] test app::tests::rename_dialog_tests::open_dialog_prefills_title ... ok [INFO] [stdout] test app::tests::session_close_tests::enter_on_default_cancels ... ok [INFO] [stdout] test app::tests::rename_dialog_tests::typing_and_commit_renames ... ok [INFO] [stdout] test app::tests::session_close_tests::toll_counts_windows ... ok [INFO] [stdout] test app::tests::session_close_tests::esc_cancels ... ok [INFO] [stdout] test app::tests::session_close_tests::open_defaults_to_cancel ... ok [INFO] [stdout] test app::tests::session_close_tests::y_shortcut_confirms ... ok [INFO] [stdout] test app::tests::settings_tests::cycle_theme_changes_theme ... ok [INFO] [stdout] test app::tests::settings_tests::gap_adjusts_with_arrows ... ok [INFO] [stdout] test app::tests::settings_tests::palette_settings_command_opens ... ok [INFO] [stdout] test app::tests::settings_tests::rows_include_theme_and_toggles ... ok [INFO] [stdout] test app::tests::session_close_tests::select_close_and_confirm_kills ... ok [INFO] [stdout] test app::tests::settings_tests::open_and_close ... ok [INFO] [stdout] test app::tests::sidebar_tests::enter_focuses_selected_window ... ok [INFO] [stdout] test app::tests::sidebar_tests::leader_b_toggles_sidebar ... ok [INFO] [stdout] test app::tests::sidebar_tests::rows_include_windows_with_agent_glyphs ... ok [INFO] [stdout] test app::tests::sidebar_tests::sidebar_rows_local_session_header ... ok [INFO] [stdout] test app::tests::stack_and_bulk_tests::bulk_break_selected_removes_from_stack ... ok [INFO] [stdout] test app::tests::stack_and_bulk_tests::bulk_stack_selected_creates_stack ... ok [INFO] [stdout] test app::tests::stack_and_bulk_tests::bulk_close_selected_removes_panes ... ok [INFO] [stdout] test app::tests::sidebar_tests::esc_closes_sidebar ... ok [INFO] [stdout] test app::tests::sidebar_tests::navigation_wraps ... ok [INFO] [stdout] test app::tests::stack_and_bulk_tests::command_multi_select_dispatches ... ok [INFO] [stdout] test app::tests::stack_and_bulk_tests::command_stack_pane_dispatches ... ok [INFO] [stdout] test app::tests::stack_and_bulk_tests::multi_select_toggle ... ok [INFO] [stdout] test app::tests::stack_and_bulk_tests::cycle_stack_focus_rotates ... ok [INFO] [stdout] test app::tests::stack_and_bulk_tests::select_all_grabs_every_window ... ok [INFO] [stdout] test app::tests::tests::add_and_remove_remote_window ... ok [INFO] [stdout] test app::tests::stack_and_bulk_tests::select_pane_toggles ... ok [INFO] [stdout] test app::tests::stack_and_bulk_tests::stack_focused_noop_with_one_window ... ok [INFO] [stdout] test app::tests::stack_and_bulk_tests::stack_focused_creates_stack ... ok [INFO] [stdout] test app::tests::settings_tests::toggle_animations ... ok [INFO] [stdout] test app::tests::tests::agent_alert_fires_dock_hook_and_host_sequence ... ok [INFO] [stdout] test app::tests::tests::agent_alert_suppresses_focused_and_non_alerting_states ... ok [INFO] [stdout] test app::tests::tests::agent_alert_settle_window_parks_then_fires ... ok [INFO] [stdout] test app::tests::tests::dock_item_hit_uses_top_and_hidden_positions ... ok [INFO] [stdout] test app::tests::tests::apc_sequences_are_collected_and_forwarded ... ok [INFO] [stdout] test app::tests::tests::clear_all_windows_resets_workspaces ... ok [INFO] [stdout] test app::tests::tests::float_at_prefers_pinned_over_higher_z ... ok [INFO] [stdout] test app::tests::tests::float_cycle_focus_wraps ... ok [INFO] [stdout] test app::tests::tests::float_move_clamps_to_bounds ... ok [INFO] [stdout] test app::tests::tests::float_move_to_workspace_moves_float ... ok [INFO] [stdout] test app::tests::tests::float_resize_grows_and_shrinks ... ok [INFO] [stdout] test app::tests::tests::float_zoom_expands_and_restores ... ok [INFO] [stdout] test app::tests::tests::copy_move_line_clamps_to_content ... ok [INFO] [stdout] test app::tests::tests::fuzzy_match_is_subsequence_case_insensitive ... ok [INFO] [stdout] test app::tests::tests::fuzzy_match_returns_positions ... ok [INFO] [stdout] test app::tests::tests::float_window_removes_from_tree_and_keeps_running ... ok [INFO] [stdout] test app::tests::tests::fuzzy_match_tokens_multi_word ... ok [INFO] [stdout] test app::tests::tests::focus_next_cycles_through_floats ... ok [INFO] [stdout] test app::tests::tests::fuzzy_match_scores_prefix_higher_than_subsequence ... ok [INFO] [stdout] test app::tests::tests::modal_blocks_focus_cycle_until_released ... ok [INFO] [stdout] test app::tests::tests::mouse_click_on_wide_continuation_snaps_to_lead ... ok [INFO] [stdout] test app::tests::tests::fuzzy_match_scores_word_boundary_higher ... ok [INFO] [stdout] test app::tests::tests::floats_hidden_while_tile_is_zoomed ... ok [INFO] [stdout] test app::tests::tests::hooks_fire_on_window_lifecycle_events ... ok [INFO] [stdout] ]52;c;aGVsbG8=test app::tests::tests::palette_filters_commands ... ok [INFO] [stdout] test app::tests::tests::mouse_selection_yanks_on_release ... ok [INFO] [stdout] test app::tests::tests::palette_empty_query_shows_all ... ok [INFO] [stdout] ]52;c;5L2gWFggZW5ktest app::tests::tests::palette_highlight_positions_non_empty ... ]52;c;5L2g5L2gWFggZW5kok [INFO] [stdout] test app::tests::tests::palette_move_wraps_and_activate_runs_command ... ok [INFO] [stdout] test app::tests::tests::mouse_drag_starting_on_wide_continuation_yanks_full_word ... ok [INFO] [stdout] test app::tests::tests::palette_multi_token_prefers_full_word_matches ... ok [INFO] [stdout] test app::tests::tests::mouse_drag_yanks_clean_wide_text ... ok [INFO] [stdout] test app::tests::tests::palette_multi_token_search ... ok [INFO] [stdout] test app::tests::tests::palette_recent_commands_sort_first ... ok [INFO] [stdout] test app::tests::tests::palette_ranks_best_match_first ... ok [INFO] [stdout] test app::tests::tests::pin_keeps_float_above_unpinned_on_raise ... ok [INFO] [stdout] test app::tests::tests::remove_window_shifts_and_drops_floats ... ok [INFO] [stdout] test app::tests::tests::select_line_at_wide_chars_yanks_full_line ... ok [INFO] [stdout] test app::tests::tests::recording_captures_lifecycle_and_typing ... ok [INFO] [stdout] test app::tests::tests::start_mode_follows_startup_config ... ok [INFO] [stdout] test app::tests::tests::switcher_activate_switches_workspace ... ok [INFO] [stdout] test app::tests::tests::render_overlay_does_not_panic_on_offset_rects ... ok [INFO] [stdout] test app::tests::tests::tape_executor_drives_the_app ... ok [INFO] [stdout] test app::tests::tests::tape_script_paused_blocks_tick ... ok [INFO] [stdout] test app::tests::tests::tape_script_tick_drives_commands_in_order ... ok [INFO] [stdout] test app::tests::tests::tape_script_wait_until_regex_matches_screen ... ok [INFO] [stdout] test app::tests::tests::toggle_float_floats_and_tiles ... ok [INFO] [stdout] test app::tests::tests::toggle_visual_anchors_at_cursor ... ok [INFO] [stdout] test app::tests::tests::spawn_floating_window_skips_tree ... ok [INFO] [stdout] test app::tests::tests::render_shows_pane_content_inside_the_border ... ok [INFO] [stdout] test app::tests::tests::window_at_hit_tests_layout ... ok [INFO] [stdout] test app::tests::tests::tape_script_invalid_regex_notifies_and_skips ... ok [INFO] [stdout] test app::tests::tests::window_at_prefers_floats_over_tiles ... ok [INFO] [stdout] test app::tests::tests::unfloat_window_reinserts_into_tree ... ok [INFO] [stdout] test app::tests::tooltip_tests::arm_tooltip_then_tick_shows_after_delay ... ok [INFO] [stdout] test app::tests::tests::word_select_on_wide_run_selects_full_word ... ok [INFO] [stdout] test app::tests::tests::workspace_switcher_lists_nine_workspaces ... ok [INFO] [stdout] ]52;c;aGVsbG8=test app::tests::tests::yank_selection_copies_text ... ok [INFO] [stdout] test app::tests::tooltip_tests::leaving_surface_clears ... ok [INFO] [stdout] test app::tests::tooltip_tests::arm_tooltip_before_delay_stays_pending ... ok [INFO] [stdout] test app::tests::tooltip_tests::inside_pane_is_not_a_hover_target ... ok [INFO] [stdout] test app::tests::tooltip_tests::title_bar_hover_target_includes_agent ... ok [INFO] [stdout] test app::update::tests::config_reload_applies_theme_and_startup_config ... ok [INFO] [stdout] test app::update::tests::config_reload_notifies ... ok [INFO] [stdout] test app::update::tests::host_sequence_becomes_write_host ... ok [INFO] [stdout] test app::update::tests::leader_key_sets_prefix ... ok [INFO] [stdout] test app::update::tests::config_reload_clears_theme_when_empty ... ok [INFO] [stdout] test app::update::tests::remote_error_notifies ... ok [INFO] [stdout] test app::update::tests::none_msg_no_effects ... ok [INFO] [stdout] test app::update::tests::remote_list_result_caches ... ok [INFO] [stdout] test app::update::tests::pending_kill_becomes_effect ... ok [INFO] [stdout] test app::update::tests::pending_switch_becomes_effect ... ok [INFO] [stdout] test app::update::tests::quit_key_emits_quit_effect ... ok [INFO] [stdout] test app::update::tests::resize_msg_syncs_dimensions ... ok [INFO] [stdout] test cli::tests::available_run_commands_not_empty ... ok [INFO] [stdout] test cli::tests::completion_commands_contains_new_commands ... ok [INFO] [stdout] test app::update::tests::tick_runs_maintenance ... ok [INFO] [stdout] test cli::tests::completion_shell_parse ... ok [INFO] [stdout] test cli::tests::config_command_parse ... ok [INFO] [stdout] test cli::tests::config_path_values_known ... ok [INFO] [stdout] test cli::tests::diagnostic_error_default_status ... ok [INFO] [stdout] test cli::tests::diagnostic_error_with_extra ... ok [INFO] [stdout] test cli::tests::diagnostic_error_display ... ok [INFO] [stdout] test cli::tests::format_keybind_list_aligned ... ok [INFO] [stdout] test cli::tests::keybind_command_parse ... ok [INFO] [stdout] test cli::tests::log_level_validation ... ok [INFO] [stdout] test cli::tests::parse_daemon_args_invalid_log_level ... ok [INFO] [stdout] test cli::tests::parse_daemon_args_log_level ... ok [INFO] [stdout] test cli::tests::parse_daemon_args_no_restore ... ok [INFO] [stdout] test cli::tests::parse_daemon_args_unknown_flag ... ok [INFO] [stdout] test cli::tests::parse_get_config_args_missing ... ok [INFO] [stdout] test cli::tests::parse_get_config_args_ok ... ok [INFO] [stdout] test cli::tests::parse_get_window_args_basic ... ok [INFO] [stdout] test cli::tests::parse_get_window_args_json ... ok [INFO] [stdout] test cli::tests::parse_new_window_args_basic ... ok [INFO] [stdout] test cli::tests::parse_new_window_args_json ... ok [INFO] [stdout] test cli::tests::parse_run_args_basic ... ok [INFO] [stdout] test cli::tests::parse_run_args_detach ... ok [INFO] [stdout] test cli::tests::parse_run_command_args_basic ... ok [INFO] [stdout] test cli::tests::parse_run_command_args_json ... ok [INFO] [stdout] test cli::tests::parse_run_command_args_list ... ok [INFO] [stdout] test cli::tests::parse_send_keys_args_basic ... ok [INFO] [stdout] test cli::tests::parse_send_keys_args_empty ... ok [INFO] [stdout] test cli::tests::parse_send_keys_args_literal ... ok [INFO] [stdout] test cli::tests::format_session_list_empty ... ok [INFO] [stdout] test cli::tests::format_session_list_entries ... ok [INFO] [stdout] test cli::tests::parse_send_text_args_basic ... ok [INFO] [stdout] test cli::tests::parse_daemon_args_defaults ... ok [INFO] [stdout] test cli::tests::parse_send_text_args_empty ... ok [INFO] [stdout] test cli::tests::parse_set_agent_state_args_basic ... ok [INFO] [stdout] test app::update::tests::window_mode_key_enters_terminal ... ok [INFO] [stdout] test cli::tests::parse_set_agent_state_args_missing ... ok [INFO] [stdout] test cli::tests::parse_set_config_args_missing_path ... ok [INFO] [stdout] test cli::tests::parse_set_config_args_missing_value ... ok [INFO] [stdout] test cli::tests::parse_set_config_args_ok ... ok [INFO] [stdout] test cli::tests::parse_set_workspace_name_args_clear ... ok [INFO] [stdout] test cli::tests::parse_set_workspace_name_args_invalid ... ok [INFO] [stdout] test cli::tests::parse_set_agent_state_args_full ... ok [INFO] [stdout] test cli::tests::parse_set_workspace_name_args_missing ... ok [INFO] [stdout] test cli::tests::parse_ssh_args_custom ... ok [INFO] [stdout] test cli::tests::parse_ssh_args_defaults ... ok [INFO] [stdout] test cli::tests::parse_ssh_args_unknown_flag ... ok [INFO] [stdout] test cli::tests::parse_wait_for_args_condition_with_pattern ... ok [INFO] [stdout] test cli::tests::parse_wait_for_args_idle ... ok [INFO] [stdout] test cli::tests::parse_wait_for_args_json ... ok [INFO] [stdout] test cli::tests::parse_wait_for_args_legacy_regex ... ok [INFO] [stdout] test cli::tests::parse_wait_for_args_missing_condition ... ok [INFO] [stdout] test cli::tests::parse_wait_for_args_output_needs_pattern ... ok [INFO] [stdout] test cli::tests::parse_wait_for_args_timeout ... ok [INFO] [stdout] test cli::tests::parse_web_args_cert_key ... ok [INFO] [stdout] test cli::tests::parse_web_args_defaults ... ok [INFO] [stdout] test cli::tests::parse_web_args_full ... ok [INFO] [stdout] test cli::tests::parse_set_workspace_name_args_ok ... ok [INFO] [stdout] test cli::tests::session_command_parse ... ok [INFO] [stdout] test cli::tests::tape_command_parse ... ok [INFO] [stdout] test cli::tests::test_parse_capture_pane_args ... ok [INFO] [stdout] test cli::tests::remote_command_parse ... ok [INFO] [stdout] test cli::tests::parse_ssh_args_read_only ... ok [INFO] [stdout] test cli::tests::test_parse_session_info_args ... ok [INFO] [stdout] test cli::tests::valid_config_paths_known ... ok [INFO] [stdout] test cli::tests::wait_condition_parse ... ok [INFO] [stdout] test cli::tests::parse_web_args_unknown_flag ... ok [INFO] [stdout] test cli::tests::test_parse_explain_agent_screen_args ... ok [INFO] [stdout] test cli::tests::test_parse_get_agent_state_args ... ok [INFO] [stdout] test config::constants::tests::agent_glyphs_ascii ... ok [INFO] [stdout] test config::constants::tests::agent_glyphs_nerd_font ... ok [INFO] [stdout] test config::constants::tests::animation_duration_fast_vs_normal ... ok [INFO] [stdout] test config::constants::tests::border_is_ascii_check ... ok [INFO] [stdout] test config::constants::tests::border_styles_complete ... ok [INFO] [stdout] test config::constants::tests::click_to_type_modes ... ok [INFO] [stdout] test config::constants::tests::dock_mode_icons ... ok [INFO] [stdout] test config::constants::tests::fps_constants ... ok [INFO] [stdout] test config::constants::tests::needs_dock_tick_any_flag ... ok [INFO] [stdout] test config::constants::tests::scrollbar_styles_complete ... ok [INFO] [stdout] test config::constants::tests::z_index_ordering ... ok [INFO] [stdout] test config::hostterm::tests::detect_alacritty_via_term ... ok [INFO] [stdout] test config::constants::tests::border_is_hidden_check ... ok [INFO] [stdout] test config::constants::tests::dock_pill_ascii_vs_nerd ... ok [INFO] [stdout] test config::hostterm::tests::detect_kitty_via_term_program ... ok [INFO] [stdout] test config::hostterm::tests::detect_unknown ... ok [INFO] [stdout] test config::hostterm::tests::detect_apple_terminal ... ok [INFO] [stdout] test config::hostterm::tests::detect_ghostty_via_env_var ... ok [INFO] [stdout] test config::hostterm::tests::detect_kitty_via_env_var ... ok [INFO] [stdout] test config::hostterm::tests::detect_vscode ... ok [INFO] [stdout] test config::hostterm::tests::detect_warp ... ok [INFO] [stdout] test config::hostterm::tests::detect_wezterm_via_env_var ... ok [INFO] [stdout] test config::hostterm::tests::inside_multiplexer_screen ... ok [INFO] [stdout] test config::hostterm::tests::inside_multiplexer_tmux ... ok [INFO] [stdout] test config::hostterm::tests::kitty_supports_graphics ... ok [INFO] [stdout] test config::hostterm::tests::not_inside_multiplexer ... ok [INFO] [stdout] test config::keybindings::tests::daemon_mode_changes_detach_description ... ok [INFO] [stdout] test config::hostterm::tests::detect_iterm2 ... ok [INFO] [stdout] test config::hostterm::tests::mac_option_advice_for_terminals ... ok [INFO] [stdout] test config::keybindings::tests::default_prefix_selects_cover_0_through_9 ... ok [INFO] [stdout] test config::keybindings::tests::general_prefix_bindings_include_core_actions ... ok [INFO] [stdout] test config::keynormalizer::tests::is_single_rune_letter_basic ... ok [INFO] [stdout] test config::keynormalizer::tests::key_normalizer_expand_keys_dedupes ... ok [INFO] [stdout] test config::keynormalizer::tests::key_normalizer_validate_single_rune ... ok [INFO] [stdout] test config::keynormalizer::tests::key_normalizer_normalize_compound ... ok [INFO] [stdout] test config::keynormalizer::tests::key_normalizer_normalize_single_letter ... ok [INFO] [stdout] test config::keynormalizer::tests::key_normalizer_validate_empty ... ok [INFO] [stdout] test config::keynormalizer::tests::key_normalizer_validate_special_key ... ok [INFO] [stdout] test config::keynormalizer::tests::key_normalizer_validate_duplicate_modifier ... ok [INFO] [stdout] test config::keynormalizer::tests::key_normalizer_validate_unknown_special ... ok [INFO] [stdout] test config::keynormalizer::tests::normalize_key_cmd_to_super ... ok [INFO] [stdout] test config::keynormalizer::tests::normalize_key_single_letter_preserves_case ... ok [INFO] [stdout] test config::keynormalizer::tests::normalize_key_whitespace_trimmed ... ok [INFO] [stdout] test config::overrides::tests::apply_border_style ... ok [INFO] [stdout] test config::overrides::tests::apply_method_delegates_to_function ... ok [INFO] [stdout] test config::keynormalizer::tests::normalize_key_compound_lowercases ... ok [INFO] [stdout] test config::overrides::tests::apply_multiple_overrides ... ok [INFO] [stdout] test config::overrides::tests::apply_no_animations ... ok [INFO] [stdout] test config::overrides::tests::apply_noop_when_none ... ok [INFO] [stdout] test config::overrides::tests::apply_scrollback_lines_clamped ... ok [INFO] [stdout] test config::overrides::tests::apply_show_clock ... ok [INFO] [stdout] test config::overrides::tests::parse_all_flags ... ok [INFO] [stdout] test config::overrides::tests::parse_ascii_only ... ok [INFO] [stdout] test config::overrides::tests::parse_border_style ... ok [INFO] [stdout] test config::overrides::tests::parse_debug_flag ... ok [INFO] [stdout] test config::overrides::tests::parse_log_level_flag ... ok [INFO] [stdout] test config::overrides::tests::parse_log_level_missing_value ... ok [INFO] [stdout] test config::overrides::tests::parse_missing_value ... ok [INFO] [stdout] test config::overrides::tests::parse_show_keys_flag ... ok [INFO] [stdout] test config::overrides::tests::parse_unknown_flags_pass_through ... ok [INFO] [stdout] test config::overrides::tests::show_keys_override_enables_debug_flag ... ok [INFO] [stdout] test config::registry::tests::normalize_chord_basic ... ok [INFO] [stdout] test config::overrides::tests::parse_no_animations ... ok [INFO] [stdout] test config::registry::tests::normalize_chord_whitespace ... ok [INFO] [stdout] test config::keynormalizer::tests::normalize_key_control_to_ctrl ... ok [INFO] [stdout] test config::keynormalizer::tests::normalize_key_opt_to_alt ... ok [INFO] [stdout] test config::overrides::tests::apply_ascii_only ... ok [INFO] [stdout] test config::registry::tests::registry_actions_includes_prefix ... ok [INFO] [stdout] test config::registry::tests::registry_actions_list ... ok [INFO] [stdout] test config::registry::tests::registry_new_has_defaults ... ok [INFO] [stdout] test config::registry::tests::registry_debug_prefix_action ... ok [INFO] [stdout] test config::registry::tests::registry_minimize_prefix_action ... ok [INFO] [stdout] test config::registry::tests::registry_prefix_action ... ok [INFO] [stdout] test config::registry::tests::registry_register_custom_prefix ... ok [INFO] [stdout] test config::registry::tests::registry_chords_for_action ... ok [INFO] [stdout] test config::registry::tests::registry_prefix_unknown_chord ... ok [INFO] [stdout] test config::registry::tests::registry_register_custom ... ok [INFO] [stdout] test config::registry::tests::registry_workspace_prefix_action ... ok [INFO] [stdout] test config::registry::tests::registry_tape_prefix_action ... ok [INFO] [stdout] test config::registry::tests::registry_terminal_mode ... ok [INFO] [stdout] test config::registry::tests::registry_unknown_chord ... ok [INFO] [stdout] test config::save::tests::config_file_header_contains_sections ... ok [INFO] [stdout] test config::registry::tests::registry_window_prefix_action ... ok [INFO] [stdout] test config::theme::tests::all_built_in_themes_load ... ok [INFO] [stdout] test config::theme::tests::all_themes_includes_builtins ... ok [INFO] [stdout] test config::theme::tests::built_in_names_has_20_plus ... ok [INFO] [stdout] test config::theme::tests::built_in_names_sorted ... ok [INFO] [stdout] test config::theme::tests::builtin_themes_exist ... ok [INFO] [stdout] test config::theme::tests::catppuccin_variants_distinct ... ok [INFO] [stdout] test config::theme::tests::gruvbox_dark_and_light_distinct ... ok [INFO] [stdout] test config::theme::tests::parse_hex_helper ... ok [INFO] [stdout] test config::theme::tests::rgb_parse ... ok [INFO] [stdout] test config::theme::tests::swatch_returns_8_colors ... ok [INFO] [stdout] test config::theme::tests::theme_colors_copy_mode ... ok [INFO] [stdout] test config::theme::tests::theme_colors_trait_with_theme ... ok [INFO] [stdout] test config::theme::tests::theme_colors_trait_without_theme ... ok [INFO] [stdout] test config::theme::tests::theme_json_bad_ansi_count ... ok [INFO] [stdout] test config::theme::tests::theme_json_roundtrip ... ok [INFO] [stdout] test config::theme::tests::tokyo_night_variants_distinct ... ok [INFO] [stdout] test config::userconfig::tests::agent_alert_sounds_default ... ok [INFO] [stdout] test config::userconfig::tests::agent_alert_states_default ... ok [INFO] [stdout] test config::userconfig::tests::appearance_config_auto_theme_defaults ... ok [INFO] [stdout] test config::userconfig::tests::appearance_config_border_focused_color_default ... ok [INFO] [stdout] test config::userconfig::tests::appearance_config_which_key_position_default ... ok [INFO] [stdout] test config::save::tests::save_config_atomic_no_temp_left ... ok [INFO] [stdout] test config::userconfig::tests::checked_parse_reports_errors_instead_of_defaults ... ok [INFO] [stdout] test config::userconfig::tests::config_path_returns_valid_path ... ok [INFO] [stdout] test config::userconfig::tests::appearance_config_window_title_position_default ... ok [INFO] [stdout] test config::userconfig::tests::daemon_config_default ... ok [INFO] [stdout] test config::save::tests::save_config_creates_parent_dirs ... ok [INFO] [stdout] test config::userconfig::tests::dashboard_custom_keybinding_from_toml ... ok [INFO] [stdout] test config::userconfig::tests::dashboard_config_defaults ... ok [INFO] [stdout] test config::userconfig::tests::daemon_config_defaults ... ok [INFO] [stdout] test config::userconfig::tests::dashboard_sidebar_width_from_toml ... ok [INFO] [stdout] test config::save::tests::save_config_writes_valid_toml ... ok [INFO] [stdout] test config::userconfig::tests::dashboard_sidebar_width_default ... ok [INFO] [stdout] test config::userconfig::tests::default_agent_alert_states ... ok [INFO] [stdout] test config::userconfig::tests::default_appearance_fields ... ok [INFO] [stdout] test config::userconfig::tests::default_behavior_config ... ok [INFO] [stdout] test config::userconfig::tests::default_config_dockbar_position ... ok [INFO] [stdout] test config::save::tests::save_config_round_trip ... ok [INFO] [stdout] test config::userconfig::tests::default_config_has_all_sections ... ok [INFO] [stdout] test config::userconfig::tests::default_config_has_leader_and_bindings ... ok [INFO] [stdout] test config::userconfig::tests::default_config_sound_mode ... ok [INFO] [stdout] test config::userconfig::tests::default_config_hide_scrollbar_default ... ok [INFO] [stdout] test config::userconfig::tests::default_notification_config ... ok [INFO] [stdout] test config::userconfig::tests::default_resize_config ... ok [INFO] [stdout] test config::userconfig::tests::default_startup_shell ... ok [INFO] [stdout] test config::userconfig::tests::empty_dashboard_uses_defaults ... ok [INFO] [stdout] test config::userconfig::tests::fill_missing_layout ... ok [INFO] [stdout] test config::userconfig::tests::empty_toml_uses_defaults ... ok [INFO] [stdout] test config::userconfig::tests::fill_missing_leader_key ... ok [INFO] [stdout] test config::userconfig::tests::fill_missing_mode_control ... ok [INFO] [stdout] test config::userconfig::tests::fill_missing_navigation ... ok [INFO] [stdout] test config::userconfig::tests::dashboard_widgets_from_toml ... ok [INFO] [stdout] test config::userconfig::tests::fill_missing_prefix_mode ... ok [INFO] [stdout] test config::userconfig::tests::fill_missing_terminal_mode ... ok [INFO] [stdout] test config::userconfig::tests::dashboard_keybinding_roundtrip ... ok [INFO] [stdout] test config::userconfig::tests::fill_missing_window_management ... ok [INFO] [stdout] test config::userconfig::tests::fill_missing_workspaces ... ok [INFO] [stdout] test config::userconfig::tests::keybindings_all_sections_present ... ok [INFO] [stdout] test config::userconfig::tests::load_from_nonexistent_returns_defaults ... ok [INFO] [stdout] test config::userconfig::tests::dashboard_toml_roundtrip ... ok [INFO] [stdout] test config::userconfig::tests::load_from_invalid_toml_returns_defaults ... ok [INFO] [stdout] test config::userconfig::tests::parses_startup_and_debug_sections ... ok [INFO] [stdout] test config::userconfig::tests::notifications_default_values ... ok [INFO] [stdout] test config::userconfig::tests::load_from_valid_toml ... ok [INFO] [stdout] test config::userconfig::tests::prefix_mode_bindings_present ... ok [INFO] [stdout] test config::userconfig::tests::parses_partial_sections_without_discarding ... ok [INFO] [stdout] test config::userconfig::tests::partial_override_preserves_other_fields ... ok [INFO] [stdout] test config::userconfig::tests::startup_config_default ... ok [INFO] [stdout] test config::userconfig::tests::round_trips_through_toml ... ok [INFO] [stdout] test config::userconfig::tests::toml_round_trip_all_sections ... ok [INFO] [stdout] test config::userconfig::tests::try_load_from_rejects_missing_and_broken_files ... ok [INFO] [stdout] test config::userconfig::tests::save_and_load_round_trip ... ok [INFO] [stdout] test config::userconfig::tests::partial_toml_overrides_defaults ... ok [INFO] [stdout] test config::userconfig::tests::window_management_bindings_present ... ok [INFO] [stdout] test config::validation::tests::default_config_validates_with_new_fields ... ok [INFO] [stdout] test config::validation::tests::format_errors_valid ... ok [INFO] [stdout] test config::validation::tests::format_errors_with_errors ... ok [INFO] [stdout] test config::userconfig::tests::old_config_without_auto_theme_fields_still_parses ... ok [INFO] [stdout] test config::validation::tests::invalid_daemon_log_level ... ok [INFO] [stdout] test config::validation::tests::invalid_border_style ... ok [INFO] [stdout] test config::validation::tests::invalid_daemon_codec ... ok [INFO] [stdout] test config::validation::tests::invalid_dockbar_position ... ok [INFO] [stdout] test config::validation::tests::invalid_scrollback_lines ... ok [INFO] [stdout] test config::userconfig::tests::toml_serialization_produces_valid_toml ... ok [INFO] [stdout] test config::validation::tests::invalid_sidebar_position ... ok [INFO] [stdout] test config::validation::tests::invalid_max_fps ... ok [INFO] [stdout] test config::validation::tests::invalid_scroll_lines ... ok [INFO] [stdout] test config::validation::tests::invalid_scrollbar_style ... ok [INFO] [stdout] test config::validation::tests::invalid_window_title_position ... ok [INFO] [stdout] test config::validation::tests::invalid_tape_autorun_warns ... ok [INFO] [stdout] test config::validation::tests::invalid_which_key_position ... ok [INFO] [stdout] test config::validation::tests::invalid_sound_mode ... ok [INFO] [stdout] test config::validation::tests::valid_tape_autorun ... ok [INFO] [stdout] test config::watcher::tests::watcher_nonexistent_file ... ok [INFO] [stdout] test config::watcher::tests::poll_interval_is_two_seconds ... ok [INFO] [stdout] test config::validation::tests::valid_config_passes ... ok [INFO] [stdout] test config::watcher::tests::watcher_new_records_mtime ... ok [INFO] [stdout] test graphics::capability::tests::detects_ghostty_via_resources_dir ... ok [INFO] [stdout] test graphics::capability::tests::detects_kitty_via_term_program ... ok [INFO] [stdout] test graphics::capability::tests::detects_kitty_via_window_id ... ok [INFO] [stdout] test graphics::capability::tests::detects_screen_via_term ... ok [INFO] [stdout] test graphics::capability::tests::mac_option_advice_host_names ... ok [INFO] [stdout] test graphics::capability::tests::sixel_via_vt340_term ... ok [INFO] [stdout] test graphics::capability::tests::unknown_terminal_has_no_graphics ... ok [INFO] [stdout] test graphics::kitty::tests::clear_window_drops_placements ... ok [INFO] [stdout] test graphics::kitty::tests::disabled_passthrough_is_noop ... ok [INFO] [stdout] test graphics::kitty::tests::emit_hide_one_writes_delete ... ok [INFO] [stdout] test graphics::capability::tests::detects_tmux_multiplexer ... ok [INFO] [stdout] test graphics::kitty::tests::emit_place_one_writes_apc ... ok [INFO] [stdout] test config::watcher::tests::watcher_reload_returns_config ... ok [INFO] [stdout] test graphics::kitty::tests::forward_preserves_payload ... ok [INFO] [stdout] test graphics::kitty::tests::forward_remaps_id_and_offsets ... ok [INFO] [stdout] test graphics::kitty::tests::has_any_placements_detects ... ok [INFO] [stdout] test graphics::kitty::tests::hide_all_placements_emits_delete ... ok [INFO] [stdout] test graphics::kitty::tests::refresh_all_placements_no_replace_when_unchanged ... ok [INFO] [stdout] test graphics::kitty::tests::refresh_all_placements_places_visible ... ok [INFO] [stdout] test graphics::kitty::tests::refresh_placements_noop_when_empty ... ok [INFO] [stdout] test graphics::kitty::tests::refresh_placements_re_emits_at_new_position ... ok [INFO] [stdout] test graphics::kitty::tests::response_detection ... ok [INFO] [stdout] test graphics::kitty_parser::tests::animation_animate_action ... ok [INFO] [stdout] test graphics::kitty_parser::tests::animation_compose_action ... ok [INFO] [stdout] test graphics::kitty_parser::tests::animation_frame_action ... ok [INFO] [stdout] test graphics::kitty_parser::tests::animation_split_action ... ok [INFO] [stdout] test graphics::kitty_parser::tests::delete_target ... ok [INFO] [stdout] test graphics::kitty_parser::tests::empty_payload_sets_more_flag ... ok [INFO] [stdout] test graphics::kitty_parser::tests::file_medium_decodes_path ... ok [INFO] [stdout] test graphics::kitty_parser::tests::png_format ... ok [INFO] [stdout] test graphics::kitty::tests::forward_without_payload ... ok [INFO] [stdout] test graphics::kitty::tests::refresh_all_placements_hides_occluded ... ok [INFO] [stdout] test graphics::kitty_parser::tests::query_command ... ok [INFO] [stdout] test graphics::kitty_parser::tests::shared_memory_medium ... ok [INFO] [stdout] test graphics::kitty_parser::tests::transmit_and_display_with_payload ... ok [INFO] [stdout] test graphics::kitty_parser::tests::transmit_defaults ... ok [INFO] [stdout] test graphics::kitty_parser::tests::zlib_compression_and_geometry ... ok [INFO] [stdout] test graphics::placement::tests::compute_geometry_clamps_to_screen_bottom ... ok [INFO] [stdout] test graphics::placement::tests::compute_geometry_clips_bottom ... ok [INFO] [stdout] test graphics::placement::tests::compute_geometry_clips_top ... ok [INFO] [stdout] test graphics::placement::tests::compute_geometry_returns_none_for_alt_screen_mismatch ... ok [INFO] [stdout] test graphics::placement::tests::compute_geometry_returns_none_for_invisible_window ... ok [INFO] [stdout] test graphics::placement::tests::compute_geometry_returns_none_when_occluded ... ok [INFO] [stdout] test graphics::placement::tests::compute_geometry_visible_placement ... ok [INFO] [stdout] test graphics::placement::tests::get_or_allocate_reuses_nonzero ... ok [INFO] [stdout] test graphics::placement::tests::clear_all_empties ... ok [INFO] [stdout] test graphics::placement::tests::clear_window_removes_everything ... ok [INFO] [stdout] test graphics::placement::tests::get_or_allocate_zero_is_new ... ok [INFO] [stdout] test graphics::placement::tests::hide_all_placements_emits_for_visible ... ok [INFO] [stdout] test graphics::placement::tests::guest_id_zero_always_allocates ... ok [INFO] [stdout] test graphics::placement::tests::occlusion_ignores_invisible ... ok [INFO] [stdout] test graphics::placement::tests::map_id_allocates_sequentially ... ok [INFO] [stdout] test graphics::placement::tests::occlusion_detects_higher_z ... ok [INFO] [stdout] test graphics::placement::tests::passthrough_clear_window ... ok [INFO] [stdout] test graphics::placement::tests::passthrough_has_any ... ok [INFO] [stdout] test graphics::placement::tests::passthrough_place_and_get ... ok [INFO] [stdout] test graphics::placement::tests::place_and_retrieve ... ok [INFO] [stdout] test graphics::placement::tests::position_changed_detects_move ... ok [INFO] [stdout] test graphics::placement::tests::passthrough_remove ... ok [INFO] [stdout] test graphics::placement::tests::occlusion_ignores_lower_z ... ok [INFO] [stdout] test graphics::placement::tests::position_changed_unchanged ... ok [INFO] [stdout] test graphics::placement::tests::position_changed_when_hidden ... ok [INFO] [stdout] test graphics::placement::tests::rects_overlap_basic ... ok [INFO] [stdout] test graphics::placement::tests::refresh_all_placements_alt_screen_cleanup ... ok [INFO] [stdout] test graphics::placement::tests::refresh_all_placements_hides_occluded ... ok [INFO] [stdout] test graphics::placement::tests::refresh_all_placements_replaces_visible ... ok [INFO] [stdout] test graphics::placement::tests::refresh_all_placements_missing_window_hides ... ok [INFO] [stdout] test graphics::placement::tests::refresh_all_placements_no_replace_when_unchanged ... ok [INFO] [stdout] test graphics::placement::tests::refresh_all_placements_skips_streaming ... ok [INFO] [stdout] test graphics::placement::tests::remove_single_placement ... ok [INFO] [stdout] test graphics::placement::tests::replace_on_re_place ... ok [INFO] [stdout] test graphics::sixel::tests::clear_alt_screen_placements_removes_alt ... ok [INFO] [stdout] test graphics::sixel::tests::clear_window_removes_placements ... ok [INFO] [stdout] test graphics::sixel::tests::clear_scrolled_out_removes_old ... ok [INFO] [stdout] test graphics::sixel::tests::forward_command_adds_new_for_different_position ... ok [INFO] [stdout] test graphics::sixel::tests::disabled_is_noop ... ok [INFO] [stdout] test graphics::sixel::tests::forward_command_stores_placement ... ok [INFO] [stdout] test graphics::sixel::tests::forward_command_updates_existing ... ok [INFO] [stdout] test graphics::sixel::tests::forward_positions_and_wraps ... ok [INFO] [stdout] test graphics::sixel::tests::hide_all_placements_clears_visible ... ok [INFO] [stdout] test graphics::sixel::tests::refresh_placements_places_visible ... ok [INFO] [stdout] test graphics::sixel::tests::refresh_placements_no_replace_when_unchanged ... ok [INFO] [stdout] test graphics::sixel::tests::refresh_placements_hides_invisible_window ... ok [INFO] [stdout] test graphics::sixel::tests::refresh_placements_skips_alt_screen_mismatch ... ok [INFO] [stdout] test hooks::tests::clear_removes_hooks_for_an_event ... ok [INFO] [stdout] test hooks::tests::context_env_vars_reach_the_hook ... ok [INFO] [stdout] test hooks::tests::exit_code_env_var_reaches_the_hook ... ok [INFO] [stdout] test hooks::tests::fire_does_not_block_the_caller ... ok [INFO] [stdout] test hooks::tests::load_from_config_accepts_string_and_array ... ok [INFO] [stdout] test hooks::tests::agent_message_with_shell_metacharacters_is_environment_safe ... ok [INFO] [stdout] test hooks::tests::parse_event_name_validates ... ok [INFO] [stdout] test hooks::tests::parse_pane_marker_events ... ok [INFO] [stdout] test hooks::tests::set_runner_observes_fired_hooks ... ok [INFO] [stdout] test hooks::tests::register_and_fire_runs_the_shell_command ... ok [INFO] [stdout] test keys::tests::modifiers ... ok [INFO] [stdout] test config::watcher::tests::watcher_stop_prevents_detection ... ok [INFO] [stdout] test config::watcher::tests::watcher_detects_change ... ok [INFO] [stdout] test hooks::tests::agent_state_hook_environment_contract ... ok [INFO] [stdout] test keys::tests::named_keys ... ok [INFO] [stdout] test layout::scrolling::tests::add_remove_column_updates_focus ... ok [INFO] [stdout] test layout::scrolling::tests::add_column_inserts_after_focused ... ok [INFO] [stdout] test layout::scrolling::tests::compute_positions_empty ... ok [INFO] [stdout] test layout::scrolling::tests::compute_positions_empty_column_skipped ... ok [INFO] [stdout] test layout::scrolling::tests::compute_positions_stacked_windows ... ok [INFO] [stdout] test layout::scrolling::tests::compute_positions_with_top_margin ... ok [INFO] [stdout] test layout::scrolling::tests::compute_positions_places_windows ... ok [INFO] [stdout] test layout::scrolling::tests::consume_window_no_next_column ... ok [INFO] [stdout] test layout::scrolling::tests::consume_window_next_empty ... ok [INFO] [stdout] test layout::scrolling::tests::consume_window_takes_from_next ... ok [INFO] [stdout] test layout::scrolling::tests::cycle_width_wraps ... ok [INFO] [stdout] test layout::scrolling::tests::cycle_width_zero_uses_default ... ok [INFO] [stdout] test layout::scrolling::tests::default_values ... ok [INFO] [stdout] test layout::scrolling::tests::ensure_focused_visible_no_columns ... ok [INFO] [stdout] test layout::scrolling::tests::ensure_focused_visible_when_offscreen_left ... ok [INFO] [stdout] test layout::scrolling::tests::ensure_focused_visible_when_offscreen_right ... ok [INFO] [stdout] test layout::scrolling::tests::expel_window_creates_new_column ... ok [INFO] [stdout] test layout::scrolling::tests::expel_window_out_of_bounds ... ok [INFO] [stdout] test layout::scrolling::tests::expel_window_single_window_noop ... ok [INFO] [stdout] test layout::scrolling::tests::focus_column_containing ... ok [INFO] [stdout] test keys::tests::plain_characters ... ok [INFO] [stdout] test layout::scrolling::tests::focus_left_right ... ok [INFO] [stdout] test layout::scrolling::tests::cycle_width_empty_presets ... ok [INFO] [stdout] test layout::scrolling::tests::cycle_width_out_of_bounds_no_panic ... ok [INFO] [stdout] test layout::scrolling::tests::get_focused_window_id ... ok [INFO] [stdout] test layout::scrolling::tests::get_focused_window_id_no_columns ... ok [INFO] [stdout] test layout::scrolling::tests::get_focused_window_id_empty_column ... ok [INFO] [stdout] test layout::scrolling::tests::has_window ... ok [INFO] [stdout] test layout::scrolling::tests::move_column_left_right ... ok [INFO] [stdout] test layout::scrolling::tests::remove_window_nonexistent ... ok [INFO] [stdout] test layout::scrolling::tests::remove_first_column_focus_stays ... ok [INFO] [stdout] test layout::scrolling::tests::remove_last_column_resets_focus ... ok [INFO] [stdout] test layout::scrolling::tests::remove_window_shifts_focus_left ... ok [INFO] [stdout] test layout::scrolling::tests::resolve_column_width_default_proportion ... ok [INFO] [stdout] test layout::scrolling::tests::resolve_column_width_fixed ... ok [INFO] [stdout] test layout::scrolling::tests::resolve_column_width_out_of_bounds ... ok [INFO] [stdout] test layout::scrolling::tests::scroll_to_focused_column_centers ... ok [INFO] [stdout] test layout::scrolling::tests::scroll_to_focused_no_columns ... ok [INFO] [stdout] test layout::scrolling::tests::total_strip_width_with_gap ... ok [INFO] [stdout] test layout::scrolling::tests::viewport_clamps_negative ... ok [INFO] [stdout] test layout::scrolling::tests::viewport_clamps_to_content ... ok [INFO] [stdout] test layout::scrolling::tests::window_count ... ok [INFO] [stdout] test layout::tiling::tests::master_ratio_clamped ... ok [INFO] [stdout] test layout::tiling::tests::single_window_fills_screen ... ok [INFO] [stdout] test layout::tiling::tests::two_windows_split_side_by_side_on_wide_screen ... ok [INFO] [stdout] test layout::tiling::tests::two_windows_stack_on_tall_screen ... ok [INFO] [stdout] test scrollback::browser::tests::clear_resets_state ... ok [INFO] [stdout] test scrollback::browser::tests::combined_filter_and_search ... ok [INFO] [stdout] test scrollback::browser::tests::cycle_mode ... ok [INFO] [stdout] test scrollback::browser::tests::empty_browser ... ok [INFO] [stdout] test scrollback::browser::tests::filter_by_exit_code ... ok [INFO] [stdout] test scrollback::browser::tests::filter_clears ... ok [INFO] [stdout] test scrollback::browser::tests::jump_to_block ... ok [INFO] [stdout] test scrollback::browser::tests::list_rows_all_blocks ... ok [INFO] [stdout] test scrollback::browser::tests::load_and_select ... ok [INFO] [stdout] test scrollback::browser::tests::move_down_wraps ... ok [INFO] [stdout] test layout::scrolling::tests::resolve_column_width_fixed_exceeds_max ... ok [INFO] [stdout] test scrollback::browser::tests::next_error_no_errors ... ok [INFO] [stdout] test scrollback::browser::tests::prev_error_finds_errors ... ok [INFO] [stdout] test scrollback::browser::tests::rows_output_mode ... ok [INFO] [stdout] test scrollback::browser::tests::scroll_within_block ... ok [INFO] [stdout] test scrollback::browser::tests::search_case_insensitive ... ok [INFO] [stdout] test scrollback::browser::tests::search_filters_by_command ... ok [INFO] [stdout] test scrollback::browser::tests::search_filters_by_output ... ok [INFO] [stdout] test scrollback::browser::tests::selected_start_line ... ok [INFO] [stdout] test scrollback::tests::blocks_from_markers ... ok [INFO] [stdout] test scrollback::tests::empty_marker_list_no_blocks ... ok [INFO] [stdout] test scrollback::tests::extract_json_fragments ... ok [INFO] [stdout] test scrollback::tests::extract_json_ignores_strings ... ok [INFO] [stdout] test scrollback::tests::extract_paths_from_output ... ok [INFO] [stdout] test scrollback::tests::no_markers_no_prompts_is_empty ... ok [INFO] [stdout] test scrollback::tests::prompt_fallback_without_markers ... ok [INFO] [stdout] test scrollback::tests::prompt_heuristic ... ok [INFO] [stdout] test server::tests::build_caps_kitty ... ok [INFO] [stdout] test scrollback::browser::tests::move_up_wraps ... ok [INFO] [stdout] test scrollback::browser::tests::next_error_finds_errors ... ok [INFO] [stdout] test scrollback::browser::tests::rows_commands_mode ... ok [INFO] [stdout] test server::tests::build_caps_with_override ... ok [INFO] [stdout] test server::tests::client_to_host_projects ... ok [INFO] [stdout] test server::tests::kitty_shm_crash_suppression ... ok [INFO] [stdout] test server::tests::kitty_shm_safe_terminals ... ok [INFO] [stdout] test server::tests::parse_environ_basic ... ok [INFO] [stdout] test server::tests::parse_environ_no_equals ... ok [INFO] [stdout] test server::tests::build_caps_wezterm_both ... ok [INFO] [stdout] test server::tests::cell_size_from_window_dims ... ok [INFO] [stdout] test server::tests::parse_session_choice_invalid ... ok [INFO] [stdout] test server::tests::client_to_host_defaults ... ok [INFO] [stdout] test server::tests::parse_session_choice_valid ... ok [INFO] [stdout] test server::tests::ssh_session_picker_empty ... ok [INFO] [stdout] test server::tests::ssh_session_picker_renders ... ok [INFO] [stdout] test server::tests::terminal_name_unknown ... ok [INFO] [stdout] test server::tests::terminal_name_from_env_var ... ok [INFO] [stdout] test server::tests::terminal_name_from_term ... ok [INFO] [stdout] test server::tests::terminal_name_from_term_program ... ok [INFO] [stdout] test session::agent_detect::tests::base_name_strips_nul ... ok [INFO] [stdout] test session::agent_detect::tests::base_name_strips_path ... ok [INFO] [stdout] test session::agent_detect::tests::base_name_strips_extension ... ok [INFO] [stdout] test session::agent_detect::tests::base_name_strips_login_prefix ... ok [INFO] [stdout] test session::agent_detect::tests::base_name_lowercases ... ok [INFO] [stdout] test session::agent_detect::tests::foreground_command_returns_name ... ok [INFO] [stdout] test session::agent_detect::tests::foreground_command_strips_shell ... ok [INFO] [stdout] test session::agent_detect::tests::is_wrapper_name_checks ... ok [INFO] [stdout] test session::agent_detect::tests::foreground_command_not_running ... ok [INFO] [stdout] test session::agent_detect::tests::is_login_shell_checks ... ok [INFO] [stdout] test session::agent_detect::tests::match_agent_by_comm ... ok [INFO] [stdout] test session::agent_detect::tests::match_agent_by_exe ... ok [INFO] [stdout] test session::agent_detect::tests::match_agent_case_insensitive_extras ... ok [INFO] [stdout] test session::agent_detect::tests::match_agent_wrapper_npx ... ok [INFO] [stdout] test session::agent_hold::tests::clear_hold_keeps_current ... ok [INFO] [stdout] test session::agent_hold::tests::done_is_quieter_than_working ... ok [INFO] [stdout] test session::agent_hold::tests::errored_publishes_over_working ... ok [INFO] [stdout] test session::agent_hold::tests::flip_and_flip_back_cancels_hold ... ok [INFO] [stdout] test session::agent_hold::tests::held_state_publishes_after_window ... ok [INFO] [stdout] test session::agent_hold::tests::loud_state_publishes_immediately ... ok [INFO] [stdout] test session::agent_hold::tests::loudness_ordering ... ok [INFO] [stdout] test session::agent_hold::tests::needs_input_publishes_over_idle ... ok [INFO] [stdout] test session::agent_hold::tests::quieter_state_is_held ... ok [INFO] [stdout] test session::agent_hold::tests::reset_clears_everything ... ok [INFO] [stdout] test session::agent_detect::tests::match_agent_extra_config_names ... ok [INFO] [stdout] test session::agent_detect::tests::match_agent_no_match_for_non_wrapper ... ok [INFO] [stdout] test session::agent_hold::tests::same_state_drops_hold ... ok [INFO] [stdout] test session::agent_detect::tests::match_agent_wrapper_node ... ok [INFO] [stdout] test session::agent_osc::tests::error_publishes_errored ... ok [INFO] [stdout] test session::agent_osc::tests::indeterminate_publishes_working ... ok [INFO] [stdout] test session::agent_osc::tests::osc_is_quieter_checks ... ok [INFO] [stdout] test session::agent_osc::tests::unknown_progress_is_ignored ... ok [INFO] [stdout] test session::agent_osc::tests::warning_publishes_needs_input ... ok [INFO] [stdout] test session::agent_screen::tests::scan_all_condition ... ok [INFO] [stdout] test session::agent_screen::tests::scan_empty_lines_returns_none ... ok [INFO] [stdout] test session::agent_hold::tests::settle_no_hold_returns_none ... ok [INFO] [stdout] test session::agent_screen::tests::scan_empty_rules_returns_none ... ok [INFO] [stdout] test session::agent_osc::tests::clear_over_working_is_held ... ok [INFO] [stdout] test session::agent_screen::tests::scan_no_match_returns_none ... ok [INFO] [stdout] test session::agent_screen::tests::scan_finds_best_match ... ok [INFO] [stdout] test session::agent_screen::tests::scan_not_condition_excludes ... ok [INFO] [stdout] test session::agent_source::tests::source_rank_ordering ... ok [INFO] [stdout] test session::agent_source::tests::source_rank_values ... ok [INFO] [stdout] test session::agent_state::tests::agent_hold_active ... ok [INFO] [stdout] test session::agent_state::tests::agent_state_blocks ... ok [INFO] [stdout] test session::agent_state::tests::agent_state_name ... ok [INFO] [stdout] test session::agent_state::tests::apply_report_higher_rank_accepted ... ok [INFO] [stdout] test session::agent_state::tests::apply_report_lower_rank_refused ... ok [INFO] [stdout] test session::agent_state::tests::apply_report_same_rank_accepted ... ok [INFO] [stdout] test session::agent_screen::tests::scan_priority_picks_highest ... ok [INFO] [stdout] test session::agent_state::tests::apply_stall_finds_candidates ... ok [INFO] [stdout] test session::agent_state::tests::apply_stall_zero_duration_disables ... ok [INFO] [stdout] test session::agent_state::tests::blocker_override_checks ... ok [INFO] [stdout] test session::agent_source::tests::apply_source_ranking_prefers_new ... ok [INFO] [stdout] test session::agent_state::tests::apply_report_unclaimed_accepts_any ... ok [INFO] [stdout] test session::agent_state::tests::claims_release_blocker ... ok [INFO] [stdout] test session::agent_state::tests::claims_can_write ... ok [INFO] [stdout] test session::agent_state::tests::harness_after_report_clears_on_none ... ok [INFO] [stdout] test session::agent_state::tests::harness_after_report_keeps_existing ... ok [INFO] [stdout] test session::agent_state::tests::harness_after_report_uses_report_harness ... ok [INFO] [stdout] test session::agent_state::tests::parse_agent_state ... ok [INFO] [stdout] test session::agent_state::tests::osc_progress_states ... ok [INFO] [stdout] test session::agent_state::tests::parse_agent_source ... ok [INFO] [stdout] test session::agent_state::tests::source_rank_ordering ... ok [INFO] [stdout] test session::agent_state::tests::stalled_at_checks ... ok [INFO] [stdout] test session::agent_state::tests::agent_hold_prune ... ok [INFO] [stdout] test session::client::tests::daemon_client_connect_to_nonexistent_fails ... ok [INFO] [stdout] test session::autostart::tests::is_daemon_running_on_nonexistent_socket_is_false ... ok [INFO] [stdout] test session::client::tests::default_socket_path_contains_termos ... ok [INFO] [stdout] test session::daemon::meta_tests::session_info_missing_is_error ... ok [INFO] [stdout] test session::autostart::tests::stop_in_process_daemon_is_safe_when_none_started ... ok [INFO] [stdout] test session::daemon::meta_tests::set_label_on_missing_session_is_error ... ok [INFO] [stdout] test session::daemon::meta_tests::set_session_accent_verb ... ok [INFO] [stdout] test session::daemon::meta_tests::set_session_name_verb ... ok [INFO] [stdout] test session::daemon::meta_tests::state_for_session_carries_meta ... ok [INFO] [stdout] test session::daemon::meta_tests::session_info_verb ... ok [INFO] [stdout] test session::daemon::meta_tests::session_meta_round_trips ... ok [INFO] [stdout] test hooks::tests::wait_timeout_gives_up_on_slow_hooks ... ok [INFO] [stdout] test session::daemon::osc_tests::equal_loudness_publishes_immediately ... ok [INFO] [stdout] test session::daemon::osc_tests::louder_state_publishes_immediately ... ok [INFO] [stdout] test session::daemon::osc_tests::quieter_state_publishes_after_window ... ok [INFO] [stdout] test session::daemon::osc_tests::same_state_cancels_hold ... ok [INFO] [stdout] test session::daemon::osc_tests::loudness_ordering ... ok [INFO] [stdout] test session::daemon::state_tests::ping_pong_round_trip_serializes ... ok [INFO] [stdout] test session::daemon::state_tests::state_result_round_trips_with_agent_state ... ok [INFO] [stdout] test session::daemon::state_tests::state_for_unknown_session_is_empty ... ok [INFO] [stdout] test session::daemon::osc_tests::quieter_state_is_held_first_time ... ok [INFO] [stdout] test session::daemon::state_tests::restore_saved_named_missing_is_error ... ok [INFO] [stdout] test session::daemon::tests::broadcast_effective_size_ignores_zero_dims ... ok [INFO] [stdout] test session::daemon::tests::broadcast_effective_size_none_when_all_zero ... ok [INFO] [stdout] test session::daemon::tests::broadcast_client_count ... ok [INFO] [stdout] test session::daemon::tests::broadcast_client_name ... ok [INFO] [stdout] test session::daemon::tests::broadcast_send_to_all_except ... ok [INFO] [stdout] test session::daemon::tests::broadcast_send_to_unsubscribed_does_not_panic ... ok [INFO] [stdout] test session::daemon::tests::daemon_broadcast_for_creates_hub ... ok [INFO] [stdout] test session::daemon::tests::broadcast_named_tracks_dimensions ... ok [INFO] [stdout] test session::daemon::tests::broadcast_send_to_all ... ok [INFO] [stdout] test session::daemon::tests::daemon_diagnose_empty ... ok [INFO] [stdout] test session::daemon::tests::broadcast_subscribe_unsubscribe ... ok [INFO] [stdout] test session::daemon::tests::daemon_headless_unknown_command_is_error ... ok [INFO] [stdout] test app::interaction::tests::resize_deferral_active_then_expires ... ok [INFO] [stdout] test session::daemon::tests::daemon_new_is_empty ... ok [INFO] [stdout] test session::daemon::tests::default_socket_path_is_set ... ok [INFO] [stdout] test session::daemon::tests::daemon_headless_diagnose ... ok [INFO] [stdout] test session::daemon::tests::daemon_headless_list_sessions ... ok [INFO] [stdout] test session::daemon::tests::output_ring_lossy_utf8 ... ok [INFO] [stdout] test session::daemon::tests::output_ring_resume_from_current_is_empty ... ok [INFO] [stdout] test session::daemon::tests::output_ring_resume_from_middle ... ok [INFO] [stdout] test session::daemon::tests::output_ring_push_and_cap ... ok [INFO] [stdout] test session::daemon::tests::output_ring_resume_from_zero ... ok [INFO] [stdout] test session::daemon::tests::output_ring_tracks_total_bytes ... ok [INFO] [stdout] test session::daemon::tests::process_rss_bytes_returns_nonnegative ... ok [INFO] [stdout] test session::daemon::tests::output_ring_empty ... ok [INFO] [stdout] test session::daemon::tests::output_ring_resume_after_eviction_returns_all ... ok [INFO] [stdout] test session::daemon::tests::resolve_session_explicit_name ... ok [INFO] [stdout] test session::daemon::tests::resolve_session_from_attached ... ok [INFO] [stdout] test session::daemon::tests::resolve_shell_nonempty_passthrough ... ok [INFO] [stdout] test session::daemon::tests::resolve_session_nothing ... ok [INFO] [stdout] test session::daemon::tests::daemon_diagnose_with_sessions ... ok [INFO] [stdout] test session::daemon::tests::resolve_shell_empty_uses_env ... ok [INFO] [stdout] test session::daemon::verb_tests::capture_pane_missing_session_is_error ... ok [INFO] [stdout] test session::daemon::tests::window_ids_are_monotonic_across_closes ... ok [INFO] [stdout] test session::daemon::tests::pump_fires_pane_marker_hooks ... ok [INFO] [stdout] test session::daemon::tests::window_ids_are_unique_per_session ... ok [INFO] [stdout] test session::daemon::verb_tests::get_option_not_implemented ... ok [INFO] [stdout] test session::daemon::verb_tests::diagnose_verb_returns_report ... ok [INFO] [stdout] test session::daemon::verb_tests::headless_command_verb_unknown_is_error ... ok [INFO] [stdout] test session::daemon::verb_tests::hello_reports_protocol_version ... ok [INFO] [stdout] test session::daemon::verb_tests::list_sessions_empty ... ok [INFO] [stdout] test session::daemon::verb_tests::malformed_verb_is_invalid_request ... ok [INFO] [stdout] test session::daemon::verb_tests::response_round_trips_as_json_line ... ok [INFO] [stdout] test session::daemon::verb_tests::list_verbs_delegates_to_registry ... ok [INFO] [stdout] test session::daemon::verb_tests::unknown_verb_returns_error_envelope ... ok [INFO] [stdout] test session::daemon::verb_tests::verb_param_coerces_typed_json_values ... ok [INFO] [stdout] test session::daemon::verb_tests::verb_registry_standalone_still_works ... ok [INFO] [stdout] test session::debug::tests::debug_level_display ... ok [INFO] [stdout] test session::debug::tests::debug_level_ordering ... ok [INFO] [stdout] test session::debug::tests::get_log_entries_negative_returns_all ... ok [INFO] [stdout] test session::debug::tests::log_buffer_add_and_get_all ... ok [INFO] [stdout] test session::debug::tests::log_buffer_clear ... ok [INFO] [stdout] test session::debug::tests::log_buffer_get_last ... ok [INFO] [stdout] test session::debug::tests::log_buffer_wraps_around ... ok [INFO] [stdout] test session::debug::tests::parse_debug_level_variants ... ok [INFO] [stdout] test session::debug::tests::protocol_log_stores_in_buffer ... ok [INFO] [stdout] test session::debug::tests::set_and_get_debug_level ... ok [INFO] [stdout] test session::eventhub::tests::empty_filter_matches_everything ... ok [INFO] [stdout] test session::debug::tests::log_buffer_empty_get_all ... ok [INFO] [stdout] test session::eventhub::tests::sequence_numbers_are_monotonic ... ok [INFO] [stdout] test session::eventhub::tests::unmatched_kind_is_filtered ... ok [INFO] [stdout] test session::debug::tests::log_error_prefixes ... ok [INFO] [stdout] test session::events::tests::event_with_data ... ok [INFO] [stdout] test session::events::tests::filter_by_session ... ok [INFO] [stdout] test session::events::tests::filter_by_type ... ok [INFO] [stdout] test session::events::tests::filter_by_window ... ok [INFO] [stdout] test session::events::tests::multiple_subscribers ... ok [INFO] [stdout] test session::events::tests::seq_is_monotonic ... ok [INFO] [stdout] test session::events::tests::state_change_detects_difference ... ok [INFO] [stdout] test session::eventhub::tests::session_filter_matches_only_that_session ... ok [INFO] [stdout] test session::events::tests::subscribe_and_broadcast ... ok [INFO] [stdout] test session::eventhub::tests::unsubscribe_removes_subscription ... ok [INFO] [stdout] test session::events::tests::unsubscribe_stops_delivery ... ok [INFO] [stdout] test session::manager::tests::create_and_lookup ... ok [INFO] [stdout] test session::manager::tests::create_multiple_and_lookup ... ok [INFO] [stdout] test session::manager::tests::delete_and_generate_name ... ok [INFO] [stdout] test session::manager::tests::delete_decreases_count ... ok [INFO] [stdout] test session::manager::tests::generate_name_empty ... ok [INFO] [stdout] test session::manager::tests::generate_name_fills_gap ... ok [INFO] [stdout] test session::manager::tests::get_by_id_nonexistent_returns_none ... ok [INFO] [stdout] test session::manager::tests::get_nonexistent_returns_none ... ok [INFO] [stdout] test session::daemon::tests::stream_stop_signal_wakes_receiver ... ok [INFO] [stdout] test session::manager::tests::new_manager_is_empty ... ok [INFO] [stdout] test session::manager::tests::get_or_create_returns_existing ... ok [INFO] [stdout] test session::manager::tests::list_is_ordered ... ok [INFO] [stdout] test session::marker_scan::tests::bel_terminated_markers ... ok [INFO] [stdout] test session::marker_scan::tests::command_executed_marker_is_yielded ... ok [INFO] [stdout] test session::marker_scan::tests::garbage_and_other_osc_codes_ignored ... ok [INFO] [stdout] test session::marker_scan::tests::malformed_payload_without_letter_ignored ... ok [INFO] [stdout] test session::marker_scan::tests::multiple_markers_in_one_chunk ... ok [INFO] [stdout] test session::marker_scan::tests::split_across_chunks ... ok [INFO] [stdout] test session::marker_scan::tests::st_terminated_with_exit_code ... ok [INFO] [stdout] test session::model::tests::invalid_names_are_rejected ... ok [INFO] [stdout] test session::model::tests::valid_names_pass ... ok [INFO] [stdout] test session::osc_scan::tests::clear_state_maps_to_idle ... ok [INFO] [stdout] test session::osc_scan::tests::error_state_maps_to_errored ... ok [INFO] [stdout] test session::osc_scan::tests::incomplete_then_abandoned ... ok [INFO] [stdout] test session::osc_scan::tests::interleaved_text_is_ignored ... ok [INFO] [stdout] test session::osc_scan::tests::multiple_sequences_one_chunk ... ok [INFO] [stdout] test session::osc_scan::tests::non_94_osc_is_ignored ... ok [INFO] [stdout] test session::osc_scan::tests::split_across_chunks ... ok [INFO] [stdout] test session::osc_scan::tests::single_st_terminated ... ok [INFO] [stdout] test session::manager::tests::duplicate_names_are_rejected ... ok [INFO] [stdout] test session::osc_scan::tests::single_bel_terminated ... ok [INFO] [stdout] test session::persistence::tests::list_saved_returns_vec ... ok [INFO] [stdout] test session::osc_scan::tests::warning_state_maps_to_needs_input ... ok [INFO] [stdout] test session::persistence::tests::load_nonexistent_returns_none ... ok [INFO] [stdout] test session::persistence::tests::remove_nonexistent_no_panic ... ok [INFO] [stdout] test session::persistence::tests::state_dir_exists ... ok [INFO] [stdout] test session::persistence::tests::state_path_format ... ok [INFO] [stdout] test session::persistence::tests::round_trips_windows ... ok [INFO] [stdout] test session::daemon::verb_tests::headless_command_verb_list_sessions ... ok [INFO] [stdout] test session::persistence::tests::save_and_load_multiple ... ok [INFO] [stdout] test session::protocol::tests::agent_state_messages_round_trip ... ok [INFO] [stdout] test session::protocol::tests::attached_round_trips_window_list ... ok [INFO] [stdout] test session::protocol::tests::codec_parse_and_str ... ok [INFO] [stdout] test session::protocol::tests::attach_resume_round_trips ... ok [INFO] [stdout] test session::protocol::tests::negotiate_defaults_to_json ... ok [INFO] [stdout] test session::protocol::tests::hello_with_codec_round_trips ... ok [INFO] [stdout] test session::protocol::tests::input_message_round_trips ... ok [INFO] [stdout] test session::remote::tests::remote_sink_clone_sends_to_same_channel ... ok [INFO] [stdout] test session::protocol::tests::truncated_frame_errors ... ok [INFO] [stdout] test session::remote::tests::remote_sink_new ... ok [INFO] [stdout] test session::remote::tests::remote_sink_new_into_string ... ok [INFO] [stdout] test session::protocol::tests::diagnosis_round_trips ... ok [INFO] [stdout] test session::protocol::tests::welcome_round_trips_with_sessions ... ok [INFO] [stdout] test session::remote::tests::remote_sink_write_sends_input_message ... ok [INFO] [stdout] test session::remote::tests::remote_sink_resize_sends_resize_message ... ok [INFO] [stdout] test session::resurrection::tests::archive_dir_is_subdir ... ok [INFO] [stdout] test session::resurrection::tests::clean_resurrection_dir_removes_tmp_files ... ok [INFO] [stdout] test session::protocol::tests::session_resize_round_trips ... ok [INFO] [stdout] test session::remote::tests::remote_sink_multiple_writes ... ok [INFO] [stdout] test session::resurrection::tests::list_infos_round_trip ... ok [INFO] [stdout] test session::resurrection::tests::list_sessions_round_trip ... ok [INFO] [stdout] test session::resurrection::tests::load_corrupt_archives_and_errors ... ok [INFO] [stdout] test session::resurrection::tests::resurrection_dir_uses_override ... ok [INFO] [stdout] test session::resurrection::tests::validate_name_accepts_empty ... ok [INFO] [stdout] test session::resurrection::tests::validate_name_rejects_slash ... ok [INFO] [stdout] test session::resurrection::tests::version_mismatch_archives ... ok [INFO] [stdout] test session::session_state::tests::check_workspace_range_invalid ... ok [INFO] [stdout] test session::session_state::tests::check_workspace_range_valid ... ok [INFO] [stdout] test session::session_state::tests::cycle_backward_wraps ... ok [INFO] [stdout] test session::session_state::tests::cycle_filters_workspace ... ok [INFO] [stdout] test session::resurrection::tests::load_missing_returns_error ... ok [INFO] [stdout] test session::session_state::tests::cycle_forward_wraps ... ok [INFO] [stdout] test session::session_state::tests::empty_target_errors ... ok [INFO] [stdout] test session::session_state::tests::find_by_exact_id ... ok [INFO] [stdout] test session::resurrection::tests::remove_state_deletes_file ... ok [INFO] [stdout] test session::session_state::tests::find_by_index ... ok [INFO] [stdout] test session::session_state::tests::find_by_title ... ok [INFO] [stdout] test session::session_state::tests::find_by_unique_prefix ... ok [INFO] [stdout] test session::session_state::tests::first_visible_none_when_all_minimized ... ok [INFO] [stdout] test session::resurrection::tests::save_and_load_round_trip ... ok [INFO] [stdout] test session::session_state::tests::cycle_no_windows_returns_none ... ok [INFO] [stdout] test session::session_state::tests::first_visible_filters_workspace ... ok [INFO] [stdout] test session::session_state::tests::first_visible_skips_minimized ... ok [INFO] [stdout] test session::session_state::tests::move_window_drops_old_workspace_focus ... ok [INFO] [stdout] test session::session_state::tests::no_match_errors ... ok [INFO] [stdout] test session::session_state::tests::repair_focus_returns_first_visible ... ok [INFO] [stdout] test session::session_state::tests::set_workspace_name_adds_and_clears ... ok [INFO] [stdout] test session::session_state::tests::set_workspace_name_out_of_range ... ok [INFO] [stdout] test session::session_state::tests::window_index_target_non_digit ... ok [INFO] [stdout] test session::session_state::tests::window_index_target_out_of_range ... ok [INFO] [stdout] test session::session_state::tests::window_index_target_too_long ... ok [INFO] [stdout] test session::session_state::tests::window_index_target_valid ... ok [INFO] [stdout] test session::session_state::tests::workspace_bound_defaults_to_nine ... ok [INFO] [stdout] test session::session_state::tests::ambiguous_prefix_errors ... ok [INFO] [stdout] test session::startlock::tests::lock_path_is_socket_plus_dot_lock ... ok [INFO] [stdout] test session::startlock::tests::lock_released_on_drop ... ok [INFO] [stdout] test session::startlock::tests::distinct_sockets_do_not_conflict ... ok [INFO] [stdout] test session::startlock::tests::second_lock_is_refused ... ok [INFO] [stdout] test session::state_merge::tests::lifecycle_diff_no_change_is_empty ... ok [INFO] [stdout] test session::state_merge::tests::lifecycle_diff_detects_created_closed_retitled ... ok [INFO] [stdout] test session::state_merge::tests::retain_carries_window_agent_state_by_id ... ok [INFO] [stdout] test session::state_merge::tests::retain_does_not_overwrite_incoming_agent_state ... ok [INFO] [stdout] test session::state_merge::tests::retain_keeps_daemon_labels ... ok [INFO] [stdout] test session::tree::tests::display_name_wins_title ... ok [INFO] [stdout] test session::verb::tests::closest_match_finds_typo ... ok [INFO] [stdout] test session::verb::tests::closest_match_no_match_for_garbage ... ok [INFO] [stdout] test session::verb::tests::dispatch_hello ... ok [INFO] [stdout] test session::state_merge::tests::reconcile_drops_dead_ptys ... ok [INFO] [stdout] test session::tree::tests::build_session_rolls_up_state ... ok [INFO] [stdout] test session::tree::tests::disambiguates_colliding_titles ... ok [INFO] [stdout] test session::verb::tests::dispatch_list_verbs ... ok [INFO] [stdout] test session::tree::tests::agent_rank_orders_states ... ok [INFO] [stdout] test session::verb::tests::dispatch_list_verbs_filtered ... ok [INFO] [stdout] test session::verb::tests::dispatch_missing_verb ... ok [INFO] [stdout] test session::verb::tests::edit_distance_basic ... ok [INFO] [stdout] test session::verb::tests::error_code_catalog_complete ... ok [INFO] [stdout] test session::verb::tests::invalid_param_builds_hint ... ok [INFO] [stdout] test session::verb::tests::parse_request_line_invalid ... ok [INFO] [stdout] test session::verb::tests::parse_request_line_valid ... ok [INFO] [stdout] test session::verb::tests::echo_name_long_truncates ... ok [INFO] [stdout] test session::verb::tests::response_to_line_err ... ok [INFO] [stdout] test session::verb::tests::registry_has_all_verbs ... ok [INFO] [stdout] test session::verb::tests::response_to_line_ok ... ok [INFO] [stdout] test session::verb_client::tests::request_round_trips_a_simple_call ... ok [INFO] [stdout] test tape::command::tests::durations ... ok [INFO] [stdout] test session::verb::tests::dispatch_unknown_verb ... ok [INFO] [stdout] test tape::command::tests::key_combos ... ok [INFO] [stdout] test session::verb::tests::verb_hint_empty_check ... ok [INFO] [stdout] test tape::executor::tests::alt_plus_digit_switches_workspace ... ok [INFO] [stdout] test tape::executor::tests::close_window_empty_string_uses_focused ... ok [INFO] [stdout] test tape::executor::tests::execute_sends_repeated_keys_to_focused_window ... ok [INFO] [stdout] test tape::executor::tests::focus_direction_requires_arg ... ok [INFO] [stdout] test session::verb::tests::echo_name_short ... ok [INFO] [stdout] test session::verb::tests::is_json_first_byte_detects ... ok [INFO] [stdout] test tape::executor::tests::convert_key_combo ... ok [INFO] [stdout] test tape::executor::tests::focus_window_falls_back_to_id ... ok [INFO] [stdout] test tape::executor::tests::key_combo_alt_special_keys ... ok [INFO] [stdout] test tape::executor::tests::key_combo_ctrl_digit ... ok [INFO] [stdout] test session::autostart::tests::wait_for_daemon_times_out_on_missing_socket ... ok [INFO] [stdout] test tape::executor::tests::execute_rejects_unusable_commands ... ok [INFO] [stdout] test tape::executor::tests::key_combo_single_char_no_mod ... ok [INFO] [stdout] test tape::executor::tests::key_combo_unknown_key_sends_literal ... ok [INFO] [stdout] test tape::executor::tests::new_window_empty_string_uses_plain ... ok [INFO] [stdout] test tape::executor::tests::notify_requires_message ... ok [INFO] [stdout] test tape::executor::tests::opt_plus_digit_switches_workspace ... ok [INFO] [stdout] test tape::executor::tests::preselect_requires_arg ... ok [INFO] [stdout] test tape::executor::tests::rename_window_two_args ... ok [INFO] [stdout] test tape::executor::tests::repeat_count_defaults ... ok [INFO] [stdout] test tape::executor::tests::save_load_layout_require_arg ... ok [INFO] [stdout] test tape::executor::tests::set_border_style_requires_arg ... ok [INFO] [stdout] test tape::executor::tests::set_config_requires_two_args ... ok [INFO] [stdout] test tape::executor::tests::set_theme_requires_arg ... ok [INFO] [stdout] test tape::executor::tests::split_direction_variants ... ok [INFO] [stdout] test tape::executor::tests::workspace_arg_non_numeric_errors ... ok [INFO] [stdout] test tape::header::tests::bare_comments_do_not_become_a_header ... ok [INFO] [stdout] test tape::header::tests::malformed_directive_ends_header ... ok [INFO] [stdout] test tape::header::tests::no_header_at_all ... ok [INFO] [stdout] test tape::header::tests::parses_directives_and_strips_body ... ok [INFO] [stdout] test tape::header::tests::bad_workspace_falls_back ... ok [INFO] [stdout] test tape::executor::tests::set_dockbar_position_requires_arg ... ok [INFO] [stdout] test tape::header::tests::scope_current_and_case_insensitive ... ok [INFO] [stdout] test tape::lexer::tests::at_modifier ... ok [INFO] [stdout] test tape::executor::tests::key_combo_ctrl_special_char ... ok [INFO] [stdout] test tape::executor::tests::key_combo_out_of_range_digit ... ok [INFO] [stdout] test tape::executor::tests::minimize_restore_empty_string_uses_focused ... ok [INFO] [stdout] test tape::lexer::tests::identifiers_and_keywords ... ok [INFO] [stdout] test tape::lexer::tests::keyword_lookup_is_case_insensitive ... ok [INFO] [stdout] test tape::lexer::tests::basic_tokens ... ok [INFO] [stdout] test tape::lexer::tests::durations ... ok [INFO] [stdout] test tape::lexer::tests::line_numbers ... ok [INFO] [stdout] test tape::lexer::tests::strings ... ok [INFO] [stdout] test tape::parser::tests::basic_at_invalid_duration ... ok [INFO] [stdout] test tape::parser::tests::basic_at_valid_duration ... ok [INFO] [stdout] test tape::parser::tests::all_basic_commands ... ok [INFO] [stdout] test tape::parser::tests::all_tuios_commands ... ok [INFO] [stdout] test tape::parser::tests::basic_commands ... ok [INFO] [stdout] test tape::parser::tests::complex_script ... ok [INFO] [stdout] test tape::parser::tests::compound_duration ... ok [INFO] [stdout] test tape::parser::tests::delay_modifier ... ok [INFO] [stdout] test tape::parser::tests::error_handling ... ok [INFO] [stdout] test tape::parser::tests::errors_collected ... ok [INFO] [stdout] test tape::lexer::tests::comments_are_skipped_but_newlines_kept ... ok [INFO] [stdout] test tape::lexer::tests::illegal_characters_are_kept_verbatim ... ok [INFO] [stdout] test tape::parser::tests::comments_skipped ... ok [INFO] [stdout] test tape::parser::tests::focus_command_with_identifier ... ok [INFO] [stdout] test tape::parser::tests::focus_command_missing_target ... ok [INFO] [stdout] test tape::parser::tests::focus_window_missing_id ... ok [INFO] [stdout] test tape::parser::tests::key_combo_no_panic ... ok [INFO] [stdout] test tape::parser::tests::key_combo_with_ctrl_alt ... ok [INFO] [stdout] test tape::parser::tests::key_combo_with_ctrl_modifier ... ok [INFO] [stdout] test tape::parser::tests::focus_window_command ... ok [INFO] [stdout] test tape::parser::tests::key_combo_navigation_key ... ok [INFO] [stdout] test tape::parser::tests::focus_command_with_number ... ok [INFO] [stdout] test tape::parser::tests::key_combo_with_shift_modifier ... ok [INFO] [stdout] test tape::lexer::tests::token_type_helpers ... ok [INFO] [stdout] test tape::parser::tests::basic_at_without_duration ... ok [INFO] [stdout] test tape::parser::tests::line_numbers ... ok [INFO] [stdout] test tape::parser::tests::move_and_follow_workspace_missing_number ... ok [INFO] [stdout] test tape::parser::tests::output_command_missing_arg ... ok [INFO] [stdout] test tape::parser::tests::rename_window_command ... ok [INFO] [stdout] test tape::parser::tests::rename_window_command_string ... ok [INFO] [stdout] test tape::parser::tests::rename_window_missing_name ... ok [INFO] [stdout] test tape::parser::tests::save_layout_command ... ok [INFO] [stdout] test tape::parser::tests::key_combos ... ok [INFO] [stdout] test tape::parser::tests::load_layout_command ... ok [INFO] [stdout] test tape::parser::tests::move_to_workspace_missing_number ... ok [INFO] [stdout] test tape::parser::tests::multiple_repeat ... ok [INFO] [stdout] test tape::parser::tests::set_command_missing_key ... ok [INFO] [stdout] test tape::parser::tests::set_command_basic ... ok [INFO] [stdout] test tape::parser::tests::set_command_duration_value ... ok [INFO] [stdout] test tape::parser::tests::set_command_missing_value ... ok [INFO] [stdout] test tape::parser::tests::source_command_identifier ... ok [INFO] [stdout] test tape::parser::tests::source_command_missing_arg ... ok [INFO] [stdout] test tape::parser::tests::source_command_string_arg ... ok [INFO] [stdout] test tape::parser::tests::switch_workspace ... ok [INFO] [stdout] test tape::parser::tests::switch_workspace_missing_number ... ok [INFO] [stdout] test tape::parser::tests::tuios_actions ... ok [INFO] [stdout] test tape::parser::tests::type_at_invalid_duration ... ok [INFO] [stdout] test tape::parser::tests::output_command ... ok [INFO] [stdout] test tape::parser::tests::type_at_valid_duration ... ok [INFO] [stdout] test tape::parser::tests::sleep_invalid_duration ... ok [INFO] [stdout] test tape::parser::tests::sleep_command ... ok [INFO] [stdout] test tape::parser::tests::set_command_string_value ... ok [INFO] [stdout] test tape::parser::tests::source_command ... ok [INFO] [stdout] test tape::parser::tests::type_command ... ok [INFO] [stdout] test tape::parser::tests::unexpected_token ... ok [INFO] [stdout] test tape::parser::tests::wait_invalid_duration ... ok [INFO] [stdout] test tape::parser::tests::wait_until_regex ... ok [INFO] [stdout] test tape::parser::tests::wait_aliases_sleep ... ok [INFO] [stdout] test tape::parser::tests::wait_until_regex_with_timeout ... ok [INFO] [stdout] test tape::player::tests::progress_and_reset ... ok [INFO] [stdout] test tape::parser::tests::wait_until_regex_missing_pattern ... ok [INFO] [stdout] test tape::recorder::tests::delays_above_100ms_become_sleep_lines ... ok [INFO] [stdout] test tape::recorder::tests::duration_formatting ... ok [INFO] [stdout] test tape::recorder::tests::epoch_formatting ... ok [INFO] [stdout] test tape::recorder::tests::not_recording_ignores_events ... ok [INFO] [stdout] test tape::recorder::tests::record_action_maps_names ... ok [INFO] [stdout] test tape::recorder::tests::record_key_maps_named_keys ... ok [INFO] [stdout] test tape::recorder::tests::records_typing_consolidated ... ok [INFO] [stdout] test tape::recorder::tests::string_output_wraps_and_escapes ... ok [INFO] [stdout] test tape::tapes::tests::list_only_tape_files ... ok [INFO] [stdout] test tape::parser::tests::wait_without_duration_errors ... ok [INFO] [stdout] test tape::player::tests::advances_until_finished ... ok [INFO] [stdout] test tape::player::tests::empty_tape_is_finished ... ok [INFO] [stdout] test tape::player::tests::pause_state ... ok [INFO] [stdout] test tape::tapes::tests::save_and_delete_round_trip ... ok [INFO] [stdout] test tape::recorder::tests::start_with_state_records_initial_state ... ok [INFO] [stdout] test tape::tapes::tests::sanitize_names ... ok [INFO] [stdout] test terminal::cwd::tests::cache_refreshes_after_interval ... ok [INFO] [stdout] test terminal::cwd::tests::clear_resets ... ok [INFO] [stdout] test terminal::cwd::tests::current_process_cwd_is_a_directory ... ok [INFO] [stdout] test terminal::cwd::tests::unknown_pid_is_empty_or_cwd ... ok [INFO] [stdout] test terminal::env::tests::build_guest_env_includes_term_and_program ... ok [INFO] [stdout] test tape::trust::tests::first_run_creates_0600_store ... ok [INFO] [stdout] test terminal::env::tests::build_guest_env_merges_extras ... ok [INFO] [stdout] test terminal::env::tests::detect_shell_returns_a_path ... ok [INFO] [stdout] test tape::trust::tests::tampered_store_is_ignored ... ok [INFO] [stdout] test tape::trust::tests::ineligible_tapes_are_rejected ... ok [INFO] [stdout] test terminal::env::tests::profile_to_env_ansi256 ... ok [INFO] [stdout] test tape::trust::tests::trust_round_trips_persistence ... ok [INFO] [stdout] test terminal::env::tests::profile_to_env_ascii ... ok [INFO] [stdout] test terminal::env::tests::set_and_read_graphics_capabilities ... ok [INFO] [stdout] test terminal::env::tests::detect_shell_with_passwd_returns_a_path ... ok [INFO] [stdout] test terminal::env::tests::guest_term_program_reflects_capabilities ... ok [INFO] [stdout] test terminal::env::tests::profile_to_env_ansi ... ok [INFO] [stdout] test terminal::env::tests::profile_to_env_truecolor ... ok [INFO] [stdout] test terminal::window::tests::border_offset_tiled_vs_bordered ... ok [INFO] [stdout] test terminal::window::tests::close_flushes_pending_output_and_resize ... ok [INFO] [stdout] test terminal::pty::tests::spawn_pty_delivers_output ... ok [INFO] [stdout] test terminal::window::tests::copy_mode_enter_and_exit ... ok [INFO] [stdout] test terminal::window::tests::copy_cursor_set_and_get ... ok [INFO] [stdout] test terminal::window::tests::copy_mode_implicit ... ok [INFO] [stdout] test terminal::window::tests::daemon_writer_set_and_get ... ok [INFO] [stdout] test terminal::window::tests::flush_output_coalesces_multiple_writes ... ok [INFO] [stdout] test terminal::window::tests::drain_thread_coalesces_and_writes ... ok [INFO] [stdout] test terminal::window::tests::defer_and_flush_resize ... ok [INFO] [stdout] test terminal::window::tests::foreground_process_info_without_pty_is_none ... ok [INFO] [stdout] test terminal::window::tests::flush_resize_no_pending_is_false ... ok [INFO] [stdout] test terminal::window::tests::foreground_process_name_without_pty_is_empty ... ok [INFO] [stdout] test terminal::window::tests::geometry_content_size_clamped_to_one ... ok [INFO] [stdout] test terminal::window::tests::geometry_content_size_tiled ... ok [INFO] [stdout] test terminal::window::tests::geometry_default_is_zero ... ok [INFO] [stdout] test terminal::window::tests::flush_output_empty_is_zero ... ok [INFO] [stdout] test terminal::window::tests::geometry_content_size_with_borders ... ok [INFO] [stdout] test terminal::window::tests::hold_and_release_announcements ... ok [INFO] [stdout] test tape::trust::tests::check_round_trip_trust_edit_deny ... ok [INFO] [stdout] test terminal::window::tests::publish_geometry_is_idempotent ... ok [INFO] [stdout] test terminal::window::tests::publish_and_read_geometry ... ok [INFO] [stdout] test terminal::window::tests::queue_and_flush_output ... ok [INFO] [stdout] test terminal::window::tests::remote_window_emulator_path_handles_wide_and_combining ... ok [INFO] [stdout] test terminal::window::tests::resize_same_size_is_noop ... ok [INFO] [stdout] test terminal::window::tests::resize_updates_geometry_snapshot ... ok [INFO] [stdout] test terminal::window::tests::screen_to_terminal_inside ... ok [INFO] [stdout] test terminal::window::tests::reset_terminal_clears_output_and_graphics ... ok [INFO] [stdout] test terminal::window::tests::screen_to_terminal_outside ... ok [INFO] [stdout] test terminal::window::tests::scrollback_mode_enter_and_exit ... ok [INFO] [stdout] test terminal::window::tests::seed_announced_size ... ok [INFO] [stdout] test terminal::window::tests::set_cell_pixel_dimensions_zero_is_valid ... ok [INFO] [stdout] test terminal::window::tests::scroll_up_and_down ... ok [INFO] [stdout] test terminal::window::tests::set_cell_pixel_dimensions_stores_values ... ok [INFO] [stdout] test terminal::window::tests::trigger_redraw_without_pty_is_safe ... ok [INFO] [stdout] test terminal::window::tests::without_pty_publishes_initial_geometry ... ok [INFO] [stdout] test terminal::window_io::tests::daemon_response_reader_drains_responses ... ok [INFO] [stdout] test terminal::window::tests::command_pane_captures_exit_code_and_reruns ... ok [INFO] [stdout] test terminal::window_io::tests::output_epoch_increments ... ok [INFO] [stdout] test terminal::window::tests::suspended_command_pane_waits_for_trigger ... ok [INFO] [stdout] test terminal::window_io::tests::resize_to_snapshot_changes_size ... ok [INFO] [stdout] test terminal::window_io::tests::resize_to_snapshot_invalid_is_noop ... ok [INFO] [stdout] test terminal::window_io::tests::resize_to_snapshot_same_size_is_noop ... ok [INFO] [stdout] test terminal::window_io::tests::stop_is_idempotent ... ok [INFO] [stdout] test terminal::window_io::tests::stream_owns_size_toggle ... ok [INFO] [stdout] test terminal::window_io::tests::writer_applies_stream_resize ... ok [INFO] [stdout] test terminal::window_io::tests::render_coalescer_fires_signal ... ok [INFO] [stdout] test terminal::window_io::tests::writer_writes_output_to_emulator ... ok [INFO] [stdout] test testutil::tests::create_fake_shell_is_executable ... ok [INFO] [stdout] test terminal::window_io::tests::discard_pending_drops_stale_output ... ok [INFO] [stdout] test testutil::tests::summarize_counts_correctly ... ok [INFO] [stdout] test ui::animation::tests::ease_in_out_cubic_endpoints ... ok [INFO] [stdout] test testutil::tests::xdg_isolate_creates_dirs ... ok [INFO] [stdout] test ui::animation::tests::final_position_returns_end ... ok [INFO] [stdout] test ui::animation::tests::minimize_animation_creates ... ok [INFO] [stdout] test ui::animation::tests::snap_same_position_returns_none ... ok [INFO] [stdout] test ui::animation::tests::interpolate_midpoint ... ok [INFO] [stdout] test ui::animation::tests::update_returns_interpolated_position ... ok [INFO] [stdout] test ui::animation::tests::zero_duration_returns_none ... ok [INFO] [stdout] test ui::overlay::tests::dash_rule_basic ... ok [INFO] [stdout] test ui::overlay::tests::dialog_fit_width_basic ... ok [INFO] [stdout] test ui::overlay::tests::dialog_render_basic ... ok [INFO] [stdout] test ui::overlay::tests::ellipsis_ascii ... ok [INFO] [stdout] test ui::overlay::tests::fit_width_basic ... ok [INFO] [stdout] test ui::overlay::tests::hint_row_count_empty ... ok [INFO] [stdout] test ui::overlay::tests::hint_row_count_single_row ... ok [INFO] [stdout] test ui::overlay::tests::hint_row_count_wraps ... ok [INFO] [stdout] test ui::overlay::tests::hint_width ... ok [INFO] [stdout] test ui::overlay::tests::palette_dark_default ... ok [INFO] [stdout] test ui::overlay::tests::panel_render_basic ... ok [INFO] [stdout] test ui::overlay::tests::panel_render_with_hints ... ok [INFO] [stdout] test ui::overlay::tests::panel_render_with_tabs ... ok [INFO] [stdout] test ui::overlay::tests::rect_contains ... ok [INFO] [stdout] test ui::overlay::tests::rect_empty ... ok [INFO] [stdout] test ui::overlay::tests::rect_width_height ... ok [INFO] [stdout] test ui::overlay::tests::rule_basic ... ok [INFO] [stdout] test ui::overlay::tests::sigil_mark_ascii ... ok [INFO] [stdout] test ui::overlay::tests::tab_row_count_empty ... ok [INFO] [stdout] test ui::overlay::tests::tab_row_count_one ... ok [INFO] [stdout] test ui::overlay::tests::truncate_exact_fit ... ok [INFO] [stdout] test ui::animation::tests::update_completes_after_duration ... ok [INFO] [stdout] test ui::overlay::tests::truncate_long_string ... ok [INFO] [stdout] test ui::overlay::tests::truncate_short_string ... ok [INFO] [stdout] test ui::overlay::tests::truncate_zero_width ... ok [INFO] [stdout] test ui::perf::tests::adaptive_refresh_intervals ... ok [INFO] [stdout] test ui::perf::tests::buffer_pool_get_put ... ok [INFO] [stdout] test ui::perf::tests::viewport_culling_off_screen_below ... ok [INFO] [stdout] test ui::perf::tests::viewport_culling_off_screen_left ... ok [INFO] [stdout] test ui::perf::tests::viewport_culling_off_screen_right ... ok [INFO] [stdout] test ui::perf::tests::viewport_culling_partially_visible ... ok [INFO] [stdout] test ui::perf::tests::viewport_culling_visible ... ok [INFO] [stdout] test ui::tests::border_type_double ... ok [INFO] [stdout] test ui::tests::border_type_half_block_styles ... ok [INFO] [stdout] test ui::tests::border_type_hidden_aliases_plain ... ok [INFO] [stdout] test ui::tests::border_type_normal ... ok [INFO] [stdout] test ui::tests::border_type_plain ... ok [INFO] [stdout] test ui::tests::border_type_rounded ... ok [INFO] [stdout] test ui::tests::border_type_single_aliases_plain ... ok [INFO] [stdout] test ui::tests::border_type_thick ... ok [INFO] [stdout] test ui::tests::border_type_unknown_falls_back_to_rounded ... ok [INFO] [stdout] test ui::tests::dock_state_new ... ok [INFO] [stdout] test ui::perf::tests::buffer_pool_max_size ... ok [INFO] [stdout] test ui::tests::palette_default_no_theme ... ok [INFO] [stdout] test ui::tests::palette_default_with_theme ... ok [INFO] [stdout] test ui::tests::palette_indexed_beyond_ansi_range ... ok [INFO] [stdout] test ui::tests::palette_indexed_with_theme ... ok [INFO] [stdout] test ui::tests::palette_rgb ... ok [INFO] [stdout] test ui::tests::palette_style_bold ... ok [INFO] [stdout] test ui::tests::palette_style_default ... ok [INFO] [stdout] test ui::tests::palette_style_default_bg_omitted ... ok [INFO] [stdout] test ui::tests::palette_indexed_no_theme ... ok [INFO] [stdout] test ui::tests::palette_style_dim ... ok [INFO] [stdout] test ui::tests::palette_style_double_underline ... ok [INFO] [stdout] test ui::tests::palette_style_hidden ... ok [INFO] [stdout] test ui::tests::palette_style_italic ... ok [INFO] [stdout] test ui::tests::palette_style_reverse ... ok [INFO] [stdout] test ui::tests::palette_style_strikethrough ... ok [INFO] [stdout] test ui::tests::palette_style_with_bg ... ok [INFO] [stdout] test ui::tests::rgb_tui_converts ... ok [INFO] [stdout] test util::buffer::tests::byte_buffer_pool_default_capacity ... ok [INFO] [stdout] test util::buffer::tests::byte_buffer_pool_drops_oversized_buffers ... ok [INFO] [stdout] test util::buffer::tests::byte_buffer_pool_get_returns_cleared_buffer ... ok [INFO] [stdout] test ui::tests::palette_style_underline ... ok [INFO] [stdout] test util::buffer::tests::byte_buffer_pool_preserves_capacity ... ok [INFO] [stdout] test util::buffer::tests::highlight_grid_clear ... ok [INFO] [stdout] test util::buffer::tests::highlight_grid_out_of_bounds_is_ignored ... ok [INFO] [stdout] test util::buffer::tests::highlight_grid_reset_requires_reinit ... ok [INFO] [stdout] test util::buffer::tests::highlight_grid_reuse_across_reinit_larger ... ok [INFO] [stdout] test util::buffer::tests::highlight_grid_reuse_across_reinit_smaller ... ok [INFO] [stdout] test util::buffer::tests::highlight_grid_set_and_get ... ok [INFO] [stdout] test util::buffer::tests::highlight_grid_untouched_row_reports_false ... ok [INFO] [stdout] test util::buffer::tests::string_pool_default_is_empty ... ok [INFO] [stdout] test util::buffer::tests::string_pool_get_returns_cleared_string ... ok [INFO] [stdout] test util::buffer::tests::string_pool_preserves_capacity ... ok [INFO] [stdout] test util::guestenv::tests::legacy_keys_kept ... ok [INFO] [stdout] test util::guestenv::tests::base_env_identifies_session_and_window ... ok [INFO] [stdout] test util::guestenv::tests::term_program_prefers_kitty ... ok [INFO] [stdout] test util::linewidth::tests::char_width_basic ... ok [INFO] [stdout] test util::linewidth::tests::pad_left_basic ... ok [INFO] [stdout] test util::linewidth::tests::center_basic ... ok [INFO] [stdout] test util::linewidth::tests::pad_right_basic ... ok [INFO] [stdout] test util::linewidth::tests::pad_right_wide_char ... ok [INFO] [stdout] test util::linewidth::tests::truncate_wide_char ... ok [INFO] [stdout] test util::linewidth::tests::truncate_with_ellipsis_basic ... ok [INFO] [stdout] test util::linewidth::tests::truncate_basic ... ok [INFO] [stdout] test util::linewidth::tests::truncate_with_ellipsis_short ... ok [INFO] [stdout] test util::linewidth::tests::width_ascii ... ok [INFO] [stdout] test util::linewidth::tests::width_wide_char ... ok [INFO] [stdout] test util::linewidth::tests::width_zero_width ... ok [INFO] [stdout] test util::ratelimit::tests::default_limiter_has_expected_tiers ... ok [INFO] [stdout] test util::ratelimit::tests::tiered_limiter_works ... ok [INFO] [stdout] test util::ratelimit::tests::token_bucket_allows_burst ... ok [INFO] [stdout] test util::ratelimit::tests::acquire_timeout_works ... ok [INFO] [stdout] test util::snowflake::tests::different_workers_produce_different_ids ... ok [INFO] [stdout] test terminal::pty::tests::pty_writes_spaces_and_enter_execute_command ... ok [INFO] [stdout] test util::snowflake::tests::extract_fields ... ok [INFO] [stdout] test util::snowflake::tests::ids_are_positive ... ok [INFO] [stdout] test util::snowflake::tests::from_process_does_not_panic ... ok [INFO] [stdout] test util::snowflake::tests::ids_are_time_ordered ... ok [INFO] [stdout] test util::theme_detect::tests::auto_resolution_falls_back_to_dark ... ok [INFO] [stdout] test util::theme_detect::tests::colorfgbg_classifies ... ok [INFO] [stdout] test util::theme_detect::tests::dark_background_is_dark ... ok [INFO] [stdout] test util::theme_detect::tests::fragmented_reply_accumulates ... ok [INFO] [stdout] test util::theme_detect::tests::incomplete_reply_is_none ... ok [INFO] [stdout] test util::theme_detect::tests::light_background_is_light ... ok [INFO] [stdout] test util::theme_detect::tests::parses_hex_reply ... ok [INFO] [stdout] test util::theme_detect::tests::parses_xterm_rgb_reply_with_bel ... ok [INFO] [stdout] test util::theme_detect::tests::parses_xterm_rgb_reply_with_st ... ok [INFO] [stdout] test util::theme_detect::tests::scans_past_preceding_data ... ok [INFO] [stdout] test util::theme_detect::tests::unsupported_echo_is_none_color ... ok [INFO] [stdout] test vt::bufpipe::tests::auto_flush_on_threshold ... ok [INFO] [stdout] test vt::bufpipe::tests::basic_write_and_flush ... ok [INFO] [stdout] test vt::bufpipe::tests::drop_flushes ... ok [INFO] [stdout] test vt::bufpipe::tests::multiple_writes ... ok [INFO] [stdout] test vt::bufpipe::tests::write_str ... ok [INFO] [stdout] test vt::callbacks::tests::default_callbacks ... ok [INFO] [stdout] test vt::callbacks::tests::fire_alt_screen ... ok [INFO] [stdout] test vt::callbacks::tests::fire_bell_when_set ... ok [INFO] [stdout] test vt::callbacks::tests::fire_bell_when_unset_is_noop ... ok [INFO] [stdout] test vt::callbacks::tests::fire_cursor_color ... ok [INFO] [stdout] test vt::callbacks::tests::fire_cursor_position ... ok [INFO] [stdout] test vt::callbacks::tests::fire_cursor_position_unset ... ok [INFO] [stdout] test vt::callbacks::tests::fire_cursor_style ... ok [INFO] [stdout] test vt::callbacks::tests::fire_cursor_style_unset ... ok [INFO] [stdout] test vt::callbacks::tests::fire_cursor_visibility ... ok [INFO] [stdout] test vt::callbacks::tests::fire_cursor_visibility_unset ... ok [INFO] [stdout] test vt::callbacks::tests::fire_icon_name ... ok [INFO] [stdout] test vt::callbacks::tests::fire_icon_name_unset ... ok [INFO] [stdout] test vt::callbacks::tests::fire_mouse_mode_changed ... ok [INFO] [stdout] test vt::callbacks::tests::fire_mouse_mode_changed_unset ... ok [INFO] [stdout] test vt::callbacks::tests::fire_selection ... ok [INFO] [stdout] test vt::callbacks::tests::fire_selection_unset ... ok [INFO] [stdout] test vt::callbacks::tests::fire_title ... ok [INFO] [stdout] test util::snowflake::tests::ids_are_unique ... ok [INFO] [stdout] test vt::callbacks::tests::fire_title_unset ... ok [INFO] [stdout] test vt::cell::tests::cell_blank ... ok [INFO] [stdout] test vt::cell::tests::cell_clear ... ok [INFO] [stdout] test vt::cell::tests::cell_is_empty ... ok [INFO] [stdout] test vt::cell::tests::cell_new ... ok [INFO] [stdout] test vt::cell::tests::color_indexed ... ok [INFO] [stdout] test vt::cell::tests::color_rgb ... ok [INFO] [stdout] test vt::cell::tests::decoration_default ... ok [INFO] [stdout] test vt::cell::tests::link_default ... ok [INFO] [stdout] test util::ratelimit::tests::token_bucket_refills ... ok [INFO] [stdout] test vt::cell::tests::link_with_url ... ok [INFO] [stdout] test vt::cell::tests::color_default ... ok [INFO] [stdout] test vt::cell::tests::new_line_creates_correct_width ... ok [INFO] [stdout] test vt::cell::tests::style_eq_visual_different_fg ... ok [INFO] [stdout] test vt::cell::tests::style_eq_visual_different_bg ... ok [INFO] [stdout] test vt::cell::tests::style_eq_visual_different_underline_color ... ok [INFO] [stdout] test vt::cell::tests::style_eq_visual_same ... ok [INFO] [stdout] test vt::cell::tests::style_new ... ok [INFO] [stdout] test vt::charset::tests::charset_ascii_translate ... ok [INFO] [stdout] test vt::charset::tests::charset_uk_translate ... ok [INFO] [stdout] test vt::charset::tests::charset_special_graphics_translate ... ok [INFO] [stdout] test vt::charset::tests::charset_variants ... ok [INFO] [stdout] test vt::charset::tests::special_graphics_special_chars ... ok [INFO] [stdout] test vt::charset::tests::uk_hash_to_pound ... ok [INFO] [stdout] test vt::charset::tests::uk_passthrough ... ok [INFO] [stdout] test vt::dcs::tests::handle_decrqss_handled ... ok [INFO] [stdout] test vt::dcs::tests::handle_kitty_passthrough ... ok [INFO] [stdout] test vt::dcs::tests::handle_other_unhandled ... ok [INFO] [stdout] test vt::dcs::tests::handle_sixel_passthrough ... ok [INFO] [stdout] test vt::dcs::tests::handle_tmux_passthrough ... ok [INFO] [stdout] test vt::dcs::tests::parse_decrqss ... ok [INFO] [stdout] test vt::charset::tests::special_graphics_box_drawing ... ok [INFO] [stdout] test vt::charset::tests::special_graphics_passthrough ... ok [INFO] [stdout] test vt::dcs::tests::parse_kitty ... ok [INFO] [stdout] test vt::dcs::tests::parse_sixel ... ok [INFO] [stdout] test vt::emulator::csi_completion_tests::cnl_moves_down_and_cr ... ok [INFO] [stdout] test vt::dcs::tests::parse_tmux_passthrough ... ok [INFO] [stdout] test vt::dcs::tests::parse_unknown ... ok [INFO] [stdout] test vt::emulator::csi_completion_tests::decst8c_is_noop ... ok [INFO] [stdout] test vt::emulator::csi_completion_tests::decstbm_full_screen_when_no_params ... ok [INFO] [stdout] test vt::emulator::csi_completion_tests::decstbm_sets_scroll_region ... ok [INFO] [stdout] test vt::emulator::csi_completion_tests::hpr_clamps_to_width ... ok [INFO] [stdout] test vt::emulator::csi_completion_tests::rep_repeats_last_char ... ok [INFO] [stdout] test vt::emulator::csi_completion_tests::hpr_moves_cursor_right ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::ansi_csi_h_does_not_set_dec_mode_25 ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::ansi_mode_set_reset ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::c1_ind_line_feed ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::c1_ri_at_top_scrolls ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::c1_ri_reverse_index ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::c1_ss2_ss3 ... ok [INFO] [stdout] test vt::emulator::csi_completion_tests::rep_with_no_last_char_is_noop ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::cbt_moves_backward_tabs ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::cbt_clamps_to_zero ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::cht_clamps_to_width ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::cht_moves_forward_tabs ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::combining_attaches_to_wide_lead ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::combining_spills_past_inline_capacity ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::combining_mark_attaches_to_base_cell ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::combining_marks_stack_on_one_base ... ok [INFO] [stdout] test terminal::window_io::tests::writer_batches_multiple_chunks ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::combining_survives_text_extraction ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::decid_matches_da1 ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::deckpam_deckpnm_toggle ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::combining_without_base_is_dropped ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::da1_reports_vt220_attributes ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::decrqm_ansi_reports_reset ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::decrqm_dec_reports_mode ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::da2_reports_secondary_attributes ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::decrqm_dec_unknown_mode_returns_0 ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::decrqm_ansi_reports_mode ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::decrqm_unknown_mode_returns_0 ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::ed3_clears_scrollback ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::decscusr_accepted ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::ls1r_sets_gr ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::decxcpr_reports_extended_cursor ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::ls2_sets_gl ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::ls2r_sets_gr ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::ls3_sets_gl ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::ls3r_sets_gr ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::osc777_notification ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::osc99_continuation_skipped ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::osc9_progress_still_works ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::scs_g2_g3_select ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::osc99_notification ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::osc9_notification ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::ris_resets_gsingle ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::xtwinops_14_reports_pixel_size ... ok [INFO] [stdout] test vt::emulator::kitty_keyboard_tests::pop_keeps_base ... ok [INFO] [stdout] test vt::emulator::kitty_keyboard_tests::pop_restores_flags ... ok [INFO] [stdout] test vt::emulator::kitty_keyboard_tests::push_sets_flags ... ok [INFO] [stdout] test vt::emulator::esc_osc_completion_tests::xtwinops_16_reports_cell_size ... ok [INFO] [stdout] test vt::emulator::kitty_keyboard_tests::query_responds ... ok [INFO] [stdout] test vt::emulator::kitty_keyboard_tests::ris_resets_keyboard ... ok [INFO] [stdout] test vt::emulator::kitty_keyboard_tests::set_unknown_mode_replaces ... ok [INFO] [stdout] test vt::emulator::kitty_keyboard_tests::set_mode1_replaces ... ok [INFO] [stdout] test vt::emulator::kitty_keyboard_tests::stack_sync ... ok [INFO] [stdout] test vt::emulator::kitty_keyboard_tests::set_mode3_removes ... ok [INFO] [stdout] test vt::emulator::malformed_sequence_tests::bare_esc_does_not_crash ... ok [INFO] [stdout] test vt::emulator::malformed_sequence_tests::csi_with_garbage_params_ignored ... ok [INFO] [stdout] test vt::emulator::malformed_sequence_tests::empty_csi_params_use_defaults ... ok [INFO] [stdout] test vt::emulator::malformed_sequence_tests::csi_semicolon_only_uses_defaults ... ok [INFO] [stdout] test vt::emulator::malformed_sequence_tests::csi_split_across_writes ... ok [INFO] [stdout] test vt::emulator::malformed_sequence_tests::incomplete_csi_does_not_crash ... ok [INFO] [stdout] test vt::emulator::malformed_sequence_tests::esc_cancel_cancels_csi ... ok [INFO] [stdout] test vt::emulator::kitty_keyboard_tests::set_mode2_adds ... ok [INFO] [stdout] test vt::emulator::malformed_sequence_tests::partial_utf8_does_not_crash ... ok [INFO] [stdout] test vt::emulator::osc133_tests::non_133_osc_ignored ... ok [INFO] [stdout] test vt::emulator::malformed_sequence_tests::incomplete_csi_with_params_does_not_crash ... ok [INFO] [stdout] test vt::emulator::osc133_tests::records_prompt_and_command_markers ... ok [INFO] [stdout] test vt::emulator::malformed_sequence_tests::incomplete_osc_does_not_crash ... ok [INFO] [stdout] test vt::emulator::reflow_tests::long_line_reflows_on_narrower_resize ... ok [INFO] [stdout] test vt::emulator::osc133_tests::scrollback_blocks_from_markers ... ok [INFO] [stdout] test vt::emulator::reflow_tests::resize_preserves_content_within_viewport ... ok [INFO] [stdout] test vt::emulator::reflow_tests::resize_wider_preserves_line_content ... ok [INFO] [stdout] test vt::emulator::write_fast_path_tests::plain_ascii_matches_parser_path ... ok [INFO] [stdout] test vt::emulator::write_fast_path_tests::insert_mode_run_matches ... ok [INFO] [stdout] test vt::focus::tests::blur_seq ... ok [INFO] [stdout] test vt::focus::tests::default_disabled ... ok [INFO] [stdout] test vt::focus::tests::enable_disable ... ok [INFO] [stdout] test vt::focus::tests::encode_focus_false ... ok [INFO] [stdout] test vt::focus::tests::encode_focus_true ... ok [INFO] [stdout] test vt::emulator::write_fast_path_tests::wraps_and_scroll_match ... ok [INFO] [stdout] test vt::focus::tests::focus_seq ... ok [INFO] [stdout] test vt::key::tests::backspace_no_modifiers ... ok [INFO] [stdout] test vt::key::tests::ctrl_plus_a ... ok [INFO] [stdout] test vt::key::tests::ctrl_plus_uppercase_a ... ok [INFO] [stdout] test vt::key::tests::delete_no_modifiers ... ok [INFO] [stdout] test vt::key::tests::down_no_modifiers ... ok [INFO] [stdout] test vt::key::tests::end_no_modifiers ... ok [INFO] [stdout] test vt::key::tests::enter_no_modifiers ... ok [INFO] [stdout] test vt::key::tests::escape_no_modifiers ... ok [INFO] [stdout] test vt::key::tests::home_no_modifiers ... ok [INFO] [stdout] test vt::key::tests::insert_no_modifiers ... ok [INFO] [stdout] test vt::key::tests::normalize_backspace ... ok [INFO] [stdout] test vt::key::tests::normalize_escape ... ok [INFO] [stdout] test vt::key::tests::normalize_page_up ... ok [INFO] [stdout] test vt::key::tests::normalize_return ... ok [INFO] [stdout] test vt::key::tests::pagedown_no_modifiers ... ok [INFO] [stdout] test vt::emulator::write_fast_path_tests::runs_around_escapes_match ... ok [INFO] [stdout] test vt::key::tests::pageup_no_modifiers ... ok [INFO] [stdout] test vt::key::tests::tab_no_modifiers ... ok [INFO] [stdout] test vt::key::tests::up_kitty_protocol ... ok [INFO] [stdout] test vt::key::tests::up_kitty_with_shift ... ok [INFO] [stdout] test vt::key::tests::alt_plus_a ... ok [INFO] [stdout] test vt::key::tests::up_with_ctrl ... ok [INFO] [stdout] test vt::key::tests::up_with_shift ... ok [INFO] [stdout] test vt::kitty_keyboard::tests::flag_checks ... ok [INFO] [stdout] test vt::kitty_keyboard::tests::new_starts_with_base ... ok [INFO] [stdout] test vt::kitty_keyboard::tests::pop_keeps_minimum_one ... ok [INFO] [stdout] test vt::kitty_keyboard::tests::push_pop ... ok [INFO] [stdout] test vt::kitty_keyboard::tests::set_flags_replaces_top ... ok [INFO] [stdout] test vt::kitty_state::tests::animation_group_lifecycle ... ok [INFO] [stdout] test vt::key::tests::up_with_alt ... ok [INFO] [stdout] test vt::key::tests::up_no_modifiers ... ok [INFO] [stdout] test vt::kitty_state::tests::clear_groups_removes_images ... ok [INFO] [stdout] test vt::kitty_state::tests::kitty_chunked_transmit ... ok [INFO] [stdout] test vt::kitty_state::tests::kitty_state_lifecycle ... ok [INFO] [stdout] test vt::kitty_state::tests::kitty_response_format ... ok [INFO] [stdout] test vt::mouse::tests::button_codes ... ok [INFO] [stdout] test vt::mouse::tests::encode_sgr_press ... ok [INFO] [stdout] test vt::mouse::tests::default_no_mouse ... ok [INFO] [stdout] test vt::mouse::tests::encode_sgr_release ... ok [INFO] [stdout] test vt::mouse::tests::encode_x10_left_click ... ok [INFO] [stdout] test vt::mouse::tests::set_click_mode ... ok [INFO] [stdout] test vt::mouse::tests::set_sgr_mode ... ok [INFO] [stdout] test vt::mouse::tests::wheel_does_not_use_release_code ... ok [INFO] [stdout] test vt::parser::tests::parses_csi_default_params ... ok [INFO] [stdout] test vt::parser::tests::parses_csi_params ... ok [INFO] [stdout] test vt::parser::tests::parses_esc ... ok [INFO] [stdout] test vt::mouse::tests::encode_urxvt_press ... ok [INFO] [stdout] test vt::parser::tests::parses_osc ... ok [INFO] [stdout] test vt::mouse::tests::encode_x10_release ... ok [INFO] [stdout] test vt::parser::tests::parses_private_csi ... ok [INFO] [stdout] test vt::parser::tests::prints_text ... ok [INFO] [stdout] test vt::progress::tests::is_progress_4_semicolon ... ok [INFO] [stdout] test vt::parser::tests::utf8_sequences ... ok [INFO] [stdout] test vt::progress::tests::is_progress_bare_4 ... ok [INFO] [stdout] test vt::emulator::write_fast_path_tests::utf8_and_controls_around_runs_match ... ok [INFO] [stdout] test vt::progress::tests::parse_error ... ok [INFO] [stdout] test vt::progress::tests::is_progress_not_other ... ok [INFO] [stdout] test vt::progress::tests::parse_bare_4 ... ok [INFO] [stdout] test vt::progress::tests::parse_indeterminate ... ok [INFO] [stdout] test vt::progress::tests::parse_invalid_state ... ok [INFO] [stdout] test vt::progress::tests::parse_invalid_payload ... ok [INFO] [stdout] test vt::progress::tests::parse_normal_with_percent ... ok [INFO] [stdout] test vt::progress::tests::parse_warning_with_percent ... ok [INFO] [stdout] test vt::screen::tests::screen_buffer_cell_access ... ok [INFO] [stdout] test vt::progress::tests::parse_percent_over_100_capped ... ok [INFO] [stdout] test vt::screen::tests::screen_buffer_cell_mut ... ok [INFO] [stdout] test vt::screen::tests::screen_buffer_clear_area ... ok [INFO] [stdout] test vt::screen::tests::screen_buffer_clear_from_start_of_line ... ok [INFO] [stdout] test vt::screen::tests::screen_buffer_clear_from_start_of_screen ... ok [INFO] [stdout] test vt::screen::tests::screen_buffer_clear_line ... ok [INFO] [stdout] test vt::screen::tests::screen_buffer_clear_to_end_of_line ... ok [INFO] [stdout] test vt::screen::tests::screen_buffer_clear_to_end_of_screen ... ok [INFO] [stdout] test vt::progress::tests::parse_with_bel_terminator ... ok [INFO] [stdout] test vt::screen::tests::screen_buffer_blank_cell ... ok [INFO] [stdout] test vt::screen::tests::screen_buffer_delete_cell ... ok [INFO] [stdout] test vt::screen::tests::screen_buffer_clear ... ok [INFO] [stdout] test vt::screen::tests::screen_buffer_insert_cell ... ok [INFO] [stdout] test vt::screen::tests::screen_buffer_line ... ok [INFO] [stdout] test vt::screen::tests::screen_buffer_move_cursor_clamps ... ok [INFO] [stdout] test vt::screen::tests::screen_buffer_new ... ok [INFO] [stdout] test vt::screen::tests::screen_buffer_pen ... ok [INFO] [stdout] test vt::screen::tests::screen_buffer_resize ... ok [INFO] [stdout] test vt::screen::tests::screen_buffer_save_restore_cursor ... ok [INFO] [stdout] test vt::screen::tests::screen_buffer_scroll_down ... ok [INFO] [stdout] test vt::screen::tests::screen_buffer_scroll_up ... ok [INFO] [stdout] test vt::screen::tests::screen_buffer_scrollback_enabled ... ok [INFO] [stdout] test vt::screen::tests::screen_buffer_set_cell ... ok [INFO] [stdout] test vt::screen::tests::screen_buffer_set_cursor ... ok [INFO] [stdout] test vt::screen::tests::screen_buffer_set_cursor_with_margins ... ok [INFO] [stdout] test vt::screen::tests::screen_buffer_touch ... ok [INFO] [stdout] test vt::screen::tests::screen_buffer_touch_all ... ok [INFO] [stdout] test vt::screen::tests::scroll_region_full ... ok [INFO] [stdout] test vt::scrollback::tests::clear ... ok [INFO] [stdout] test vt::scrollback::tests::is_empty_after_push ... ok [INFO] [stdout] test vt::scrollback::tests::line_access ... ok [INFO] [stdout] test vt::scrollback::tests::new_with_zero_uses_default ... ok [INFO] [stdout] test vt::scrollback::tests::push_and_trim ... ok [INFO] [stdout] test vt::scrollback::tests::push_line_recycle_clears_reclaimed_buffer ... ok [INFO] [stdout] test vt::scrollback::tests::push_line_recycle_no_trim ... ok [INFO] [stdout] test vt::screen::tests::screen_buffer_move_cursor ... ok [INFO] [stdout] test vt::scrollback::tests::push_line_recycle_with_trim ... ok [INFO] [stdout] test vt::scrollback::tests::reflow_narrows_lines ... ok [INFO] [stdout] test vt::scrollback::tests::reflow_widens_lines ... ok [INFO] [stdout] test vt::scrollback::tests::reflow_zero_width_noop ... ok [INFO] [stdout] test vt::scrollback::tests::set_max_lines_trims ... ok [INFO] [stdout] test vt::scrollback::tests::set_max_lines_zero_uses_default ... ok [INFO] [stdout] test vt::screen::tests::screen_buffer_lines ... ok [INFO] [stdout] test vt::semantic_markers::tests::last_finished_none_when_empty ... ok [INFO] [stdout] test vt::semantic_markers::tests::list_bounded_eviction ... ok [INFO] [stdout] test vt::semantic_markers::tests::list_clear ... ok [INFO] [stdout] test vt::semantic_markers::tests::list_last ... ok [INFO] [stdout] test vt::semantic_markers::tests::list_last_finished ... ok [INFO] [stdout] test vt::semantic_markers::tests::list_push_and_len ... ok [INFO] [stdout] test vt::semantic_markers::tests::parse_marker_types ... ok [INFO] [stdout] test vt::sixel_parser::tests::parse_sixel_basic ... ok [INFO] [stdout] test vt::sixel_parser::tests::parse_sixel_raster_attributes ... ok [INFO] [stdout] test vt::sixel_parser::tests::parse_sixel_with_newline ... ok [INFO] [stdout] test vt::sixel_parser::tests::parse_sixel_with_repeat ... ok [INFO] [stdout] test vt::sixel_parser::tests::rows_and_cols_calculation ... ok [INFO] [stdout] test vt::sixel_state::tests::add_and_visible ... ok [INFO] [stdout] test vt::sixel_state::tests::remove_above ... ok [INFO] [stdout] test vt::sixel_state::tests::remove_intersecting ... ok [INFO] [stdout] test vt::tailtext::tests::raw_all_blank ... ok [INFO] [stdout] test vt::tailtext::tests::raw_empty ... ok [INFO] [stdout] test vt::semantic_markers::tests::marker_letters ... ok [INFO] [stdout] test vt::semantic_markers::tests::marker_with_exit_code_and_text ... ok [INFO] [stdout] test vt::tailtext::tests::raw_mixed ... ok [INFO] [stdout] test vt::tailtext::tests::raw_n_larger_than_content ... ok [INFO] [stdout] test vt::tailtext::tests::raw_n_zero ... ok [INFO] [stdout] test vt::screen::tests::screen_buffer_min_size ... ok [INFO] [stdout] test vt::tailtext::tests::raw_trims_trailing_whitespace ... ok [INFO] [stdout] test web::tests::client_is_touch_sec_ch_ua ... ok [INFO] [stdout] test web::tests::connection_limiter_at_capacity ... ok [INFO] [stdout] test web::tests::connection_limiter_acquire_release ... ok [INFO] [stdout] test vt::tailtext::tests::raw_n_smaller_than_content ... ok [INFO] [stdout] test web::tests::client_is_touch_user_agent ... ok [INFO] [stdout] test web::tests::connection_limiter_unlimited ... ok [INFO] [stdout] test web::tests::default_mobile_keys_count ... ok [INFO] [stdout] test web::tests::ephemeral_session_lifecycle ... ok [INFO] [stdout] test web::tests::ephemeral_session_not_found ... ok [INFO] [stdout] test web::tests::mobile_bar_has_prefix ... ok [INFO] [stdout] test web::tests::html_escape_entities ... ok [INFO] [stdout] test web::tests::is_loopback_checks ... ok [INFO] [stdout] test web::tests::read_only_blocks_input ... ok [INFO] [stdout] test web::tests::session_picker_builds ... ok [INFO] [stdout] test web::tests::token_is_valid_matches_constant_time ... ok [INFO] [stdout] test web::tests::touch_mode_parse ... ok [INFO] [stdout] test web::tests::transport_security_loopback_ok ... ok [INFO] [stdout] test web::tests::transport_security_non_loopback_requires_tls ... ok [INFO] [stdout] test web::tests::transport_security_non_loopback_with_tls_ok ... ok [INFO] [stdout] test web::tests::url_path_escape_keeps_unreserved ... ok [INFO] [stdout] test widgets::buf_render::tests::draw_block_returns_inner ... ok [INFO] [stdout] test web::tests::requires_token_rules ... ok [INFO] [stdout] test widgets::buf_render::tests::draw_gauge_renders ... ok [INFO] [stdout] test web::tests::resolve_touch_modes ... ok [INFO] [stdout] test web::tests::url_path_escape_encodes_reserved ... ok [INFO] [stdout] test widgets::dev::tests::build_widget_basics ... ok [INFO] [stdout] test widgets::buf_render::tests::draw_sparkline_renders ... ok [INFO] [stdout] test widgets::dev::tests::render_does_not_panic ... ok [INFO] [stdout] test widgets::layout::tests::auto_layout_truncates_at_capacity ... ok [INFO] [stdout] test widgets::layout::tests::compute_rects_with_gap ... ok [INFO] [stdout] test widgets::layout::tests::toggle_visibility ... ok [INFO] [stdout] test widgets::registry::tests::by_kind_filter ... ok [INFO] [stdout] test widgets::registry::tests::ids_returns_all ... ok [INFO] [stdout] test widgets::registry::tests::len_and_is_empty ... ok [INFO] [stdout] test widgets::registry::tests::register_and_get ... ok [INFO] [stdout] test widgets::registry::tests::unregister ... ok [INFO] [stdout] test widgets::layout::tests::auto_layout_fills_grid ... ok [INFO] [stdout] test widgets::system::tests::cpu_widget_basics ... ok [INFO] [stdout] test widgets::layout::tests::compute_rects_basic ... ok [INFO] [stdout] test widgets::system::tests::format_bytes_rate_test ... ok [INFO] [stdout] test widgets::system::tests::mem_widget_basics ... ok [INFO] [stdout] test widgets::system::tests::net_widget_basics ... ok [INFO] [stdout] test widgets::system::tests::render_does_not_panic ... ok [INFO] [stdout] test widgets::system::tests::proc_widget_basics ... ok [INFO] [stdout] test widgets::tests::widget_render_does_not_panic ... ok [INFO] [stdout] test widgets::tests::widget_trait_works ... ok [INFO] [stdout] test widgets::utility::tests::actions_widget_basics ... ok [INFO] [stdout] test widgets::utility::tests::clock_widget_basics ... ok [INFO] [stdout] test widgets::utility::tests::notes_widget_basics ... ok [INFO] [stdout] test widgets::utility::tests::render_does_not_panic ... ok [INFO] [stdout] test widgets::utility::tests::clipboard_widget_basics ... ok [INFO] [stdout] test widgets::system::tests::disk_widget_basics ... ok [INFO] [stdout] test app::tests::extension_tests::status_widget_refresh_does_not_wait_for_slow_command ... ok [INFO] [stdout] test app::tests::extension_tests::status_widgets_respect_global_worker_cap ... ok [INFO] [stdout] test widgets::dev::tests::git_widget_basics ... ok [INFO] [stdout] test terminal::window::tests::spawned_window_becomes_dirty_for_output_after_initial_frame ... ok [INFO] [stdout] test terminal::window::tests::queue_output_auto_flushes_at_cap ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2188 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.64s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/compare.rs (/opt/rustwide/target/debug/deps/compare-37a4c99a4ed4e4fa) [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/termos-d382ee0bf66400c9) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test tests::exec_flags_default_shell_and_cwd ... ok [INFO] [stdout] test tests::exec_flags_parse_shell_and_cwd ... ok [INFO] [stdout] test tests::parse_param_value_keeps_plain_strings ... ok [INFO] [stderr] Running tests/bsp.rs (/opt/rustwide/target/debug/deps/bsp-d25798542da0fa5b) [INFO] [stdout] test tests::embedded_skill_matches_disk ... ok [INFO] [stdout] test tests::exec_requires_a_command ... ok [INFO] [stdout] test tests::exec_rejects_unknown_flags ... ok [INFO] [stdout] test tests::exec_flags_unknown_flag_rejected ... ok [INFO] [stdout] test tests::doctor_runs_without_panicking ... ok [INFO] [stdout] test tests::completion_scripts_include_control_surface_commands ... ok [INFO] [stdout] test tests::parse_param_value_types_json_shapes ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 15 tests [INFO] [stdout] test cycle_stack_focus_swaps_active ... ok [INFO] [stdout] test gap_reserves_separator_cell ... ok [INFO] [stdout] test push_to_stack_wraps_two_windows ... ok [INFO] [stdout] test remove_window_collapses_tree ... ok [INFO] [stdout] test pop_from_stack_restores_as_split ... ok [INFO] [stdout] test non_stacked_window_stack_count_is_one ... ok [INFO] [stdout] test equalize_ratios_resets_all ... ok [INFO] [stdout] test serialize_round_trips ... ok [INFO] [stdout] test resize_split_moves_divider ... ok [INFO] [stdout] test three_window_layout_after_stack ... ok [INFO] [stdout] test split_places_windows_side_by_side_or_stacked ... ok [INFO] [stdout] test rotate_split_swaps_axis ... ok [INFO] [stdout] test first_window_is_root ... ok [INFO] [stdout] test nested_splits_follow_spiral ... ok [INFO] [stdout] test push_to_stack_noop_on_same_window ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/config_reload.rs (/opt/rustwide/target/debug/deps/config_reload-e03e883fbde240a5) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test hot_reload_rewrites_config_mid_session ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.46s [INFO] [stdout] [INFO] [stderr] Running tests/control_surface.rs (/opt/rustwide/target/debug/deps/control_surface-b544f6bf9f17a4af) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test verb_client_round_trip_over_a_real_socket ... ok [INFO] [stdout] test window_ids_stay_unique_across_close_and_reopen ... ok [INFO] [stdout] test exec_flags_shell_and_cwd_reach_the_pane ... ok [INFO] [stdout] test exec_flow_reports_output_and_exit_code ... ok [INFO] [stdout] test control_surface_end_to_end ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.27s [INFO] [stdout] [INFO] [stderr] Running tests/daemon.rs (/opt/rustwide/target/debug/deps/daemon-22960c0525b105eb) [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test daemon_lists_and_kills_missing_session ... ok [INFO] [stdout] test kill_server_stops_daemon ... ok [INFO] [stdout] test daemon_create_attach_input_output_kill ... ok [INFO] [stdout] test daemon_fires_window_lifecycle_hooks ... ok [INFO] [stdout] test daemon_tape_exec_broadcasts_commands ... ok [INFO] [stdout] test multi_client_both_see_session_list ... ok [INFO] [stdout] test daemon_rejects_duplicate_session_and_broadcasts_to_two_clients ... ok [INFO] [stdout] test set_session_name_sets_label ... ok [INFO] [stdout] test daemon_set_agent_state_broadcasts_to_clients ... ok [INFO] [stdout] test daemon_agent_verbs_work_headlessly ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.38s [INFO] [stdout] [INFO] [stderr] Running tests/network.rs (/opt/rustwide/target/debug/deps/network-6eb88c4f6478eec6) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/proptest_bsp.rs (/opt/rustwide/target/debug/deps/proptest_bsp-daf9370c65b35458) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test bsp_insert_stays_in_bounds ... ok [INFO] [stdout] test bsp_with_gap_stays_in_bounds ... ok [INFO] [stdout] test bsp_insert_remove_never_panics ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.31s [INFO] [stdout] [INFO] [stderr] Running tests/proptest_config.rs (/opt/rustwide/target/debug/deps/proptest_config-f3a5fc1bbd5e0716) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test config_parse_never_panics ... ok [INFO] [stdout] test config_parse_bytes_never_panics ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.59s [INFO] [stdout] [INFO] [stderr] Running tests/proptest_vt.rs (/opt/rustwide/target/debug/deps/proptest_vt-b46fb932dc960f29) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test selection_text_never_has_phantom_wide_spaces ... ok [INFO] [stdout] test resize_keeps_cursor_in_bounds ... ok [INFO] [stdout] test chunked_write_matches_whole ... ok [INFO] [stdout] test tape_parse_never_panics ... ok [INFO] [stdout] test wide_char_streams_keep_grid_invariant ... ok [INFO] [stdout] test structured_token_stream_keeps_grid_invariant ... ok [INFO] [stderr] Running tests/tape_parse_examples.rs (/opt/rustwide/target/debug/deps/tape_parse_examples-16b61d2ac3a89d3a) [INFO] [stdout] test write_never_panics ... ok [INFO] [stderr] Running tests/testutil_usage.rs (/opt/rustwide/target/debug/deps/testutil_usage-63d396b8044cb32b) [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 29.08s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test example_tapes_parse ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test fake_shell_script_is_executable_sh ... ok [INFO] [stdout] test isolate_creates_all_directories ... ok [INFO] [stdout] test xdg_isolate_redirects_config_path ... ok [INFO] [stdout] test xdg_isolate_restores_environment_on_drop ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/theme_detect_osc.rs (/opt/rustwide/target/debug/deps/theme_detect_osc-3a54974339e88865) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stderr] Running tests/vt.rs (/opt/rustwide/target/debug/deps/vt-08b9bcf32e797547) [INFO] [stdout] test osc11_queries_drive_auto_theme_and_live_swap ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.33s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 67 tests [INFO] [stdout] test backspace_at_col_zero_does_not_wrap ... ok [INFO] [stdout] test alternate_screen_switch ... ok [INFO] [stdout] test backspace_moves_cursor_left ... ok [INFO] [stdout] test carriage_return_moves_to_left_margin ... ok [INFO] [stdout] test chunked_write_matches_whole_write_1byte ... ok [INFO] [stdout] test alt_screen_no_scrollback ... ok [INFO] [stdout] test content_lines_and_selection_text ... ok [INFO] [stdout] test apc_kitty_graphics_is_collected ... ok [INFO] [stdout] test csi_2j_clears_entire_screen ... ok [INFO] [stdout] test csi_a_moves_cursor_up ... ok [INFO] [stdout] test chunked_write_matches_whole_write_utf8_split ... ok [INFO] [stdout] test csi_b_moves_cursor_down ... ok [INFO] [stdout] test csi_c_moves_cursor_right ... ok [INFO] [stdout] test csi_k_erases_to_end_of_line ... ok [INFO] [stdout] test csi_s_and_u_save_restore_cursor ... ok [INFO] [stdout] test content_index_for_view_row_honors_viewport ... ok [INFO] [stdout] test cursor_position_report ... ok [INFO] [stdout] test chunked_write_matches_whole_write_2byte ... ok [INFO] [stdout] test da_response ... ok [INFO] [stdout] test csi_d_moves_cursor_left ... ok [INFO] [stdout] test decstbm_sets_scroll_region ... ok [INFO] [stdout] test delete_1_of_mixed_runes ... ok [INFO] [stdout] test chunked_write_matches_whole_write_csi_split ... ok [INFO] [stdout] test delete_3_of_wide_runes ... ok [INFO] [stdout] test alt_screen_switches_and_restores ... ok [INFO] [stdout] test clear_screen ... ok [INFO] [stdout] test delete_char_pulls_content_left ... ok [INFO] [stdout] test empty_apc_is_terminated_by_st ... ok [INFO] [stdout] test erase_to_end_of_line ... ok [INFO] [stdout] test insert_1_of_wide_runes ... ok [INFO] [stdout] test insert_line_shifts_content ... ok [INFO] [stdout] test line_feed_scrolls_at_bottom ... ok [INFO] [stdout] test narrowing_resize_blanks_cut_wide_rune ... ok [INFO] [stdout] test narrowing_resize_preserves_clean_edge ... ok [INFO] [stdout] test osc52_clipboard_write ... ok [INFO] [stdout] test cursor_positioning ... ok [INFO] [stdout] test cursor_save_restore ... ok [INFO] [stdout] test delete_1_of_wide_runes ... ok [INFO] [stdout] test delete_2_of_wide_runes ... ok [INFO] [stdout] test osc_with_bel_terminator ... ok [INFO] [stdout] test delete_3_of_mixed_runes ... ok [INFO] [stdout] test osc_with_st_terminator ... ok [INFO] [stdout] test plain_text_is_printed ... ok [INFO] [stdout] test resize_preserves_content ... ok [INFO] [stdout] test resize_reflows_scrollback ... ok [INFO] [stdout] test oversized_csi_params ... ok [INFO] [stdout] test save_restore_cursor_and_scroll_region ... ok [INFO] [stdout] test save_restore_modes ... ok [INFO] [stdout] test sgr_truecolor_sets_foreground ... ok [INFO] [stdout] test sixel_dcs_is_collected ... ok [INFO] [stdout] test scrollback_captures_lines ... ok [INFO] [stdout] test scrollback_drops_oldest ... ok [INFO] [stdout] test tab_advances_to_next_stop ... ok [INFO] [stdout] test resize_clamps_cursor ... ok [INFO] [stdout] test truncated_osc_at_eof ... ok [INFO] [stdout] test tab_stops_default_every_8 ... ok [INFO] [stdout] test truncated_esc_at_eof ... ok [INFO] [stdout] test scrollback_capped_at_max ... ok [INFO] [stdout] test unicode_wide_char_takes_two_cells ... ok [INFO] [stdout] test title_via_osc ... ok [INFO] [stdout] test resize_to_tiny_then_back ... ok [INFO] [stdout] test sgr_bold_sets_pen ... ok [INFO] [stdout] test truncated_csi_at_eof ... ok [INFO] [stdout] test viewport_clamps_to_available_scrollback ... ok [INFO] [stdout] test viewport_scrolls_into_scrollback ... ok [INFO] [stdout] test unterminated_apc_large_payload ... ok [INFO] [stdout] test wide_char_at_right_margin_wraps ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 67 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s [INFO] [stdout] [INFO] [stderr] Doc-tests termos [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test src/testutil/mod.rs - testutil::skip_if_pty_exhausted (line 59) ... ignored [INFO] [stdout] test src/session/verb_client.rs - session::verb_client (line 11) - compile ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.18s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "3fcd30b73009a939d35e5b4002dc3913ec1d1906f56256c44e39caccd1f3571c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3fcd30b73009a939d35e5b4002dc3913ec1d1906f56256c44e39caccd1f3571c", kill_on_drop: false }` [INFO] [stdout] 3fcd30b73009a939d35e5b4002dc3913ec1d1906f56256c44e39caccd1f3571c