[INFO] cloning repository https://github.com/Kobayashi-takumi/cli-manager [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Kobayashi-takumi/cli-manager" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKobayashi-takumi%2Fcli-manager", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKobayashi-takumi%2Fcli-manager'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 150b9d61b83dac90cb218f1f425a56f9badec4a8 [INFO] testing Kobayashi-takumi/cli-manager against master#562dee4820c458d823175268e41601d4c060588a for pr-154210 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKobayashi-takumi%2Fcli-manager" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Kobayashi-takumi/cli-manager [INFO] finished tweaking git repo https://github.com/Kobayashi-takumi/cli-manager [INFO] tweaked toml for git repo https://github.com/Kobayashi-takumi/cli-manager written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Kobayashi-takumi/cli-manager on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Kobayashi-takumi/cli-manager 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" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded kasuari v0.4.11 [INFO] [stderr] Downloaded zvariant_derive v5.9.2 [INFO] [stderr] Downloaded mac-notification-sys v0.6.9 [INFO] [stderr] Downloaded vt100 v0.16.2 [INFO] [stderr] Downloaded serial2 v0.2.33 [INFO] [stderr] Downloaded tauri-winrt-notification v0.7.2 [INFO] [stderr] Downloaded zvariant v5.9.2 [INFO] [stderr] Downloaded zbus_macros v5.13.2 [INFO] [stderr] Downloaded notify-rust v4.12.0 [INFO] [stderr] Downloaded vte v0.15.0 [INFO] [stderr] Downloaded zbus v5.13.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b9da67fdcb19d038a3dd035c7d7d7c2416eb0a92f208977236bbb23cf86aee26 [INFO] running `Command { std: "docker" "start" "-a" "b9da67fdcb19d038a3dd035c7d7d7c2416eb0a92f208977236bbb23cf86aee26", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b9da67fdcb19d038a3dd035c7d7d7c2416eb0a92f208977236bbb23cf86aee26", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b9da67fdcb19d038a3dd035c7d7d7c2416eb0a92f208977236bbb23cf86aee26", kill_on_drop: false }` [INFO] [stdout] b9da67fdcb19d038a3dd035c7d7d7c2416eb0a92f208977236bbb23cf86aee26 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0f8e66cae39ed17ddb84e4f77045be496676dd3a99cea8317cc8afd9c0609ee2 [INFO] running `Command { std: "docker" "start" "-a" "0f8e66cae39ed17ddb84e4f77045be496676dd3a99cea8317cc8afd9c0609ee2", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling itoa v1.0.17 [INFO] [stderr] Compiling concurrent-queue v2.5.0 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling foldhash v0.2.0 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling futures-lite v2.6.1 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling endi v1.1.1 [INFO] [stderr] Compiling async-io v2.6.0 [INFO] [stderr] Compiling event-listener v5.4.1 [INFO] [stderr] Compiling castaway v0.2.4 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling instability v0.3.11 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling deranged v0.5.6 [INFO] [stderr] Compiling time-core v0.1.8 [INFO] [stderr] Compiling num_threads v0.1.7 [INFO] [stderr] Compiling num-conv v0.2.0 [INFO] [stderr] Compiling event-listener-strategy v0.5.4 [INFO] [stderr] Compiling compact_str v0.9.0 [INFO] [stderr] Compiling lru v0.16.3 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling piper v0.2.4 [INFO] [stderr] Compiling nix v0.28.0 [INFO] [stderr] Compiling line-clipping v0.3.5 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling async-channel v2.5.0 [INFO] [stderr] Compiling async-lock v3.4.2 [INFO] [stderr] Compiling anyhow v1.0.101 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling async-broadcast v0.7.2 [INFO] [stderr] Compiling blocking v1.6.2 [INFO] [stderr] Compiling async-executor v1.14.0 [INFO] [stderr] Compiling ordered-stream v0.2.0 [INFO] [stderr] Compiling uuid v1.21.0 [INFO] [stderr] Compiling arrayvec v0.7.6 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling syn v2.0.116 [INFO] [stderr] Compiling vte v0.15.0 [INFO] [stderr] Compiling shell-words v1.1.1 [INFO] [stderr] Compiling vt100 v0.16.2 [INFO] [stderr] Compiling unicode-truncate v2.0.1 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling serial2 v0.2.33 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling toml_parser v1.0.9+spec-1.1.0 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling toml_edit v0.23.10+spec-1.0.0 [INFO] [stderr] Compiling proc-macro-crate v3.4.0 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling polling v3.11.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling enumflags2_derive v0.7.12 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling serde_repr v0.1.20 [INFO] [stderr] Compiling async-signal v0.2.13 [INFO] [stderr] Compiling async-process v2.5.0 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling filedescriptor v0.8.3 [INFO] [stderr] Compiling kasuari v0.4.11 [INFO] [stderr] Compiling portable-pty v0.9.0 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling strum v0.27.2 [INFO] [stderr] Compiling ratatui-core v0.1.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling ratatui-widgets v0.3.0 [INFO] [stderr] Compiling ratatui-crossterm v0.1.0 [INFO] [stderr] Compiling zvariant_utils v3.3.0 [INFO] [stderr] Compiling enumflags2 v0.7.12 [INFO] [stderr] Compiling zvariant_derive v5.9.2 [INFO] [stderr] Compiling ratatui-macros v0.7.0 [INFO] [stderr] Compiling ratatui v0.30.0 [INFO] [stderr] Compiling zvariant v5.9.2 [INFO] [stderr] Compiling zbus_names v4.3.1 [INFO] [stderr] Compiling zbus_macros v5.13.2 [INFO] [stderr] Compiling zbus v5.13.2 [INFO] [stderr] Compiling notify-rust v4.12.0 [INFO] [stderr] Compiling cli_manager v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `terminal_usecase::TerminalUsecase` [INFO] [stdout] --> src/usecase/mod.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub use terminal_usecase::TerminalUsecase; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ConnectionId` [INFO] [stdout] --> src/interface_adapter/port/mod.rs:7:29 [INFO] [stdout] | [INFO] [stdout] 7 | pub use ipc_port::{IpcPort, ConnectionId}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `WindowInfo` [INFO] [stdout] --> src/infrastructure/ipc/protocol.rs:8:74 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::domain::primitive::{IpcCommand, IpcResponse, IpcResponseData, WindowInfo}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `last_notification` is never used [INFO] [stdout] --> src/domain/model/terminal.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl ManagedTerminal { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn last_notification(&self) -> Option<&NotificationEvent> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `summary` is never used [INFO] [stdout] --> src/domain/primitive/notification.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl NotificationEvent { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] 18 | /// Return a short summary string for the notification. [INFO] [stdout] 19 | pub fn summary(&self) -> &str { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `pty_port` is never used [INFO] [stdout] --> src/usecase/terminal_usecase.rs:269:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl TerminalUsecase { [INFO] [stdout] | ----------------------------------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 269 | pub fn pty_port(&self) -> &P { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_screen_adapter` is never used [INFO] [stdout] --> src/interface_adapter/adapter/screen_adapter_factory.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn create_screen_adapter() -> VteScreenAdapter { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ExitScrollbackSearch` and `ConfirmScrollbackSearch` are never constructed [INFO] [stdout] --> src/interface_adapter/controller/tui_controller.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum AppAction { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 39 | ExitScrollbackSearch, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 40 | ConfirmScrollbackSearch, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set_enabled` is never used [INFO] [stdout] --> src/infrastructure/notification/macos_notifier.rs:77:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl MacOsNotifier { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn set_enabled(&mut self, enabled: bool) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ScreenInstance` is never constructed [INFO] [stdout] --> src/infrastructure/screen/vte_screen.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | struct ScreenInstance { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SavedCursorState` is never constructed [INFO] [stdout] --> src/infrastructure/screen/vte_screen.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | struct SavedCursorState { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `scroll_up`, `scroll_down`, `erase_cell`, `enter_alternate_screen`, and `leave_alternate_screen` are never used [INFO] [stdout] --> src/infrastructure/screen/vte_screen.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 65 | impl ScreenInstance { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 66 | fn new(size: TerminalSize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | fn scroll_up(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | fn scroll_down(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | fn erase_cell(&mut self, row: u16, col: u16) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | fn enter_alternate_screen(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | fn leave_alternate_screen(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VteScreenAdapter` is never constructed [INFO] [stdout] --> src/infrastructure/screen/vte_screen.rs:913:12 [INFO] [stdout] | [INFO] [stdout] 913 | pub struct VteScreenAdapter { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get_title` are never used [INFO] [stdout] --> src/infrastructure/screen/vte_screen.rs:922:12 [INFO] [stdout] | [INFO] [stdout] 921 | impl VteScreenAdapter { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 922 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 931 | pub fn get_title(&self, id: TerminalId) -> Result, AppError> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_title` is never used [INFO] [stdout] --> src/infrastructure/screen/vt100_screen.rs:135:12 [INFO] [stdout] | [INFO] [stdout] 127 | impl Vt100ScreenAdapter { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn get_title(&self, id: TerminalId) -> Result, AppError> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `terminal_index` is never read [INFO] [stdout] --> src/infrastructure/tui/widgets/quick_switcher.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct QuickSwitchItem { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 12 | /// Original terminal index in the terminal list. [INFO] [stdout] 13 | pub terminal_index: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Tui` is never constructed [INFO] [stdout] --> src/shared/error.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum AppError { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 25 | Tui(#[source] std::io::Error), [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 46.31s [INFO] running `Command { std: "docker" "inspect" "0f8e66cae39ed17ddb84e4f77045be496676dd3a99cea8317cc8afd9c0609ee2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0f8e66cae39ed17ddb84e4f77045be496676dd3a99cea8317cc8afd9c0609ee2", kill_on_drop: false }` [INFO] [stdout] 0f8e66cae39ed17ddb84e4f77045be496676dd3a99cea8317cc8afd9c0609ee2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2913fd74250d64f74c09a69051e2c186c8e68cff796c34deb17a87e331314cdd [INFO] running `Command { std: "docker" "start" "-a" "2913fd74250d64f74c09a69051e2c186c8e68cff796c34deb17a87e331314cdd", kill_on_drop: false }` [INFO] [stderr] Compiling cli_manager v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `terminal_usecase::TerminalUsecase` [INFO] [stdout] --> src/usecase/mod.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub use terminal_usecase::TerminalUsecase; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ConnectionId` [INFO] [stdout] --> src/interface_adapter/port/mod.rs:7:29 [INFO] [stdout] | [INFO] [stdout] 7 | pub use ipc_port::{IpcPort, ConnectionId}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_screen_adapter` is never used [INFO] [stdout] --> src/interface_adapter/adapter/screen_adapter_factory.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn create_screen_adapter() -> VteScreenAdapter { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Tui` is never constructed [INFO] [stdout] --> src/shared/error.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum AppError { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 25 | Tui(#[source] std::io::Error), [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 9.02s [INFO] running `Command { std: "docker" "inspect" "2913fd74250d64f74c09a69051e2c186c8e68cff796c34deb17a87e331314cdd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2913fd74250d64f74c09a69051e2c186c8e68cff796c34deb17a87e331314cdd", kill_on_drop: false }` [INFO] [stdout] 2913fd74250d64f74c09a69051e2c186c8e68cff796c34deb17a87e331314cdd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 199e71bfcceaed15d8240bf78e992f9d4406ffa0c0ccb2064ecceb8c56a00ebc [INFO] running `Command { std: "docker" "start" "-a" "199e71bfcceaed15d8240bf78e992f9d4406ffa0c0ccb2064ecceb8c56a00ebc", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `terminal_usecase::TerminalUsecase` [INFO] [stderr] --> src/usecase/mod.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | pub use terminal_usecase::TerminalUsecase; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `ConnectionId` [INFO] [stderr] --> src/interface_adapter/port/mod.rs:7:29 [INFO] [stderr] | [INFO] [stderr] 7 | pub use ipc_port::{IpcPort, ConnectionId}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `create_screen_adapter` is never used [INFO] [stderr] --> src/interface_adapter/adapter/screen_adapter_factory.rs:5:8 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn create_screen_adapter() -> VteScreenAdapter { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: variant `Tui` is never constructed [INFO] [stderr] --> src/shared/error.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 4 | pub enum AppError { [INFO] [stderr] | -------- variant in this enum [INFO] [stderr] ... [INFO] [stderr] 25 | Tui(#[source] std::io::Error), [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: `cli_manager` (bin "cm" test) generated 4 warnings (run `cargo fix --bin "cm" -p cli_manager --tests` to apply 2 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.21s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/cm-43f29155aca1fb06) [INFO] [stdout] [INFO] [stdout] running 1475 tests [INFO] [stdout] test domain::model::terminal::tests::clear_notification_does_not_remove_last_notification ... ok [INFO] [stdout] test domain::model::terminal::tests::clear_notification_marks_unread_false ... ok [INFO] [stdout] test domain::model::terminal::tests::clear_notification_on_already_cleared_is_noop ... ok [INFO] [stdout] test domain::model::terminal::tests::has_memo_returns_false_when_empty ... ok [INFO] [stdout] test domain::model::terminal::tests::has_memo_returns_true_when_set ... ok [INFO] [stdout] test domain::model::terminal::tests::initial_memo_returns_empty_string ... ok [INFO] [stdout] test domain::model::terminal::tests::new_terminal_has_no_last_notification ... ok [INFO] [stdout] test domain::model::terminal::tests::new_terminal_has_no_unread_notification ... ok [INFO] [stdout] test domain::model::terminal::tests::set_memo_sets_the_memo ... ok [INFO] [stdout] test domain::model::terminal::tests::set_memo_to_empty_makes_has_memo_return_false ... ok [INFO] [stdout] test domain::model::terminal::tests::set_name_changes_the_name ... ok [INFO] [stdout] test domain::model::terminal::tests::set_name_is_reflected_in_display_name ... ok [INFO] [stdout] test domain::model::terminal::tests::set_notification_marks_unread_true ... ok [INFO] [stdout] test domain::model::terminal::tests::set_notification_overwrites_previous_notification ... ok [INFO] [stdout] test domain::model::terminal::tests::set_notification_stores_last_notification ... ok [INFO] [stdout] test domain::model::terminal::tests::set_notification_with_osc777_stores_correctly ... ok [INFO] [stdout] test domain::model::terminal::tests::set_then_clear_then_set_again_works ... ok [INFO] [stdout] test domain::primitive::cell::tests::cell_default_has_all_attributes_false ... ok [INFO] [stdout] test domain::primitive::cell::tests::cell_default_width_is_one ... ok [INFO] [stdout] test domain::primitive::cell::tests::cell_new_attributes_can_be_set ... ok [INFO] [stdout] test domain::primitive::cell::tests::cell_width_can_be_set_to_two_for_wide_char ... ok [INFO] [stdout] test domain::primitive::cell::tests::cell_width_can_be_set_to_zero_for_continuation ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::capture_pane_data_construction ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::capture_pane_with_scrollback ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::capture_pane_without_scrollback ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::buffer_data_with_text ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::create_window_clone_equals_original ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::buffer_data_without_text ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::create_window_debug_includes_variant_name ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::create_window_response_data_construction ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::capture_pane_data_without_cwd ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::create_window_not_equal_to_list_windows ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::create_window_response_data_zero_id ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::create_window_response_wrapped_in_ok_with_data ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::create_window_with_name_only ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::create_window_with_name_and_command ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::create_window_with_no_args ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::create_window_response_clone_equals_original ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::different_command_variants_are_not_equal ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::different_response_variants_are_not_equal ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::ipc_command_clone_equals_original ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::create_window_with_command_only ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::create_window_response_data_not_equal_to_buffer_data ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::kill_window_not_equal_to_select_window ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::ipc_response_clone_equals_original ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::kill_window_debug_includes_variant_name ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::ipc_command_debug_includes_variant_name ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::kill_window_target_zero ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::list_windows_construction ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::list_windows_data_construction ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::list_windows_data_empty ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::ipc_response_debug_includes_variant_name ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::kill_window_construction ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::notify_clone_equals_original ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::notify_with_title_and_body ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::notify_different_titles_not_equal ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::notify_without_title ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::paste_buffer_construction ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::rename_window_construction ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::rename_window_debug_includes_variant_name ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::notify_debug_includes_variant_name ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::notify_not_equal_to_other_variants ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::notify_different_bodies_not_equal ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::response_error_empty_message ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::response_ok_with_data_construction ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::select_window_construction ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::select_window_debug_includes_variant_name ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::rename_window_different_names_not_equal ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::rename_window_different_targets_not_equal ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::send_keys_construction ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::rename_window_with_empty_name ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::send_keys_different_keys_are_not_equal ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::send_keys_different_targets_are_not_equal ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::response_error_construction ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::set_buffer_construction ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::show_buffer_construction ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::response_ok_construction ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::window_info_debug_includes_fields ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::window_info_construction ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::window_info_equality ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::set_buffer_empty_text ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::window_info_inequality_different_is_active ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::window_info_inequality_different_is_running ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::window_info_inequality_different_name ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::window_info_active_and_running ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::send_keys_empty_keys_vec ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::window_info_exited ... ok [INFO] [stdout] test domain::primitive::notification::tests::bell_notification_parts_returns_cli_manager_and_task_completed ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::window_info_inequality_cwd_some_vs_none ... ok [INFO] [stdout] test domain::primitive::notification::tests::bell_summary_returns_bell ... ok [INFO] [stdout] test domain::primitive::notification::tests::debug_format_includes_variant_name ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::window_info_clone_equals_original ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::window_info_inequality_different_id ... ok [INFO] [stdout] test domain::primitive::notification::tests::different_variants_are_not_equal ... ok [INFO] [stdout] test domain::primitive::ipc_command::tests::window_info_inequality_different_cwd ... ok [INFO] [stdout] test domain::primitive::notification::tests::osc777_different_titles_are_not_equal ... ok [INFO] [stdout] test domain::primitive::notification::tests::external_can_be_constructed_with_title_and_body ... ok [INFO] [stdout] test domain::primitive::notification::tests::external_debug_format_includes_variant_name ... ok [INFO] [stdout] test domain::primitive::notification::tests::external_different_titles_are_not_equal ... ok [INFO] [stdout] test domain::primitive::notification::tests::external_different_bodies_are_not_equal ... ok [INFO] [stdout] test domain::primitive::notification::tests::external_empty_title_and_body ... ok [INFO] [stdout] test domain::primitive::notification::tests::external_notification_parts_returns_title_and_body ... ok [INFO] [stdout] test domain::primitive::notification::tests::external_summary_returns_body ... ok [INFO] [stdout] test domain::primitive::notification::tests::osc777_different_bodies_are_not_equal ... ok [INFO] [stdout] test domain::primitive::notification::tests::osc777_empty_title_and_body ... ok [INFO] [stdout] test domain::primitive::notification::tests::osc777_notification_parts_returns_title_and_body ... ok [INFO] [stdout] test domain::primitive::notification::tests::osc777_summary_returns_title ... ok [INFO] [stdout] test domain::primitive::notification::tests::external_is_not_equal_to_osc777_with_same_fields ... ok [INFO] [stdout] test domain::primitive::notification::tests::notification_event_clone_equals_original ... ok [INFO] [stdout] test domain::primitive::notification::tests::osc9_empty_message_notification_parts_returns_empty_body ... ok [INFO] [stdout] test domain::primitive::notification::tests::osc9_different_messages_are_not_equal ... ok [INFO] [stdout] test domain::primitive::notification::tests::osc9_empty_message_summary_returns_empty_str ... ok [INFO] [stdout] test domain::primitive::notification::tests::osc9_notification_parts_returns_cli_manager_and_message ... ok [INFO] [stdout] test domain::primitive::notification::tests::osc9_summary_returns_message ... ok [INFO] [stdout] test infrastructure::clipboard::tests::copy_to_clipboard_roundtrip_via_pbpaste ... ignored [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_capture_pane_missing_target ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_create_window_cmd_missing_value ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_create_window_no_options ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_capture_pane_roundtrip_with_protocol ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_create_window_name_missing_value ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_capture_pane_with_scrollback ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_create_window_with_name ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_create_window_roundtrip_with_protocol ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_create_window_with_name_and_cmd ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_kill_window_missing_target ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_kill_window ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_kill_window_roundtrip_with_protocol ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_create_window_unknown_option ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_capture_pane_without_scrollback ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_list_windows ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_create_window_with_cmd ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_list_windows_roundtrip_with_protocol ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_notify_empty_args ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_notify_body_only ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_notify_missing_body ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_notify_body_missing_value ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_notify_title_missing_value ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_notify_unknown_option ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_notify_roundtrip_with_protocol ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_notify_with_title_and_body ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_paste_buffer_missing_target ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_rename_window ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_paste_buffer ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_rename_window_missing_name ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_rename_window_missing_target ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_rename_window_name_missing_value ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_rename_window_roundtrip_with_protocol ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_select_window_missing_target ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_select_window ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_send_keys_empty_args ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_send_keys_missing_target ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_send_keys_no_keys ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_select_window_roundtrip_with_protocol ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_rename_window_unknown_option ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_send_keys_roundtrip_with_protocol ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_send_keys_single_key ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_set_buffer_empty ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_set_buffer ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_send_keys ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_unknown_subcommand_destroy ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::parse_target_and_rest_basic ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_set_buffer_multiple_words ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::parse_target_and_rest_invalid_id ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_unknown_subcommand ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::parse_target_and_rest_no_target_flag ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::build_request_show_buffer ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::parse_target_and_rest_raw_flag_skipped ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::parse_target_and_rest_missing_id ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::parse_target_and_rest_target_at_end ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::parse_target_and_rest_zero_id ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::parse_target_and_rest_negative_id ... ok [INFO] [stdout] test infrastructure::ipc::key_parser::tests::bspace_key ... ok [INFO] [stdout] test infrastructure::ipc::key_parser::tests::case_insensitive_ctrl_lowercase_prefix ... ok [INFO] [stdout] test infrastructure::ipc::key_parser::tests::case_insensitive_ctrl_uppercase_letter ... ok [INFO] [stdout] test infrastructure::ipc::key_parser::tests::case_insensitive_enter_uppercase ... ok [INFO] [stdout] test infrastructure::ipc::key_parser::tests::ctrl_c ... ok [INFO] [stdout] test infrastructure::ipc::key_parser::tests::case_insensitive_enter_lowercase ... ok [INFO] [stdout] test infrastructure::ipc::key_parser::tests::ctrl_no_letter_error ... ok [INFO] [stdout] test infrastructure::ipc::key_parser::tests::empty_array ... ok [INFO] [stdout] test infrastructure::ipc::key_parser::tests::ctrl_a ... ok [INFO] [stdout] test infrastructure::ipc::key_parser::tests::escape_then_q ... ok [INFO] [stdout] test infrastructure::ipc::key_parser::tests::ctrl_digit_error ... ok [INFO] [stdout] test infrastructure::ipc::key_parser::tests::japanese_text ... ok [INFO] [stdout] test infrastructure::ipc::key_parser::tests::ctrl_d ... ok [INFO] [stdout] test infrastructure::ipc::key_parser::tests::literal_text_with_enter ... ok [INFO] [stdout] test infrastructure::ipc::key_parser::tests::space_key ... ok [INFO] [stdout] test infrastructure::ipc::key_parser::tests::ctrl_z ... ok [INFO] [stdout] test infrastructure::ipc::key_parser::tests::tab_key ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::japanese_keys_in_send_keys ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_capture_pane_scrollback_defaults_to_false ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_capture_pane_with_scrollback ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::japanese_text_roundtrip_capture_pane ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_create_window_all_fields ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_create_window_no_optional_fields ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_invalid_json ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_capture_pane_without_scrollback ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_kill_window_missing_target ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_japanese_text_in_set_buffer ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_list_windows ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_missing_cmd_field ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_missing_keys_for_send_keys ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_missing_target_for_capture_pane ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_kill_window ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_missing_target_for_paste_buffer ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_missing_target_for_send_keys ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_missing_text_for_set_buffer ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_notify_missing_body_no_title_returns_error ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_notify_missing_body_returns_error ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_notify_with_title_and_body ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_notify_without_title ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_paste_buffer ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_rename_window ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_rename_window_missing_name ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_rename_window_missing_target ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_select_window ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_select_window_missing_target ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_send_keys ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_send_keys_empty_keys ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_set_buffer ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_set_buffer_empty_text ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_unknown_command ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::parse_show_buffer ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::serialize_capture_pane ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::serialize_capture_pane_without_cwd ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::serialize_create_window_response ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::serialize_buffer_with_text ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::serialize_buffer_without_text ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::serialize_japanese_text_in_buffer ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::serialize_error ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::serialize_list_windows_empty ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::serialize_list_windows ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::serialize_error_empty_message ... ok [INFO] [stdout] test infrastructure::ipc::protocol::tests::serialize_ok ... ok [INFO] [stdout] test infrastructure::ipc::socket_discovery::tests::read_nonexistent_file_returns_error ... ok [INFO] [stdout] test infrastructure::ipc::socket_discovery::tests::remove_nonexistent_file_no_panic ... ok [INFO] [stdout] test infrastructure::ipc::socket_discovery::tests::read_trims_whitespace ... ok [INFO] [stdout] test infrastructure::ipc::socket_discovery::tests::write_and_read_roundtrip ... ok [INFO] [stdout] test infrastructure::ipc::socket_discovery::tests::write_creates_directory_if_missing ... ok [INFO] [stdout] test infrastructure::ipc::unix_socket_server::tests::another_instance_running_error ... ok [INFO] [stdout] test infrastructure::ipc::socket_discovery::tests::write_sets_permissions_0600 ... ok [INFO] [stdout] test infrastructure::ipc::unix_socket_server::tests::drop_removes_socket_file ... ok [INFO] [stdout] test infrastructure::clipboard::tests::copy_to_clipboard_long_string_does_not_panic ... ok [INFO] [stdout] test infrastructure::clipboard::tests::copy_to_clipboard_multibyte_string_does_not_panic ... ok [INFO] [stdout] test infrastructure::clipboard::tests::copy_to_clipboard_normal_string_does_not_panic ... ok [INFO] [stdout] test infrastructure::clipboard::tests::copy_to_clipboard_empty_string_does_not_panic ... ok [INFO] [stdout] test infrastructure::clipboard::tests::copy_to_clipboard_newlines_does_not_panic ... ok [INFO] [stdout] test infrastructure::ipc::unix_socket_server::tests::poll_with_no_clients_returns_empty ... ok [INFO] [stdout] test infrastructure::ipc::socket_discovery::tests::discovery_file_path_ends_with_socket ... ok [INFO] [stdout] test infrastructure::ipc::socket_discovery::tests::discovery_dir_uses_home_env ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::send_request_with_invalid_socket_path ... ok [INFO] [stdout] test infrastructure::ipc::unix_socket_server::tests::server_creates_socket_file ... ok [INFO] [stdout] test infrastructure::ipc::unix_socket_server::tests::server_socket_permissions_are_0600 ... ok [INFO] [stdout] test infrastructure::ipc::unix_socket_server::tests::shutdown_removes_socket_file ... ok [INFO] [stdout] test infrastructure::ipc::unix_socket_server::tests::socket_path_returns_path ... ok [INFO] [stdout] test infrastructure::ipc::unix_socket_server::tests::stale_socket_cleanup ... ok [INFO] [stdout] test infrastructure::mcp::mcp_server::tests::empty_method_returns_error ... ok [INFO] [stdout] test infrastructure::mcp::mcp_server::tests::initialize_response_preserves_id ... ok [INFO] [stdout] test infrastructure::mcp::mcp_server::tests::initialize_response_preserves_string_id ... ok [INFO] [stdout] test infrastructure::mcp::mcp_server::tests::initialize_response_structure ... ok [INFO] [stdout] test infrastructure::mcp::mcp_server::tests::initialized_notification_returns_none ... ok [INFO] [stdout] test infrastructure::mcp::mcp_server::tests::missing_id_becomes_null ... ok [INFO] [stdout] test infrastructure::mcp::mcp_server::tests::null_id_is_preserved ... ok [INFO] [stdout] test infrastructure::mcp::mcp_server::tests::parse_error_has_null_id ... ok [INFO] [stdout] test infrastructure::mcp::mcp_server::tests::parse_error_structure ... ok [INFO] [stdout] test infrastructure::mcp::mcp_server::tests::ping_response ... ok [INFO] [stdout] test infrastructure::mcp::mcp_server::tests::tools_call_missing_params_name_returns_error ... ok [INFO] [stdout] test infrastructure::mcp::mcp_server::tests::tools_call_unknown_tool_returns_error ... ok [INFO] [stdout] test infrastructure::mcp::mcp_server::tests::tools_call_with_validation_error ... ok [INFO] [stdout] test infrastructure::mcp::mcp_server::tests::unknown_method_returns_error ... ok [INFO] [stdout] test infrastructure::mcp::mcp_server::tests::tools_list_response_structure ... ok [INFO] [stdout] test infrastructure::mcp::tool_definitions::tests::all_input_schemas_have_type_object ... ok [INFO] [stdout] test infrastructure::mcp::mcp_server::tests::tools_list_contains_all_tool_names ... ok [INFO] [stdout] test infrastructure::mcp::tool_definitions::tests::all_tools_have_name_and_description ... ok [INFO] [stdout] test infrastructure::mcp::tool_definitions::tests::all_input_schemas_have_properties_and_required ... ok [INFO] [stdout] test infrastructure::mcp::tool_definitions::tests::all_tools_have_string_name_and_description ... ok [INFO] [stdout] test infrastructure::mcp::tool_definitions::tests::buffer_get_has_no_required_fields ... ok [INFO] [stdout] test infrastructure::mcp::tool_definitions::tests::buffer_paste_requires_target ... ok [INFO] [stdout] test infrastructure::mcp::tool_definitions::tests::buffer_set_requires_text ... ok [INFO] [stdout] test infrastructure::mcp::tool_definitions::tests::notify_has_title_and_body_properties ... ok [INFO] [stdout] test infrastructure::ipc::unix_socket_server::tests::client_sends_send_keys_command ... ok [INFO] [stdout] test infrastructure::mcp::tool_definitions::tests::notify_requires_body ... ok [INFO] [stdout] test infrastructure::ipc::unix_socket_server::tests::invalid_json_returns_error_response ... ok [INFO] [stdout] test infrastructure::ipc::unix_socket_server::tests::connection_id_starts_at_one ... ok [INFO] [stdout] test infrastructure::ipc::unix_socket_server::tests::client_sends_command_poll_returns_it ... ok [INFO] [stdout] test infrastructure::mcp::tool_definitions::tests::terminal_capture_requires_target ... ok [INFO] [stdout] test infrastructure::mcp::tool_definitions::tests::terminal_create_has_no_required_fields ... ok [INFO] [stdout] test infrastructure::mcp::tool_definitions::tests::terminal_create_has_optional_name_and_command_properties ... ok [INFO] [stdout] test infrastructure::mcp::tool_definitions::tests::terminal_capture_has_include_scrollback_boolean_property ... ok [INFO] [stdout] test infrastructure::mcp::tool_definitions::tests::target_properties_are_integer_type ... ok [INFO] [stdout] test infrastructure::mcp::tool_definitions::tests::terminal_list_has_no_required_fields ... ok [INFO] [stdout] test infrastructure::mcp::tool_definitions::tests::terminal_kill_requires_target ... ok [INFO] [stdout] test infrastructure::mcp::tool_definitions::tests::terminal_rename_requires_target_and_name ... ok [INFO] [stdout] test infrastructure::mcp::tool_definitions::tests::terminal_select_requires_target ... ok [INFO] [stdout] test infrastructure::mcp::tool_definitions::tests::terminal_send_keys_has_keys_array_property ... ok [INFO] [stdout] test infrastructure::mcp::tool_definitions::tests::tool_definitions_returns_11_tools ... ok [INFO] [stdout] test infrastructure::mcp::tool_definitions::tests::tool_names_are_correct ... ok [INFO] [stdout] test infrastructure::mcp::tool_definitions::tests::tool_names_are_unique ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::build_buffer_paste_command ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::build_buffer_get_command ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::build_buffer_paste_missing_target ... ok [INFO] [stdout] test infrastructure::mcp::tool_definitions::tests::terminal_send_keys_requires_target_and_keys ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::build_buffer_set_missing_text ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::build_buffer_set_command ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::build_notify_empty_args ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::build_notify_body_only ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::build_notify_missing_body ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::build_notify_with_title_and_body ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::build_terminal_capture_missing_target ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::build_terminal_capture_with_scrollback ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::build_terminal_capture_without_scrollback ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::build_terminal_create_no_args ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::build_terminal_create_with_name_and_command ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::build_terminal_kill_command ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::build_terminal_list_command ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::build_terminal_kill_missing_target ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::build_terminal_rename_command ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::build_terminal_rename_missing_target ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::build_terminal_select_missing_target ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::build_terminal_send_keys_command ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::build_terminal_select_command ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::build_terminal_rename_missing_name ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::send_request_without_env_var_or_discovery ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::build_terminal_send_keys_missing_keys ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::build_terminal_send_keys_missing_target ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::build_unknown_tool ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::format_error_response ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::format_error_response_without_error_field ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::format_ok_response_with_array_data ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::format_ok_response_without_data ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::format_ok_response_with_data ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::format_response_missing_ok_field ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::handle_buffer_set_no_text ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::handle_notify_no_body ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::handle_terminal_kill_no_target ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::handle_terminal_list_no_running_instance ... ok [INFO] [stdout] test infrastructure::mcp::mcp_server::tests::tools_call_response_has_correct_structure ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::handle_unknown_tool ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::missing_param_error_format ... ok [INFO] [stdout] test infrastructure::notification::macos_notifier::tests::new_creates_enabled_notifier ... ok [INFO] [stdout] test infrastructure::mcp::tool_handlers::tests::handle_terminal_rename_no_name ... ok [INFO] [stdout] test infrastructure::notification::macos_notifier::tests::new_creates_notifier_with_1s_cooldown ... ok [INFO] [stdout] test infrastructure::notification::macos_notifier::tests::notify_allows_different_terminals_within_cooldown ... ok [INFO] [stdout] test infrastructure::ipc::cli_client::tests::send_request_falls_back_to_discovery_file ... ok [INFO] [stdout] test infrastructure::notification::macos_notifier::tests::notify_does_not_record_timestamp_when_disabled ... ok [INFO] [stdout] test infrastructure::notification::macos_notifier::tests::notify_rate_limit_does_not_update_timestamp ... ok [INFO] [stdout] test infrastructure::notification::macos_notifier::tests::new_creates_notifier_with_empty_last_notify_map ... ok [INFO] [stdout] test infrastructure::notification::macos_notifier::tests::notify_rate_limits_independently_per_terminal ... ok [INFO] [stdout] test infrastructure::notification::macos_notifier::tests::notify_rate_limits_same_terminal_within_cooldown ... ok [INFO] [stdout] test infrastructure::notification::macos_notifier::tests::notify_records_timestamp_on_successful_attempt ... ok [INFO] [stdout] test infrastructure::notification::macos_notifier::tests::notify_returns_false_when_disabled ... ok [INFO] [stdout] test infrastructure::notification::macos_notifier::tests::notify_returns_true_on_first_call_for_terminal ... ok [INFO] [stdout] test infrastructure::notification::macos_notifier::tests::notify_with_empty_terminal_name ... ok [INFO] [stdout] test infrastructure::notification::macos_notifier::tests::notify_works_with_osc777_event ... ok [INFO] [stdout] test infrastructure::notification::macos_notifier::tests::notify_works_with_osc9_event ... ok [INFO] [stdout] test infrastructure::notification::macos_notifier::tests::set_enabled_false_disables_notifier ... ok [INFO] [stdout] test infrastructure::notification::macos_notifier::tests::set_enabled_true_re_enables_notifier ... ok [INFO] [stdout] test infrastructure::screen::osc7::tests::parse_basic_path ... ok [INFO] [stdout] test infrastructure::screen::osc7::tests::parse_file_only ... ok [INFO] [stdout] test infrastructure::screen::osc7::tests::parse_empty_hostname ... ok [INFO] [stdout] test infrastructure::screen::osc7::tests::parse_empty_string ... ok [INFO] [stdout] test infrastructure::screen::osc7::tests::parse_invalid_percent_encoding ... ok [INFO] [stdout] test infrastructure::screen::osc7::tests::parse_no_file_prefix ... ok [INFO] [stdout] test infrastructure::screen::osc7::tests::parse_percent_encoded_japanese ... ok [INFO] [stdout] test infrastructure::screen::osc7::tests::parse_percent_encoded_space ... ok [INFO] [stdout] test infrastructure::screen::osc7::tests::parse_root_path ... ok [INFO] [stdout] test infrastructure::screen::osc7::tests::parse_with_hostname ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::alternate_screen_default_false ... ok [INFO] [stdout] test infrastructure::notification::macos_notifier::tests::notify_allows_after_cooldown_expires ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::application_cursor_keys_default_false ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::bg_indexed_color ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::alternate_screen_false_after_switch_back ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::bel_as_osc_terminator_not_treated_as_standalone_bell ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::bg_rgb_color ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::application_cursor_keys_enable ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::alternate_screen_true_after_switch ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::bold_attribute ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::bel_triggers_bell_notification ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::bracketed_paste_default_false ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::application_cursor_keys_disable ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::cache_updated_after_resize ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::bracketed_paste_enable ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::alternate_screen_buffer ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::create_initializes_blank_screen ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::cache_reflects_multiple_process_calls ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::bracketed_paste_disable ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::cursor_style_blinking_block ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::cache_updated_after_process ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::cursor_style_blinking_bar ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::cursor_movement_csi ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::cursor_style_nonexistent_returns_error ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::cursor_style_blinking_underline ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::create_duplicate_overwrites ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::cursor_style_reset_to_default ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::cursor_style_steady_bar ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::cursor_style_steady_block ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::cursor_visible_after_hide ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::cursor_style_steady_underline ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::cwd_nonexistent_returns_error ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::cursor_visible_default_true ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::cursor_style_independent_per_terminal ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::cwd_none_by_default ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::cwd_bell_terminated ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::cursor_style_default ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::cursor_style_updated_multiple_times ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::cursor_visible_after_show ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::cache_size_matches_terminal_size ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::drain_notifications_nonexistent_returns_error ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::drain_notifications_empty_by_default ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::cwd_set_by_osc7 ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::dsr_nonexistent_returns_error ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::dim_attribute ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::drain_clears_notification_queue ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::default_color ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::cwd_preserved_after_other_output ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::dsr_after_text_output ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::cwd_updated_on_second_osc7 ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::dsr_query_after_cursor_move ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::dsr_query_generates_cursor_position_response ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::cwd_independent_per_terminal ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::dsr_drain_clears_queue ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::dsr_independent_per_terminal ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::dsr_no_query_returns_empty ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::fg_indexed_color ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::fg_rgb_color ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::get_cursor_after_text ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::get_cursor_nonexistent_returns_error ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::get_row_cells_content_correctness_with_attributes ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::get_cells_nonexistent_returns_error ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::get_row_cells_out_of_range_returns_empty ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::get_row_cells_screen_not_found_error ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::get_row_cells_preserves_scrollback_offset ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::fg_256_color ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::get_row_cells_visible_screen_row ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::get_row_cells_scrollback_buffer_row ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::erase_in_display_clears_cells ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::get_cursor_initial_position ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::hidden_always_false ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::italic_attribute ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::multiple_bels_trigger_multiple_bell_notifications ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::normal_char_width_1 ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::osc777_with_bel_terminator ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::osc9_empty_message ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::mixed_notifications_collected_in_order ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::newline_advances_cursor_row ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::osc777_triggers_notification ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::process_nonexistent_returns_error ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::osc777_too_few_params_ignored ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::osc777_missing_notify_keyword_ignored ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::remove_nonexistent_returns_error ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::osc9_with_bel_terminator ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::new_output_while_scrolled_flag ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::resize_nonexistent_returns_error ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::process_updates_cells ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::notifications_independent_per_terminal ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::scrollback_content_shows_history ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::resize_changes_dimensions ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::remove_removes_screen ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::multiple_terminals_independent ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::osc9_triggers_notification ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::scrollback_nonexistent_returns_error ... ok [INFO] [stdout] test infrastructure::ipc::unix_socket_server::tests::multiple_clients_sequential ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::scrollback_max_grows_with_output ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::resize_shrink_preserves_content_in_range ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::scrollback_max_zero_with_no_history ... ok [INFO] [stdout] test infrastructure::ipc::unix_socket_server::tests::response_sent_to_client ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::reverse_attribute ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::scrollback_offset_default_zero ... ok [INFO] [stdout] test infrastructure::ipc::unix_socket_server::tests::send_response_with_data ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::scrollback_independent_per_terminal ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::search_basic_match_on_visible_screen ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::search_empty_query_returns_empty ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::search_multiple_matches_on_same_line ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::search_nonexistent_terminal_returns_error ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::search_scrollback_and_visible_combined ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::search_multiple_lines ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::search_case_insensitive ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::search_scrollback_buffer_content ... ok [INFO] [stdout] test infrastructure::ipc::unix_socket_server::tests::connection_ids_increment ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::set_scrollback_offset_clamped_to_max ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::title_none_by_default ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::search_row_numbering_scrollback_top_is_zero ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::search_scrollback_preserves_offset ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::search_overlapping_pattern_finds_all ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::set_scrollback_nonexistent_returns_error ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::alternate_screen_cursor_reset_to_origin ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::search_no_match_returns_empty ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::sgr_reset_clears_attributes ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::underline_attribute ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::search_wide_char_correct_columns ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::set_scrollback_offset_changes_view ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::wide_char_continuation ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::search_wide_char_after_ascii ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::wide_char_width_2 ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::strikethrough_always_false ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::title_nonexistent_returns_error ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::alternate_screen_saves_and_restores_scroll_region ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::alternate_screen_scroll_region_reset_allows_full_screen_scroll ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::auto_wrap_scroll_respects_scroll_region ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::bel_detected_as_bell_notification ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::alternate_screen_writes_do_not_affect_primary ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::create_initializes_correct_size_grid ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::cell_default_in_grid_has_width_one ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::create_multiple_screens ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::create_initializes_all_cells_to_default ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::csi_1047h_and_1047l_switches_alternate_screen ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::csi_1049h_and_1049l_switches_alternate_screen ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::create_initializes_cursor_at_origin ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::csi_cha_moves_cursor_to_absolute_column ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::csi_47h_and_47l_switches_alternate_screen ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::csi_dch_deletes_characters_shifting_left ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::csi_dl_default_param_is_one ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::csi_dl_deletes_line_and_inserts_blank_at_bottom_of_scroll_region ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::csi_ich_inserts_characters_pushing_end_off_line ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::csi_ech_cursor_does_not_move_explicit ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::csi_il_default_param_is_one ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::csi_ech_erases_characters_without_moving_cursor ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::csi_rcp_without_save_does_nothing ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::csi_scp_rcp_saves_and_restores_cursor ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::csi_sd_scrolls_down_within_scroll_region ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::csi_su_scrolls_up_within_scroll_region ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::csi_vpa_moves_cursor_to_absolute_row ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::cwd_none_by_default ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::cwd_nonexistent_returns_error ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::cwd_preserved_after_other_output ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::csi_il_inserts_line_and_removes_bottom_of_scroll_region ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::cwd_updated_on_second_osc7 ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::cwd_set_by_osc7 ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::cwd_independent_per_terminal ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::dec_private_mode_application_cursor_keys_default_false ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::cwd_bell_terminated ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::dec_private_mode_application_cursor_keys_disable ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::dec_private_mode_application_cursor_keys_enable ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::dec_private_mode_autowrap_default_true ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::dec_private_mode_autowrap_enable ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::decstbm_invalid_params_ignored ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::dec_private_mode_cursor_visible_show ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::dec_private_mode_bracketed_paste_disable ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::decstbm_outside_rows_unaffected ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::dec_private_mode_autowrap_disable ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::dec_private_mode_bracketed_paste_enable ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::decstbm_reset_with_no_params ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::decstbm_scroll_only_within_region ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::dec_private_mode_cursor_visible_hide ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::drain_notifications_clears_queue ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::double_enter_alternate_screen_is_stable ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::decstbm_sets_scroll_region ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::dec_private_mode_cursor_visible_default_true ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::decstbm_moves_cursor_to_home ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::dec_private_mode_bracketed_paste_default_false ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::esc_ri_moves_cursor_up_one_line ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::enter_alternate_screen_saves_primary_and_clears_buffer ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::get_application_cursor_keys_nonexistent_returns_error ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::esc_decrc_without_prior_save_does_nothing ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::esc_decsc_decrc_restores_all_sgr_attributes ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::esc_decsc_decrc_saves_and_restores_cursor_and_sgr ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::esc_ind_at_last_row_triggers_scroll_up ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::esc_ind_at_scroll_bottom_triggers_scroll_up ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::esc_ind_moves_cursor_down_one_line ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::esc_nel_at_scroll_bottom_scrolls_up ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::esc_nel_moves_to_start_of_next_line ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::esc_ri_at_scroll_top_triggers_scroll_down ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::get_application_cursor_keys_returns_false_after_decckm_reset ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::get_application_cursor_keys_returns_false_by_default ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::get_application_cursor_keys_returns_true_after_decckm_set ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::get_bracketed_paste_nonexistent_returns_error ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::get_bracketed_paste_returns_false_after_disable ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::get_bracketed_paste_returns_false_by_default ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::get_bracketed_paste_returns_true_after_enable ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::get_cells_nonexistent_returns_error ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::get_cursor_nonexistent_returns_error ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::get_cursor_visible_nonexistent_returns_error ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::get_cursor_visible_returns_false_after_hide ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::get_cursor_visible_returns_true_by_default ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::esc_ri_at_row_zero_stays ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::get_title_returns_error_for_unknown_screen ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::is_alternate_screen_reflects_state ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::leave_alternate_screen_restores_primary ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::mixed_narrow_and_wide_chars ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::multiple_wide_chars_in_sequence ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::normal_char_has_width_one_in_cell ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::osc777_notification_detected ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::osc777_with_insufficient_params_is_ignored ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::osc9_notification_detected ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::osc9_without_message_is_ignored ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::osc_0_sets_title ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::osc_2_sets_title ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::osc_title_initially_none ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::osc_title_overwritten_by_subsequent_set ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::osc_unknown_command_ignored ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_backspace_at_col_zero_stays_at_zero ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_backspace_moves_cursor_left ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_carriage_return_moves_cursor_to_col_zero ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_combined_text_and_control_sequences ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_crlf_moves_to_start_of_next_line ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_auto_wraps_at_end_of_line ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_csi_cursor_backward ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_advances_cursor_after_print ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_csi_cursor_down_clamps_at_bottom ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_csi_cursor_forward ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_csi_cursor_movement_default_param_is_one ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_csi_cursor_position ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_csi_cursor_position_clamps_to_screen_bounds ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_csi_cursor_position_defaults ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_csi_cursor_position_with_f ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_csi_cursor_down ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_csi_cursor_up ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_csi_cursor_up_clamps_at_zero ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_erase_display_from_cursor ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_erase_display_to_cursor ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_erase_entire_line ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_incremental_calls_preserve_state ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_linefeed_moves_cursor_down ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_erase_default_param ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_erase_line_from_cursor ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_erase_line_to_cursor ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_on_nonexistent_screen_returns_error ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_erase_entire_display ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_erase_line_default_param ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_sgr_bold_and_underline ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_csi_cursor_backward_clamps_at_zero ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_scroll_via_linefeed_at_bottom ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_sgr_bright_background_colors ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_sgr_bright_foreground_colors ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_sgr_default_background ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_scrolls_when_cursor_exceeds_bottom ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_sgr_default_foreground ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_sgr_22_disables_bold_and_dim ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_sgr_dim ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_sgr_disable_bold_and_underline ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_sgr_empty_params_resets ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_sgr_empty_params_resets_all_new_attributes ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_sgr_256_color_background ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_sgr_256_color_foreground ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_prints_characters_at_correct_positions ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_sgr_new_attributes_persist_across_calls ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_sgr_not_hidden ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_sgr_not_reverse ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_sgr_hidden ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_sgr_not_strikethrough ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_sgr_reset ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_sgr_reset_clears_all_new_attributes ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_sgr_italic ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_sgr_multiple_new_attributes_combined ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_sgr_reverse ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_sgr_rgb_foreground ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_sgr_not_italic ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_sgr_rgb_background ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_sgr_standard_foreground_colors ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_sgr_state_persists_across_calls ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_sgr_strikethrough ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_tab_advances_to_next_tab_stop ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_tab_clamps_to_last_col ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::remove_nonexistent_screen_returns_error ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::remove_does_not_affect_other_screens ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::remove_removes_screen ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::resize_clamps_cursor ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::resize_grows_rows_and_cols ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::resize_nonexistent_screen_returns_error ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::resize_resets_scroll_region ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::resize_shrinks_rows_and_cols ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::scroll_down_works_correctly ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::scrollback_max_always_zero ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::scrollback_offset_always_zero ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::process_sgr_standard_background_colors ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::set_scrollback_offset_noop ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::remove_screen_while_in_alternate_does_not_panic ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::two_consecutive_bels_queued ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::wide_char_consumes_two_cells ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::wide_char_at_exact_line_end_wraps_correctly ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::wide_char_continuation_cell_has_width_zero ... ok [INFO] [stdout] test infrastructure::screen::vte_screen::tests::wide_char_wraps_when_at_last_column ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::active_scrollback_id_main_returns_active_terminal_id ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::active_scrollback_id_main_returns_none_when_no_active ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::active_scrollback_id_mini_returns_mini_terminal_id ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::active_scrollback_id_none_returns_none ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::build_search_items_formats_correctly ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::build_search_items_includes_memo_when_present ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::build_search_items_trims_trailing_whitespace ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::clamp_selected_at_boundary ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::clamp_selected_exceeds_range ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::clamp_selected_with_empty_list ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::clamp_selected_with_single_item ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::clamp_selected_within_range ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::dialog_state_quick_switch_stores_query ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::dialog_state_quick_switch_variant_exists ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::enter_scrollback_mini_focused_but_alt_screen ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::enter_scrollback_mini_focused_but_no_history ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::enter_scrollback_mini_focused_but_not_spawned ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::enter_scrollback_mini_focused_spawned_with_history ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::enter_scrollback_sidebar_focused_with_main_history ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::enter_scrollback_terminal_focused_but_alt_screen ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::enter_scrollback_terminal_focused_but_no_history ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::enter_scrollback_terminal_focused_no_terminal ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::enter_scrollback_terminal_focused_with_history ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::enter_visual_char_initial_pos_from_scrollback_cursor ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::enter_visual_char_sets_selection_state_and_mode ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::enter_visual_line_sets_selection_state_and_mode ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::exit_scrollback_clears_selection_state ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::exit_scrollback_with_confirmed_search_clears_search_first ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::enter_visual_line_initial_pos_uses_cursor_row_col_zero ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::exit_scrollback_without_search_exits_scrollback ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::extract_text_ascii_multi_line ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::exit_scrollback_main_restores_normal_mode ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::extract_text_character_selection_single_line ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::esc_in_visual_mode_clears_selection_and_returns_to_scrollback ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::exit_scrollback_with_unconfirmed_search_clears_search_first ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::extract_text_character_selection_two_lines ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::extract_text_empty_cells_trimmed ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::extract_text_empty_lines_in_middle_preserved ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::extract_text_empty_range_returns_empty_string ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::extract_text_end_col_beyond_row_len_clamped ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::extract_text_end_row_beyond_cells_len ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::extract_text_ascii_single_line ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::extract_text_character_selection_multi_line ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::extract_text_narrow_and_wide_mixed ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::exit_scrollback_mini_restores_mini_terminal_input_mode ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::exit_scrollback_none_is_noop ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::extract_text_partial_row_range ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::extract_text_start_row_equals_end_row_returns_empty ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::extract_text_start_row_greater_than_end_row_returns_empty ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::extract_text_trailing_empty_lines_removed ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::extract_text_wide_characters ... ok [INFO] [stdout] test infrastructure::ipc::socket_discovery::tests::write_read_remove_integration ... FAILED [INFO] [stdout] test infrastructure::tui::app_runner::tests::focus_pane_mini_terminal_is_copy_and_clone ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::focus_pane_mini_terminal_is_not_sidebar ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::extract_text_trailing_whitespace_trimmed ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::focus_pane_mini_terminal_is_not_terminal ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::focus_pane_mini_terminal_variant_exists ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::extract_text_wide_char_in_character_selection ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_capture_pane_empty_screen ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_capture_pane_unknown_terminal_returns_error ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_create_window_with_name ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_kill_window_not_found ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_create_window_returns_id ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_capture_pane_returns_text_and_metadata ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_kill_window_success ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_capture_pane_with_cwd_from_screen ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_list_windows_empty ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_list_windows_has_cwd ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_list_windows_with_active_flag ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_notify_with_title_returns_ok ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_list_windows_multiple_terminals ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_notify_empty_body_returns_ok ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_list_windows_cwd_falls_back_to_terminal_cwd ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_capture_pane_with_cursor_position ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_capture_pane_with_scrollback_flag ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_notify_without_title_returns_ok ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_paste_buffer_empty_buffer_returns_error ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_paste_buffer_unknown_terminal_returns_error ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_paste_buffer_with_bracketed_paste ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_paste_buffer_without_bracketed_paste ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_paste_buffer_writes_text_to_pty ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_select_window_success ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_rename_window_not_found ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_rename_window_success ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_select_window_not_found ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_send_keys_unknown_terminal_returns_error ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_set_buffer_empty_text ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_set_buffer_overwrites_existing ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_set_buffer_stores_text ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_set_then_show_buffer_roundtrip ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_send_keys_parse_error_returns_error ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_show_buffer_does_not_modify_yank_buffer ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_show_buffer_empty_returns_none ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_send_keys_writes_to_pty ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_show_buffer_returns_text ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::ipc_send_keys_empty_keys_returns_ok_without_write ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::main_scrollback_check_only_matches_main_target ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_cleanup_does_nothing_when_not_spawned ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_cleanup_kills_pty_when_spawned ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_cleanup_removes_screen_when_spawned ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_read_error_hides_mini_terminal ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_read_error_preserves_focus_when_on_sidebar ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_read_error_preserves_scrollback_target_when_not_scrolling ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_read_error_preserves_focus_when_on_terminal ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_read_error_resets_focus_when_focused_on_mini ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_read_error_resets_scrollback_target_when_scrolling_mini ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_read_error_preserves_scrollback_target_when_scrolling_main ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_terminal_exit_does_not_clear_search_if_searching_main ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_scrollback_check_only_matches_mini_target ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_terminal_exit_clears_search_if_searching_mini ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_terminal_exit_noop_if_no_search ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_terminal_resize_handles_minimum_area ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_terminal_state_new_uses_u32_max_for_terminal_id ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_terminal_state_toggle_makes_visible ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_terminal_state_toggle_three_times_is_visible ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_terminal_state_toggle_twice_returns_to_hidden ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_terminal_height_constant_is_10 ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_try_wait_exit_hides_mini_terminal ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_read_error_resets_both_scrollback_and_focus ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_try_wait_exit_preserves_scrollback_target_when_not_scrolling ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_try_wait_exit_preserves_scrollback_target_when_scrolling_main ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_terminal_resize_subtracts_borders ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_terminal_state_new_defaults_to_not_spawned ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_terminal_state_new_defaults_to_not_visible ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_terminal_resize_handles_small_width ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_try_wait_exit_resets_both_scrollback_and_focus ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_try_wait_not_spawned_is_noop ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_try_wait_no_exit_preserves_scrollback_target ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_try_wait_exit_resets_focus_when_focused ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::page_size_for_main_terminal_uses_main_rows ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::page_size_for_mini_terminal_uses_mini_height ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::page_size_for_none_uses_main_rows ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::paste_data_empty_text_with_bracketed_mode ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::paste_data_empty_text_without_bracketed_mode ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_try_wait_exit_resets_scrollback_target_when_scrolling_mini ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::paste_routes_to_main_when_focused_but_not_spawned ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::paste_data_with_bracketed_mode_wraps_text ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::mini_try_wait_no_exit_keeps_state ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::paste_routes_to_main_when_terminal_focused ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::paste_routes_to_main_when_nothing_spawned_and_terminal_focused ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::paste_routes_to_mini_when_focused_and_spawned ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::paste_routes_to_main_when_sidebar_focused ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::paste_data_without_bracketed_mode_is_raw ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::qs_backspace_at_start_is_noop ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::qs_backspace_removes_last_char ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::qs_backspace_resets_selected_index_when_effective ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::qs_char_input_appends_to_existing_query ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::qs_ctrl_k_decrements_selected_index ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::qs_char_input_resets_selected_index ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::qs_ctrl_j_increments_selected_index ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::qs_down_increments_selected_index ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::qs_ctrl_k_stays_at_zero ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::qs_enter_returns_none_when_no_matches ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::qs_enter_returns_none_when_no_items ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::qs_enter_clamps_index_when_exceeds_filtered ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::qs_enter_selects_second_item ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::qs_char_input_appends_to_empty_query ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::qs_enter_with_query_filters_items ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::qs_up_decrements_selected_index ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::qs_esc_closes_dialog ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::qs_up_stays_at_zero ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scroll_down_decreases_offset ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scroll_down_to_zero_triggers_exit ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scroll_page_down_main_terminal ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scroll_page_down_mini_terminal_exits_at_bottom ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scroll_page_down_mini_terminal ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scroll_page_up_mini_terminal ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scroll_up_clamps_to_max ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scroll_down_at_zero_triggers_exit ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scroll_page_up_main_terminal ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_content_rows_mini_terminal_subtracts_4 ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_content_rows_main_terminal_saturates_at_zero ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scroll_page_up_mini_terminal_clamps_to_max ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::qs_enter_selects_first_item_when_no_query ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_content_rows_mini_terminal_ignores_size ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_content_rows_main_terminal_small_size ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_content_rows_main_terminal_subtracts_3 ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scroll_up_increases_offset ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_content_rows_none_uses_main_terminal_formula ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::resize_event_computes_layout_without_mini_visible ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_cursor_bottom_sets_row_to_total_minus_one ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_cursor_down_clamps_at_total_rows_minus_one ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_cursor_down_increments_row ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_cursor_left_clamps_at_zero ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_cursor_line_end_sets_col_to_last ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_cursor_line_start_sets_col_to_zero ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_cursor_reset_on_exit ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_cursor_left_decrements_col ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_cursor_right_clamps_at_max_col ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_cursor_right_increments_col ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_cursor_default_is_zero ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_cursor_up_clamps_at_row_zero ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_cursor_top_sets_row_zero_col_zero ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::resize_event_computes_layout_with_mini_visible ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_cursor_up_decrements_row ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_target_debug_format ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_target_enter_main_sets_some_main ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_target_exit_sets_none ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_target_initial_value_is_none ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_target_is_copy_and_clone ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_target_is_some_replaces_bool_check ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_target_main_is_not_mini ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_target_main_terminal_variant_exists ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_target_mini_terminal_variant_exists ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_target_none_means_no_scrollback ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_target_some_main_means_main_scrollback ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::scrollback_target_some_mini_means_mini_scrollback ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::search_state_match_info_empty_query_returns_none ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::search_state_match_info_first_match ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::search_state_match_info_nonempty_query_no_matches_returns_zero_zero ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::search_state_match_info_with_matches_and_current_index ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::search_state_match_info_with_matches_no_current ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::search_state_new_has_empty_query ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::selection_mode_character_is_not_line ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::selection_mode_character_variant_exists ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::selection_mode_is_copy_and_clone ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::selection_mode_line_variant_exists ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::selection_pos_debug_format ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::selection_pos_is_copy_and_clone ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::selection_pos_stores_row_and_col ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::selection_state_new_line_mode ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::selection_state_new_sets_anchor_and_cursor_equal ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::selection_state_new_sets_anchor_and_cursor_to_same_position ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::selection_state_new_sets_mode ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::selection_state_ordered_anchor_before_cursor_different_rows ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::selection_state_ordered_anchor_before_cursor_same_row ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::selection_state_ordered_cursor_before_anchor_different_rows ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::selection_state_ordered_cursor_before_anchor_same_row ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::selection_state_ordered_equal_positions ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::selection_state_ordered_same_position ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::selection_state_ordered_same_row_anchor_col_before_cursor_col ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::selection_state_ordered_same_row_cursor_col_before_anchor_col ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::selection_state_ordered_when_anchor_before_cursor ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::selection_state_ordered_when_cursor_before_anchor ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::toggle_focus_from_mini_terminal_stays_on_mini_terminal ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::toggle_focus_from_sidebar_goes_to_terminal ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::toggle_focus_from_terminal_goes_to_sidebar ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::toggle_mini_focus_elsewhere_then_toggle_does_not_close ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::toggle_mini_full_cycle_open_close_reopen ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::toggle_mini_not_visible_from_sidebar_opens_and_focuses ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::toggle_mini_not_visible_opens_and_focuses ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::toggle_mini_visible_and_focused_closes_and_returns_to_terminal ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::toggle_mini_visible_but_sidebar_focused_moves_focus_to_mini ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::toggle_mini_visible_but_terminal_focused_moves_focus_to_mini ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::visual_character_mode_dollar_sets_col_to_last ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::visual_character_mode_h_at_col_zero_saturates ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::visual_character_mode_h_decrements_col ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::visual_character_mode_l_increments_col ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::visual_character_mode_zero_sets_col_to_zero ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::visual_cursor_clamps_down_at_bottom ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::visual_cursor_clamps_left_at_zero ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::visual_cursor_clamps_right_at_end ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::visual_cursor_clamps_up_at_zero ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::visual_cursor_end_sets_col_to_last ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::visual_cursor_home_sets_col_zero ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::visual_cursor_moves_down ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::visual_cursor_moves_left ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::visual_cursor_moves_right ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::visual_cursor_moves_up ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::visual_line_mode_dollar_does_not_change_col ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::visual_line_mode_h_at_col_zero_stays_zero ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::visual_line_mode_h_does_not_change_col ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::visual_line_mode_l_does_not_change_col ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::visual_line_mode_zero_does_not_change_col ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::visual_page_down_moves_cursor_down_by_page ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::visual_page_up_moves_cursor_up_by_page ... ok [INFO] [stdout] test infrastructure::tui::app_runner::tests::yank_in_visual_mode_clears_selection_and_returns_to_scrollback ... ok [INFO] [stdout] test infrastructure::tui::fuzzy_matcher::tests::basic_subsequence_match ... ok [INFO] [stdout] test infrastructure::tui::fuzzy_matcher::tests::case_insensitive_match ... ok [INFO] [stdout] test infrastructure::tui::fuzzy_matcher::tests::consecutive_scores_higher_than_non_consecutive ... ok [INFO] [stdout] test infrastructure::tui::fuzzy_matcher::tests::empty_query_no_match ... ok [INFO] [stdout] test infrastructure::tui::fuzzy_matcher::tests::empty_target_no_match ... ok [INFO] [stdout] test infrastructure::tui::fuzzy_matcher::tests::filter_and_sort_empty_query_returns_all ... ok [INFO] [stdout] test infrastructure::tui::fuzzy_matcher::tests::filter_and_sort_filters_non_matching ... ok [INFO] [stdout] test infrastructure::tui::fuzzy_matcher::tests::filter_and_sort_sorts_by_score ... ok [INFO] [stdout] test infrastructure::tui::fuzzy_matcher::tests::head_match_scores_higher ... ok [INFO] [stdout] test infrastructure::tui::fuzzy_matcher::tests::japanese_chars_no_crash ... ok [INFO] [stdout] test infrastructure::tui::fuzzy_matcher::tests::positions_are_char_indices ... ok [INFO] [stdout] test infrastructure::tui::fuzzy_matcher::tests::no_match ... ok [INFO] [stdout] test infrastructure::tui::input::tests::application_cursor_keys_flag_toggle ... ok [INFO] [stdout] test infrastructure::tui::fuzzy_matcher::tests::separator_bonus ... ok [INFO] [stdout] test infrastructure::tui::input::tests::check_timeout_in_dialog_mode_returns_none ... ok [INFO] [stdout] test infrastructure::tui::input::tests::check_timeout_in_normal_mode_returns_none ... ok [INFO] [stdout] test infrastructure::tui::input::tests::check_timeout_in_prefix_wait_within_threshold_returns_none ... ok [INFO] [stdout] test infrastructure::tui::input::tests::dialog_input_returns_none_for_any_key ... ok [INFO] [stdout] test infrastructure::tui::input::tests::dialog_input_returns_none_for_ctrl_b ... ok [INFO] [stdout] test infrastructure::tui::input::tests::dialog_input_returns_none_for_enter ... ok [INFO] [stdout] test infrastructure::tui::input::tests::dialog_input_stays_in_dialog_mode ... ok [INFO] [stdout] test infrastructure::tui::input::tests::full_flow_dialog_mode_ignores_keys_then_resumes ... ok [INFO] [stdout] test infrastructure::tui::input::tests::full_flow_double_ctrl_b_sends_literal ... ok [INFO] [stdout] test infrastructure::tui::input::tests::full_flow_prefix_cancel_then_resume_normal ... ok [INFO] [stdout] test infrastructure::tui::input::tests::full_flow_prefix_create_then_normal_typing ... ok [INFO] [stdout] test infrastructure::tui::input::tests::help_view_mode_ignores_ctrl_b ... ok [INFO] [stdout] test infrastructure::tui::input::tests::help_view_mode_returns_none_for_any_key ... ok [INFO] [stdout] test infrastructure::tui::input::tests::help_view_mode_stays_in_mode ... ok [INFO] [stdout] test infrastructure::tui::input::tests::key_to_bytes_ctrl_d ... ok [INFO] [stdout] test infrastructure::tui::input::tests::key_to_bytes_ctrl_l ... ok [INFO] [stdout] test infrastructure::tui::input::tests::key_to_bytes_ctrl_uppercase_a_returns_same_as_lowercase ... ok [INFO] [stdout] test infrastructure::tui::input::tests::key_to_bytes_digit ... ok [INFO] [stdout] test infrastructure::tui::input::tests::key_to_bytes_space ... ok [INFO] [stdout] test infrastructure::tui::input::tests::key_to_bytes_special_char ... ok [INFO] [stdout] test infrastructure::tui::input::tests::memo_edit_mode_returns_none_for_any_key ... ok [INFO] [stdout] test infrastructure::tui::input::tests::key_to_bytes_ctrl_uppercase_c_returns_same_as_lowercase ... ok [INFO] [stdout] test infrastructure::tui::input::tests::memo_edit_mode_stays_in_mode ... ok [INFO] [stdout] test infrastructure::tui::input::tests::mini_terminal_input_arrow_keys_produce_write_to_mini_terminal ... ok [INFO] [stdout] test infrastructure::tui::input::tests::mini_terminal_input_ctrl_b_transitions_to_prefix_wait ... ok [INFO] [stdout] test infrastructure::tui::input::tests::mini_terminal_input_ctrl_c_produces_write_to_mini_terminal ... ok [INFO] [stdout] test infrastructure::tui::input::tests::mini_terminal_input_enter_produces_write_to_mini_terminal ... ok [INFO] [stdout] test infrastructure::tui::input::tests::mini_terminal_input_full_flow_type_then_prefix_then_toggle ... ok [INFO] [stdout] test infrastructure::tui::input::tests::mini_terminal_input_regular_char_produces_write_to_mini_terminal ... ok [INFO] [stdout] test infrastructure::tui::input::tests::mini_terminal_input_unhandled_key_returns_none ... ok [INFO] [stdout] test infrastructure::tui::input::tests::new_starts_in_normal_mode ... ok [INFO] [stdout] test infrastructure::tui::input::tests::normal_arrow_down_application_mode_returns_esc_o_b ... ok [INFO] [stdout] test infrastructure::tui::input::tests::normal_arrow_down_returns_escape_sequence ... ok [INFO] [stdout] test infrastructure::tui::input::tests::normal_arrow_left_application_mode_returns_esc_o_d ... ok [INFO] [stdout] test infrastructure::tui::input::tests::normal_arrow_left_returns_escape_sequence ... ok [INFO] [stdout] test infrastructure::tui::input::tests::normal_arrow_right_application_mode_returns_esc_o_c ... ok [INFO] [stdout] test infrastructure::tui::input::tests::normal_arrow_right_returns_escape_sequence ... ok [INFO] [stdout] test infrastructure::tui::input::tests::normal_arrow_up_returns_escape_sequence ... ok [INFO] [stdout] test infrastructure::tui::input::tests::normal_arrow_up_normal_mode_still_returns_esc_bracket_a ... ok [INFO] [stdout] test infrastructure::tui::input::tests::normal_arrow_up_application_mode_returns_esc_o_a ... ok [INFO] [stdout] test infrastructure::tui::input::tests::normal_backspace_returns_del ... ok [INFO] [stdout] test infrastructure::tui::input::tests::normal_ctrl_a_returns_soh ... ok [INFO] [stdout] test infrastructure::tui::input::tests::normal_ctrl_b_enters_prefix_wait ... ok [INFO] [stdout] test infrastructure::tui::input::tests::normal_ctrl_c_returns_etx ... ok [INFO] [stdout] test infrastructure::tui::input::tests::normal_ctrl_z_returns_sub ... ok [INFO] [stdout] test infrastructure::tui::input::tests::normal_delete_returns_escape_sequence ... ok [INFO] [stdout] test infrastructure::tui::input::tests::normal_end_application_mode_returns_esc_o_f ... ok [INFO] [stdout] test infrastructure::tui::input::tests::normal_end_returns_escape_sequence ... ok [INFO] [stdout] test infrastructure::tui::input::tests::normal_enter_returns_carriage_return ... ok [INFO] [stdout] test infrastructure::tui::input::tests::normal_esc_returns_escape_byte ... ok [INFO] [stdout] test infrastructure::tui::input::tests::normal_home_application_mode_returns_esc_o_h ... ok [INFO] [stdout] test infrastructure::tui::input::tests::normal_home_returns_escape_sequence ... ok [INFO] [stdout] test infrastructure::tui::input::tests::normal_multibyte_utf8_char_returns_correct_bytes ... ok [INFO] [stdout] test infrastructure::tui::input::tests::normal_regular_char_returns_write_to_active ... ok [INFO] [stdout] test infrastructure::tui::input::tests::normal_tab_returns_ht ... ok [INFO] [stdout] test infrastructure::tui::input::tests::normal_unhandled_key_returns_none ... ok [INFO] [stdout] test infrastructure::tui::input::tests::normal_uppercase_char_returns_correct_bytes ... ok [INFO] [stdout] test infrastructure::tui::input::tests::prefix_0_cancels ... ok [INFO] [stdout] test infrastructure::tui::input::tests::prefix_1_stores_pending_target_and_stays_prefix ... ok [INFO] [stdout] test infrastructure::tui::input::tests::prefix_5_stores_pending_target_and_stays_prefix ... ok [INFO] [stdout] test infrastructure::tui::input::tests::prefix_9_stores_pending_target_and_stays_prefix ... ok [INFO] [stdout] test infrastructure::tui::input::tests::prefix_backtick_produces_toggle_mini_terminal ... ok [INFO] [stdout] test infrastructure::tui::input::tests::prefix_bracket_enters_scrollback ... ok [INFO] [stdout] test infrastructure::tui::input::tests::prefix_bracket_without_digit_still_produces_paste_yank_buffer ... ok [INFO] [stdout] test infrastructure::tui::input::tests::prefix_c_creates_terminal ... ok [INFO] [stdout] test infrastructure::tui::input::tests::prefix_c_with_ctrl_modifier_cancels ... ok [INFO] [stdout] test infrastructure::tui::input::tests::prefix_ctrl_b_sends_literal_ctrl_b ... ok [INFO] [stdout] test infrastructure::tui::input::tests::prefix_d_closes_terminal ... ok [INFO] [stdout] test infrastructure::tui::input::tests::prefix_digit_3_bracket_produces_paste_to_target_3 ... ok [INFO] [stdout] test infrastructure::tui::input::tests::prefix_digit_9_bracket_produces_paste_to_target_9 ... ok [INFO] [stdout] test infrastructure::tui::input::tests::prefix_digit_bracket_produces_paste_to_target ... ok [INFO] [stdout] test infrastructure::tui::input::tests::prefix_digit_then_c_processes_as_create ... ok [INFO] [stdout] test infrastructure::tui::input::tests::prefix_digit_then_digit_replaces_pending_target ... ok [INFO] [stdout] test infrastructure::tui::input::tests::prefix_digit_then_non_bracket_processes_as_prefix ... ok [INFO] [stdout] test infrastructure::tui::input::tests::prefix_digit_then_unknown_key_returns_none ... ok [INFO] [stdout] test infrastructure::tui::input::tests::prefix_digits_2_through_8_store_pending_and_stay_prefix ... ok [INFO] [stdout] test infrastructure::tui::input::tests::prefix_enter_cancels_and_returns_none ... ok [INFO] [stdout] test infrastructure::tui::input::tests::prefix_esc_cancels_and_returns_none ... ok [INFO] [stdout] test infrastructure::tui::input::tests::prefix_f_produces_open_quick_switcher ... ok [INFO] [stdout] test infrastructure::tui::input::tests::prefix_m_produces_open_memo ... ok [INFO] [stdout] test infrastructure::tui::input::tests::prefix_n_selects_next ... ok [INFO] [stdout] test infrastructure::tui::input::tests::prefix_o_produces_toggle_focus ... ok [INFO] [stdout] test infrastructure::tui::input::tests::prefix_p_selects_prev ... ok [INFO] [stdout] test infrastructure::tui::input::tests::prefix_q_produces_quit ... ok [INFO] [stdout] test infrastructure::tui::input::tests::prefix_question_mark_produces_show_help ... ok [INFO] [stdout] test infrastructure::tui::input::tests::prefix_r_produces_rename_terminal ... ok [INFO] [stdout] test infrastructure::tui::input::tests::prefix_right_bracket_produces_paste_yank_buffer ... ok [INFO] [stdout] test infrastructure::tui::input::tests::prefix_unknown_key_cancels_and_returns_none ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_big_g_goes_to_bottom ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_ctrl_b_ignored ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_dollar_produces_cursor_line_end ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_dollar_with_shift_produces_cursor_line_end ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_down_arrow ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_enter_ignored ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_esc_exits ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_g_goes_to_top ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_existing_keys_still_work_after_cursor_additions ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_full_flow_enter_navigate_exit ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_h_key_produces_cursor_left ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_j_key_scrolls_down ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_k_key_scrolls_up ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_l_key_produces_cursor_right ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_left_arrow_produces_cursor_left ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_mode_n_next_match ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_mode_shift_n_prev_match ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_mode_slash_enters_search ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_page_down ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_page_up ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_q_exits ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_right_arrow_produces_cursor_right ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_search_mode_consumes_ctrl_b ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_search_mode_consumes_enter ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_search_mode_consumes_esc ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_search_mode_consumes_keys ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_search_mode_stays_in_mode ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_shift_v_produces_enter_visual_line ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_unknown_key_returns_none ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_shift_y_produces_yank_all_visible ... ok [INFO] [stdout] test infrastructure::tui::input::tests::set_mode_changes_mode_to_dialog ... ok [INFO] [stdout] test infrastructure::tui::input::tests::timeout_resets_pending_target ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_up_arrow ... ok [INFO] [stdout] test infrastructure::tui::input::tests::visual_selection_mode_ignores_ctrl_b ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_v_produces_enter_visual_char ... ok [INFO] [stdout] test infrastructure::tui::input::tests::visual_selection_mode_returns_none_for_any_key ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_y_produces_yank_line ... ok [INFO] [stdout] test infrastructure::tui::widgets::dialog::tests::centered_rect_centers_in_area ... ok [INFO] [stdout] test infrastructure::tui::widgets::dialog::tests::centered_rect_clamped_when_larger_than_area ... ok [INFO] [stdout] test infrastructure::tui::input::tests::scrollback_zero_without_modifiers_produces_cursor_line_start ... ok [INFO] [stdout] test infrastructure::tui::input::tests::visual_selection_mode_stays_in_mode ... ok [INFO] [stdout] test infrastructure::tui::widgets::dialog::tests::centered_rect_with_odd_dimensions ... ok [INFO] [stdout] test infrastructure::tui::widgets::dialog::tests::centered_rect_with_offset_origin ... ok [INFO] [stdout] test infrastructure::tui::input::tests::set_mode_changes_back_to_normal ... ok [INFO] [stdout] test infrastructure::tui::widgets::dialog::tests::centered_rect_exact_fit ... ok [INFO] [stdout] test infrastructure::tui::widgets::dialog::tests::centered_rect_zero_area ... ok [INFO] [stdout] test infrastructure::tui::widgets::dialog::tests::render_confirm_close_dialog_shows_for_running ... ok [INFO] [stdout] test infrastructure::tui::widgets::dialog::tests::render_confirm_close_dialog_skips_for_exited ... ok [INFO] [stdout] test infrastructure::tui::widgets::dialog::tests::render_create_dialog_with_empty_input ... ok [INFO] [stdout] test infrastructure::tui::widgets::dialog::tests::render_create_dialog_shows_title_and_input ... ok [INFO] [stdout] test infrastructure::tui::widgets::dialog::tests::render_rename_dialog_shows_title_and_input ... ok [INFO] [stdout] test infrastructure::tui::widgets::help_overlay::tests::help_overlay_renders_hint ... ok [INFO] [stdout] test infrastructure::tui::widgets::help_overlay::tests::help_overlay_renders_paste_yank_keybinding ... ok [INFO] [stdout] test infrastructure::tui::widgets::help_overlay::tests::help_overlay_renders_prefix_info ... ok [INFO] [stdout] test infrastructure::tui::widgets::help_overlay::tests::help_overlay_minimum_viable_size ... ok [INFO] [stdout] test infrastructure::tui::widgets::help_overlay::tests::help_overlay_renders_cursor_left_right_keybinding ... ok [INFO] [stdout] test infrastructure::tui::widgets::help_overlay::tests::help_overlay_renders_keybindings ... ok [INFO] [stdout] test infrastructure::tui::widgets::help_overlay::tests::help_overlay_renders_category_headers ... ok [INFO] [stdout] test infrastructure::tui::widgets::help_overlay::tests::help_overlay_renders_mini_terminal_keybinding ... ok [INFO] [stdout] test infrastructure::tui::widgets::help_overlay::tests::help_overlay_has_rounded_border ... ok [INFO] [stdout] test infrastructure::tui::widgets::help_overlay::tests::help_overlay_renders_search_keybindings ... ok [INFO] [stdout] test infrastructure::tui::widgets::help_overlay::tests::help_overlay_renders_this_help_hint ... ok [INFO] [stdout] test infrastructure::tui::widgets::help_overlay::tests::help_overlay_renders_navigation_keys ... ok [INFO] [stdout] test infrastructure::tui::widgets::help_overlay::tests::help_overlay_zero_size_no_crash ... ok [INFO] [stdout] test infrastructure::tui::widgets::help_overlay::tests::help_overlay_renders_line_start_end_keybinding ... ok [INFO] [stdout] test infrastructure::tui::widgets::help_overlay::tests::help_overlay_renders_paste_to_target_keybinding ... ok [INFO] [stdout] test infrastructure::tui::widgets::help_overlay::tests::help_overlay_renders_quick_switch_keybinding ... ok [INFO] [stdout] test infrastructure::tui::widgets::help_overlay::tests::help_overlay_small_terminal_no_crash ... ok [INFO] [stdout] test infrastructure::tui::widgets::help_overlay::tests::help_overlay_renders_title ... ok [INFO] [stdout] test infrastructure::tui::widgets::help_overlay::tests::help_overlay_very_small_terminal_no_crash ... ok [INFO] [stdout] test infrastructure::tui::widgets::layout::tests::compute_layout_mini_terminal_not_visible_matches_original ... ok [INFO] [stdout] test infrastructure::tui::widgets::help_overlay::tests::help_overlay_renders_send_ctrl_b_hint ... ok [INFO] [stdout] test infrastructure::tui::widgets::layout::tests::compute_layout_mini_terminal_visible_splits_main_pane ... ok [INFO] [stdout] test infrastructure::tui::widgets::layout::tests::compute_layout_with_exact_sidebar_width ... ok [INFO] [stdout] test infrastructure::tui::widgets::help_overlay::tests::help_overlay_renders_visual_keybindings ... ok [INFO] [stdout] test infrastructure::tui::widgets::layout::tests::compute_layout_mini_terminal_visible_with_small_area ... ok [INFO] [stdout] test infrastructure::tui::widgets::layout::tests::compute_layout_splits_area_with_fixed_sidebar ... ok [INFO] [stdout] test infrastructure::tui::widgets::layout::tests::compute_layout_preserves_origin ... ok [INFO] [stdout] test infrastructure::tui::widgets::memo_overlay::tests::render_memo_overlay_multiline_text ... ok [INFO] [stdout] test infrastructure::tui::widgets::memo_overlay::tests::render_memo_overlay_empty_text ... ok [INFO] [stdout] test infrastructure::tui::widgets::layout::tests::compute_layout_with_zero_area ... ok [INFO] [stdout] test infrastructure::tui::widgets::layout::tests::compute_layout_mini_terminal_rect_position ... ok [INFO] [stdout] test infrastructure::tui::widgets::help_overlay::tests::help_overlay_renders_scrollback_keys ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_cells_with_bold_attribute ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_cells_appear_inside_border ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_cells_with_colors ... ok [INFO] [stdout] test infrastructure::tui::widgets::layout::tests::compute_layout_with_large_area ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_cells_with_italic_attribute ... ok [INFO] [stdout] test infrastructure::tui::widgets::layout::tests::compute_layout_with_narrow_area ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_cells_with_dim_attribute ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_cells_with_strikethrough_attribute ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_cells_with_reverse_swaps_fg_bg ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_multiple_rows_inside_border ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_cursor_invisible_does_not_show_reverse ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_cells_with_reverse_default_uses_black_on_white ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_no_cells_renders_empty_bordered_box ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_cells_with_underline_attribute ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_cursor_with_wide_char_visual_col ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_clips_rows_to_inner_height ... ok [INFO] [stdout] test infrastructure::tui::widgets::memo_overlay::tests::render_memo_overlay_shows_title_and_hint ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_cursor_visible_shows_reverse_video ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_scrollback_cursor_row_has_dark_gray_bg ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_normal_mode_still_shows_mini_terminal_title ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_scrollback_indicator_not_visible_when_none ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_scrollback_cursor_hl_suppressed_when_selection_active ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_scrollback_indicator_visible ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_clips_cols_to_inner_width ... ok [INFO] [stdout] test infrastructure::tui::widgets::help_overlay::tests::help_overlay_renders_yank_keybindings ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_focused_has_yellow_border ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_scrollback_indicator_style_is_yellow_bold ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_small_area_width_2_does_not_crash ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_small_area_does_not_crash ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_scrollback_cursor_col_has_reversed_style ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_small_area_height_2_does_not_crash ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_scrollback_mode_not_focused_still_uses_lightcyan ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_scrollback_mode_has_lightcyan_border ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_scrollback_mode_shows_scrollback_title ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::to_ratatui_color_converts_default ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_cells_with_hidden_sets_fg_to_bg ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::to_ratatui_color_converts_rgb ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_shows_close_hint_in_bottom_border ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_unfocused_has_dark_gray_border ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_status_message_shows_flash_in_bottom_border ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_wide_char_inside_border ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::to_ratatui_color_converts_indexed ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_status_message_has_green_bold_style ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_shows_border_and_title ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_scrollback_mode_shows_key_hints ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_status_message_in_scrollback_mode ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::build_highlighted_spans_empty_text ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::build_highlighted_spans_all_matched ... ok [INFO] [stdout] test infrastructure::tui::widgets::mini_terminal_view::tests::render_status_message_none_does_not_show_flash ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::build_highlighted_spans_consecutive_matches ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::build_highlighted_spans_no_matches ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::build_highlighted_spans_first_char_highlighted ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::build_highlighted_spans_partial_match ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::build_highlighted_spans_selected_unmatched_has_white_fg ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::centered_rect_centers_horizontally ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::build_highlighted_spans_selected_has_dark_gray_bg ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::centered_rect_centers_vertically ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::build_highlighted_spans_selected_matched_has_bold ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::centered_rect_clamps_to_area_height ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::quick_switch_item_with_empty_match_positions ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::centered_rect_with_offset_area ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::centered_rect_when_width_equals_area ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::build_highlighted_spans_last_char_highlighted ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::centered_rect_clamps_to_area_width ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::quick_switch_item_fields_are_accessible ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::quick_switcher_query_with_cursor_at_middle ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::quick_switcher_renders_title ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::quick_switcher_renders_query_prompt ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::quick_switcher_renders_footer ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::quick_switcher_footer_contains_esc_cancel ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::quick_switcher_very_small_terminal_no_crash ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::quick_switcher_selected_beyond_items_no_crash ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::quick_switcher_zero_size_no_crash ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::quick_switcher_match_positions_highlight ... ok [INFO] [stdout] test infrastructure::tui::widgets::search_bar::tests::search_bar_empty_query_still_renders ... ok [INFO] [stdout] test infrastructure::tui::widgets::search_bar::tests::search_bar_has_dark_gray_background ... ok [INFO] [stdout] test infrastructure::tui::widgets::search_bar::tests::search_bar_exactly_width_4_renders ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::quick_switcher_has_rounded_border ... ok [INFO] [stdout] test infrastructure::tui::widgets::search_bar::tests::search_bar_match_info_positive_total_shows_yellow ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::quick_switcher_width_clamped_min ... ok [INFO] [stdout] test infrastructure::tui::widgets::search_bar::tests::search_bar_prompt_is_cyan_bold ... ok [INFO] [stdout] test infrastructure::tui::widgets::search_bar::tests::search_bar_match_info_zero_total_shows_red ... ok [INFO] [stdout] test infrastructure::tui::widgets::search_bar::tests::search_bar_renders_prompt_and_query ... ok [INFO] [stdout] test infrastructure::tui::widgets::search_bar::tests::search_bar_renders_no_match_indicator ... ok [INFO] [stdout] test infrastructure::tui::widgets::search_bar::tests::search_bar_show_cursor_false_does_not_set_cursor ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::quick_switcher_small_terminal_no_crash ... ok [INFO] [stdout] test infrastructure::tui::widgets::search_bar::tests::search_bar_small_width_no_crash ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::compute_scroll_offset_all_fit_returns_zero ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::compute_scroll_offset_last_item_no_separator ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::compute_scroll_offset_no_active_returns_zero ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::quick_switcher_renders_item_text ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::compute_scroll_offset_no_terminals_returns_zero ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::compute_scroll_offset_preserves_offset_when_active_visible ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::compute_scroll_offset_scrolls_down_to_active ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::quick_switcher_renders_no_matches ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::compute_scroll_offset_scrolls_up_to_active ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::quick_switcher_renders_separator ... ok [INFO] [stdout] test infrastructure::tui::widgets::search_bar::tests::search_bar_zero_height_no_crash ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::quick_switcher_single_item_no_scroll ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::quick_switcher_width_clamped_max ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::render_exited_terminal_shows_exit_code ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::quick_switcher_empty_query_renders ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::quick_switcher_renders_query ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::render_dynamic_cwd_none_falls_back_to_static ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::render_empty_terminal_list ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::quick_switcher_scrolling_many_items ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::quick_switcher_renders_selected_marker ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::render_active_and_notified_terminal_has_dark_gray_background ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::render_active_terminal_has_dark_gray_background ... ok [INFO] [stdout] test infrastructure::tui::widgets::quick_switcher::tests::quick_switcher_second_item_selected ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::render_dynamic_cwd_overrides_static_cwd ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::render_multiple_terminals_with_separator ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::render_memo_indicator_shown_when_memo_exists ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::render_no_notification_mark_when_no_unread ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::render_help_hints_always_visible_when_scrolling ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::render_notification_mark_shown_when_unread ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::render_focused_sidebar_has_cyan_border ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::render_no_notification_terminal_name_not_yellow ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::render_mixed_notification_and_normal_terminals ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::render_scrollbar_appears_when_content_overflows ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::render_no_scrollbar_when_all_fit ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::render_single_running_terminal ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::render_memo_and_notification_marks_coexist ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::render_no_memo_indicator_when_no_memo ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::render_help_hints_at_bottom ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::check_search_highlight_returns_false_for_non_current_match ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::check_search_highlight_returns_true_for_current_match ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::render_inactive_terminal_has_default_background ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::check_selection_highlight_cursor_outside_ranges ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::check_search_highlight_wrong_row_returns_none ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::check_selection_highlight_not_selected_outside_range ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::render_mixed_dynamic_and_static_cwds ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::check_selection_highlight_returns_selected_when_in_range ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::check_search_highlight_none_when_no_highlights ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::check_search_highlight_none_when_not_in_range ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::check_selection_highlight_cursor_detected ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::render_unfocused_sidebar_has_default_border ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::check_selection_highlight_none_when_no_highlights ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::check_selection_highlight_empty_highlights ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::check_search_highlight_no_current_match_index ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::check_search_highlight_exclusive_end ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::render_notification_terminal_name_has_yellow_foreground ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::check_selection_highlight_wrong_row_not_selected ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::progress_bar_empty_when_max_zero ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::progress_bar_empty_when_width_zero ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_cells_with_content ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_cells_with_hidden_sets_fg_to_bg ... ok [INFO] [stdout] test infrastructure::tui::widgets::sidebar::tests::render_with_scroll_offset_clips_top_items ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_cells_with_italic ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_cells_with_reverse_default_colors_uses_black_on_white ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_clips_to_visible_area ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_cells_with_reverse_swaps_fg_bg ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_cells_with_colors ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_cursor_visual_col_with_multiple_wide_chars ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_empty_cwd_bar_when_none ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_cursor_position_ascii_only ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_cells_with_strikethrough ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_cwd_bar_shows_path ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_cells_with_reverse_and_hidden_combined ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::progress_bar_fully_filled ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::progress_bar_fully_empty ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::progress_bar_half_filled ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_mixed_narrow_and_wide_chars ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_cursor_position_with_wide_chars ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_cells_with_dim ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_no_selection_highlights_renders_normally ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_no_terminal_shows_placeholder ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_scrollback_indicator_hidden_when_none ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_focused_cwd_bar_has_dark_gray_bg ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_scrollback_indicator_hidden_when_offset_zero ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_scrollback_cursor_row_has_dark_gray_bg ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_scrollback_indicator_not_shown_when_too_wide ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_scrollback_indicator_position_varies_with_digits ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_scrollback_indicator_shows_offset_and_max ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_cells_with_bold_and_underline ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_scrollback_mode_no_old_indicator ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_scrollback_cursor_col_has_reversed_style ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_scrollback_mode_shows_scrollback_title ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_scrollback_mode_offset_zero_still_shows_ui ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_status_message_in_normal_mode_has_green_bold_style ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_search_highlight_takes_priority_over_selection ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_scrollback_mode_shows_border ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_scrollback_mode_progress_bar_present ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_scrollback_mode_small_terminal_falls_back ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_status_message_in_normal_mode_shows_flash ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_scrollback_cursor_hl_suppressed_when_selection_active ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_scrollback_mode_status_bar_has_lightcyan_bg ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_scrollback_mode_title_is_lightcyan_bold ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_status_message_none_does_not_show_flash ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_scrollback_with_visual_label_shows_visual_title ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_status_message_in_scrollback_mode_has_green_bold ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_scrollback_mode_shows_status_bar ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_status_message_in_scrollback_mode_shows_in_status_bar ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_wide_char_clipped_at_boundary ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_with_no_highlights_renders_normally ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_wide_chars_visual_width_clipping ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_with_search_highlights_current_match_has_orange_bg ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_unfocused_cwd_bar_has_no_bg ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::to_ratatui_color_converts_indexed ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::to_ratatui_color_converts_default ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_scrollback_no_cursor_hl_no_dark_gray ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_create_terminal_adds_terminal_to_list ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_close_terminal_calls_usecase_close ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_enter_scrollback_search_is_noop ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::to_ratatui_color_converts_rgb ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_with_search_highlights_normal_match_has_yellow_bg ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_close_terminal_with_no_active_returns_error ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_wide_char_skips_continuation_cell ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_with_selection_highlight_shows_lightblue_bg ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_with_selection_cursor_shows_white_bg ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_create_terminal_calls_usecase_create ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_enter_visual_line_is_noop ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_exit_scrollback_search_is_noop ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_open_quick_switcher_is_noop ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_paste_to_target_is_noop ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_scrollback_without_visual_label_shows_scrollback_title ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_paste_yank_buffer_is_noop ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_quit_on_empty_state_returns_ok ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_quit_returns_ok_without_side_effects ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_rename_terminal_changes_name ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_with_empty_highlights_renders_normally ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_open_memo_is_noop ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_confirm_scrollback_search_is_noop ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_enter_visual_char_is_noop ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_create_terminal_with_name ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_poll_all_calls_usecase_poll ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_poll_all_on_empty_is_ok ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_rename_terminal_empty_name_is_noop ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_resize_all_on_empty_is_ok ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_resize_all_calls_usecase_resize ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_resize_all_uses_action_size_not_param ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_save_memo_sets_memo ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_scrollback_cursor_left_does_not_affect_terminal_state ... ok [INFO] [stdout] test infrastructure::tui::widgets::terminal_view::tests::render_scrollback_with_visual_line_label ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_scrollback_cursor_left_is_noop ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_scrollback_cursor_line_end_is_noop ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_scrollback_cursor_line_end_does_not_affect_terminal_state ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_scrollback_cursor_line_start_does_not_affect_terminal_state ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_scrollback_cursor_right_does_not_affect_terminal_state ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_scrollback_cursor_right_is_noop ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_scrollback_cursor_line_start_is_noop ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_scrollback_search_prev_is_noop ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_scrollback_search_next_is_noop ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_select_by_index_sets_active ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_select_by_index_out_of_bounds_is_noop ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_select_next_noop_when_no_terminals ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_select_next_advances_active_index ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_select_prev_noop_when_no_terminals ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_select_prev_retreats_active_index ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_show_help_is_noop ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_toggle_focus_returns_ok ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_toggle_mini_terminal_does_not_affect_state ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_toggle_mini_terminal_is_noop ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_write_to_active_empty_data ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_write_to_active_with_no_active_returns_error ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_write_to_active_forwards_data ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_write_to_mini_terminal_does_not_affect_state ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_write_to_mini_terminal_is_noop ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_yank_all_visible_is_noop ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::dispatch_yank_line_is_noop ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::new_controller_holds_empty_usecase ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::multiple_actions_in_sequence ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::usecase_accessor_provides_screen_port ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::usecase_accessor_reflects_state_changes ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::usecase_accessor_returns_reference ... ok [INFO] [stdout] test interface_adapter::controller::tui_controller::tests::usecase_mut_returns_mutable_reference ... ok [INFO] [stdout] test interface_adapter::port::ipc_port::tests::connection_id_copy ... ok [INFO] [stdout] test interface_adapter::port::ipc_port::tests::connection_id_equality ... ok [INFO] [stdout] test interface_adapter::port::ipc_port::tests::mock_poll_commands_drains ... ok [INFO] [stdout] test interface_adapter::port::ipc_port::tests::mock_poll_commands_returns_pending ... ok [INFO] [stdout] test interface_adapter::port::ipc_port::tests::mock_send_response_stores ... ok [INFO] [stdout] test interface_adapter::port::ipc_port::tests::mock_socket_path ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::close_active_terminal_adjusts_index_when_at_end ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::close_active_terminal_calls_kill_for_running_terminal ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::close_active_terminal_calls_kill_even_for_exited_terminal ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::close_active_terminal_completes_cleanup_even_when_kill_fails ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::close_active_terminal_removes_from_list ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::close_active_terminal_for_middle_element ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::close_active_terminal_keeps_index_when_not_at_end ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::close_active_terminal_with_no_active_returns_error ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::close_by_id_active_terminal_adjusts_index ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::close_by_id_before_active_decrements_active_index ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::close_by_id_last_terminal_sets_active_none ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::close_by_id_nonexistent_returns_terminal_not_found ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::close_by_id_after_active_no_change_to_active_index ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::close_by_id_removes_terminal_and_calls_kill_and_remove ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::close_by_id_calls_kill_even_for_exited_terminal ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::create_terminal_calls_pty_spawn_and_screen_create ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::close_active_terminal_sets_active_none_when_list_empty ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::create_terminal_generates_default_name ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::create_terminal_propagates_pty_spawn_error ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::close_active_terminal_with_kill_failure_leaves_no_ghost ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::create_terminal_returns_incrementing_ids ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::create_terminal_sets_active_index_to_latest ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::create_terminal_stores_terminal_in_list ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::create_terminal_uses_provided_name ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::get_active_memo_initial_is_empty ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::get_active_memo_no_active_returns_error ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::get_active_terminal_returns_correct_terminal ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::get_terminal_by_id_finds_second_terminal ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::get_terminal_by_id_returns_matching_terminal ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::get_terminal_by_id_returns_none_on_empty_list ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::new_usecase_has_no_terminals ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::get_terminals_returns_all_in_order ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::poll_all_detects_process_exit ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::poll_all_does_not_set_notification_on_active_terminal ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::poll_all_empty_notifications_does_not_set_flag ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::get_terminal_by_id_returns_none_for_unknown_id ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::rename_active_terminal_changes_name ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::pty_port_returns_immutable_reference ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::rename_active_terminal_no_active_returns_error ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::rename_by_id_changes_terminal_name ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::rename_by_id_nonexistent_returns_terminal_not_found ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::poll_all_does_not_check_exit_for_already_exited ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::poll_all_on_empty_is_ok ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::poll_all_marks_terminal_exited_on_read_error ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::poll_all_preserves_exit_code_across_multiple_cycles ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::poll_all_processes_pty_output_to_screen ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::poll_all_sets_notification_on_inactive_terminal ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::poll_all_skips_empty_read_data ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::poll_all_uses_last_notification_when_multiple ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::pty_port_mut_can_write ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::poll_all_skips_notifications_for_exited_terminals ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::pty_port_mut_returns_mutable_reference ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::resize_all_on_empty_is_ok ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::resize_all_resizes_all_terminals ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::screen_port_returns_reference ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::select_by_id_sets_active_to_matching_terminal ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::select_by_id_nonexistent_returns_terminal_not_found ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::select_by_index_valid_index ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::select_by_index_on_empty_list_is_noop ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::select_next_noop_when_no_active ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::select_by_index_out_of_bounds_is_noop ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::select_next_single_terminal_stays_at_zero ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::select_next_clears_notification_on_new_active ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::select_by_index_clears_notification_on_new_active ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::select_next_wraps_around ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::select_prev_noop_when_no_active ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::select_prev_single_terminal_stays_at_zero ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::select_prev_wraps_around ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::select_prev_clears_notification_on_new_active ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::set_active_memo_stores_memo ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::take_pending_notifications_clears_after_take ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::take_pending_notifications_does_not_set_sidebar_mark_for_active_terminal ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::set_active_memo_no_active_returns_error ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::take_pending_notifications_empty_when_no_notifications ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::take_pending_notifications_includes_active_terminal_for_desktop_notification ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::write_to_active_with_no_active_returns_error ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::write_to_active_sends_data_to_pty ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::take_pending_notifications_returns_collected_notifications ... ok [INFO] [stdout] test usecase::terminal_usecase::tests::take_pending_notifications_multiple_terminals ... ok [INFO] [stdout] test infrastructure::screen::vt100_screen::tests::search_max_matches_limit ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- infrastructure::ipc::socket_discovery::tests::write_read_remove_integration stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'infrastructure::ipc::socket_discovery::tests::write_read_remove_integration' (269) panicked at src/infrastructure/ipc/socket_discovery.rs:244:9: [INFO] [stdout] assertion `left == right` failed [INFO] [stdout] left: "/tmp/nonexistent-cm-discovery-test.sock" [INFO] [stdout] right: "/tmp/cli-manager-integration-test-99999.sock" [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x647feef911ba - std[31e582c13f4e914f]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x647feef911ba - std[31e582c13f4e914f]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x647feef911ba - std[31e582c13f4e914f]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x647feef911ba - <::print::DisplayBacktrace as core[fa0eadad68403074]::fmt::Display>::fmt [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x647feefa7f8a - ::fmt [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x647feefa7f8a - core[fa0eadad68403074]::fmt::write [INFO] [stdout] 6: 0x647feef96262 - std[31e582c13f4e914f]::io::default_write_fmt::> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x647feef96262 - as std[31e582c13f4e914f]::io::Write>::write_fmt [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/io/mod.rs:1994:13 [INFO] [stdout] 8: 0x647feef6dc0f - ::print [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x647feef6dc0f - std[31e582c13f4e914f]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x647feef88499 - std[31e582c13f4e914f]::panicking::default_hook [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x647feee50ffc - core[fa0eadad68403074]::ops::function::Fn<(&'a std[31e582c13f4e914f]::panic::PanicHookInfo<'b>,), Output = ()> + core[fa0eadad68403074]::marker::Sync + core[fa0eadad68403074]::marker::Send> as core[fa0eadad68403074]::ops::function::Fn<(&std[31e582c13f4e914f]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 12: 0x647feee50ffc - test[7530e63dc052480e]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x647feef88652 - core[fa0eadad68403074]::ops::function::Fn<(&'a std[31e582c13f4e914f]::panic::PanicHookInfo<'b>,), Output = ()> + core[fa0eadad68403074]::marker::Sync + core[fa0eadad68403074]::marker::Send> as core[fa0eadad68403074]::ops::function::Fn<(&std[31e582c13f4e914f]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 14: 0x647feef88652 - std[31e582c13f4e914f]::panicking::panic_with_hook [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x647feef6dcc8 - std[31e582c13f4e914f]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:698:13 [INFO] [stdout] 16: 0x647feef62b79 - std[31e582c13f4e914f]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x647feef6ec2d - __rustc[fc8e3a9f23f26cb]::rust_begin_unwind [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x647feefa874c - core[fa0eadad68403074]::panicking::panic_fmt [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x647feefa8603 - core[fa0eadad68403074]::panicking::assert_failed_inner [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/panicking.rs:439:17 [INFO] [stdout] 20: 0x647feec8a8e5 - core[fa0eadad68403074]::panicking::assert_failed:: [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/panicking.rs:394:5 [INFO] [stdout] 21: 0x647feede3111 - cm[54404286544c3b37]::infrastructure::ipc::socket_discovery::tests::write_read_remove_integration [INFO] [stdout] at /opt/rustwide/workdir/src/infrastructure/ipc/socket_discovery.rs:244:9 [INFO] [stdout] 22: 0x647feedd4dd7 - cm[54404286544c3b37]::infrastructure::ipc::socket_discovery::tests::write_read_remove_integration::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/src/infrastructure/ipc/socket_discovery.rs:236:39 [INFO] [stdout] 23: 0x647feed21826 - >::call_once [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x647feee450db - core[fa0eadad68403074]::result::Result<(), alloc[49b8922c36ca62de]::string::String> as core[fa0eadad68403074]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 25: 0x647feee450db - test[7530e63dc052480e]::__rust_begin_short_backtrace::, fn() -> core[fa0eadad68403074]::result::Result<(), alloc[49b8922c36ca62de]::string::String>> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x647feee51acb - test[7530e63dc052480e]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x647feee51acb - as core[fa0eadad68403074]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 28: 0x647feee51acb - std[31e582c13f4e914f]::panicking::catch_unwind::do_call::, core[fa0eadad68403074]::result::Result<(), alloc[49b8922c36ca62de]::string::String>> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:581:40 [INFO] [stdout] 29: 0x647feee51acb - std[31e582c13f4e914f]::panicking::catch_unwind::, core[fa0eadad68403074]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:544:19 [INFO] [stdout] 30: 0x647feee51acb - std[31e582c13f4e914f]::panic::catch_unwind::, core[fa0eadad68403074]::result::Result<(), alloc[49b8922c36ca62de]::string::String>> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x647feee51acb - test[7530e63dc052480e]::run_test_in_process [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x647feee51acb - test[7530e63dc052480e]::run_test::{closure#0} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x647feee4bf24 - test[7530e63dc052480e]::run_test::{closure#1} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x647feee4bf24 - std[31e582c13f4e914f]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 35: 0x647feee546d2 - std[31e582c13f4e914f]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 36: 0x647feee546d2 - ::{closure#1}::{closure#0}> as core[fa0eadad68403074]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 37: 0x647feee546d2 - std[31e582c13f4e914f]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:581:40 [INFO] [stdout] 38: 0x647feee546d2 - std[31e582c13f4e914f]::panicking::catch_unwind::<(), core[fa0eadad68403074]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:544:19 [INFO] [stdout] 39: 0x647feee546d2 - std[31e582c13f4e914f]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x647feee546d2 - std[31e582c13f4e914f]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 41: 0x647feee546d2 - ::{closure#1} as core[fa0eadad68403074]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 42: 0x647feef903bf - + core[fa0eadad68403074]::marker::Send> as core[fa0eadad68403074]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/alloc/src/boxed.rs:2240:9 [INFO] [stdout] 43: 0x647feef903bf - ::new::thread_start [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 44: 0x7b0703907aa4 - [INFO] [stdout] 45: 0x7b0703994a64 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] infrastructure::ipc::socket_discovery::tests::write_read_remove_integration [INFO] [stdout] [INFO] [stdout] test result: FAILED. 1473 passed; 1 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.45s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `--bin cm` [INFO] running `Command { std: "docker" "inspect" "199e71bfcceaed15d8240bf78e992f9d4406ffa0c0ccb2064ecceb8c56a00ebc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "199e71bfcceaed15d8240bf78e992f9d4406ffa0c0ccb2064ecceb8c56a00ebc", kill_on_drop: false }` [INFO] [stdout] 199e71bfcceaed15d8240bf78e992f9d4406ffa0c0ccb2064ecceb8c56a00ebc