[INFO] cloning repository https://github.com/andymac4182/rstui [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/andymac4182/rstui" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandymac4182%2Frstui", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandymac4182%2Frstui'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 4cca62c405543bb4a7f8ff1600cd267513544e5c [INFO] testing andymac4182/rstui against try#28f95933dc0727396c07b48d0a8cb5211b7fb472 for pr-154065-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandymac4182%2Frstui" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-7-tc2/source/.cargo/config.toml [INFO] removed /workspace/builds/worker-7-tc2/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/andymac4182/rstui [INFO] finished tweaking git repo https://github.com/andymac4182/rstui [INFO] tweaked toml for git repo https://github.com/andymac4182/rstui written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/andymac4182/rstui on toolchain 28f95933dc0727396c07b48d0a8cb5211b7fb472 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/andymac4182/rstui 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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] cbb27944beee5e46433f639d3a0899e546f34cffd60c66c84e084e4af861b7b9 [INFO] running `Command { std: "docker" "start" "-a" "cbb27944beee5e46433f639d3a0899e546f34cffd60c66c84e084e4af861b7b9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "cbb27944beee5e46433f639d3a0899e546f34cffd60c66c84e084e4af861b7b9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cbb27944beee5e46433f639d3a0899e546f34cffd60c66c84e084e4af861b7b9", kill_on_drop: false }` [INFO] [stdout] cbb27944beee5e46433f639d3a0899e546f34cffd60c66c84e084e4af861b7b9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 31b700188b45c1e316b4959524a1fdb163cb7c498a57ee4189771add9a97bf11 [INFO] running `Command { std: "docker" "start" "-a" "31b700188b45c1e316b4959524a1fdb163cb7c498a57ee4189771add9a97bf11", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.186 [INFO] [stderr] Compiling itoa v1.0.18 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling pin-project-lite v0.2.17 [INFO] [stderr] Compiling tree-sitter-language v0.1.7 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling cc v1.2.62 [INFO] [stderr] Compiling unicode-segmentation v1.13.2 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling hashbrown v0.17.1 [INFO] [stderr] Compiling rstui-core v0.0.1 (/opt/rustwide/workdir/crates/rstui-core) [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling bitflags v2.11.1 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling document-features v0.2.12 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling ref-cast v1.0.25 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling dyn-clone v1.0.20 [INFO] [stderr] Compiling convert_case v0.10.0 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling fastrand v2.4.1 [INFO] [stderr] Compiling indexmap v2.14.0 [INFO] [stderr] Compiling rustc-hash v2.1.2 [INFO] [stderr] Compiling rmcp v1.7.0 [INFO] [stderr] Compiling futures-lite v2.6.1 [INFO] [stderr] Compiling fixedbitset v0.5.7 [INFO] [stderr] Compiling pastey v0.2.2 [INFO] [stderr] Compiling boxfnonce v0.1.1 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling streaming-iterator v0.1.9 [INFO] [stderr] Compiling rstui-widgets v0.0.1 (/opt/rustwide/workdir/crates/rstui-widgets) [INFO] [stderr] Compiling rstui-keymap v0.0.1 (/opt/rustwide/workdir/crates/rstui-keymap) [INFO] [stderr] Compiling napi-build v2.2.4 [INFO] [stderr] Compiling dtor-proc-macro v0.0.6 [INFO] [stderr] Compiling ctor-proc-macro v0.0.7 [INFO] [stderr] Compiling convert_case v0.8.0 [INFO] [stderr] Compiling semver v1.0.28 [INFO] [stderr] Compiling dtor v0.1.1 [INFO] [stderr] Compiling napi v3.4.0 [INFO] [stderr] Compiling rstui-acp-shm-native v0.0.1 (/opt/rustwide/workdir/crates/rstui-acp-shm-native) [INFO] [stderr] Compiling nohash-hasher v0.2.0 [INFO] [stderr] Compiling ctor v0.6.3 [INFO] [stderr] Compiling napi-sys v3.0.1 [INFO] [stderr] Compiling xtask v0.0.1 (/opt/rustwide/workdir/crates/xtask) [INFO] [stderr] Compiling rstui-plugin-host v0.0.1 (/opt/rustwide/workdir/crates/rstui-plugin-host) [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling mio v1.2.0 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling rstui-acp-shm v0.0.1 (/opt/rustwide/workdir/crates/rstui-acp-shm) [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling uuid v1.23.1 [INFO] [stderr] Compiling tree-sitter-json v0.24.8 [INFO] [stderr] Compiling tree-sitter-typescript v0.23.2 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling tree-sitter-go v0.25.0 [INFO] [stderr] Compiling tree-sitter-md v0.5.3 [INFO] [stderr] Compiling tree-sitter-c v0.24.2 [INFO] [stderr] Compiling tree-sitter-rust v0.24.2 [INFO] [stderr] Compiling tree-sitter-javascript v0.25.0 [INFO] [stderr] Compiling tree-sitter-python v0.25.0 [INFO] [stderr] Compiling serde_derive_internals v0.29.1 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling napi-derive-backend v3.0.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tokio-macros v2.7.0 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling ref-cast-impl v1.0.25 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling schemars_derive v1.2.1 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling strum_macros v0.28.0 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling tokio v1.52.3 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling pin-project-internal v1.1.13 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling sacp-derive v11.0.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling rmcp-macros v1.7.0 [INFO] [stderr] Compiling tree-sitter v0.26.8 [INFO] [stderr] Compiling napi-derive v3.3.0 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling pin-project v1.1.13 [INFO] [stderr] Compiling futures-concurrency v7.7.1 [INFO] [stderr] Compiling strum v0.28.0 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling rstui-theme v0.0.1 (/opt/rustwide/workdir/crates/rstui-theme) [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling jsonrpcmsg v0.1.2 [INFO] [stderr] Compiling rstui-plugin-core v0.0.1 (/opt/rustwide/workdir/crates/rstui-plugin-core) [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling rstui-acp-plugin-sdk v0.0.1 (/opt/rustwide/workdir/crates/rstui-acp-plugin-sdk) [INFO] [stderr] Compiling rstui-jsonui v0.0.1 (/opt/rustwide/workdir/crates/rstui-jsonui) [INFO] [stderr] Compiling schemars v1.2.1 [INFO] [stderr] Compiling rstui-code v0.0.1 (/opt/rustwide/workdir/crates/rstui-code) [INFO] [stderr] Compiling agent-client-protocol-schema v0.11.7 [INFO] [stderr] Compiling rstui-ai v0.0.1 (/opt/rustwide/workdir/crates/rstui-ai) [INFO] [stderr] Compiling rstui-runtime v0.0.1 (/opt/rustwide/workdir/crates/rstui-runtime) [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling rstui-crossterm v0.0.1 (/opt/rustwide/workdir/crates/rstui-crossterm) [INFO] [stderr] Compiling rstui-devtools v0.0.1 (/opt/rustwide/workdir/crates/rstui-devtools) [INFO] [stderr] Compiling rstui-git-review v0.0.1 (/opt/rustwide/workdir/crates/rstui-git-review) [INFO] [stderr] Compiling rstui-kitchen-sink v0.0.1 (/opt/rustwide/workdir/crates/rstui-kitchen-sink) [INFO] [stderr] Compiling rstui-smoke v0.0.1 (/opt/rustwide/workdir/crates/rstui-smoke) [INFO] [stderr] Compiling rstui-bench v0.0.1 (/opt/rustwide/workdir/crates/rstui-bench) [INFO] [stderr] Compiling sacp v11.0.0 [INFO] [stderr] Compiling rstui-acp-client v0.0.1 (/opt/rustwide/workdir/crates/rstui-acp-client) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 36s [INFO] running `Command { std: "docker" "inspect" "31b700188b45c1e316b4959524a1fdb163cb7c498a57ee4189771add9a97bf11", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "31b700188b45c1e316b4959524a1fdb163cb7c498a57ee4189771add9a97bf11", kill_on_drop: false }` [INFO] [stdout] 31b700188b45c1e316b4959524a1fdb163cb7c498a57ee4189771add9a97bf11 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] abc69c521ba27127d03b24c70aecf620a7dc29a10455abca140186024b8387f3 [INFO] running `Command { std: "docker" "start" "-a" "abc69c521ba27127d03b24c70aecf620a7dc29a10455abca140186024b8387f3", kill_on_drop: false }` [INFO] [stderr] Compiling rstui-git-review v0.0.1 (/opt/rustwide/workdir/crates/rstui-git-review) [INFO] [stderr] Compiling rstui-ai v0.0.1 (/opt/rustwide/workdir/crates/rstui-ai) [INFO] [stderr] Compiling rstui-smoke v0.0.1 (/opt/rustwide/workdir/crates/rstui-smoke) [INFO] [stderr] Compiling rstui-devtools v0.0.1 (/opt/rustwide/workdir/crates/rstui-devtools) [INFO] [stderr] Compiling rstui-kitchen-sink v0.0.1 (/opt/rustwide/workdir/crates/rstui-kitchen-sink) [INFO] [stderr] Compiling rstui-acp-client v0.0.1 (/opt/rustwide/workdir/crates/rstui-acp-client) [INFO] [stderr] Compiling rstui-plugin-host v0.0.1 (/opt/rustwide/workdir/crates/rstui-plugin-host) [INFO] [stderr] Compiling rstui-acp-shm-native v0.0.1 (/opt/rustwide/workdir/crates/rstui-acp-shm-native) [INFO] [stderr] Compiling rstui-acp-plugin-sdk v0.0.1 (/opt/rustwide/workdir/crates/rstui-acp-plugin-sdk) [INFO] [stderr] Compiling rstui-code v0.0.1 (/opt/rustwide/workdir/crates/rstui-code) [INFO] [stderr] Compiling rstui-crossterm v0.0.1 (/opt/rustwide/workdir/crates/rstui-crossterm) [INFO] [stderr] Compiling rstui-widgets v0.0.1 (/opt/rustwide/workdir/crates/rstui-widgets) [INFO] [stderr] Compiling rstui-runtime v0.0.1 (/opt/rustwide/workdir/crates/rstui-runtime) [INFO] [stderr] Compiling rstui-plugin-core v0.0.1 (/opt/rustwide/workdir/crates/rstui-plugin-core) [INFO] [stderr] Compiling rstui-theme v0.0.1 (/opt/rustwide/workdir/crates/rstui-theme) [INFO] [stderr] Compiling rstui-jsonui v0.0.1 (/opt/rustwide/workdir/crates/rstui-jsonui) [INFO] [stderr] Compiling rstui-acp-shm v0.0.1 (/opt/rustwide/workdir/crates/rstui-acp-shm) [INFO] [stderr] Compiling rstui-bench v0.0.1 (/opt/rustwide/workdir/crates/rstui-bench) [INFO] [stderr] Compiling rstui-core v0.0.1 (/opt/rustwide/workdir/crates/rstui-core) [INFO] [stderr] Compiling rstui-keymap v0.0.1 (/opt/rustwide/workdir/crates/rstui-keymap) [INFO] [stderr] Compiling xtask v0.0.1 (/opt/rustwide/workdir/crates/xtask) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 02s [INFO] running `Command { std: "docker" "inspect" "abc69c521ba27127d03b24c70aecf620a7dc29a10455abca140186024b8387f3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "abc69c521ba27127d03b24c70aecf620a7dc29a10455abca140186024b8387f3", kill_on_drop: false }` [INFO] [stdout] abc69c521ba27127d03b24c70aecf620a7dc29a10455abca140186024b8387f3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] c0fda2ab02205c30a8d3bf7ee32d0f5b41615517888f0524fab55cecad36d54f [INFO] running `Command { std: "docker" "start" "-a" "c0fda2ab02205c30a8d3bf7ee32d0f5b41615517888f0524fab55cecad36d54f", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.45s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rstui_acp_client-75eabe4593ee04d8) [INFO] [stdout] [INFO] [stdout] running 62 tests [INFO] [stdout] test acp::driver::drv2_tests::connect_timeout_defaults_and_parses ... ok [INFO] [stdout] test acp::richui::tests::detects_a2ui_envelope_and_json_render_spec_but_not_prose ... ok [INFO] [stdout] test app::bell_env_tests::bell_is_on_by_default_and_off_only_for_explicit_falsy_values ... ok [INFO] [stdout] test acp::driver::drv2_tests::shell_split_handles_quotes_escapes_and_whitespace ... ok [INFO] [stdout] test acp::richui::tests::split_message_extracts_an_embedded_fenced_doc_from_prose ... ok [INFO] [stdout] test app::canned_prompt_tests::a2ui_prompt_teaches_the_a2ui_format_to_any_agent ... ok [INFO] [stdout] test app::canned_prompt_tests::canned_prompts_are_substantial_and_on_topic ... ok [INFO] [stdout] test acp::richui::tests::a2ui_form_two_way_submit_builds_the_exact_spec_envelope ... ok [INFO] [stdout] test app::canned_prompt_tests::render_prompt_teaches_the_json_render_format_to_any_agent ... ok [INFO] [stdout] test acp::richui::tests::a2ui_tabs_switch_via_act_node_persists ... ok [INFO] [stdout] test clipboard::tests::base64_matches_rfc4648_vectors ... ok [INFO] [stdout] test acp::richui::tests::click_resolves_a_button_to_an_agent_round_trip ... ok [INFO] [stdout] test acp::richui::tests::json_render_checkbox_and_slider_are_interactive_and_submit ... ok [INFO] [stdout] test acp::richui::tests::a2ui_slider_steps_and_a_button_event_submits_it ... ok [INFO] [stdout] test acp::richui::tests::json_render_form_two_way_submit_sends_resolved_params ... ok [INFO] [stdout] test acp::richui::tests::json_render_button_press_round_trips_to_the_agent ... ok [INFO] [stdout] test app::mention_rank_tests::ranks_basename_prefix_over_substring_over_path_and_caps ... ok [INFO] [stdout] test history::tests::encode_decode_round_trips_backslash_and_newlines ... ok [INFO] [stdout] test history::tests::older_newer_walk_and_restore_the_draft ... ok [INFO] [stdout] test acp::richui::tests::diagram_fences_are_recognised_and_rendered_inline ... ok [INFO] [stdout] test clipboard::tests::base64_round_trips_utf8_and_newlines ... ok [INFO] [stdout] test history::tests::record_dedups_consecutive_and_skips_empty ... ok [INFO] [stdout] test history::tests::serialize_parse_round_trips_including_multiline_and_backslash ... ok [INFO] [stdout] test profiles::tests::empty_or_malformed_is_inert ... ok [INFO] [stdout] test profiles::tests::parses_sections_command_and_repeatable_plugins ... ok [INFO] [stdout] test history::tests::older_on_empty_history_is_none ... ok [INFO] [stdout] test readline::tests::delete_horizontal_space_removes_blanks_around_the_cursor ... ok [INFO] [stdout] test readline::tests::kill_line_at_line_end_joins_the_next_line ... ok [INFO] [stdout] test readline::tests::case_operations_change_the_next_word ... ok [INFO] [stdout] test readline::tests::kill_line_forward_and_backward ... ok [INFO] [stdout] test readline::tests::consecutive_kills_coalesce_into_one_ring_entry ... ok [INFO] [stdout] test history::tests::record_resets_browsing ... ok [INFO] [stdout] test readline::tests::transpose_chars_mid_line_and_at_end ... ok [INFO] [stdout] test readline::tests::revert_line_drops_every_edit_at_once ... ok [INFO] [stdout] test readline::tests::kill_word_backward_is_alphanumeric_delimited ... ok [INFO] [stdout] test readline::tests::kill_word_forward_kills_the_next_word ... ok [INFO] [stdout] test readline::tests::undo_restores_text_removed_by_a_kill ... ok [INFO] [stdout] test sessions::tests::record_dedups_by_id_and_newest_first_sorts_by_time ... ok [INFO] [stdout] test readline::tests::yank_pop_cycles_through_the_ring ... ok [INFO] [stdout] test sessions::tests::serialize_parse_round_trips_with_tricky_fields ... ok [INFO] [stdout] test readline::tests::word_motion_skips_punctuation_and_crosses_lines ... ok [INFO] [stdout] test readline::tests::unix_word_rubout_is_whitespace_delimited ... ok [INFO] [stdout] test readline::tests::reset_line_clears_undo_but_keeps_the_kill_ring ... ok [INFO] [stdout] test readline::tests::yank_inserts_the_newest_kill ... ok [INFO] [stdout] test ui::tests::caret_row_follows_the_cursor_down_the_lines ... ok [INFO] [stdout] test ui::tests::composer_box_grows_one_row_per_added_line ... ok [INFO] [stdout] test ui::tests::composer_box_shrinks_back_to_the_minimum ... ok [INFO] [stdout] test ui::tests::composer_scroll_is_zero_until_the_draft_overflows_the_box ... ok [INFO] [stdout] test ui::tests::composer_box_is_capped_to_leave_the_transcript_room ... ok [INFO] [stdout] test title::tests::sanitize_strips_control_chars_and_clamps_length ... ok [INFO] [stdout] test acp::driver::drv2_tests::typed_describe_permission_is_byte_identical_to_the_json_walk ... ok [INFO] [stdout] test title::tests::session_title_reflects_screen_and_state ... ok [INFO] [stdout] test title::tests::short_agent_takes_the_last_path_component_of_the_last_word ... ok [INFO] [stdout] test acp::richui::tests::segments_split_a_message_into_prose_and_every_block_in_order ... ok [INFO] [stdout] test ui::tests::composer_box_grows_when_a_long_line_wraps ... ok [INFO] [stdout] test acp::richui::tests::renders_total_and_capability_meta_carries_catalog ... ok [INFO] [stdout] test acp::richui::tests::submitted_form_is_a_user_message_wrapped_with_the_format_marker ... ok [INFO] [stdout] test acp::richui::tests::rich_doc_act_persists_a_json_render_setstate_across_reprojection ... ok [INFO] [stdout] test app::md_cache_tests::agent_md_cache_equals_a_fresh_parse_for_every_non_last_entry ... ok [INFO] [stdout] test readline::tests::operations_are_total_over_a_random_sequence ... ok [INFO] [stdout] test readline::tests::transpose_words_swaps_around_the_cursor ... ok [INFO] [stdout] test readline::tests::undo_coalesces_a_typing_run_then_steps_back_per_edit ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 62 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rstui_acp_client-95c2c366c7b8f622) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/rstui-acp-plugin-ask-user.rs (/opt/rustwide/target/debug/deps/rstui_acp_plugin_ask_user-e63501e4c5fc9603) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/rstui-acp-plugin-btw.rs (/opt/rustwide/target/debug/deps/rstui_acp_plugin_btw-9cf54afb7413e8eb) [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/rstui-acp-plugin-fortune.rs (/opt/rustwide/target/debug/deps/rstui_acp_plugin_fortune-383aa0bb04fb0373) [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/rstui-acp-plugin-git.rs (/opt/rustwide/target/debug/deps/rstui_acp_plugin_git-e56678d759b101b1) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/rstui-acp-plugin-history.rs (/opt/rustwide/target/debug/deps/rstui_acp_plugin_history-309c77961e752f3f) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/rstui-acp-plugin-pomodoro.rs (/opt/rustwide/target/debug/deps/rstui_acp_plugin_pomodoro-3f5b1ff839fd9de7) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/rstui-acp-plugin-powerline.rs (/opt/rustwide/target/debug/deps/rstui_acp_plugin_powerline-48ad8cdb65e38b74) [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/rstui-acp-plugin-session.rs (/opt/rustwide/target/debug/deps/rstui_acp_plugin_session-0c043d2fd9f04e2b) [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/harness.rs (/opt/rustwide/target/debug/deps/harness-ee23121367d051c1) [INFO] [stdout] [INFO] [stdout] running 94 tests [INFO] [stdout] test acp_initialize_meta_ships_the_full_catalog_for_both_formats ... ok [INFO] [stdout] test agent_advertised_commands_merge_into_the_command_set ... ok [INFO] [stdout] test a_long_help_overlay_scrolls_on_a_short_terminal ... ok [INFO] [stdout] test acp_plan_populates_todos_and_progress ... ok [INFO] [stdout] test agent_markdown_links_render_with_styling ... ok [INFO] [stdout] test a_message_with_markdown_and_several_blocks_renders_each_inline ... ok [INFO] [stdout] test alt_b_and_alt_f_move_by_whole_words ... ok [INFO] [stdout] test agent_json_render_document_renders_in_the_transcript ... ok [INFO] [stdout] test acp_plan_replaces_the_whole_list_each_update ... ok [INFO] [stdout] test a2ui_is_a_builtin_command_that_primes_the_agent ... ok [INFO] [stdout] test agent_a2ui_document_renders_in_the_transcript ... ok [INFO] [stdout] test a_query_with_no_match_marks_the_search_failing ... ok [INFO] [stdout] test alt_backspace_kills_the_word_behind_the_cursor ... ok [INFO] [stdout] test a_streamed_prose_wrapped_agent_document_renders_at_turn_end ... ok [INFO] [stdout] test agent_followup_updates_the_open_pane_in_place_closing_the_loop ... ok [INFO] [stdout] test a_tall_composer_renders_without_breaking_the_layout ... ok [INFO] [stdout] test config_from_args_parses_agent_and_repeated_plugins ... ok [INFO] [stdout] test arrows_move_within_a_multiline_draft_before_recalling_history ... ok [INFO] [stdout] test builtin_clear_command_empties_the_transcript ... ok [INFO] [stdout] test alt_u_upcases_the_following_word ... ok [INFO] [stdout] test auth_required_opens_the_sign_in_picker ... ok [INFO] [stdout] test bare_letters_are_never_stolen_as_shortcuts ... ok [INFO] [stdout] test agent_form_opens_in_the_right_pane_and_keyboard_fills_then_submits ... ok [INFO] [stdout] test an_unbound_control_chord_does_not_type_a_literal_character ... ok [INFO] [stdout] test autocomplete_filters_as_you_type_and_navigates_and_wraps ... ok [INFO] [stdout] test clicking_a_rendered_json_render_control_persists_state_across_redraws ... ok [INFO] [stdout] test ctrl_a_and_ctrl_e_jump_to_the_line_ends ... ok [INFO] [stdout] test custom_command_switch_synonyms_and_env_precedence ... ok [INFO] [stdout] test ctrl_d_on_an_empty_composer_does_not_quit ... ok [INFO] [stdout] test ctrl_b_and_ctrl_f_move_one_character ... ok [INFO] [stdout] test ctrl_underscore_undoes_the_last_composer_edit ... ok [INFO] [stdout] test ctrl_t_transposes_the_characters_around_the_cursor ... ok [INFO] [stdout] test ctrl_w_kills_a_word_and_ctrl_y_yanks_it_back ... ok [INFO] [stdout] test ctrl_r_starts_an_incremental_search_and_finds_a_match ... ok [INFO] [stdout] test boot_does_not_panic_and_renders_a_non_empty_frame ... ok [INFO] [stdout] test ctrl_k_kills_to_end_of_line_without_opening_the_drawer ... ok [INFO] [stdout] test from_args_accepts_equals_and_space_forms ... ok [INFO] [stdout] test event_routed_keys_reach_the_reducer_through_on_event ... ok [INFO] [stdout] test closing_the_help_overlay_resets_its_scroll ... ok [INFO] [stdout] test clicking_a_rendered_checkbox_persists_the_toggle_across_redraws ... ok [INFO] [stdout] test details_toggle_collapses_completed_tool_output ... ok [INFO] [stdout] test clicking_a_rendered_button_round_trips_an_action_to_the_agent ... ok [INFO] [stdout] test ctrl_g_aborts_the_search_and_restores_the_draft ... ok [INFO] [stdout] test duplicate_submissions_dedup_and_editing_resets_the_browse ... ok [INFO] [stdout] test empty_panel_body_removes_the_panel ... ok [INFO] [stdout] test ctrl_u_kills_back_to_the_start_of_the_line ... ok [INFO] [stdout] test escape_hides_the_autocomplete_without_running ... ok [INFO] [stdout] test keymap_panel_opens_with_ctrl_x_navigates_rebinds_and_closes ... ok [INFO] [stdout] test ctrl_r_steps_back_through_older_matches ... ok [INFO] [stdout] test help_overlay_toggles_with_f1_and_esc_in_the_picker ... ok [INFO] [stdout] test profile_switch_resolves_command_and_plugins_with_precedence ... ok [INFO] [stdout] test plugin_modal_opens_navigates_and_answers ... ok [INFO] [stdout] test plugin_commands_route_and_appear_in_autocomplete ... ok [INFO] [stdout] test picker_navigation_advances_and_clamps_the_selection ... ok [INFO] [stdout] test registry_parse_resolves_an_npx_agent_command ... ok [INFO] [stdout] test failed_tool_keeps_its_body_even_with_details_off ... ok [INFO] [stdout] test enter_during_isearch_accepts_the_match_and_submits_it ... ok [INFO] [stdout] test enter_on_a_selection_runs_the_command ... ok [INFO] [stdout] test registry_loaded_populates_the_picker_with_known_agents ... ok [INFO] [stdout] test help_then_k_is_the_universal_gateway_into_the_keymap_editor ... ok [INFO] [stdout] test plugin_modal_escape_cancels ... ok [INFO] [stdout] test at_mention_fuzzy_file_completion ... ok [INFO] [stdout] test json_render_button_in_a_form_round_trips_when_clicked ... ok [INFO] [stdout] test plugins_overlay_toggles_and_lists_plugin_commands ... ok [INFO] [stdout] test resize_to_a_tiny_surface_does_not_panic ... ok [INFO] [stdout] test plugin_status_and_panel_surface_in_the_sidebar ... ok [INFO] [stdout] test render_is_a_builtin_command_that_primes_the_agent ... ok [INFO] [stdout] test sidebar_auto_hides_once_every_todo_is_completed ... ok [INFO] [stdout] test session_modes_drive_the_mode_picker ... ok [INFO] [stdout] test scroll_messages_adjust_the_offset_without_panicking ... ok [INFO] [stdout] test plugin_keybinding_registers_and_fires_its_command ... ok [INFO] [stdout] test slash_copy_targets_the_last_agent_answer ... ok [INFO] [stdout] test picker_custom_command_entry_launches_without_a_flag ... ok [INFO] [stdout] test model_catalogue_drives_the_model_picker ... ok [INFO] [stdout] test real_boot_form_is_interactive_without_an_explicit_resize ... ok [INFO] [stdout] test tool_call_update_merges_and_keeps_one_card ... ok [INFO] [stdout] test slash_bell_toggles_and_turn_end_is_handled ... ok [INFO] [stdout] test the_composer_box_grows_and_shrinks_with_the_draft ... ok [INFO] [stdout] test tick_after_boot_is_safe_and_preserves_the_surface_size ... ok [INFO] [stdout] test tool_call_registers_and_renders_a_card ... ok [INFO] [stdout] test tab_completes_to_command_with_trailing_space_and_closes_popup ... ok [INFO] [stdout] test the_help_overlay_expands_to_show_every_command ... ok [INFO] [stdout] test the_isearch_prompt_is_shown_in_the_composer_title ... ok [INFO] [stdout] test typing_in_the_picker_does_not_reach_the_composer_and_does_not_crash ... ok [INFO] [stdout] test transcript_pager_opens_scrolls_searches_and_closes ... ok [INFO] [stdout] test slash_todos_toggles_the_sidebar ... ok [INFO] [stdout] test typing_slash_opens_the_autocomplete_with_builtins ... ok [INFO] [stdout] test started_sessions_feed_the_resume_picker ... ok [INFO] [stdout] test slash_init_and_review_are_builtins_wired_to_the_prompt_path ... ok [INFO] [stdout] test usage_update_feeds_the_status_overlay ... ok [INFO] [stdout] test wire_console_captures_stdio_and_toggles_with_f2 ... ok [INFO] [stdout] test terminal_title_follows_the_session_state ... ok [INFO] [stdout] test up_down_recall_submitted_prompts_and_restore_the_draft ... ok [INFO] [stdout] test slash_diff_opens_a_scrollable_overlay ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 94 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.85s [INFO] [stdout] [INFO] [stderr] Running tests/plugins.rs (/opt/rustwide/target/debug/deps/plugins-a3873213a13ab0da) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test ask_user_registers_and_opens_an_ask ... ok [INFO] [stdout] test fortune_draws_on_turn_end_and_command ... ok [INFO] [stdout] test history_records_prompts ... ok [INFO] [stdout] test session_tracks_and_summarizes ... ok [INFO] [stdout] test powerline_emits_a_footer ... ok [INFO] [stdout] test pomodoro_starts_and_ticks ... ok [INFO] [stdout] test fortune_binds_a_key_chord_to_its_command ... ok [INFO] [stdout] test btw_registers_and_records_a_note_panel ... ok [INFO] [stdout] test git_reports_branch_or_degrades ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.60s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rstui_acp_plugin_sdk-d09fffa798a4abe8) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test proto::tests::init_is_a_jsonrpc_request_others_are_notifications ... ok [INFO] [stdout] test proto::tests::a_response_is_not_decoded_as_an_action ... ok [INFO] [stdout] test proto::tests::plugin_action_round_trips_and_methods_are_stable ... ok [INFO] [stdout] test proto::tests::host_event_round_trips_through_jsonrpc ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rstui_acp_shm-e9e584301b659fe8) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test tests::rejects_oversized_message ... ok [INFO] [stdout] test tests::round_trips_many_messages_across_two_mappings ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rstui_acp_shm_native-c35f8006d34c798f) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rstui_ai-cf52638bd8863966) [INFO] [stdout] [INFO] [stdout] running 282 tests [INFO] [stdout] test agent_card::tests::zero_area_is_a_no_op ... ok [INFO] [stdout] test artifact::tests::the_body_is_below_the_header_inside_the_border ... ok [INFO] [stdout] test agent_card::tests::a_tiny_card_clips_without_panicking ... ok [INFO] [stdout] test artifact::tests::the_header_shrinks_when_description_or_actions_are_absent ... ok [INFO] [stdout] test artifact::tests::zero_area_is_a_no_op ... ok [INFO] [stdout] test chain_of_thought::tests::body_height_sums_step_rows ... ok [INFO] [stdout] test chain_of_thought::tests::status_dots_and_styles_match_the_spec ... ok [INFO] [stdout] test chain_of_thought::tests::zero_area_is_a_no_op ... ok [INFO] [stdout] test artifact::tests::action_rects_track_each_chip ... ok [INFO] [stdout] test artifact::tests::a_tiny_panel_clips_to_an_empty_body_without_panicking ... ok [INFO] [stdout] test checkpoint::tests::a_narrow_area_clips_the_label_and_drops_the_rule ... ok [INFO] [stdout] test chain_of_thought::tests::more_steps_than_rows_clip_without_a_panic ... ok [INFO] [stdout] test chain_of_thought::tests::open_renders_the_dotted_timeline ... ok [INFO] [stdout] test chain_of_thought::tests::the_header_is_always_drawn_with_a_marker ... ok [INFO] [stdout] test checkpoint::tests::an_unlabelled_checkpoint_is_a_glyph_then_a_full_rule ... ok [INFO] [stdout] test agent_card::tests::the_body_is_badge_instructions_tools_then_schema ... ok [INFO] [stdout] test chain_of_thought::tests::no_steps_open_is_total ... ok [INFO] [stdout] test agent_card::tests::the_card_is_titled_with_the_agent_name ... ok [INFO] [stdout] test agent_card::tests::no_tools_and_no_schema_is_safe ... ok [INFO] [stdout] test chain_of_thought::tests::a_description_takes_the_next_row_with_a_connector ... ok [INFO] [stdout] test checkpoint::tests::a_labelled_checkpoint_is_glyph_label_then_rule ... ok [INFO] [stdout] test checkpoint::tests::custom_glyph_and_rule_char ... ok [INFO] [stdout] test artifact::tests::the_header_is_title_description_then_actions ... ok [INFO] [stdout] test checkpoint::tests::zero_area_is_a_no_op ... ok [INFO] [stdout] test checkpoint::tests::the_label_style_and_span_styles_cascade ... ok [INFO] [stdout] test commit::tests::an_open_card_lists_files_with_status_glyphs_and_counts ... ok [INFO] [stdout] test commit::tests::file_status_glyphs_are_distinct ... ok [INFO] [stdout] test chain_of_thought::tests::collapsed_draws_no_steps ... ok [INFO] [stdout] test commit::tests::zero_area_is_a_no_op ... ok [INFO] [stdout] test commit::tests::header_rect_is_the_first_inner_row ... ok [INFO] [stdout] test confirmation::tests::a_non_terminal_input_state_renders_nothing ... ok [INFO] [stdout] test confirmation::tests::approve_and_deny_rects_are_on_the_second_row ... ok [INFO] [stdout] test commit::tests::the_header_is_hash_and_message_the_footer_author_and_time ... ok [INFO] [stdout] test confirmation::tests::the_request_face_shows_the_prompt_and_two_affordances ... ok [INFO] [stdout] test commit::tests::over_many_files_clip_to_the_body ... ok [INFO] [stdout] test confirmation::tests::a_one_row_area_has_no_affordance_rects_but_still_draws_the_prompt ... ok [INFO] [stdout] test confirmation::tests::a_resolved_state_shows_one_tinted_line ... ok [INFO] [stdout] test confirmation::tests::resolved_states_have_no_clickable_rects ... ok [INFO] [stdout] test context_meter::tests::a_zero_max_is_empty_not_a_divide_by_zero ... ok [INFO] [stdout] test confirmation::tests::zero_area_is_a_no_op ... ok [INFO] [stdout] test context_meter::tests::the_breakdown_lists_only_present_counters ... ok [INFO] [stdout] test context_meter::tests::the_bar_renders_the_readout_label ... ok [INFO] [stdout] test context_meter::tests::the_readout_is_used_over_max ... ok [INFO] [stdout] test context_meter::tests::the_breakdown_popover_is_a_bordered_list ... ok [INFO] [stdout] test context_meter::tests::used_is_input_plus_output_and_fraction_is_clamped ... ok [INFO] [stdout] test context_meter::tests::zero_area_is_a_no_op ... ok [INFO] [stdout] test conversation::tests::a_custom_empty_text_is_used ... ok [INFO] [stdout] test conversation::tests::an_empty_transcript_shows_the_centred_empty_state ... ok [INFO] [stdout] test conversation::tests::zero_area_is_a_no_op ... ok [INFO] [stdout] test conversation::tests::messages_to_markdown_is_the_ai_elements_export ... ok [INFO] [stdout] test conversation::tests::content_rows_is_total_at_zero_width ... ok [INFO] [stdout] test conversation_cache::tests::an_empty_id_is_never_cached ... ok [INFO] [stdout] test diagram::tests::an_unterminated_fence_still_resolves_a_body_streaming ... ok [INFO] [stdout] test diagram::tests::a_fenced_block_is_unwrapped_and_its_info_string_wins ... ok [INFO] [stdout] test diagram::tests::bare_mermaid_and_structurizr_sniff_correctly ... ok [INFO] [stdout] test diagram::tests::extract_pulls_the_first_diagram_out_of_a_chat_turn ... ok [INFO] [stdout] test conversation::tests::it_renders_the_visible_turns_top_anchored ... ok [INFO] [stdout] test diagram::tests::extract_returns_none_for_plain_prose_and_plain_code ... ok [INFO] [stdout] test conversation::tests::scrolled_up_is_not_at_bottom_and_shows_older_turns ... ok [INFO] [stdout] test conversation::tests::content_rows_sums_turn_heights_plus_gaps ... ok [INFO] [stdout] test diagram::tests::extract_finds_structurizr_and_unlabelled_diagram_blocks ... ok [INFO] [stdout] test conversation::tests::a_turn_partly_scrolled_off_the_top_still_shows_its_lower_rows ... ok [INFO] [stdout] test conversation::tests::sticky_bottom_offset_shows_the_newest_turn ... ok [INFO] [stdout] test conversation_cache::tests::a_changed_fingerprint_is_a_miss_until_resynced ... ok [INFO] [stdout] test diagram::tests::forced_language_overrides_detection ... ok [INFO] [stdout] test chain_of_thought::tests::the_active_step_label_is_foreground_bold ... ok [INFO] [stdout] test conversation_cache::tests::a_history_trim_evicts_dropped_ids ... ok [INFO] [stdout] test diagram::tests::json_canvas_is_detected_bare_fenced_and_forced ... ok [INFO] [stdout] test diagram::tests::json_canvas_extracts_from_prose_and_renders_placed ... ok [INFO] [stdout] test diagram::tests::renders_a_mermaid_flowchart_through_the_widget ... ok [INFO] [stdout] test diagram::tests::renders_a_structurizr_workspace_through_the_widget ... ok [INFO] [stdout] test conversation_cache::tests::a_width_change_invalidates_and_re_measures ... ok [INFO] [stdout] test diagram::tests::block_frames_the_diagram ... ok [INFO] [stdout] test diagram::tests::empty_and_garbled_input_degrade_to_a_placeholder_not_a_panic ... ok [INFO] [stdout] test conversation_cache::tests::cache_height_equals_a_fresh_measure_for_every_non_last_message ... ok [INFO] [stdout] test file_tree::tests::an_empty_tree_is_safe ... ok [INFO] [stdout] test file_tree::tests::it_renders_folder_and_file_glyphs_at_depth ... ok [INFO] [stdout] test file_tree::tests::a_block_frames_the_tree ... ok [INFO] [stdout] test file_tree::tests::selected_node_reads_the_flattened_index ... ok [INFO] [stdout] test file_tree::tests::the_selection_is_highlighted ... ok [INFO] [stdout] test file_tree::tests::the_child_is_indented_under_its_folder ... ok [INFO] [stdout] test file_tree::tests::zero_area_is_a_no_op ... ok [INFO] [stdout] test inline_citation::tests::the_card_lists_title_then_url_per_source ... ok [INFO] [stdout] test inline_citation::tests::the_marker_is_an_inline_chip ... ok [INFO] [stdout] test inline_citation::tests::the_style_cascades_into_the_card ... ok [INFO] [stdout] test inline_citation::tests::zero_area_is_a_no_op ... ok [INFO] [stdout] test inline_citation::tests::marker_rect_is_the_chip_cells_clipped ... ok [INFO] [stdout] test inline_citation::tests::an_empty_card_still_has_a_minimum_size ... ok [INFO] [stdout] test conversation::tests::a_synced_cache_renders_byte_identical_and_measures_the_same ... ok [INFO] [stdout] test message::tests::a_one_row_area_draws_only_the_role_line ... ok [INFO] [stdout] test inline_citation::tests::the_card_clips_rows_in_a_short_box ... ok [INFO] [stdout] test message::tests::message_branch_renders_the_selector_and_hit_rects ... ok [INFO] [stdout] test message::tests::message_branch_state_wraps_both_directions ... ok [INFO] [stdout] test message::tests::an_unknown_part_is_still_surfaced_not_dropped ... ok [INFO] [stdout] test message::tests::height_is_role_line_plus_wrapped_body ... ok [INFO] [stdout] test message::tests::message_branch_with_no_branches_is_total ... ok [INFO] [stdout] test message::tests::part_to_markdown_maps_each_variant ... ok [INFO] [stdout] test message::tests::role_labels_and_colors_cover_every_role ... ok [INFO] [stdout] test model::tests::parses_a_full_assistant_message ... ok [INFO] [stdout] test message::tests::zero_area_is_a_no_op ... ok [INFO] [stdout] test model_selector::tests::a_closed_selector_renders_nothing ... ok [INFO] [stdout] test model_selector::tests::no_matches_is_an_empty_framed_panel_not_a_panic ... ok [INFO] [stdout] test message::tests::the_role_line_is_labelled_and_accented ... ok [INFO] [stdout] test model_selector::tests::row_rects_track_each_matched_row_parallel_to_matches ... ok [INFO] [stdout] test message::tests::the_body_renders_each_part_kind ... ok [INFO] [stdout] test model_selector::tests::an_open_selector_lists_matched_models_in_a_frame ... ok [INFO] [stdout] test model_selector::tests::the_filter_narrows_matches_to_original_indices ... ok [INFO] [stdout] test model_selector::tests::zero_area_is_a_no_op ... ok [INFO] [stdout] test model_selector::tests::the_selection_highlights_a_matched_row ... ok [INFO] [stdout] test package_info::tests::an_empty_dependency_list_is_safe ... ok [INFO] [stdout] test model::tests::serde_shim_and_usage_and_status ... ok [INFO] [stdout] test package_info::tests::the_card_is_titled_name_at_version ... ok [INFO] [stdout] test package_info::tests::a_tiny_card_clips_without_panicking ... ok [INFO] [stdout] test model::tests::totality_unknown_and_garbled_parts_never_panic ... ok [INFO] [stdout] test package_info::tests::the_body_is_badge_description_then_deps ... ok [INFO] [stdout] test package_info::tests::change_type_labels_and_levels_are_distinct ... ok [INFO] [stdout] test package_info::tests::zero_area_is_a_no_op ... ok [INFO] [stdout] test plan::tests::a_description_sits_under_the_title_and_pushes_the_body_down ... ok [INFO] [stdout] test plan::tests::a_tiny_area_with_no_inner_is_total ... ok [INFO] [stdout] test plan::tests::collapsed_draws_no_steps ... ok [INFO] [stdout] test plan::tests::streaming_styles_the_title_dim_italic_not_animated ... ok [INFO] [stdout] test plan::tests::open_renders_the_numbered_steps ... ok [INFO] [stdout] test plan::tests::more_steps_than_rows_clip_without_a_panic ... ok [INFO] [stdout] test plan::tests::the_header_shows_the_title_and_a_marker ... ok [INFO] [stdout] test commit::tests::a_closed_card_hides_the_file_list ... ok [INFO] [stdout] test plan::tests::zero_area_is_a_no_op ... ok [INFO] [stdout] test prompt_input::tests::a_busy_status_shows_the_stop_glyph ... ok [INFO] [stdout] test prompt_input::tests::a_tiny_area_with_no_inner_is_total ... ok [INFO] [stdout] test prompt_input::tests::an_empty_document_shows_the_placeholder ... ok [INFO] [stdout] test prompt_input::tests::editor_rect_is_the_whole_inner_when_there_are_no_attachments ... ok [INFO] [stdout] test prompt_input::tests::intent_at_maps_a_chip_cross_to_remove_that_attachment ... ok [INFO] [stdout] test prompt_input::tests::attachment_chips_render_on_the_first_inner_row ... ok [INFO] [stdout] test prompt_input::tests::many_chips_clip_to_the_strip_without_a_panic ... ok [INFO] [stdout] test prompt_input::tests::zero_area_is_a_no_op ... ok [INFO] [stdout] test prompt_input::tests::the_action_glyph_follows_the_chat_status ... ok [INFO] [stdout] test reasoning::tests::body_rect_is_below_the_header_when_open ... ok [INFO] [stdout] test prompt_input::tests::it_renders_the_editor_text_and_a_send_glyph ... ok [INFO] [stdout] test reasoning::tests::settled_header_reports_the_duration_singularised ... ok [INFO] [stdout] test prompt_input::tests::intent_at_maps_the_action_glyph_to_submit_or_stop ... ok [INFO] [stdout] test reasoning::tests::a_one_row_area_open_has_a_header_but_no_body ... ok [INFO] [stdout] test reasoning::tests::collapsed_draws_no_body ... ok [INFO] [stdout] test reasoning::tests::open_renders_the_markdown_body ... ok [INFO] [stdout] test reasoning::tests::streaming_header_says_thinking ... ok [INFO] [stdout] test reasoning::tests::the_header_is_always_drawn_with_a_marker ... ok [INFO] [stdout] test reasoning::tests::zero_area_is_a_no_op ... ok [INFO] [stdout] test schema_view::tests::a_deep_tree_clips_to_the_area ... ok [INFO] [stdout] test schema_view::tests::a_method_and_path_render_as_a_header_row ... ok [INFO] [stdout] test schema_view::tests::an_empty_leaf_schema_is_one_row ... ok [INFO] [stdout] test schema_view::tests::it_flattens_the_schema_depth_first_with_indentation ... ok [INFO] [stdout] test schema_view::tests::method_levels_are_distinct ... ok [INFO] [stdout] test schema_view::tests::required_nodes_get_a_star_and_bold_name ... ok [INFO] [stdout] test schema_view::tests::rows_reports_each_node_with_its_depth ... ok [INFO] [stdout] test schema_view::tests::zero_area_is_a_no_op ... ok [INFO] [stdout] test shimmer::tests::empty_text_has_a_zero_center_and_renders_nothing ... ok [INFO] [stdout] test shimmer::tests::it_lays_down_the_whole_text ... ok [INFO] [stdout] test shimmer::tests::the_bright_window_is_centred_on_the_swept_column ... ok [INFO] [stdout] test shimmer::tests::the_sweep_wraps_the_text_width ... ok [INFO] [stdout] test shimmer::tests::zero_area_is_a_no_op ... ok [INFO] [stdout] test snippet::tests::a_long_command_clips_before_the_copy_glyph ... ok [INFO] [stdout] test snippet::tests::a_snippet_is_prompt_command_then_a_copy_glyph ... ok [INFO] [stdout] test shimmer::tests::the_text_clips_at_the_right_edge ... ok [INFO] [stdout] test snippet::tests::copy_rect_is_the_last_inner_column ... ok [INFO] [stdout] test snippet::tests::styles_cascade_command_over_base ... ok [INFO] [stdout] test snippet::tests::a_block_frames_the_row ... ok [INFO] [stdout] test snippet::tests::copied_swaps_the_glyph_to_a_tick ... ok [INFO] [stdout] test snippet::tests::tiny_and_zero_areas_are_safe ... ok [INFO] [stdout] test sources::tests::a_closed_disclosure_shows_only_the_count_trigger ... ok [INFO] [stdout] test sources::tests::an_open_disclosure_lists_the_sources ... ok [INFO] [stdout] test sources::tests::header_rect_is_the_top_row_body_rect_is_below_when_open ... ok [INFO] [stdout] test sources::tests::tiny_and_zero_areas_are_safe ... ok [INFO] [stdout] test sources::tests::zero_count_is_handled ... ok [INFO] [stdout] test sources::tests::over_many_sources_clip_at_the_bottom ... ok [INFO] [stdout] test stack_trace::tests::closed_shows_only_the_head_open_shows_frames ... ok [INFO] [stdout] test stack_trace::tests::frame_rects_are_empty_when_closed ... ok [INFO] [stdout] test stack_trace::tests::it_parses_a_node_trace_with_internal_tagging ... ok [INFO] [stdout] test stack_trace::tests::hide_internal_filters_runtime_frames ... ok [INFO] [stdout] test stack_trace::tests::over_many_frames_clip_to_the_area ... ok [INFO] [stdout] test stack_trace::tests::it_parses_a_rust_backtrace ... ok [INFO] [stdout] test stream_markdown::tests::bold_table ... ok [INFO] [stdout] test stream_markdown::tests::bold_italic_table ... ok [INFO] [stdout] test stream_markdown::tests::cache_width_change_invalidates ... ok [INFO] [stdout] test stream_markdown::tests::code_block_table ... ok [INFO] [stdout] test stream_markdown::tests::cache_reuses_unchanged_earlier_blocks ... ok [INFO] [stdout] test stream_markdown::tests::cache_zero_width_clears ... ok [INFO] [stdout] test stream_markdown::tests::comparison_operator_table ... ok [INFO] [stdout] test stack_trace::tests::zero_area_is_a_no_op ... ok [INFO] [stdout] test stack_trace::tests::totality_unparseable_lines_become_raw_frames ... ok [INFO] [stdout] test stream_markdown::tests::basic_input_is_unchanged ... ok [INFO] [stdout] test stream_markdown::tests::custom_handler_priority_orders_before_builtins ... ok [INFO] [stdout] test stream_markdown::tests::exported_predicates_match_streamdown ... ok [INFO] [stdout] test stream_markdown::tests::coverage_gap_table ... ok [INFO] [stdout] test stream_markdown::tests::image_table ... ok [INFO] [stdout] test stream_markdown::tests::html_tag_table ... ok [INFO] [stdout] test stream_markdown::tests::custom_handlers_run_after_builtins ... ok [INFO] [stdout] test stream_markdown::tests::image_deletion_then_space_collapse_is_faithful_to_streamdown ... ok [INFO] [stdout] test stream_markdown::tests::inline_code_table ... ok [INFO] [stdout] test stream_markdown::tests::horizontal_rule_table ... ok [INFO] [stdout] test stream_markdown::tests::italic_table ... ok [INFO] [stdout] test stream_markdown::tests::links_protocol_table ... ok [INFO] [stdout] test stream_markdown::tests::partial_input_renders_bold_closed_no_literal_markers ... ok [INFO] [stdout] test stream_markdown::tests::links_text_only_table ... ok [INFO] [stdout] test stream_markdown::tests::open_mermaid_fence_renders_as_plain_text ... ok [INFO] [stdout] test stream_markdown::tests::katex_inline_optin_table ... ok [INFO] [stdout] test stream_markdown::tests::list_table ... ok [INFO] [stdout] test stream_markdown::tests::segmentation_closes_fence_then_splits ... ok [INFO] [stdout] test stream_markdown::tests::mixed_formatting_table ... ok [INFO] [stdout] test stream_markdown::tests::segmentation_is_total_on_hostile_input ... ok [INFO] [stdout] test stream_markdown::tests::katex_block_table ... ok [INFO] [stdout] test stream_markdown::tests::remend_is_idempotent ... ok [INFO] [stdout] test stream_markdown::tests::segmentation_keeps_footnote_doc_whole ... ok [INFO] [stdout] test stream_markdown::tests::segmentation_keeps_open_fence_whole ... ok [INFO] [stdout] test stream_markdown::tests::segmentation_merges_unclosed_html_block ... ok [INFO] [stdout] test stream_markdown::tests::segmentation_merges_open_block_math ... ok [INFO] [stdout] test stream_markdown::tests::segmentation_splits_on_blank_lines ... ok [INFO] [stdout] test stream_markdown::tests::settled_flag_round_trips ... ok [INFO] [stdout] test stream_markdown::tests::strikethrough_table ... ok [INFO] [stdout] test stream_markdown::tests::widget_is_total_on_hostile_input ... ok [INFO] [stdout] test stream_markdown::tests::single_tilde_table ... ok [INFO] [stdout] test stream_markdown::tests::streaming_scenarios_table ... ok [INFO] [stdout] test stream_markdown::tests::setext_heading_table ... ok [INFO] [stdout] test stream_markdown::tests::widget_renders_without_a_bound_state ... ok [INFO] [stdout] test stream_markdown::tests::widget_zero_area_is_a_no_op ... ok [INFO] [stdout] test suggestion::tests::an_out_of_range_offset_is_empty ... ok [INFO] [stdout] test suggestion::tests::empty_and_zero_are_safe ... ok [INFO] [stdout] test suggestion::tests::offset_scrolls_the_row ... ok [INFO] [stdout] test suggestion::tests::pill_rects_track_each_label_width ... ok [INFO] [stdout] test suggestion::tests::an_overflowing_pill_is_dropped_not_clipped ... ok [INFO] [stdout] test stream_markdown::tests::widget_static_fast_path_skips_repair ... ok [INFO] [stdout] test suggestion::tests::the_pill_style_cascades_over_the_base ... ok [INFO] [stdout] test task::tests::a_file_item_is_an_accented_chip ... ok [INFO] [stdout] test task::tests::body_rect_is_below_the_header_when_open ... ok [INFO] [stdout] test task::tests::more_items_than_rows_clip_without_a_panic ... ok [INFO] [stdout] test task::tests::collapsed_draws_no_items ... ok [INFO] [stdout] test suggestion::tests::pills_are_padded_labels_with_a_gap ... ok [INFO] [stdout] test task::tests::no_items_open_is_total ... ok [INFO] [stdout] test task::tests::task_item_constructors_build_the_right_variant ... ok [INFO] [stdout] test task::tests::the_header_is_always_drawn_with_a_marker ... ok [INFO] [stdout] test terminal_view::tests::empty_output_streaming_is_just_a_cursor ... ok [INFO] [stdout] test task::tests::open_renders_a_railed_item_list ... ok [INFO] [stdout] test terminal_view::tests::long_lines_clip_at_the_right_edge ... ok [INFO] [stdout] test terminal_view::tests::a_block_frames_the_output ... ok [INFO] [stdout] test task::tests::zero_area_is_a_no_op ... ok [INFO] [stdout] test terminal_view::tests::line_count_is_at_least_one ... ok [INFO] [stdout] test terminal_view::tests::output_renders_one_line_per_row_verbatim ... ok [INFO] [stdout] test terminal_view::tests::zero_area_is_a_no_op ... ok [INFO] [stdout] test terminal_view::tests::the_offset_clamps_to_the_last_page ... ok [INFO] [stdout] test terminal_view::tests::the_streaming_cursor_trails_the_last_line ... ok [INFO] [stdout] test test_results::tests::a_closed_breakdown_hides_the_suites ... ok [INFO] [stdout] test test_results::tests::an_open_breakdown_lists_suites_and_tests ... ok [INFO] [stdout] test test_results::tests::the_fraction_is_passed_over_total_clamped ... ok [INFO] [stdout] test test_results::tests::header_rect_is_the_headline_row ... ok [INFO] [stdout] test test_results::tests::zero_area_is_a_no_op ... ok [INFO] [stdout] test tool::tests::a_non_terminal_state_puts_a_spinner_glyph_in_the_header ... ok [INFO] [stdout] test tool::tests::a_string_output_is_verbatim_and_an_object_is_pretty_json ... ok [INFO] [stdout] test tool::tests::a_terminal_state_has_no_spinner_glyph ... ok [INFO] [stdout] test tool::tests::a_tiny_area_with_no_inner_is_total ... ok [INFO] [stdout] test tool::tests::a_title_override_replaces_the_tool_name ... ok [INFO] [stdout] test tool::tests::collapsed_draws_only_the_header_no_body ... ok [INFO] [stdout] test tool::tests::header_and_body_rects_are_consistent_with_the_frame ... ok [INFO] [stdout] test tool::tests::an_error_state_renders_the_error_text_under_an_error_caption ... ok [INFO] [stdout] test test_results::tests::the_bar_fills_to_the_pass_ratio ... ok [INFO] [stdout] test test_results::tests::test_status_glyphs_are_distinct ... ok [INFO] [stdout] test stream_markdown::tests::edge_cases_table ... ok [INFO] [stdout] test tool::tests::the_state_level_mapping_is_the_ai_elements_one ... ok [INFO] [stdout] test tool::tests::the_header_shows_the_name_and_a_status_tag ... ok [INFO] [stdout] test tool::tests::zero_area_is_a_no_op ... ok [INFO] [stdout] test web_console::tests::a_block_frames_the_list ... ok [INFO] [stdout] test tool::tests::open_draws_the_json_input_and_result ... ok [INFO] [stdout] test test_results::tests::the_headline_shows_the_three_counts ... ok [INFO] [stdout] test web_console::tests::an_empty_console_is_a_blank_pane ... ok [INFO] [stdout] test web_console::tests::the_offset_clamps_to_the_last_page ... ok [INFO] [stdout] test web_console::tests::each_level_tints_its_line ... ok [INFO] [stdout] test web_console::tests::zero_area_is_a_no_op ... ok [INFO] [stdout] test web_console::tests::it_lists_one_message_per_row ... ok [INFO] [stdout] test stream_markdown::tests::closed_mermaid_fence_delegates_to_mermaid_widget ... ok [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rstui_bench-014574a7f2efde5b) [INFO] [stdout] test env_vars::tests::an_empty_table_is_just_the_toggle ... ok [INFO] [stdout] test env_vars::tests::over_many_rows_clip_to_the_area ... ok [INFO] [stdout] test env_vars::tests::the_base_style_cascades ... ok [INFO] [stdout] test env_vars::tests::tiny_and_zero_areas_are_safe ... ok [INFO] [stdout] test env_vars::tests::each_row_has_a_trailing_copy_glyph ... ok [INFO] [stdout] test env_vars::tests::toggle_rect_is_row_zero_copy_rects_track_each_var_row ... ok [INFO] [stdout] test env_vars::tests::values_are_masked_until_revealed ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 282 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.26s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test measure::tests::run_executes_exactly_warmup_plus_iters_times ... ok [INFO] [stdout] test measure::tests::stats_reports_min_median_mean_and_sample_count ... ok [INFO] [stdout] test scenarios::tests::scenario_names_are_unique_and_segmented ... ok [INFO] [stdout] test measure::tests::humanize_auto_scales_the_unit ... ok [INFO] [stdout] test scenarios::tests::every_scenario_runs_and_summarizes ... ok [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rstui_code-0f6a3092f111953d) [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.71s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 189 tests [INFO] [stdout] test changeset::tests::quoted_path_with_spaces_is_unquoted ... ok [INFO] [stdout] test changeset::tests::three_file_patch_files_paths_status_and_stats ... ok [INFO] [stdout] test changeset::tests::trailing_no_newline_marker_is_not_counted ... ok [INFO] [stdout] test diff::tests::added_file_uses_the_plus_path_and_added_marker ... ok [INFO] [stdout] test changeset::tests::header_less_hunk_only_is_one_file ... ok [INFO] [stdout] test changeset::tests::rename_without_a_body_is_detected ... ok [INFO] [stdout] test changeset::tests::copy_is_detected_distinct_from_rename ... ok [INFO] [stdout] test changeset::tests::file_patch_round_trips_its_slice ... ok [INFO] [stdout] test changeset::tests::empty_and_garbage_input_is_the_empty_changeset ... ok [INFO] [stdout] test changeset::tests::dev_null_new_side_is_deleted ... ok [INFO] [stdout] test changeset::tests::crlf_patch_is_normalised ... ok [INFO] [stdout] test changeset::tests::header_less_single_patch_is_one_file ... ok [INFO] [stdout] test changeset::tests::hunk_patch_lines_are_within_the_files_slice ... ok [INFO] [stdout] test changeset::tests::hunk_index_and_file_of_hunk_order ... ok [INFO] [stdout] test changeset::tests::git_show_preamble_is_dropped_files_still_parse ... ok [INFO] [stdout] test changeset::tests::dev_null_old_side_is_added ... ok [INFO] [stdout] test changeset::tests::binary_file_is_detected_with_no_stats ... ok [INFO] [stdout] test diff::tests::block_frames_content_in_the_inner_area ... ok [INFO] [stdout] test diff::tests::combined_body_line_with_multibyte_lead_does_not_panic ... ok [INFO] [stdout] test diff::tests::combined_diff_body_signs_and_kinds_are_two_wide ... ok [INFO] [stdout] test diff::tests::combined_diff_three_way_conflict_snapshot ... ok [INFO] [stdout] test diff::tests::basic_hunk_numbers_context_add_and_delete ... ok [INFO] [stdout] test diff::tests::change_group_with_unequal_deletions_and_additions ... ok [INFO] [stdout] test changeset::tests::combined_cc_merge_diff_segments ... ok [INFO] [stdout] test diff::tests::combined_hunk_header_parses_with_two_sign_columns ... ok [INFO] [stdout] test diff::tests::crlf_is_stripped_so_no_stray_carriage_return_renders ... ok [INFO] [stdout] test diff::tests::col_scrolls_content_but_not_the_gutter_and_preserves_styles ... ok [INFO] [stdout] test diff::tests::default_language_is_unknown_and_byte_identical ... ok [INFO] [stdout] test diff::tests::deleted_file_uses_the_minus_path_and_deleted_marker ... ok [INFO] [stdout] test diff::tests::diff_theme_tier1_defaults_are_present_and_legacy_unchanged ... ok [INFO] [stdout] test diff::tests::git_binary_patch_block_renders_one_row_and_skips_the_payload ... ok [INFO] [stdout] test diff::tests::git_index_metadata_line_renders_as_its_own_themed_row ... ok [INFO] [stdout] test diff::tests::hunk_section_label_is_echoed ... ok [INFO] [stdout] test diff::tests::git_rename_copy_mode_similarity_rows_are_parsed_and_rendered ... ok [INFO] [stdout] test diff::tests::intra_line_marks_only_the_one_changed_token ... ok [INFO] [stdout] test diff::tests::intra_line_highlight_paints_the_changed_word_background ... ok [INFO] [stdout] test diff::tests::malformed_combined_header_does_not_panic_and_is_not_a_hunk ... ok [INFO] [stdout] test diff::tests::language_selects_a_language_specific_keyword_set ... ok [INFO] [stdout] test diff::tests::long_lines_skip_the_intra_line_pass ... ok [INFO] [stdout] test diff::tests::empty_input_renders_nothing ... ok [INFO] [stdout] test diff::tests::malformed_hunk_header_is_not_parsed_as_a_hunk ... ok [INFO] [stdout] test diff::tests::multi_file_patch_splits_on_each_header ... ok [INFO] [stdout] test diff::tests::renamed_file_shows_both_paths ... ok [INFO] [stdout] test diff::tests::scroll_skips_composed_rows ... ok [INFO] [stdout] test diff::tests::split_basic_add_context_delete_snapshot ... ok [INFO] [stdout] test diff::tests::split_pads_the_short_side_with_empty_cells ... ok [INFO] [stdout] test diff::tests::split_frames_content_in_the_block_inner_area ... ok [INFO] [stdout] test diff::tests::no_newline_marker_is_its_own_row_and_not_numbered ... ok [INFO] [stdout] test diff::tests::split_shows_context_on_both_sides_with_side_specific_numbers ... ok [INFO] [stdout] test diff::tests::split_preserves_intra_line_word_highlight_on_a_paired_change ... ok [INFO] [stdout] test diff::tests::min_number_width_floors_the_gutter_and_default_is_byte_identical ... ok [INFO] [stdout] test diff::tests::omitted_counts_default_to_one ... ok [INFO] [stdout] test diff::tests::new_and_deleted_file_mode_metadata_rows_render ... ok [INFO] [stdout] test diff::tests::row_count_matches_lines_len_across_layouts_and_widths ... ok [INFO] [stdout] test diff::tests::tab_expands_to_the_next_column_stop ... ok [INFO] [stdout] test diff::tests::split_too_narrow_degrades_to_unified_without_panicking ... ok [INFO] [stdout] test diff::tests::trailing_blank_lines_are_dropped_before_parsing ... ok [INFO] [stdout] test diff::tests::tab_width_default_does_not_touch_tab_free_content ... ok [INFO] [stdout] test diff::tests::textual_binary_files_differ_line_renders_a_binary_row ... ok [INFO] [stdout] test diff::tests::syntax_highlight_is_layered_under_the_add_background_and_word_mark ... ok [INFO] [stdout] test diff::tests::syntax_overlay_handles_numbers_hash_and_dash_comments_and_block ... ok [INFO] [stdout] test diff::tests::syntax_highlight_works_in_the_split_layout_too ... ok [INFO] [stdout] test diff::tests::syntax_overlay_classifies_keyword_number_string_comment ... ok [INFO] [stdout] test diff::tests::unified_layout_output_is_byte_for_byte_unchanged ... ok [INFO] [stdout] test diff::tests::unknown_extension_with_tree_sitter_falls_back_to_tier0 ... ok [INFO] [stdout] test diff::tests::tree_sitter_off_is_byte_identical_to_tier0 ... ok [INFO] [stdout] test diff::tests::syntax_is_off_by_default_so_existing_output_is_unchanged ... ok [INFO] [stdout] test diff_syntax_cache::tests::clear_drops_every_slot_and_it_rewarms ... ok [INFO] [stdout] test editor::tests::a_one_cell_inner_is_total ... ok [INFO] [stdout] test editor::tests::a_tab_expands_to_the_next_tab_stop_and_default_is_four ... ok [INFO] [stdout] test editor::tests::an_empty_model_with_extmarks_leaves_the_placeholder_untinted ... ok [INFO] [stdout] test editor::tests::a_focused_empty_editor_shows_the_caret_at_the_inner_origin ... ok [INFO] [stdout] test diff::tests::zero_area_and_zero_width_are_no_ops ... ok [INFO] [stdout] test diff_syntax_cache::tests::a_miss_computes_and_a_hit_reuses_the_same_map ... ok [INFO] [stdout] test editor::tests::an_empty_syntax_overlay_is_byte_identical ... ok [INFO] [stdout] test diff_syntax_cache::tests::overflow_clears_and_stays_bounded ... ok [INFO] [stdout] test editor::tests::a_multibyte_line_maps_each_char_to_one_column ... ok [INFO] [stdout] test diff::tests::col_zero_is_byte_identical ... ok [INFO] [stdout] test editor::tests::an_out_of_range_extmark_is_a_total_no_op ... ok [INFO] [stdout] test editor::tests::an_unfocused_editor_draws_no_caret ... ok [INFO] [stdout] test editor::tests::an_extmark_maps_through_2d_scroll ... ok [INFO] [stdout] test diff_syntax_cache::tests::source_and_theme_are_both_part_of_the_key ... ok [INFO] [stdout] test editor::tests::block_frames_the_editor_in_the_inner_area ... ok [INFO] [stdout] test editor::tests::an_extmark_spans_a_newline_in_the_flattened_index ... ok [INFO] [stdout] test editor::tests::an_extmark_patches_a_single_line_char_range ... ok [INFO] [stdout] test editor::tests::an_extmark_over_a_multibyte_line_is_char_indexed ... ok [INFO] [stdout] test editor::tests::content_height_measures_the_expanded_tab_width ... ok [INFO] [stdout] test editor::tests::content_height_wraps_each_logical_line_at_width ... ok [INFO] [stdout] test editor::tests::caret_scrolled_out_of_view_draws_nothing ... ok [INFO] [stdout] test editor::tests::cell_to_doc_inverts_the_wrap ... ok [INFO] [stdout] test editor::tests::cell_to_doc_stays_consistent_with_expanded_tab_columns ... ok [INFO] [stdout] test editor::tests::caret_sits_on_the_blank_past_the_end_of_a_line ... ok [INFO] [stdout] test editor::tests::cell_to_doc_clamps_a_click_below_the_last_visual_row ... ok [INFO] [stdout] test diff_syntax_cache::tests::a_non_syntax_theme_change_does_not_invalidate ... ok [INFO] [stdout] test editor::tests::desired_height_clamps_into_the_composer_range ... ok [INFO] [stdout] test editor::tests::empty_and_reversed_ranges_paint_nothing ... ok [INFO] [stdout] test editor::tests::focus_style_fills_the_panel ... ok [INFO] [stdout] test editor::tests::focused_draws_a_reversed_caret_at_the_2d_cursor_cell ... ok [INFO] [stdout] test editor::tests::multiple_extmarks_each_apply ... ok [INFO] [stdout] test editor::tests::extmarks_project_independently_of_focus_and_compose_with_the_block ... ok [INFO] [stdout] test editor::tests::render_uses_the_area_origin_not_the_buffer_origin ... ok [INFO] [stdout] test editor::tests::placeholder_shows_only_when_the_model_is_empty ... ok [INFO] [stdout] test editor::tests::overlapping_extmarks_cascade_last_wins ... ok [INFO] [stdout] test editor::tests::renders_visible_lines_and_fills_the_inner_panel ... ok [INFO] [stdout] test editor::tests::row_and_col_offset_scroll_both_axes ... ok [INFO] [stdout] test editor::tests::scroll_past_the_document_is_blank_not_a_panic ... ok [INFO] [stdout] test editor::tests::no_selection_set_is_unchanged_and_the_caret_still_wins ... ok [INFO] [stdout] test editor::tests::selection_highlights_a_charwise_span_end_exclusive ... ok [INFO] [stdout] test editor::tests::selection_linewise_covers_whole_rows_and_blockwise_is_a_rectangle ... ok [INFO] [stdout] test editor::tests::the_caret_follows_through_the_wrap ... ok [INFO] [stdout] test editor::tests::the_caret_over_a_tab_sits_at_its_first_expanded_cell ... ok [INFO] [stdout] test editor::tests::the_caret_wins_over_an_extmark_under_it ... ok [INFO] [stdout] test editor::tests::wrap_counts_visual_rows_for_the_vertical_scroll ... ok [INFO] [stdout] test editor::tests::wrap_is_total_for_degenerate_inputs ... ok [INFO] [stdout] test editor::tests::wrap_composes_with_tab_expansion_and_an_extmark ... ok [INFO] [stdout] test line_number_gutter::tests::a_block_frames_the_gutter_and_inner_subtracts_both ... ok [INFO] [stdout] test editor::tests::wrap_reflows_a_long_line_into_visual_rows ... ok [INFO] [stdout] test editor::tests::zero_area_is_a_no_op ... ok [INFO] [stdout] test editor::tests::zero_area_with_extmarks_is_a_no_op ... ok [INFO] [stdout] test line_number_gutter::tests::a_too_narrow_area_clips_and_inner_collapses ... ok [INFO] [stdout] test line_number_gutter::tests::min_number_width_pins_a_stable_gutter_width ... ok [INFO] [stdout] test line_number_gutter::tests::inner_is_the_block_inner_pattern_and_pure ... ok [INFO] [stdout] test editor::tests::syntax_cascades_under_an_extmark_and_under_the_selection ... ok [INFO] [stdout] test line_number_gutter::tests::a_sign_column_is_added_when_signs_are_given ... ok [INFO] [stdout] test editor::tests::syntax_overlay_patches_by_flattened_char_index ... ok [INFO] [stdout] test line_number_gutter::tests::content_renders_into_inner_and_composes_with_the_gutter ... ok [INFO] [stdout] test line_number_gutter::tests::signs_shorter_than_rows_blank_the_remaining_rows ... ok [INFO] [stdout] test line_number_gutter::tests::the_base_style_fills_the_whole_gutter_rail ... ok [INFO] [stdout] test line_number_gutter::tests::zero_area_is_a_no_op ... ok [INFO] [stdout] test line_number_gutter::tests::zero_rows_draws_nothing_but_still_reserves_the_gutter ... ok [INFO] [stdout] test outline::tests::at_line_returns_the_deepest_enclosing_symbol ... ok [INFO] [stdout] test outline::tests::c_structs_and_functions ... ok [INFO] [stdout] test outline::tests::empty_and_whitespace_inputs_never_panic_all_languages ... ok [INFO] [stdout] test line_number_gutter::tests::per_row_styles_are_patched_over_the_base_for_that_row_only ... ok [INFO] [stdout] test line_number_gutter::tests::huge_line_numbers_saturate_and_never_overflow ... ok [INFO] [stdout] test line_number_gutter::tests::numbers_are_right_aligned_one_per_row ... ok [INFO] [stdout] test outline::tests::language_from_path_is_case_insensitive_and_extension_only ... ok [INFO] [stdout] test line_number_gutter::tests::render_uses_the_area_origin_not_the_buffer_origin ... ok [INFO] [stdout] test outline::tests::markdown_hash_without_space_or_too_deep_is_not_a_heading ... ok [INFO] [stdout] test outline::tests::markdown_heading_tree_and_endlines ... ok [INFO] [stdout] test outline::tests::rust_braces_in_strings_and_comments_do_not_nest ... ok [INFO] [stdout] test outline::tests::js_class_function_and_arrow_const ... ok [INFO] [stdout] test outline::tests::go_funcs_methods_and_types ... ok [INFO] [stdout] test outline::tests::python_class_methods_by_indentation ... ok [INFO] [stdout] test outline::tests::rust_impl_trait_for_type_uses_the_type_name ... ok [INFO] [stdout] test syntax::tests::c_block_comment_stays_comment_across_lines ... ok [INFO] [stdout] test outline::tests::unknown_language_and_empty_input_yield_empty_outline ... ok [INFO] [stdout] test syntax::tests::go_raw_backtick_string_can_span_lines ... ok [INFO] [stdout] test syntax::tests::from_path_maps_extensions_case_insensitively ... ok [INFO] [stdout] test syntax::tests::keyword_sets_are_language_specific ... ok [INFO] [stdout] test syntax::tests::keyword_tables_are_sorted_and_unique ... ok [INFO] [stdout] test syntax::tests::markdown_has_no_code_tokens ... ok [INFO] [stdout] test syntax::tests::python_triple_string_stays_string_across_three_lines ... ok [INFO] [stdout] test syntax::tests::python_hash_comment_and_keywords ... ok [INFO] [stdout] test syntax::tests::rust_plain_string_with_escape_and_char_literal ... ok [INFO] [stdout] test syntax::tests::rust_raw_string_and_line_comment ... ok [INFO] [stdout] test syntax::tests::shell_only_double_and_single_quotes_and_hash_comment ... ok [INFO] [stdout] test syntax::tests::unknown_classifies_string_number_keyword_before_any_comment ... ok [INFO] [stdout] test syntax::tests::unknown_block_comment_is_single_line_and_ignores_state ... ok [INFO] [stdout] test outline::tests::rust_module_struct_impl_and_nested_methods ... ok [INFO] [stdout] test syntax::tests::json_strings_and_numbers_only_no_keywords ... ok [INFO] [stdout] test syntax::tests::rust_raw_prefix_not_triggered_inside_identifier ... ok [INFO] [stdout] test syntax::tests::unknown_lone_hash_is_a_line_comment ... ok [INFO] [stdout] test syntax::tests::unknown_reproduces_the_documented_algorithm_on_a_mixed_line ... ok [INFO] [stdout] test treesitter::tests::from_path_resolves_by_extension_case_insensitively ... ok [INFO] [stdout] test syntax::tests::unknown_common_keyword_set_is_the_legacy_diff_set ... ok [INFO] [stdout] test treesitter::tests::go_highlight_buckets_and_outline ... ok [INFO] [stdout] test treesitter::tests::json_highlight_buckets_and_empty_outline ... ok [INFO] [stdout] test editor::tests::content_height_is_total_at_zero_width_and_huge_input ... ok [INFO] [stdout] test treesitter::tests::markdown_overlay_len_and_empty_outline ... ok [INFO] [stdout] test diff::tests::the_row_cap_is_an_exact_prefix_of_the_full_layout ... ok [INFO] [stdout] test treesitter::tests::python_highlight_buckets_and_outline ... ok [INFO] [stdout] test treesitter::tests::c_highlight_buckets_and_outline ... ok [INFO] [stdout] test changeset::tests::parse_is_total_and_keeps_model_invariants ... ok [INFO] [stdout] test syntax::tests::fuzz_total_and_overlay_len_equals_char_count_all_languages ... ok [INFO] [stdout] test treesitter::tests::set_source_reparse_tracks_edits ... ok [INFO] [stdout] test treesitter::tests::before_set_source_outputs_are_safe_empty ... ok [INFO] [stdout] test treesitter::tests::javascript_highlight_buckets_and_outline ... ok [INFO] [stdout] test treesitter::tests::rust_function_and_type_names_get_distinct_semantic_classes ... ok [INFO] [stdout] test treesitter::tests::rust_highlight_buckets_and_outline ... ok [INFO] [stdout] test treesitter::tests::every_grammar_highlight_capture_is_classified_or_allowlisted ... ok [INFO] [stdout] test treesitter::tests::typescript_highlight_buckets_and_outline ... ok [INFO] [stdout] test diff::tests::rendering_a_diff_60x_with_a_cache_parses_once ... ok [INFO] [stdout] test outline::tests::random_soups_are_total_and_well_formed_for_every_language ... ok [INFO] [stdout] test diff::tests::usize_scroll_past_u16_max_works ... ok [INFO] [stdout] test diff::tests::tree_sitter_colours_added_function_and_type_names_in_a_multi_hunk_rust_patch ... ok [INFO] [stdout] test diff::tests::tree_sitter_is_total_on_garbage_binary_and_empty_patches ... ok [INFO] [stdout] test treesitter::tests::fuzz_total_and_invariants_all_enabled_languages ... ok [INFO] [stdout] test diff::tests::syntax_cache_is_byte_identical_with_and_without_a_cache ... ok [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rstui_core-ff086a4ac81b4994) [INFO] [stdout] [INFO] [stdout] test result: ok. 189 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 7.74s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 213 tests [INFO] [stdout] test backend::tests::display_is_a_deterministic_snapshot ... ok [INFO] [stdout] test backend::tests::draw_ignores_out_of_bounds_cells ... ok [INFO] [stdout] test backend::tests::new_starts_blank_with_hidden_cursor ... ok [INFO] [stdout] test backend::tests::resize_preserves_overlapping_cells ... ok [INFO] [stdout] test buffer::tests::clear_region_resets_only_the_overlap_back_to_empty ... ok [INFO] [stdout] test buffer::tests::diff_redraws_everything_after_a_resize ... ok [INFO] [stdout] test buffer::tests::diff_reports_only_changed_cells ... ok [INFO] [stdout] test buffer::tests::empty_buffer_has_blank_cells ... ok [INFO] [stdout] test buffer::tests::index_of_respects_buffer_origin_and_bounds ... ok [INFO] [stdout] test buffer::tests::row_slice_mut_clips_to_the_row_and_is_total_off_screen ... ok [INFO] [stdout] test buffer::tests::set_cell_writes_one_glyph_and_skips_out_of_bounds ... ok [INFO] [stdout] test buffer::tests::set_str_clips_at_right_edge ... ok [INFO] [stdout] test backend::tests::draw_consumes_a_buffer_diff ... ok [INFO] [stdout] test buffer::tests::set_style_only_touches_the_overlap ... ok [INFO] [stdout] test buffer::tests::resize_shrink_keeps_only_the_overlap_at_a_nonzero_origin ... ok [INFO] [stdout] test buffer::tests::set_str_applies_style ... ok [INFO] [stdout] test buffer::tests::set_str_off_screen_row_writes_nothing_but_still_advances_x ... ok [INFO] [stdout] test doc_selection::tests::clear_empties_and_resets_kind_to_char ... ok [INFO] [stdout] test doc_selection::tests::contains_char_normalises_a_backward_drag ... ok [INFO] [stdout] test buffer::tests::set_style_and_clear_region_respect_a_nonzero_origin_overlap ... ok [INFO] [stdout] test doc_selection::tests::start_sets_anchor_active_and_kind ... ok [INFO] [stdout] test event::tests::as_key_press_filters_by_kind_and_variant ... ok [INFO] [stdout] test doc_selection::tests::contains_char_single_row_is_a_half_open_column_range ... ok [INFO] [stdout] test doc_selection::tests::empty_selection_contains_nothing_and_range_is_none ... ok [INFO] [stdout] test doc_selection::tests::contains_line_is_whole_rows_ignoring_columns ... ok [INFO] [stdout] test event::tests::as_mouse_only_matches_mouse_events ... ok [INFO] [stdout] test doc_selection::tests::contains_char_is_a_row_major_stream_end_exclusive ... ok [INFO] [stdout] test event::tests::is_key_is_a_bare_unmodified_press_shortcut ... ok [INFO] [stdout] test backend::tests::clear_blanks_every_cell ... ok [INFO] [stdout] test backend::tests::cursor_can_be_shown_hidden_and_moved ... ok [INFO] [stdout] test event::tests::is_press_treats_repeat_as_press_but_not_release ... ok [INFO] [stdout] test event::tests::key_event_constructors_default_to_a_press ... ok [INFO] [stdout] test event::tests::key_event_works_as_a_keymap_key ... ok [INFO] [stdout] test event::tests::paste_event_is_clonable_and_compares_by_value ... ok [INFO] [stdout] test event::tests::key_modifiers_behave_like_a_bitset ... ok [INFO] [stdout] test event::tests::mouse_event_carries_position_and_modifiers ... ok [INFO] [stdout] test doc_selection::tests::extend_before_start_is_a_total_no_op ... ok [INFO] [stdout] test event_source::tests::channel_bounded_poll_reads_a_closed_channel_as_nothing ... ok [INFO] [stdout] test event_source::tests::channel_from_receiver_matches_new ... ok [INFO] [stdout] test event_source::tests::default_and_new_are_empty_and_immediately_drained ... ok [INFO] [stdout] test event_source::tests::channel_drives_an_app_loop_generically ... ok [INFO] [stdout] test event_source::tests::channel_dropping_every_sender_is_unbounded_end_of_input ... ok [INFO] [stdout] test event_source::tests::drives_an_app_loop_generically ... ok [INFO] [stdout] test event_source::tests::push_onto_a_drained_source_revives_it ... ok [INFO] [stdout] test event_source::tests::replays_scripted_events_in_order_then_drains ... ok [INFO] [stdout] test event_source::tests::timeout_is_ignored_so_the_source_is_deterministic ... ok [INFO] [stdout] test focus::tests::a_single_element_ring_keeps_focus_on_traversal ... ok [INFO] [stdout] test focus::tests::an_empty_ring_is_total_and_focuses_nothing ... ok [INFO] [stdout] test event_source::tests::channel_fans_in_from_multiple_cloned_senders ... ok [INFO] [stdout] test event_source::tests::channel_unbounded_poll_blocks_until_a_producer_sends ... ok [INFO] [stdout] test event_source::tests::channel_bounded_poll_times_out_without_blocking_forever ... ok [INFO] [stdout] test focus::tests::nested_scopes_each_restore_their_own_captured_focus ... ok [INFO] [stdout] test focus::tests::focus_jumps_to_a_registered_id_and_ignores_an_unregistered_one ... ok [INFO] [stdout] test focus::tests::new_and_default_are_an_empty_unfocused_ring ... ok [INFO] [stdout] test focus::tests::pop_scope_with_no_active_scope_is_a_total_no_op ... ok [INFO] [stdout] test focus::tests::push_scope_traps_focus_and_pop_validate_restores_the_capture ... ok [INFO] [stdout] test focus::tests::scope_depth_and_in_scope_track_the_stack ... ok [INFO] [stdout] test focus::tests::with_ids_keeps_order_and_focuses_the_first_id ... ok [INFO] [stdout] test focus::tests::with_ids_over_an_empty_iterator_is_an_empty_ring ... ok [INFO] [stdout] test geometry::tests::edges_and_accessors ... ok [INFO] [stdout] test geometry::tests::contains_is_half_open ... ok [INFO] [stdout] test geometry::tests::inner_shrinks_and_collapses_gracefully ... ok [INFO] [stdout] test geometry::tests::intersection_and_intersects_agree ... ok [INFO] [stdout] test geometry::tests::new_clamps_so_edges_never_overflow ... ok [INFO] [stdout] test geometry::tests::positions_iterates_row_major ... ok [INFO] [stdout] test geometry::tests::rows_yields_one_span_per_row ... ok [INFO] [stdout] test geometry::tests::size_area_uses_u32_to_avoid_overflow ... ok [INFO] [stdout] test focus::tests::focus_id_is_a_copy_value_identity_token ... ok [INFO] [stdout] test geometry::tests::union_is_the_bounding_box ... ok [INFO] [stdout] test buffer::tests::resize_preserves_overlapping_cells ... ok [INFO] [stdout] test buffer::tests::set_str_starting_left_of_a_nonzero_origin_buffer ... ok [INFO] [stdout] test layout::tests::direction_default_and_opposite ... ok [INFO] [stdout] test layout::tests::empty_constraints_split_to_nothing ... ok [INFO] [stdout] test layout::tests::constraint_apply_matches_documented_semantics ... ok [INFO] [stdout] test layout::tests::areas_destructures_into_a_fixed_array ... ok [INFO] [stdout] test layout::tests::constraint_constructors_and_u16_conversion ... ok [INFO] [stdout] test doc_selection::tests::any_sequence_of_operations_is_total_and_normalised ... ok [INFO] [stdout] test layout::tests::fill_weights_split_proportionally_and_tile_exactly ... ok [INFO] [stdout] test layout::tests::length_plus_fill_is_a_header_body_split ... ok [INFO] [stdout] test layout::tests::large_n_layout_spills_scratch_to_heap_but_stays_correct ... ok [INFO] [stdout] test layout::tests::last_segment_absorbs_slack_when_no_flex_constraint ... ok [INFO] [stdout] test layout::tests::margins_inset_the_area_before_splitting ... ok [INFO] [stdout] test layout::tests::max_ceiling_is_never_exceeded_and_excess_redistributes ... ok [INFO] [stdout] test layout::tests::overflowing_fixed_requests_scale_down_to_fit ... ok [INFO] [stdout] test layout::tests::percentages_round_and_remainder_goes_to_last ... ok [INFO] [stdout] test layout::tests::spacing_is_reserved_between_segments ... ok [INFO] [stdout] test layout::tests::split_into_empty_constraints_clears_to_nothing ... ok [INFO] [stdout] test layout::tests::min_floor_is_respected_when_space_allows ... ok [INFO] [stdout] test layout::tests::split_into_clears_a_dirty_buffer_and_matches_split ... ok [INFO] [stdout] test layout::tests::split_into_reuses_capacity_without_reallocating ... ok [INFO] [stdout] test layout::tests::zero_area_yields_zero_sized_but_well_formed_segments ... ok [INFO] [stdout] test focus::tests::an_empty_scope_is_total_and_pop_restores_the_parent ... ok [INFO] [stdout] test buffer::tests::set_str_handles_multibyte_glyphs_per_char_not_per_byte ... ok [INFO] [stdout] test scroll::tests::max_offset_saturates_when_the_content_fits ... ok [INFO] [stdout] test scroll::tests::new_follows_the_tail_but_default_is_inert ... ok [INFO] [stdout] test scroll::tests::on_content_change_is_sticky_bottom_only_while_following ... ok [INFO] [stdout] test scroll::tests::scroll_to_top_and_end_set_the_follow_intent ... ok [INFO] [stdout] test scroll::tests::show_is_total_for_degenerate_sizes ... ok [INFO] [stdout] test scroll::tests::scroll_by_saturates_clamps_and_tracks_following ... ok [INFO] [stdout] test scroll::tests::show_brings_a_child_into_view_with_the_smallest_move ... ok [INFO] [stdout] test search::tests::explicit_case_modes_override_smart_heuristic ... ok [INFO] [stdout] test search::tests::find_all_returns_multiple_non_overlapping_matches_per_line ... ok [INFO] [stdout] test search::tests::insensitive_folding_is_full_unicode_not_ascii_only ... ok [INFO] [stdout] test search::tests::find_all_columns_are_char_indices_across_multibyte_utf8 ... ok [INFO] [stdout] test search::tests::empty_document_and_empty_lines_are_total ... ok [INFO] [stdout] test scroll::tests::set_offset_is_raw_and_clamp_reconciles_it ... ok [INFO] [stdout] test search::tests::new_and_default_are_the_empty_smart_query ... ok [INFO] [stdout] test search::tests::next_and_prev_round_trip_through_all_matches ... ok [INFO] [stdout] test search::tests::next_from_with_and_without_wrap ... ok [INFO] [stdout] test search::tests::smart_case_is_sensitive_when_the_pattern_has_an_uppercase_char ... ok [INFO] [stdout] test selection::tests::extend_before_start_is_a_total_no_op ... ok [INFO] [stdout] test search::tests::pattern_longer_than_any_line_finds_nothing ... ok [INFO] [stdout] test selection::tests::new_and_default_are_the_empty_selection ... ok [INFO] [stdout] test selection::tests::ordered_normalises_a_backward_drag ... ok [INFO] [stdout] test selection::tests::contains_is_terminal_stream_not_a_rectangle ... ok [INFO] [stdout] test search::tests::prev_from_with_and_without_wrap ... ok [INFO] [stdout] test scroll::tests::any_sequence_of_operations_is_total_and_stays_in_bounds ... ok [INFO] [stdout] test focus::tests::any_sequence_of_operations_is_total_and_stays_in_set ... ok [INFO] [stdout] test selection::tests::selected_text_spans_rows_with_stream_semantics ... ok [INFO] [stdout] test selection::tests::selected_text_clamps_a_drag_that_starts_above_the_buffer ... ok [INFO] [stdout] test selection::tests::selected_text_keeps_a_blank_covered_row_as_an_empty_line ... ok [INFO] [stdout] test selection::tests::selected_text_is_empty_for_an_empty_or_non_overlapping_selection ... ok [INFO] [stdout] test selection::tests::selected_text_single_row_trims_trailing_blanks ... ok [INFO] [stdout] test search::tests::smart_case_is_insensitive_for_a_lowercase_pattern ... ok [INFO] [stdout] test selection::tests::single_row_selection_is_an_inclusive_column_range ... ok [INFO] [stdout] test selection::tests::start_makes_a_one_cell_selection_that_is_not_empty ... ok [INFO] [stdout] test style::tests::degrade_respects_each_level ... ok [INFO] [stdout] test style::tests::empty_patch_is_identity ... ok [INFO] [stdout] test style::tests::modifier_set_operations ... ok [INFO] [stdout] test style::tests::named_and_indexed_colours_pass_through_quantisation ... ok [INFO] [stdout] test style::tests::patch_lets_set_colors_win_and_inherits_unset ... ok [INFO] [stdout] test selection::tests::any_sequence_of_operations_is_total_and_bounded ... ok [INFO] [stdout] test style::tests::patch_resolves_modifier_conflicts_by_recency ... ok [INFO] [stdout] test style::tests::quantisation_is_total_over_every_input ... ok [INFO] [stdout] test style::tests::reset_requests_explicit_defaults ... ok [INFO] [stdout] test style::tests::rgb_finds_the_nearest_ansi16 ... ok [INFO] [stdout] test style::tests::rgb_quantises_greys_to_the_ramp_and_ends ... ok [INFO] [stdout] test style::tests::rgb_quantises_saturated_colours_into_the_cube ... ok [INFO] [stdout] test stylize::tests::not_modifier_cancels_an_inherited_attribute_end_to_end ... ok [INFO] [stdout] test stylize::tests::representative_named_shorthands_map_to_the_right_field ... ok [INFO] [stdout] test stylize::tests::span_line_text_restyle_without_losing_content ... ok [INFO] [stdout] test stylize::tests::str_widens_to_a_span_then_keeps_chaining ... ok [INFO] [stdout] test stylize::tests::patch_order_does_not_matter_for_unrelated_fields ... ok [INFO] [stdout] test stylize::tests::style_is_self_styled_and_reset_overrides ... ok [INFO] [stdout] test terminal::tests::autoresize_redraws_the_full_screen_after_a_resize ... ok [INFO] [stdout] test terminal::tests::cursor_is_hidden_unless_a_frame_requests_it ... ok [INFO] [stdout] test terminal::tests::draw_presents_the_rendered_frame ... ok [INFO] [stdout] test terminal::tests::frame_count_increments_and_is_visible_during_render ... ok [INFO] [stdout] test terminal::tests::new_sizes_buffers_to_the_backend ... ok [INFO] [stdout] test terminal::tests::redrawing_an_identical_frame_sends_zero_cells ... ok [INFO] [stdout] test terminal::tests::render_widget_draws_into_the_frame_buffer ... ok [INFO] [stdout] test terminal::tests::vacated_cells_are_cleared_between_frames ... ok [INFO] [stdout] test text::tests::conversions_cover_the_common_constructors ... ok [INFO] [stdout] test text::tests::from_str_splits_text_into_lines_but_not_a_single_line ... ok [INFO] [stdout] test text::tests::each_span_keeps_its_own_style_over_the_line_style ... ok [INFO] [stdout] test text::tests::line_alignment_positions_content_within_the_area ... ok [INFO] [stdout] test text::tests::line_renders_spans_left_to_right_and_clips_at_the_right_edge ... ok [INFO] [stdout] test text::tests::line_width_is_the_sum_of_its_spans ... ok [INFO] [stdout] test text::tests::span_width_ascii_fast_path_matches_the_char_count ... ok [INFO] [stdout] test text::tests::span_width_counts_chars_not_bytes ... ok [INFO] [stdout] test text::tests::text_stacks_lines_and_clips_to_the_area_height ... ok [INFO] [stdout] test text::tests::unstyled_line_does_not_alter_pre_existing_cell_styles ... ok [INFO] [stdout] test text::tests::zero_area_is_a_no_op ... ok [INFO] [stdout] test text_area::tests::delete_backward_at_column_zero_joins_with_the_previous_line ... ok [INFO] [stdout] test text::tests::text_width_is_the_widest_line_and_height_is_the_line_count ... ok [INFO] [stdout] test text::tests::text_style_and_alignment_cascade_into_lines_unless_overridden ... ok [INFO] [stdout] test text_area::tests::delete_and_replace_span_join_lines_and_place_the_cursor ... ok [INFO] [stdout] test text_area::tests::from_value_splits_on_newlines_and_puts_cursor_at_end ... ok [INFO] [stdout] test text_area::tests::insert_char_newline_splits_the_current_line_at_the_column ... ok [INFO] [stdout] test text_area::tests::insert_str_paste_with_embedded_newlines_creates_rows ... ok [INFO] [stdout] test text_area::tests::editing_around_multibyte_characters_stays_on_char_boundaries ... ok [INFO] [stdout] test text_area::tests::move_doc_start_end_and_page_up_down_clamp_totally ... ok [INFO] [stdout] test text_area::tests::new_and_default_are_one_empty_line_cursor_at_origin ... ok [INFO] [stdout] test text_area::tests::scroll_into_view_follows_the_caret_without_blank_past_the_end ... ok [INFO] [stdout] test text_area::tests::scroll_into_view_is_total_and_keeps_short_content_pinned ... ok [INFO] [stdout] test text_area::tests::set_cursor_clamps_both_row_and_column ... ok [INFO] [stdout] test text_area::tests::set_value_replaces_the_document_and_clear_resets_it ... ok [INFO] [stdout] test text_area::tests::vertical_motion_clamps_column_and_sticky_goal_column_restores_it ... ok [INFO] [stdout] test text_area::tests::span_text_reads_within_and_across_lines_total ... ok [INFO] [stdout] test text_edit::tests::cursor_movement_is_total_and_clamps ... ok [INFO] [stdout] test text_edit::tests::editing_around_multibyte_characters_stays_on_char_boundaries ... ok [INFO] [stdout] test text_edit::tests::from_value_places_the_cursor_at_the_end ... ok [INFO] [stdout] test text_edit::tests::insert_char_inserts_at_the_cursor_and_advances_it ... ok [INFO] [stdout] test text_edit::tests::insert_str_is_the_paste_path_and_counts_characters ... ok [INFO] [stdout] test text_edit::tests::new_and_default_are_empty_with_cursor_at_start ... ok [INFO] [stdout] test text_edit::tests::set_value_replaces_text_and_moves_cursor_to_the_end ... ok [INFO] [stdout] test text_edit::tests::delete_backward_and_forward_report_whether_they_changed_anything ... ok [INFO] [stdout] test undo::tests::a_snapshot_after_undo_forks_and_clears_redo ... ok [INFO] [stdout] test undo::tests::an_unchanged_snapshot_is_ignored_and_keeps_redo ... ok [INFO] [stdout] test undo::tests::an_undo_seals_the_run_so_the_next_coalesced_edit_is_a_fresh_step ... ok [INFO] [stdout] test undo::tests::an_unchanged_coalesced_keystroke_keeps_the_run_open ... ok [INFO] [stdout] test undo::tests::coalescing_collapses_a_typing_run_to_one_undo ... ok [INFO] [stdout] test undo::tests::capacity_drops_the_oldest_entry ... ok [INFO] [stdout] test undo::tests::coalescing_onto_only_the_seed_is_one_step_back_to_the_seed ... ok [INFO] [stdout] test undo::tests::new_starts_with_nothing_to_undo_or_redo ... ok [INFO] [stdout] test undo::tests::snapshot_undo_redo_round_trip ... ok [INFO] [stdout] test undo::tests::undo_and_redo_on_an_empty_side_return_none ... ok [INFO] [stdout] test widget::tests::option_widget_renders_only_when_some ... ok [INFO] [stdout] test widget::tests::str_widget_clips_to_the_area_not_the_buffer ... ok [INFO] [stdout] test doc_selection::tests::contains_block_is_a_rectangle_with_a_real_column_band ... ok [INFO] [stdout] test stylize::tests::string_moves_into_an_owned_static_span ... ok [INFO] [stdout] test text_edit::tests::any_sequence_of_operations_is_total_and_keeps_a_valid_cursor ... ok [INFO] [stdout] test doc_selection::tests::new_and_default_are_the_empty_char_selection ... ok [INFO] [stdout] test doc_selection::tests::extend_moves_active_keeps_anchor_and_kind ... ok [INFO] [stdout] test text_area::tests::delete_forward_at_line_end_joins_the_next_line ... ok [INFO] [stdout] test text::tests::left_alignment_is_unchanged_when_content_overflows ... ok [INFO] [stdout] test undo::tests::any_sequence_of_operations_is_total_and_consistent ... ok [INFO] [stdout] test layout::tests::areas_panics_on_constraint_count_mismatch - should panic ... ok [INFO] [stdout] test text_area::tests::any_sequence_of_operations_is_total_and_keeps_a_valid_cursor ... ok [INFO] [stdout] test search::tests::any_query_over_any_document_is_total_and_well_formed ... ok [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rstui_crossterm-4cbce55583d4b73a) [INFO] [stdout] test event_source::tests::channel_blocking_poll_yields_sent_events_in_order ... ok [INFO] [stdout] test doc_selection::tests::range_normalises_when_active_is_before_anchor ... ok [INFO] [stdout] test focus::tests::focus_next_and_prev_wrap_around_the_ring ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 213 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 46 tests [INFO] [stdout] test backend::tests::to_crossterm_color_maps_every_variant ... ok [INFO] [stdout] test event::tests::char_key_carries_modeled_modifiers_and_drops_unmodeled_ones ... ok [INFO] [stdout] test event::tests::char_keys_carry_every_modeled_modifier ... ok [INFO] [stdout] test event::tests::every_mouse_kind_and_button_maps ... ok [INFO] [stdout] test backend::tests::color_level_ladder_resolves_each_signal ... ok [INFO] [stdout] test backend::tests::draw_degrades_truecolor_to_the_detected_level ... ok [INFO] [stdout] test event::tests::focus_and_resize_and_paste_map_directly ... ok [INFO] [stdout] test backend::tests::cursor_and_clear_queue_the_expected_sequences ... ok [INFO] [stdout] test event::tests::mouse_position_uses_column_as_x_and_row_as_y ... ok [INFO] [stdout] test event::tests::navigation_keys_round_trip_press_repeat_and_release_kinds ... ok [INFO] [stdout] test event::tests::unmodeled_key_codes_drop_the_whole_event ... ok [INFO] [stdout] test backend::tests::contiguous_run_moves_once_and_a_gap_forces_a_new_move ... ok [INFO] [stdout] test backend::tests::queues_until_flushed ... ok [INFO] [stdout] test event_source::tests::blocking_returns_a_modeled_event_immediately ... ok [INFO] [stdout] test event_source::tests::blocking_read_error_propagates_rather_than_ending_input ... ok [INFO] [stdout] test backend::tests::single_cell_emits_move_attrs_colors_print_then_reset ... ok [INFO] [stdout] test event_source::tests::blocking_skips_unmodeled_input_then_returns_the_modeled_event ... ok [INFO] [stdout] test backend::tests::running_color_and_modifier_state_is_not_re_emitted ... ok [INFO] [stdout] test event_source::tests::non_key_events_pass_through_in_blocking_mode ... ok [INFO] [stdout] test event_source::tests::public_constructors_build_a_usable_event_source ... ok [INFO] [stdout] test event_source::tests::timed_poll_error_propagates ... ok [INFO] [stdout] test event_source::tests::timed_poll_ready_returns_the_translated_event ... ok [INFO] [stdout] test event::tests::all_modeled_special_key_codes_map ... ok [INFO] [stdout] test lifecycle::tests::enter_writes_the_modes_in_acquisition_order ... ok [INFO] [stdout] test backend::tests::modifier_diff_adds_removes_and_reapplies_intensity ... ok [INFO] [stdout] test lifecycle::tests::kitty_keyboard_flags_request_release_repeat_and_disambiguation ... ok [INFO] [stdout] test event::tests::every_special_key_maps_under_every_modeled_modifier ... ok [INFO] [stdout] test backend::tests::empty_diff_emits_zero_bytes ... ok [INFO] [stdout] test lifecycle::tests::mouse_capture_is_button_event_not_any_motion ... ok [INFO] [stdout] [<1u[?1004l[?2004l[?1006l[?1015l[?1002l[?1000l[?1049l[<1u[?1004l[?2004l[?1006l[?1015l[?1002l[?1000l[?1049ltest backend::tests::empty_frame_is_not_wrapped_in_synchronized_output ... ok [INFO] [stdout] test lifecycle::tests::only_the_selected_modes_are_entered_and_left ... ok [INFO] [stdout] test lifecycle::tests::queue_sequences_are_single_sourced_and_symmetric ... ok [INFO] [stdout] test signal::tests::install_is_idempotent_and_panic_free ... ok [INFO] [stdout] test shell::tests::emit_leave_matches_the_full_preset_teardown_sequence ... ok [INFO] [stdout] test shell::tests::restore_terminal_is_idempotent_and_panic_free ... ok [INFO] [stdout] test lifecycle::tests::delegates_backend_methods_transparently ... ok [INFO] [stdout] test lifecycle::tests::drop_writes_the_reverse_disable_sequence ... ok [INFO] [stdout] test signal::tests::restores_on_exactly_the_four_termination_signals ... ok [INFO] [stdout] test signal::tests::signal_exit_status_is_128_plus_signum ... ok [INFO] [stdout] test lifecycle::tests::kitty_keyboard_pushes_and_pops_the_protocol_and_only_when_requested ... ok [INFO] [stdout] test event_source::tests::timed_poll_timeout_yields_none_and_never_reads ... ok [INFO] [stdout] test lifecycle::tests::default_is_the_full_screen_preset_and_none_is_empty ... ok [INFO] [stdout] test lifecycle::tests::drop_restores_even_while_unwinding_from_a_panic ... ok [INFO] [stdout] test backend::tests::non_empty_frame_is_wrapped_in_synchronized_output ... ok [INFO] [stdout] test event::tests::key_event_kind_maps_and_state_is_ignored ... ok [INFO] [stdout] test event_source::tests::timed_unmodeled_event_is_none_and_does_not_loop ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 46 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s [INFO] [stdout] [INFO] [stderr] Running tests/control_code_contract.rs (/opt/rustwide/target/debug/deps/control_code_contract-a81ccca759fbda2d) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test clear_purges_scrollback ... ok [INFO] [stdout] test empty_frame_is_never_wrapped ... ok [INFO] [stdout] test sync_output_opens_before_any_cursor_or_style_byte ... ok [INFO] [stdout] test colour_is_degraded_through_draw_for_every_level_and_kind ... ok [INFO] [stdout] test sync_output_brackets_every_non_empty_frame_exactly_once ... ok [INFO] [stdout] test production_run_loop_emits_a_synchronized_degraded_stream ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- production_run_loop_emits_a_synchronized_degraded_stream stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'production_run_loop_emits_a_synchronized_degraded_stream' (1167) panicked at crates/rstui-crossterm/tests/control_code_contract.rs:237:45: [INFO] [stdout] run completes on end-of-input: Backend(Os { code: 11, kind: WouldBlock, message: "Resource temporarily unavailable" }) [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x630da8cc1678 - std[d054f6f42beb1baa]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x630da8cc1678 - std[d054f6f42beb1baa]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x630da8cc1678 - std[d054f6f42beb1baa]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x630da8cc1678 - <::print::DisplayBacktrace as core[5a1c3e9896636f3a]::fmt::Display>::fmt [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x630da8cd586a - ::fmt [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x630da8cd586a - core[5a1c3e9896636f3a]::fmt::write [INFO] [stdout] 6: 0x630da8cc5e92 - std[d054f6f42beb1baa]::io::default_write_fmt::> [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/io/mod.rs:622:11 [INFO] [stdout] 7: 0x630da8cc5e92 - as std[d054f6f42beb1baa]::io::Write>::write_fmt [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/io/mod.rs:1977:13 [INFO] [stdout] 8: 0x630da8ca06e6 - ::print [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x630da8ca06e6 - std[d054f6f42beb1baa]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x630da8cb9c19 - std[d054f6f42beb1baa]::panicking::default_hook [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x630da8c34c7c - core[5a1c3e9896636f3a]::ops::function::Fn<(&'a std[d054f6f42beb1baa]::panic::PanicHookInfo<'b>,), Output = ()> + core[5a1c3e9896636f3a]::marker::Send + core[5a1c3e9896636f3a]::marker::Sync> as core[5a1c3e9896636f3a]::ops::function::Fn<(&std[d054f6f42beb1baa]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2291:9 [INFO] [stdout] 12: 0x630da8c34c7c - test[fad20673b750c10e]::test_main_inner::::{closure#0} [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:155:21 [INFO] [stdout] 13: 0x630da8cb9dd2 - core[5a1c3e9896636f3a]::ops::function::Fn<(&'a std[d054f6f42beb1baa]::panic::PanicHookInfo<'b>,), Output = ()> + core[5a1c3e9896636f3a]::marker::Send + core[5a1c3e9896636f3a]::marker::Sync> as core[5a1c3e9896636f3a]::ops::function::Fn<(&std[d054f6f42beb1baa]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2291:9 [INFO] [stdout] 14: 0x630da8cb9dd2 - std[d054f6f42beb1baa]::panicking::panic_with_hook [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x630da8ca07a2 - std[d054f6f42beb1baa]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:698:13 [INFO] [stdout] 16: 0x630da8c98139 - std[d054f6f42beb1baa]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x630da8ca14bd - __rustc[7ab284efd7f33ea8]::rust_begin_unwind [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x630da8cd5fec - core[5a1c3e9896636f3a]::panicking::panic_fmt [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x630da8cd5d62 - core[5a1c3e9896636f3a]::result::unwrap_failed [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/result.rs:1872:5 [INFO] [stdout] 20: 0x630da8c26b5c - >>::expect [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/result.rs:1185:23 [INFO] [stdout] 21: 0x630da8c211b4 - control_code_contract[d8e9602b07f47580]::production_run_loop_emits_a_synchronized_degraded_stream [INFO] [stdout] at /opt/rustwide/workdir/crates/rstui-crossterm/tests/control_code_contract.rs:237:45 [INFO] [stdout] 22: 0x630da8c1f2c7 - control_code_contract[d8e9602b07f47580]::production_run_loop_emits_a_synchronized_degraded_stream::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/crates/rstui-crossterm/tests/control_code_contract.rs:228:62 [INFO] [stdout] 23: 0x630da8c19886 - >::call_once [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x630da8c27d5b - core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 25: 0x630da8c27d5b - test[fad20673b750c10e]::__rust_begin_short_backtrace::, fn() -> core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>> [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:724:18 [INFO] [stdout] 26: 0x630da8c355d5 - test[fad20673b750c10e]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:747:74 [INFO] [stdout] 27: 0x630da8c355d5 - as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 28: 0x630da8c355d5 - std[d054f6f42beb1baa]::panicking::catch_unwind::do_call::, core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>> [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:581:40 [INFO] [stdout] 29: 0x630da8c355d5 - std[d054f6f42beb1baa]::panicking::catch_unwind::, core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:544:19 [INFO] [stdout] 30: 0x630da8c355d5 - std[d054f6f42beb1baa]::panic::catch_unwind::, core[5a1c3e9896636f3a]::result::Result<(), alloc[154f689e5dd3bae5]::string::String>> [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x630da8c355d5 - test[fad20673b750c10e]::run_test_in_process [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:747:27 [INFO] [stdout] 32: 0x630da8c355d5 - test[fad20673b750c10e]::run_test::{closure#0} [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:668:43 [INFO] [stdout] 33: 0x630da8c30134 - test[fad20673b750c10e]::run_test::{closure#1} [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/test/src/lib.rs:698:41 [INFO] [stdout] 34: 0x630da8c30134 - std[d054f6f42beb1baa]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 35: 0x630da8c38652 - std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:70:13 [INFO] [stdout] 36: 0x630da8c38652 - ::{closure#1}::{closure#0}> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 37: 0x630da8c38652 - std[d054f6f42beb1baa]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:581:40 [INFO] [stdout] 38: 0x630da8c38652 - std[d054f6f42beb1baa]::panicking::catch_unwind::<(), core[5a1c3e9896636f3a]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panicking.rs:544:19 [INFO] [stdout] 39: 0x630da8c38652 - std[d054f6f42beb1baa]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x630da8c38652 - std[d054f6f42beb1baa]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/thread/lifecycle.rs:68:26 [INFO] [stdout] 41: 0x630da8c38652 - ::{closure#1} as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 42: 0x630da8cc0fdf - + core[5a1c3e9896636f3a]::marker::Send> as core[5a1c3e9896636f3a]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/alloc/src/boxed.rs:2277:9 [INFO] [stdout] 43: 0x630da8cc0fdf - ::new::thread_start [INFO] [stdout] at /rustc/28f95933dc0727396c07b48d0a8cb5211b7fb472/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 44: 0x72b78eb5faa4 - [INFO] [stdout] 45: 0x72b78ebeca64 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] production_run_loop_emits_a_synchronized_degraded_stream [INFO] [stdout] [INFO] [stdout] test result: FAILED. 5 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `-p rstui-crossterm --test control_code_contract` [INFO] running `Command { std: "docker" "inspect" "c0fda2ab02205c30a8d3bf7ee32d0f5b41615517888f0524fab55cecad36d54f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c0fda2ab02205c30a8d3bf7ee32d0f5b41615517888f0524fab55cecad36d54f", kill_on_drop: false }` [INFO] [stdout] c0fda2ab02205c30a8d3bf7ee32d0f5b41615517888f0524fab55cecad36d54f