[INFO] fetching crate oxi-tui 0.62.0...
[INFO] testing oxi-tui-0.62.0 against 1.99.0-beta.1+cargoflags=--release for beta-release-1.99-2
[INFO] extracting crate oxi-tui 0.62.0 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate oxi-tui 0.62.0
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate oxi-tui 0.62.0
[INFO] tweaked toml for crates.io crate oxi-tui 0.62.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate oxi-tui 0.62.0 on toolchain 1.99.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate oxi-tui 0.62.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 046d16cbe28d763e8703aadbbb7dae8dc9388712d4e096d5e574199df8017132
[INFO] running `Command { std: "docker" "start" "046d16cbe28d763e8703aadbbb7dae8dc9388712d4e096d5e574199df8017132", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "046d16cbe28d763e8703aadbbb7dae8dc9388712d4e096d5e574199df8017132", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "046d16cbe28d763e8703aadbbb7dae8dc9388712d4e096d5e574199df8017132" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "046d16cbe28d763e8703aadbbb7dae8dc9388712d4e096d5e574199df8017132", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "046d16cbe28d763e8703aadbbb7dae8dc9388712d4e096d5e574199df8017132" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling unicode-segmentation v1.13.3
[INFO] [stderr]    Compiling memchr v2.8.2
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling critical-section v1.2.0
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling log v0.4.32
[INFO] [stderr]    Compiling winnow v1.0.3
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.20
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling mio v1.2.1
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling line-clipping v0.3.7
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling rstest_macros v0.26.1
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling pulldown-cmark v0.13.4
[INFO] [stderr]    Compiling relative-path v1.9.3
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]    Compiling diff v0.1.13
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling time v0.3.49
[INFO] [stderr]    Compiling anyhow v1.0.103
[INFO] [stderr]    Compiling lru v0.18.0
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling pretty_assertions v1.4.1
[INFO] [stderr]    Compiling nucleo-matcher v0.3.1
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling is_ci v1.2.0
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling supports-color v3.0.2
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling linkify v0.10.0
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling toml_edit v0.25.12+spec-1.1.0
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling toml v0.9.12+spec-1.1.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling regex v1.12.4
[INFO] [stderr]    Compiling nucleo v0.5.0
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling kasuari v0.4.12
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling strum v0.28.0
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling ratatui-core v0.1.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling rstest v0.26.1
[INFO] [stderr]    Compiling ratatui-widgets v0.3.2
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.2
[INFO] [stderr]    Compiling tui-markdown v0.3.7
[INFO] [stderr]    Compiling ratatui-macros v0.7.2
[INFO] [stderr]    Compiling ratatui-textarea v0.9.2
[INFO] [stderr]    Compiling ratatui v0.30.2
[INFO] [stderr]    Compiling oxi-tui v0.62.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 07s
[INFO] running `Command { std: "docker" "inspect" "046d16cbe28d763e8703aadbbb7dae8dc9388712d4e096d5e574199df8017132", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "046d16cbe28d763e8703aadbbb7dae8dc9388712d4e096d5e574199df8017132" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling oxi-tui v0.62.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 20.01s
[INFO] running `Command { std: "docker" "inspect" "046d16cbe28d763e8703aadbbb7dae8dc9388712d4e096d5e574199df8017132", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "046d16cbe28d763e8703aadbbb7dae8dc9388712d4e096d5e574199df8017132" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.17s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/oxi_tui-de009b47c5f41d19)
[INFO] [stdout] 
[INFO] [stdout] running 567 tests
[INFO] [stdout] test fuzzy::tests::test_case_insensitive ... ok
[INFO] [stdout] test fuzzy::tests::test_exact_match ... ok
[INFO] [stdout] test fuzzy::tests::test_consecutive_match_bonus ... ok
[INFO] [stdout] test fuzzy::tests::test_fuzzy_rank_empty_candidates ... ok
[INFO] [stdout] test fuzzy::tests::test_fuzzy_rank_empty_pattern ... ok
[INFO] [stdout] test fuzzy::tests::test_empty_pattern_matches_everything ... ok
[INFO] [stdout] test fuzzy::tests::test_fuzzy_rank_excludes_non_matches ... ok
[INFO] [stdout] test fuzzy::tests::test_fuzzy_rank_sorts_by_score ... ok
[INFO] [stdout] test fuzzy::tests::test_gap_penalty ... ok
[INFO] [stdout] test fuzzy::tests::test_is_word_boundary ... ok
[INFO] [stdout] test fuzzy::tests::test_length_bonus ... ok
[INFO] [stdout] test fuzzy::tests::test_no_match ... ok
[INFO] [stdout] test fuzzy::tests::test_pattern_longer_than_text ... ok
[INFO] [stdout] test fuzzy::tests::test_single_char_pattern ... ok
[INFO] [stdout] test fuzzy::tests::test_single_char_text_match ... ok
[INFO] [stdout] test fuzzy::tests::test_single_char_text_no_match ... ok
[INFO] [stdout] test fuzzy::tests::test_start_of_text_bonus ... ok
[INFO] [stdout] test fuzzy::tests::test_subsequence_match_with_positions ... ok
[INFO] [stdout] test fuzzy::tests::test_unicode_match ... ok
[INFO] [stdout] test fuzzy::tests::test_word_boundary_bonus ... ok
[INFO] [stdout] test input::kill_ring::tests::capacity_evicts_oldest ... ok
[INFO] [stdout] test input::kill_ring::tests::capacity_zero_clamps_to_one ... ok
[INFO] [stdout] test input::kill_ring::tests::empty_ring_yank_returns_none ... ok
[INFO] [stdout] test input::kill_ring::tests::peek_at_out_of_bounds_returns_none ... ok
[INFO] [stdout] test input::kill_ring::tests::yank_pop_on_single_entry_is_noop ... ok
[INFO] [stdout] test input::kitty::tests::keytype_display ... ok
[INFO] [stdout] test input::kitty::tests::matches_legacy_enter ... ok
[INFO] [stdout] test input::kitty::tests::matches_legacy_arrow_up ... ok
[INFO] [stdout] test input::kill_ring::tests::kill_then_yank_returns_last ... ok
[INFO] [stdout] test input::kitty::tests::matches_legacy_unknown_name ... ok
[INFO] [stdout] test input::kitty::tests::modifier_display ... ok
[INFO] [stdout] test input::kitty::tests::parse_alt_super_modifier ... ok
[INFO] [stdout] test input::kitty::tests::parse_alternate_terminator ... ok
[INFO] [stdout] test input::kitty::tests::parse_arrow_up ... ok
[INFO] [stdout] test input::kitty::tests::parse_ctrl_modifier ... ok
[INFO] [stdout] test input::kitty::tests::parse_function_key ... ok
[INFO] [stdout] test input::kitty::tests::parse_invalid_codepoint ... ok
[INFO] [stdout] test input::kitty::tests::parse_release_event ... ok
[INFO] [stdout] test input::kitty::tests::parse_repeat_event ... ok
[INFO] [stdout] test input::kitty::tests::parse_shift_ctrl_modifier ... ok
[INFO] [stdout] test input::kitty::tests::parse_simple_char ... ok
[INFO] [stdout] test input::kitty::tests::parse_strips_caps_lock_bit ... ok
[INFO] [stdout] test input::kitty::tests::parse_too_short ... ok
[INFO] [stdout] test input::kitty::tests::parse_wrong_prefix ... ok
[INFO] [stdout] test input::paste::tests::byte_limit_force_completes ... ok
[INFO] [stdout] test input::kill_ring::tests::yank_pop_cycles_through_history ... ok
[INFO] [stdout] test input::kitty::tests::parse_arrow_shortcut_terminator ... ok
[INFO] [stdout] test input::paste::tests::chunks_emit_chunk_events ... ok
[INFO] [stdout] test input::paste::tests::default_uses_64_mib_cap ... ok
[INFO] [stdout] test input::paste::tests::non_paste_input_returns_not_paste ... ok
[INFO] [stdout] test input::kitty::tests::matches_legacy_function_key ... ok
[INFO] [stdout] test input::paste::tests::partial_end_marker_buffered ... ok
[INFO] [stdout] test input::paste::tests::partial_prefix_helper ... ok
[INFO] [stdout] test input::paste::tests::partial_start_marker_buffered ... ok
[INFO] [stdout] test input::paste::tests::split_start_and_end_with_payload_preserve_all_bytes ... ok
[INFO] [stdout] test input::paste::tests::start_and_content_in_one_call_emits_started ... ok
[INFO] [stdout] test input::paste::tests::start_and_end_in_one_call_completes_immediately ... ok
[INFO] [stdout] test input::paste::tests::start_marker_only_returns_started ... ok
[INFO] [stdout] test keybindings::keys::tests::test_as_char ... ok
[INFO] [stdout] test keybindings::keys::tests::test_display ... ok
[INFO] [stdout] test keybindings::conflict::tests::test_no_conflicts_in_defaults ... ok
[INFO] [stdout] test keybindings::keys::tests::test_is_printable ... ok
[INFO] [stdout] test keybindings::conflict::tests::test_validate_essential_shadowing ... ok
[INFO] [stdout] test keybindings::keys::tests::test_parse_alt_left ... ok
[INFO] [stdout] test keybindings::conflict::tests::test_detect_conflict ... ok
[INFO] [stdout] test keybindings::keys::tests::test_parse_backtab ... ok
[INFO] [stdout] test keybindings::keys::tests::test_parse_ctrl_shift_f ... ok
[INFO] [stdout] test keybindings::keys::tests::test_parse_invalid ... ok
[INFO] [stdout] test keybindings::keys::tests::test_parse_ctrl_f5 ... ok
[INFO] [stdout] test keybindings::keys::tests::test_parse_kitty_invalid ... ok
[INFO] [stdout] test keybindings::keys::tests::test_parse_kitty_ctrl ... ok
[INFO] [stdout] test keybindings::keys::tests::test_parse_kitty_shift_alt ... ok
[INFO] [stdout] test keybindings::keys::tests::test_parse_ctrl_c ... ok
[INFO] [stdout] test keybindings::keys::tests::test_from_crossterm_key_event ... ok
[INFO] [stdout] test keybindings::keys::tests::test_parse_kitty_up ... ok
[INFO] [stdout] test keybindings::keys::tests::test_parse_shift_enter ... ok
[INFO] [stdout] test keybindings::keys::tests::test_parse_simple_char ... ok
[INFO] [stdout] test keybindings::registry::tests::test_match_ctrl_c ... ok
[INFO] [stdout] test keybindings::registry::tests::test_parse_action ... ok
[INFO] [stdout] test keybindings::registry::tests::test_primary_key_display ... ok
[INFO] [stdout] test keybindings::keys::tests::test_parse_kitty_simple ... ok
[INFO] [stdout] test keybindings::registry::tests::test_parse_kill_actions ... ok
[INFO] [stdout] test keybindings::keys::tests::test_parse_f5 ... ok
[INFO] [stdout] test keybindings::registry::tests::test_default_bindings_exist ... ok
[INFO] [stdout] test keybindings::keys::tests::test_parse_space ... ok
[INFO] [stdout] test keybindings::registry::tests::test_kill_ring_bindings ... ok
[INFO] [stdout] test keybindings::registry::tests::test_toggle_agent_hub_binding ... ok
[INFO] [stdout] test keybindings::registry::tests::test_match_enter ... ok
[INFO] [stdout] test keybindings::registry::tests::test_user_override ... ok
[INFO] [stdout] test overlay_anchor::tests::test_bottom_right_layout ... ok
[INFO] [stdout] test overlay_anchor::tests::test_center_layout ... ok
[INFO] [stdout] test overlay_anchor::tests::test_min_width_enforced ... ok
[INFO] [stdout] test overlay_anchor::tests::test_offset_applied ... ok
[INFO] [stdout] test overlay_anchor::tests::test_percent_width ... ok
[INFO] [stdout] test overlay_anchor::tests::test_small_terminal ... ok
[INFO] [stdout] test overlay_anchor::tests::test_top_left_layout ... ok
[INFO] [stdout] test render::ansi::tests::test_default_is_reset ... ok
[INFO] [stdout] test render::ansi::tests::test_reset_clears_all ... ok
[INFO] [stdout] test render::ansi::tests::test_sgr_bold ... ok
[INFO] [stdout] test render::ansi::tests::test_sgr_empty ... ok
[INFO] [stdout] test render::ansi::tests::test_sgr_multiple ... ok
[INFO] [stdout] test render::ansi::tests::test_transition_from_styled ... ok
[INFO] [stdout] test render::ansi::tests::test_transition_same ... ok
[INFO] [stdout] test render::ansi::tests::test_transition_to_styled ... ok
[INFO] [stdout] test render::color_level::tests::test_adapt_color_ansi256_downgrades_rgb ... ok
[INFO] [stdout] test render::color_level::tests::test_adapt_color_ansi256_indexed_downgrades_at_basic ... ok
[INFO] [stdout] test render::color_level::tests::test_adapt_color_ansi256_indexed_stays_at_ansi256 ... ok
[INFO] [stdout] test render::color_level::tests::test_adapt_color_basic_downgrades_rgb_to_basic ... ok
[INFO] [stdout] test render::color_level::tests::test_adapt_color_named_stays_named ... ok
[INFO] [stdout] test render::color_level::tests::test_adapt_color_none_named_to_reset ... ok
[INFO] [stdout] test render::color_level::tests::test_adapt_color_none_returns_reset ... ok
[INFO] [stdout] test render::color_level::tests::test_adapt_color_reset_always_reset ... ok
[INFO] [stdout] test render::color_level::tests::test_adapt_color_truecolor_passes_through_rgb ... ok
[INFO] [stdout] test render::color_level::tests::test_ansi256_to_basic_corners ... ok
[INFO] [stdout] test render::color_level::tests::test_color_level_ordering ... ok
[INFO] [stdout] test render::color_level::tests::test_color_level_predicates ... ok
[INFO] [stdout] test render::color_level::tests::test_detect_caches_after_first_call ... ok
[INFO] [stdout] test render::color_level::tests::test_rgb_to_ansi256_black ... ok
[INFO] [stdout] test render::color_level::tests::test_rgb_to_ansi256_midgray ... ok
[INFO] [stdout] test render::color_level::tests::test_rgb_to_ansi256_pure_blue ... ok
[INFO] [stdout] test render::color_level::tests::test_rgb_to_ansi256_pure_green ... ok
[INFO] [stdout] test render::color_level::tests::test_rgb_to_ansi256_white ... ok
[INFO] [stdout] test render::color_level::tests::test_terminal_does_not_support_truecolor_unknown ... ok
[INFO] [stdout] test render::color_level::tests::test_rgb_to_ansi256_pure_red ... ok
[INFO] [stdout] test render::color_level::tests::test_terminal_supports_truecolor_iterm ... ok
[INFO] [stdout] test render::cursor::tests::hide_emits_hide ... ok
[INFO] [stdout] test render::cursor::tests::first_show_emits_show_and_moveto ... ok
[INFO] [stdout] test render::cursor::tests::hide_then_hide_again_emits_zero_bytes ... ok
[INFO] [stdout] test render::cursor::tests::position_change_emits_only_moveto ... ok
[INFO] [stdout] test render::cursor::tests::same_position_second_frame_emits_zero_bytes ... ok
[INFO] [stdout] test render::cursor::tests::show_after_hide_emits_show_and_moveto ... ok
[INFO] [stdout] test render::deccara::tests::bg_sgr_rgb_and_default ... ok
[INFO] [stdout] test render::deccara::tests::content_then_uniform_bg_trailing_is_fillable ... ok
[INFO] [stdout] test render::deccara::tests::default_bg_trailing_is_not_fillable ... ok
[INFO] [stdout] test render::deccara::tests::encode_rect_is_well_formed ... ok
[INFO] [stdout] test render::deccara::tests::full_bg_row_is_fillable ... ok
[INFO] [stdout] test render::deccara::tests::mixed_bg_trailing_is_not_fillable ... ok
[INFO] [stdout] test render::deccara::tests::non_full_width_row_is_not_fillable ... ok
[INFO] [stdout] test render::deccara::tests::plan_coalesces_adjacent_identical_rows ... ok
[INFO] [stdout] test render::deccara::tests::plan_keeps_rows_without_fills_full ... ok
[INFO] [stdout] test render::deccara::tests::plan_rejects_when_not_worth_it ... ok
[INFO] [stdout] test render::diff::tests::test_buffer_grew ... ok
[INFO] [stdout] test render::diff::tests::test_buffer_shrunk ... ok
[INFO] [stdout] test render::diff::tests::test_empty_buffers ... ok
[INFO] [stdout] test render::diff::tests::test_first_row_changed ... ok
[INFO] [stdout] test render::diff::tests::test_last_row_changed ... ok
[INFO] [stdout] test render::diff::tests::test_middle_row_changed ... ok
[INFO] [stdout] test render::diff::tests::test_multiple_rows_changed ... ok
[INFO] [stdout] test render::diff::tests::test_no_changes ... ok
[INFO] [stdout] test render::diff::tests::test_prev_empty_curr_nonempty ... ok
[INFO] [stdout] test render::image::tests::test_detect_unknown_format ... ok
[INFO] [stdout] test render::diff::tests::test_style_change_detected ... ok
[INFO] [stdout] test render::image::tests::test_detect_gif_dimensions ... ok
[INFO] [stdout] test render::image::tests::test_detect_png_dimensions ... ok
[INFO] [stdout] test render::image::tests::test_encode_iterm2 ... ok
[INFO] [stdout] test render::image::tests::test_encode_kitty_multi_chunk ... ok
[INFO] [stdout] test render::image::tests::test_detect_too_small ... ok
[INFO] [stdout] test render::image::tests::test_encode_kitty_single_chunk ... ok
[INFO] [stdout] test render::image::tests::test_encode_kitty_with_id ... ok
[INFO] [stdout] test render::image::tests::test_kitty_delete_all ... ok
[INFO] [stdout] test render::image::tests::test_kitty_delete_image ... ok
[INFO] [stdout] test render::latex::tests::display_math_block ... ok
[INFO] [stdout] test render::latex::tests::escaped_dollar_inside_math ... ok
[INFO] [stdout] test render::latex::tests::inline_greek_and_operators ... ok
[INFO] [stdout] test render::latex::tests::lone_unbalanced_dollar_left_untouched ... ok
[INFO] [stdout] test render::latex::tests::mixed_text_and_math ... ok
[INFO] [stdout] test render::latex::tests::no_math_returns_input_unchanged ... ok
[INFO] [stdout] test render::latex::tests::superscript_without_unicode_form_falls_back ... ok
[INFO] [stdout] test render::latex::tests::superscripts_and_subscripts ... ok
[INFO] [stdout] test render::latex::tests::unknown_command_emitted_verbatim ... ok
[INFO] [stdout] test render::latex_unicode::tests::accents ... ok
[INFO] [stdout] test render::latex_unicode::tests::arrows ... ok
[INFO] [stdout] test render::latex_unicode::tests::common_symbols ... ok
[INFO] [stdout] test render::latex_unicode::tests::empty_input ... ok
[INFO] [stdout] test render::latex_unicode::tests::function_names_verbatim ... ok
[INFO] [stdout] test render::latex_unicode::tests::greek_lowercase ... ok
[INFO] [stdout] test render::latex_unicode::tests::greek_uppercase ... ok
[INFO] [stdout] test render::latex_unicode::tests::has_latex_detects_commands ... ok
[INFO] [stdout] test render::latex_unicode::tests::math_operators ... ok
[INFO] [stdout] test render::latex_unicode::tests::nested_braces ... ok
[INFO] [stdout] test render::latex_unicode::tests::no_match_passthrough ... ok
[INFO] [stdout] test render::latex_unicode::tests::multi_replacement ... ok
[INFO] [stdout] test render::latex_unicode::tests::sets_and_membership ... ok
[INFO] [stdout] test render::latex_unicode::tests::subscripts_group ... ok
[INFO] [stdout] test render::latex_unicode::tests::superscripts_single ... ok
[INFO] [stdout] test render::latex_unicode::tests::subscripts_single_digit ... ok
[INFO] [stdout] test render::mermaid::tests::ascii_display_width_ascii ... ok
[INFO] [stdout] test render::latex_unicode::tests::relations_and_comparisons ... ok
[INFO] [stdout] test render::latex_unicode::tests::superscripts_group ... ok
[INFO] [stdout] test render::mermaid::tests::cache_returns_same_result ... ok
[INFO] [stdout] test render::mermaid::tests::ascii_display_width_cjk ... ok
[INFO] [stdout] test render::mermaid::tests::class_relation_inheritance_arrow ... ok
[INFO] [stdout] test render::mermaid::tests::classify_arrow_variants ... ok
[INFO] [stdout] test render::mermaid::tests::class_basic ... ok
[INFO] [stdout] test render::mermaid::tests::empty_source_returns_none ... ok
[INFO] [stdout] test render::mermaid::tests::clear_cache_empties_cache ... ok
[INFO] [stdout] test render::mermaid::tests::flowchart_basic_td ... ok
[INFO] [stdout] test render::mermaid::tests::flowchart_dashed_and_thick_arrows ... ok
[INFO] [stdout] test render::mermaid::tests::flowchart_diamond_shape_in_box ... ok
[INFO] [stdout] test render::mermaid::tests::flowchart_labeled_edge ... ok
[INFO] [stdout] test render::mermaid::tests::flowchart_lr_direction ... ok
[INFO] [stdout] test render::mermaid::tests::parse_class_member_attr_and_method ... ok
[INFO] [stdout] test render::mermaid::tests::parse_class_relation_dependency ... ok
[INFO] [stdout] test render::mermaid::tests::flowchart_node_shapes ... ok
[INFO] [stdout] test render::mermaid::tests::parse_class_relation_inheritance ... ok
[INFO] [stdout] test render::mermaid::tests::parse_flowgraph_multi_edge_chain ... ok
[INFO] [stdout] test render::mermaid::tests::parse_node_spec_shapes ... ok
[INFO] [stdout] test render::mermaid::tests::parse_state_transition_with_label ... ok
[INFO] [stdout] test render::mermaid::tests::render_ascii_diagram_empty_input ... ok
[INFO] [stdout] test render::mermaid::tests::render_ascii_diagram_has_borders ... ok
[INFO] [stdout] test render::mermaid::tests::render_ascii_diagram_multiline ... ok
[INFO] [stdout] test render::mermaid::tests::sequence_basic ... ok
[INFO] [stdout] test render::mermaid::tests::sequence_participant_alias ... ok
[INFO] [stdout] test render::mermaid::tests::sequence_self_message ... ok
[INFO] [stdout] test render::mermaid::tests::state_v1_compatible ... ok
[INFO] [stdout] test render::mermaid::tests::state_basic_v2 ... ok
[INFO] [stdout] test render::mermaid::tests::unsupported_diagram_type_returns_none ... ok
[INFO] [stdout] test render::terminal::tests::classify_ghostty ... ok
[INFO] [stdout] test render::terminal::tests::classify_kitty ... ok
[INFO] [stdout] test render::terminal::tests::classify_tmux_and_screen_take_priority_over_xterm ... ok
[INFO] [stdout] test render::terminal::tests::classify_unknown_fallback ... ok
[INFO] [stdout] test render::terminal::tests::classify_wezterm_and_iterm ... ok
[INFO] [stdout] test render::terminal::tests::default_sync_on_deccara_sixel_off ... ok
[INFO] [stdout] test render::terminal::tests::detect_runs_without_panic ... ok
[INFO] [stdout] test render::terminal::tests::iterm2_uses_iterm_image_protocol ... ok
[INFO] [stdout] test render::terminal::tests::kitty_and_ghostty_get_deccara ... ok
[INFO] [stdout] test render::terminal::tests::no_sync_override_forces_synchronized_output_off ... ok
[INFO] [stdout] test render::terminal::tests::supports_images_with_iterm2 ... ok
[INFO] [stdout] test render::terminal::tests::supports_images_with_kitty ... ok
[INFO] [stdout] test render::terminal::tests::wezterm_foot_contour_get_sixel_not_deccara ... ok
[INFO] [stdout] test render::terminal::tests::xterm_true_color_only_with_colorterm ... ok
[INFO] [stdout] test render::tests::all_text_attrs_covers_six_bits ... ok
[INFO] [stdout] test render::tests::delta_bold_dim_to_bold_re_adds_bold ... ok
[INFO] [stdout] test render::tests::delta_bold_to_empty_clears_via_22 ... ok
[INFO] [stdout] test render::tests::deccara_emits_rectangle_for_full_bg_rows ... ok
[INFO] [stdout] test render::tests::deccara_inactive_when_capability_off ... ok
[INFO] [stdout] test render::tests::delta_combine_multiple_adds_into_one_sequence ... ok
[INFO] [stdout] test render::tests::delta_empty_to_bold_just_sets ... ok
[INFO] [stdout] test render::tests::delta_italic_underline_reverse_crossed_each_distinct ... ok
[INFO] [stdout] test render::tests::delta_bold_to_italic_clears_then_sets ... ok
[INFO] [stdout] test render::tests::write_delta_emits_single_compound_sgr ... ok
[INFO] [stdout] test render::tests::delta_no_change_emits_nothing ... ok
[INFO] [stdout] test render::tests::write_delta_no_change_writes_nothing ... ok
[INFO] [stdout] test symbols::tests::ascii_preset_is_7bit_clean ... ok
[INFO] [stdout] test symbols::tests::default_is_unicode ... ok
[INFO] [stdout] test symbols::tests::parse_glyph_set ... ok
[INFO] [stdout] test symbols::tests::all_presets_populate_every_field_distinctly ... ok
[INFO] [stdout] test symbols::tests::samples_render_for_each_preset ... ok
[INFO] [stdout] test symbols::tests::serde_roundtrip ... ok
[INFO] [stdout] test symbols::tests::unicode_cursor_is_two_cells_wide_prefix ... ok
[INFO] [stdout] test symbols::tests::unknown_glyph_set_error_is_helpful ... ok
[INFO] [stdout] test tape::component::tests::default_live_region_is_none ... ok
[INFO] [stdout] test tape::component::tests::live_region_is_pinned ... ok
[INFO] [stdout] test tape::component::tests::live_region_start ... ok
[INFO] [stdout] test tape::component::tests::render_result_hash_differs_on_change ... ok
[INFO] [stdout] test tape::component::tests::render_result_hash_differs_on_length ... ok
[INFO] [stdout] test tape::component::tests::render_result_hash_stability ... ok
[INFO] [stdout] test tape::component::tests::text_component_renders ... ok
[INFO] [stdout] test tape::components::streaming::tests::append_token_appends_to_existing ... ok
[INFO] [stdout] test tape::components::streaming::tests::append_token_creates_first_live_line ... ok
[INFO] [stdout] test tape::components::streaming::tests::empty_has_no_live_region ... ok
[INFO] [stdout] test tape::components::streaming::tests::finalize_live_promotes_all ... ok
[INFO] [stdout] test tape::components::streaming::tests::hash_changes_on_live_update ... ok
[INFO] [stdout] test tape::components::streaming::tests::live_lines_create_mutable_region ... ok
[INFO] [stdout] test tape::components::streaming::tests::render_concatenates_finalized_and_live ... ok
[INFO] [stdout] test tape::components::streaming::tests::hash_stable_on_unchanged ... ok
[INFO] [stdout] test tape::components::text::tests::empty_message ... ok
[INFO] [stdout] test tape::components::text::tests::from_multiline_text ... ok
[INFO] [stdout] test tape::components::streaming::tests::total_and_finalized_count ... ok
[INFO] [stdout] test tape::components::text::tests::line_count ... ok
[INFO] [stdout] test tape::components::text::tests::live_region_is_none ... ok
[INFO] [stdout] test tape::components::text::tests::hash_stable_across_renders ... ok
[INFO] [stdout] test tape::components::text::tests::renders_all_lines ... ok
[INFO] [stdout] test tape::components::text::tests::single_line ... ok
[INFO] [stdout] test tape::components::tool_call::tests::completed_has_no_live_region ... ok
[INFO] [stdout] test tape::components::tool_call::tests::completed_renders_result_lines ... ok
[INFO] [stdout] test tape::components::tool_call::tests::hash_changes_on_result ... ok
[INFO] [stdout] test tape::components::tool_call::tests::running_renders_header_and_indicator ... ok
[INFO] [stdout] test tape::components::tool_call::tests::running_has_live_region ... ok
[INFO] [stdout] test tape::components::tool_call::tests::set_result_promotes_to_final ... ok
[INFO] [stdout] test tape::container::tests::cached_live_region_keeps_child_offset ... ok
[INFO] [stdout] test tape::container::tests::compose_caches_by_revision_and_width ... ok
[INFO] [stdout] test tape::container::tests::compose_concatenates_children ... ok
[INFO] [stdout] test tape::container::tests::compose_empty ... ok
[INFO] [stdout] test tape::container::tests::compose_live_region_from_first_child_with_one ... ok
[INFO] [stdout] test tape::engine::tests::changed_frame_writes_diff ... ok
[INFO] [stdout] test tape::container::tests::compose_pinned_live_region ... ok
[INFO] [stdout] test tape::engine::tests::finalized_commits_are_monotonic_until_replay_boundary ... ok
[INFO] [stdout] test tape::engine::tests::identical_frame_is_idle ... ok
[INFO] [stdout] test tape::engine::tests::first_paint_emits_full_paint ... ok
[INFO] [stdout] test tape::engine::tests::pinned_suffix_never_advances_committed_rows ... ok
[INFO] [stdout] test tape::engine::tests::large_frame_commits_overflow ... ok
[INFO] [stdout] test tape::engine::tests::resize_triggers_full_paint ... ok
[INFO] [stdout] test tape::engine::tests::synchronized_output_wraps_frame ... ok
[INFO] [stdout] test tape::engine::tests::synchronized_update_sequences_are_balanced ... ok
[INFO] [stdout] test tape::line::tests::line_to_ansi_passes_through ... ok
[INFO] [stdout] test tape::engine::tests::streaming_updates_only_write_changed ... ok
[INFO] [stdout] test tape::engine::tests::clear_scrollback_emits_ed3 ... ok
[INFO] [stdout] test tape::style::tests::equal_adjacent_styles_do_not_repeat_sgr ... ok
[INFO] [stdout] test tape::line::tests::write_line_appends_terminator ... ok
[INFO] [stdout] test tape::style::tests::rgb_downgrades_without_true_color ... ok
[INFO] [stdout] test tape::style::tests::true_color_is_preserved ... ok
[INFO] [stdout] test tape::transcript::tests::text_wraps_to_width_and_stream_is_live ... ok
[INFO] [stdout] test tape::transcript::tests::transcript_renders_inline_and_display_latex ... ok
[INFO] [stdout] test tape::transcript::tests::every_block_variant_renders ... ok
[INFO] [stdout] test text::tests::test_truncate_to_width ... ok
[INFO] [stdout] test theme::tests::color_scheme_constructors_distinct_backgrounds ... ok
[INFO] [stdout] test theme::tests::dark_brightness_hierarchy_is_ordered ... ok
[INFO] [stdout] test theme::tests::default_theme_is_dark ... ok
[INFO] [stdout] test theme::tests::all_themes_have_28_color_slots ... ok
[INFO] [stdout] test theme::tests::diff_bg_reuses_tool_status_bg ... ok
[INFO] [stdout] test tape::transcript::tests::transcript_image_is_safe_placeholder_even_when_protocol_is_available ... ok
[INFO] [stdout] test theme::tests::light_theme_has_dark_foreground ... ok
[INFO] [stdout] test theme::tests::parse_indexed_color ... ok
[INFO] [stdout] test theme::tests::parse_hex_colors ... ok
[INFO] [stdout] test theme::tests::registry_add_custom_and_resolve ... ok
[INFO] [stdout] test theme::tests::registry_add_custom_file_missing_path_errors ... ok
[INFO] [stdout] test theme::tests::registry_add_custom_file_parses_json_and_toml ... ok
[INFO] [stdout] test tape::transcript::tests::transcript_renders_mermaid_fence_as_diagram ... ok
[INFO] [stdout] test theme::tests::registry_add_custom_file_rejects_unknown_extension ... ok
[INFO] [stdout] test theme::tests::registry_custom_overrides_builtin_with_same_name ... ok
[INFO] [stdout] test theme::tests::registry_resolves_all_six_builtins ... ok
[INFO] [stdout] test theme::tests::set_glyph_set_mutates_in_place ... ok
[INFO] [stdout] test theme::tests::registry_unknown_name_falls_back_to_dark ... ok
[INFO] [stdout] test theme::tests::theme_by_name_falls_back_to_dark ... ok
[INFO] [stdout] test theme::tests::theme_by_name_resolves_all_builtins ... ok
[INFO] [stdout] test theme::tests::theme_defaults_to_unicode_glyphs ... ok
[INFO] [stdout] test theme::tests::theme_file_from_json ... ok
[INFO] [stdout] test theme::tests::registry_custom_names_lists_inserted ... ok
[INFO] [stdout] test theme::tests::theme_file_roundtrip ... ok
[INFO] [stdout] test theme::tests::theme_manager_check_external_returns_false_for_missing_path ... ok
[INFO] [stdout] test theme::tests::theme_manager_set_by_name ... ok
[INFO] [stdout] test theme::tests::to_styles_packs_all_28_styles ... ok
[INFO] [stdout] test theme::tests::with_glyph_set_propagates_to_styles ... ok
[INFO] [stdout] test widgets::chat::complete_table_verification::table_renders_in_ascii_glyph_set ... ok
[INFO] [stdout] test widgets::chat::complete_table_verification::test_cell_wrapping ... ok
[INFO] [stdout] test widgets::chat::complete_table_verification::test_header_bold_styling ... ok
[INFO] [stdout] test widgets::chat::complete_table_verification::test_mixed_content_before_table ... ok
[INFO] [stdout] test widgets::chat::complete_table_verification::test_mixed_content_after_table ... ok
[INFO] [stdout] test widgets::chat::complete_table_verification::test_mixed_content_both_sides ... ok
[INFO] [stdout] test widgets::chat::mouse::tests::acceleration_band_thresholds ... ok
[INFO] [stdout] test widgets::chat::complete_table_verification::test_multiple_rows_separators ... ok
[INFO] [stdout] test widgets::chat::complete_table_verification::test_narrow_terminal ... ok
[INFO] [stdout] test widgets::chat::mouse::tests::apple_terminal_one_notch_matches_iterm2_one_notch ... ok
[INFO] [stdout] test widgets::chat::mouse::tests::cap_delta_caps_at_viewport_half ... ok
[INFO] [stdout] test widgets::chat::mouse::tests::cap_delta_handles_zero ... ok
[INFO] [stdout] test widgets::chat::mouse::tests::cap_delta_min_floor_is_six ... ok
[INFO] [stdout] test widgets::chat::mouse::tests::detect_device_returns_wheel_for_few_events ... ok
[INFO] [stdout] test widgets::chat::mouse::tests::detect_device_trackpad_for_short_intervals ... ok
[INFO] [stdout] test widgets::chat::mouse::tests::detect_sty_returns_multiplexer ... ok
[INFO] [stdout] test widgets::chat::mouse::tests::detect_term_program_apple_terminal ... ok
[INFO] [stdout] test widgets::chat::mouse::tests::detect_unknown_when_no_env ... ok
[INFO] [stdout] test widgets::chat::mouse::tests::detect_zellij_returns_multiplexer ... ok
[INFO] [stdout] test widgets::chat::mouse::tests::detect_tmux_returns_multiplexer ... ok
[INFO] [stdout] test widgets::chat::mouse::tests::direction_change_starts_new_stream ... ok
[INFO] [stdout] test widgets::chat::mouse::tests::ept_apple_terminal_is_3 ... ok
[INFO] [stdout] test widgets::chat::mouse::tests::detect_term_program_ghostty ... ok
[INFO] [stdout] test widgets::chat::mouse::tests::ept_ghostty_is_3 ... ok
[INFO] [stdout] test widgets::chat::mouse::tests::ept_env_override_invalid_falls_back_to_table ... ok
[INFO] [stdout] test widgets::chat::mouse::tests::ept_iterm2_is_1 ... ok
[INFO] [stdout] test widgets::chat::mouse::tests::ept_unknown_is_1 ... ok
[INFO] [stdout] test widgets::chat::mouse::tests::ept_vscode_is_1 ... ok
[INFO] [stdout] test widgets::chat::mouse::tests::history_capped_at_16 ... ok
[INFO] [stdout] test widgets::chat::mouse::tests::multiple_events_same_direction_combine_into_stream ... ok
[INFO] [stdout] test widgets::chat::mouse::tests::single_event_produces_single_scroll ... ok
[INFO] [stdout] test widgets::chat::state::tests::badge_not_set_when_content_shrank ... ok
[INFO] [stdout] test widgets::chat::mouse::tests::ept_env_override_takes_precedence ... ok
[INFO] [stdout] test widgets::chat::state::tests::badge_not_set_when_following ... ok
[INFO] [stdout] test widgets::chat::mouse::tests::reset_clears_state ... ok
[INFO] [stdout] test widgets::chat::state::tests::clamp_reflow_shrinking_content_keeps_viewport_in_range ... ok
[INFO] [stdout] test widgets::chat::state::tests::clamp_reflow_growing_content_keeps_pinned_viewport ... ok
[INFO] [stdout] test widgets::chat::state::tests::clamp_reflow_shrinking_past_viewport_snaps_to_bottom ... ok
[INFO] [stdout] test widgets::chat::state::tests::badge_set_when_pinned_and_content_grows ... ok
[INFO] [stdout] test widgets::chat::state::tests::follow_t10_scroll_up_clears_badge ... ok
[INFO] [stdout] test theme::tests::parse_named_colors ... ok
[INFO] [stdout] test widgets::chat::state::tests::follow_t11_scroll_down_clears_badge ... ok
[INFO] [stdout] test widgets::chat::state::tests::follow_t12_clear_resets_to_following ... ok
[INFO] [stdout] test widgets::chat::state::tests::follow_t1_following_stays_following_on_bottom_call ... ok
[INFO] [stdout] test widgets::chat::state::tests::follow_t2_following_to_grace_on_scroll_up ... ok
[INFO] [stdout] test widgets::chat::state::tests::follow_t4_grace_to_following_on_scroll_down ... ok
[INFO] [stdout] test widgets::chat::state::tests::follow_t5_pinned_viewport_frozen ... ok
[INFO] [stdout] test widgets::chat::state::tests::follow_t6_pinned_at_bottom_promotes_to_following ... ok
[INFO] [stdout] test widgets::chat::state::tests::follow_t7_initial_state_is_following ... ok
[INFO] [stdout] test widgets::chat::state::tests::follow_t9_scroll_to_bottom_resets_to_following ... ok
[INFO] [stdout] test widgets::chat::state::tests::test_clamp_scroll_handles_u32_content ... ok
[INFO] [stdout] test widgets::chat::state::tests::test_scroll_up_promotes_to_u32 ... ok
[INFO] [stdout] test widgets::chat::state::tests::test_spinner_frame_change_does_not_invalidate ... ok
[INFO] [stdout] test widgets::chat::state::tests::test_streaming_newline_invalidates ... ok
[INFO] [stdout] test widgets::chat::state::tests::test_content_height_is_u32_field ... ok
[INFO] [stdout] test widgets::chat::sticky::tests::test_caps_at_sticky_n ... ok
[INFO] [stdout] test widgets::chat::sticky::tests::test_empty_layout_yields_empty ... ok
[INFO] [stdout] test theme::tests::theme_manager_check_external_no_baseline_does_not_fire ... ok
[INFO] [stdout] test theme::tests::dark_theme_has_light_foreground ... ok
[INFO] [stdout] test widgets::chat::state::tests::test_virtual_coord_large_session_layout ... ok
[INFO] [stdout] test widgets::chat::sticky::tests::test_picks_last_n_user_messages ... ok
[INFO] [stdout] test widgets::chat::state::tests::test_streaming_text_within_line_does_not_invalidate ... ok
[INFO] [stdout] test widgets::chat::table_tests::md_lines_without_table ... ok
[INFO] [stdout] test widgets::chat::state::tests::test_layout_cache_width_is_stored ... ok
[INFO] [stdout] test widgets::chat::table_tests::md_lines_with_table ... ok
[INFO] [stdout] test widgets::chat::state::tests::test_scroll_down_saturates_no_overflow ... ok
[INFO] [stdout] test widgets::chat::sticky::tests::test_no_user_messages_yields_empty ... ok
[INFO] [stdout] test widgets::chat::table_tests::test_empty_cells ... ok
[INFO] [stdout] test widgets::chat::table_tests::test_exact_output_format ... ok
[INFO] [stdout] test widgets::chat::table_tests::test_single_column ... ok
[INFO] [stdout] test widgets::chat::state::tests::follow_t8_scroll_to_top_pins_at_origin ... ok
[INFO] [stdout] test widgets::chat::table_tests::test_special_characters_in_cells ... ok
[INFO] [stdout] test widgets::chat::table_tests::test_no_header_row_separator_at_end ... ok
[INFO] [stdout] test widgets::chat::state::tests::test_scroll_offset_accepts_u32_above_u16_max ... ok
[INFO] [stdout] test widgets::chat::terminal_support::tests::effective_flush_gap_honors_override ... ok
[INFO] [stdout] test widgets::chat::terminal_support::tests::ept_override_non_numeric_returns_none ... ok
[INFO] [stdout] test widgets::chat::terminal_support::tests::built_in_ept_matches_terminal_kind_table ... ok
[INFO] [stdout] test widgets::chat::terminal_support::tests::ept_override_out_of_range_returns_none ... ok
[INFO] [stdout] test widgets::chat::terminal_support::tests::effective_ept_falls_back_to_table ... ok
[INFO] [stdout] test widgets::chat::terminal_support::tests::ept_override_unset_returns_none ... ok
[INFO] [stdout] test widgets::chat::terminal_support::tests::effective_ept_uses_override_when_present ... ok
[INFO] [stdout] test widgets::chat::terminal_support::tests::effective_flush_gap_default_is_80ms ... ok
[INFO] [stdout] test widgets::chat::table_tests::test_wide_characters ... ok
[INFO] [stdout] test widgets::chat::table_tests::render_markdown_table_basic ... ok
[INFO] [stdout] test widgets::chat::terminal_support::tests::flush_gap_override_valid ... ok
[INFO] [stdout] test widgets::chat::terminal_support::tests::flush_gap_override_zero_or_huge_returns_none ... ok
[INFO] [stdout] test widgets::chat::tests::clamp_str_no_truncate ... ok
[INFO] [stdout] test widgets::chat::tests::clamp_str_truncates_chars ... ok
[INFO] [stdout] test widgets::chat::tests::clamp_str_truncates_lines ... ok
[INFO] [stdout] test widgets::chat::tests::compute_layout_basic ... ok
[INFO] [stdout] test widgets::chat::tests::fix_bare_code_fences_basic ... ok
[INFO] [stdout] test widgets::chat::tests::image_tracking ... ok
[INFO] [stdout] test widgets::chat::tests::layout_cache_hit ... ok
[INFO] [stdout] test widgets::chat::tests::scroll_bounds ... ok
[INFO] [stdout] test widgets::chat::tests::streaming_lifecycle ... ok
[INFO] [stdout] test widgets::chat::tests::streaming_text_after_thinking ... ok
[INFO] [stdout] test widgets::chat::tests::tool_call_lifecycle ... ok
[INFO] [stdout] test widgets::chat::tests::wrap_lines_preserves_style ... ok
[INFO] [stdout] test widgets::chat::tests::wrap_lines_styled_ascii ... ok
[INFO] [stdout] test widgets::chat::tests::wrap_lines_styled_cjk ... ok
[INFO] [stdout] test widgets::chat::tests::wrap_lines_styled_mixed_width ... ok
[INFO] [stdout] test widgets::chat::tests::wrap_lines_styled_short_text ... ok
[INFO] [stdout] test widgets::completion::tests::new_state_is_hidden ... ok
[INFO] [stdout] test widgets::completion::tests::select_navigation_empty_items ... ok
[INFO] [stdout] test widgets::completion::tests::select_next_wraps ... ok
[INFO] [stdout] test widgets::completion::tests::select_previous_wraps ... ok
[INFO] [stdout] test widgets::completion::tests::set_items_clear_selects_none ... ok
[INFO] [stdout] test widgets::completion::tests::set_items_resets_selection ... ok
[INFO] [stdout] test widgets::completion::tests::show_hide_toggle ... ok
[INFO] [stdout] test widgets::dashboard::tests::collapsed_section_has_no_visible_items ... ok
[INFO] [stdout] test widgets::footer::tests::display_path_long_truncates_to_basename ... ok
[INFO] [stdout] test widgets::dashboard::tests::filter_matches_label ... ok
[INFO] [stdout] test widgets::footer::tests::footer_data_default ... ok
[INFO] [stdout] test widgets::footer::tests::footer_data_fmt_count ... ok
[INFO] [stdout] test widgets::footer::tests::display_path_home_short ... ok
[INFO] [stdout] test widgets::footer::tests::footer_data_format_duration ... ok
[INFO] [stdout] test widgets::footer::tests::display_path_short ... ok
[INFO] [stdout] test widgets::input::tests::input_state_clear ... ok
[INFO] [stdout] test widgets::input::tests::input_state_empty ... ok
[INFO] [stdout] test widgets::chat::state::tests::follow_t3_grace_extends_on_repeated_scroll_up ... ok
[INFO] [stdout] test widgets::chat::terminal_support::tests::ept_override_valid_values ... ok
[INFO] [stdout] test widgets::dashboard::tests::select_next_wraps_sections ... ok
[INFO] [stdout] test widgets::input::tests::input_state_insert ... ok
[INFO] [stdout] test widgets::input::tests::input_state_insert_str ... ok
[INFO] [stdout] test widgets::input::tests::required_height_short_text ... ok
[INFO] [stdout] test widgets::input::tests::input_state_multiline ... ok
[INFO] [stdout] test widgets::input::tests::input_state_undo_redo ... ok
[INFO] [stdout] test widgets::input::tests::required_height_empty ... ok
[INFO] [stdout] test widgets::input::tests::required_height_explicit_newlines ... ok
[INFO] [stdout] test widgets::input::tests::required_height_long_line_wraps ... ok
[INFO] [stdout] test widgets::input::tests::required_height_max_height_clamp ... ok
[INFO] [stdout] test widgets::input::tests::required_height_mixed_wrapping ... ok
[INFO] [stdout] test widgets::list_selector::tests::checkbox_enter_toggles ... ok
[INFO] [stdout] test widgets::list_selector::tests::compact_mode_enables_search ... ok
[INFO] [stdout] test widgets::list_selector::tests::control_row_done ... ok
[INFO] [stdout] test widgets::list_selector::tests::disabled_rows_skipped_on_down ... ok
[INFO] [stdout] test widgets::list_selector::tests::disabled_rows_skipped_on_up ... ok
[INFO] [stdout] test widgets::list_selector::tests::down_moves_cursor ... ok
[INFO] [stdout] test widgets::list_selector::tests::control_row_other ... ok
[INFO] [stdout] test widgets::list_selector::tests::down_stops_at_last_row ... ok
[INFO] [stdout] test widgets::list_selector::tests::esc_cancels ... ok
[INFO] [stdout] test widgets::chat::tests::text_truncation_on_ingest ... ok
[INFO] [stdout] test widgets::list_selector::tests::jk_navigation_skips_disabled ... ok
[INFO] [stdout] test widgets::list_selector::tests::up_at_top_stays ... ok
[INFO] [stdout] test widgets::list_selector::tests::left_right_nav ... ok
[INFO] [stdout] test widgets::list_selector::tests::all_disabled_no_infinite_loop ... ok
[INFO] [stdout] test widgets::list_selector::tests::non_compact_does_not_search ... ok
[INFO] [stdout] test widgets::list_selector::tests::none_marker_returns_select ... ok
[INFO] [stdout] test widgets::list_selector::tests::radio_select_returns_select_action ... ok
[INFO] [stdout] test widgets::list_selector::tests::up_stops_at_first_row ... ok
[INFO] [stdout] test widgets::list_selector::tests::render_produces_lines ... ok
[INFO] [stdout] test widgets::list_selector::tests::timeout_tick ... ok
[INFO] [stdout] test widgets::input::tests::required_height_zero_width ... ok
[INFO] [stdout] test widgets::slash_dropdown::tests::extract_query_mid_text_slash ... ok
[INFO] [stdout] test widgets::list_selector::tests::initial_cursor_clamped ... ok
[INFO] [stdout] test widgets::routing::tests::chain_abbreviated_empty ... ok
[INFO] [stdout] test widgets::routing::tests::chain_abbreviated_multiple ... ok
[INFO] [stdout] test widgets::routing::tests::chain_abbreviated_single ... ok
[INFO] [stdout] test widgets::routing::tests::provider_health_symbols ... ok
[INFO] [stdout] test widgets::slash_dropdown::tests::ghost_complete_full_match_returns_empty ... ok
[INFO] [stdout] test widgets::slash_dropdown::tests::ghost_complete_unique_match ... ok
[INFO] [stdout] test widgets::slash_dropdown::tests::ghost_complete_no_match_returns_empty ... ok
[INFO] [stdout] test widgets::slash_dropdown::tests::len_and_commands_work ... ok
[INFO] [stdout] test widgets::slash_dropdown::tests::extract_query_with_args_returns_none ... ok
[INFO] [stdout] test widgets::slash_dropdown::tests::matches_no_match_returns_empty ... ok
[INFO] [stdout] test widgets::slash_dropdown::tests::matches_empty_query_returns_all ... ok
[INFO] [stdout] test widgets::routing::tests::routing_status_data_default ... ok
[INFO] [stdout] test widgets::slash_dropdown::tests::matches_returns_ranked_results ... ok
[INFO] [stdout] test widgets::slash_dropdown::tests::record_use_boosts_ranking ... ok
[INFO] [stdout] test widgets::routing::tests::routing_status_state_toggle ... ok
[INFO] [stdout] test widgets::slash_dropdown::tests::decay_for_one_half_life_is_half ... ok
[INFO] [stdout] test widgets::slash_dropdown::tests::slash_command_builder ... ok
[INFO] [stdout] test widgets::stateful_list::tests::clear_filter ... ok
[INFO] [stdout] test widgets::slash_dropdown::tests::decay_for_very_long_elapsed_is_zero ... ok
[INFO] [stdout] test widgets::slash_dropdown::tests::decay_for_zero_elapsed_is_one ... ok
[INFO] [stdout] test widgets::slash_dropdown::tests::extract_query_after_space ... ok
[INFO] [stdout] test widgets::stateful_list::tests::empty_list ... ok
[INFO] [stdout] test widgets::slash_dropdown::tests::extract_query_no_slash ... ok
[INFO] [stdout] test widgets::stateful_list::tests::filter ... ok
[INFO] [stdout] test widgets::stateful_list::tests::filter_input_and_backspace ... ok
[INFO] [stdout] test widgets::slash_dropdown::tests::ghost_complete_ambiguous_returns_empty ... ok
[INFO] [stdout] test widgets::stateful_list::tests::items_iterator_respects_filter ... ok
[INFO] [stdout] test widgets::slash_dropdown::tests::extract_query_at_start ... ok
[INFO] [stdout] test widgets::stateful_list::tests::scroll_by ... ok
[INFO] [stdout] test widgets::table_list::tests::build_widget ... ok
[INFO] [stdout] test widgets::table_list::tests::clear_filter ... ok
[INFO] [stdout] test widgets::table_list::tests::empty_list ... ok
[INFO] [stdout] test widgets::stateful_list::tests::navigation ... ok
[INFO] [stdout] test widgets::table_list::tests::filter ... ok
[INFO] [stdout] test widgets::stateful_list::tests::new_selects_first ... ok
[INFO] [stdout] test widgets::table_list::tests::filter_input_and_backspace ... ok
[INFO] [stdout] test widgets::stateful_list::tests::default_styles ... ok
[INFO] [stdout] test widgets::table_list::tests::navigation ... ok
[INFO] [stdout] test widgets::table_list::tests::new_selects_first ... ok
[INFO] [stdout] test widgets::todo_panel::tests::active_phase_falls_back_to_pending ... ok
[INFO] [stdout] test widgets::todo_panel::tests::collapsed_caps_at_max_visible ... ok
[INFO] [stdout] test widgets::table_list::tests::scroll_by ... ok
[INFO] [stdout] test widgets::table_list::tests::wrap_around_navigation ... ok
[INFO] [stdout] test widgets::todo_panel::tests::empty_state_renders_nothing ... ok
[INFO] [stdout] test widgets::todo_panel::tests::expanded_shows_all_phases ... ok
[INFO] [stdout] test widgets::todo_panel::tests::collapsed_shows_active_phase_only ... ok
[INFO] [stdout] test widgets::todo_panel::tests::has_closed_todos_detects ... ok
[INFO] [stdout] test widgets::todo_panel::tests::roman_numeral_correct ... ok
[INFO] [stdout] test widgets::tool_renderer::tests::test_count_diff_stats ... ok
[INFO] [stdout] test widgets::tool_renderer::tests::test_format_bash_call ... ok
[INFO] [stdout] test widgets::tool_renderer::tests::test_format_bash_result ... ok
[INFO] [stdout] test widgets::tool_renderer::tests::test_format_diff_result ... ok
[INFO] [stdout] test widgets::tool_renderer::tests::test_format_generic_call ... ok
[INFO] [stdout] test widgets::tool_renderer::tests::test_format_edit_call ... ok
[INFO] [stdout] test widgets::tool_renderer::tests::test_format_issue_call_start ... ok
[INFO] [stdout] test widgets::tool_renderer::tests::test_format_issue_call_list_with_filters ... ok
[INFO] [stdout] test widgets::tool_renderer::tests::test_format_issue_call_unknown_action ... ok
[INFO] [stdout] test widgets::tool_renderer::tests::test_format_issue_result_assigned_error ... ok
[INFO] [stdout] test widgets::tool_renderer::tests::test_format_issue_result_closed ... ok
[INFO] [stdout] test widgets::tool_renderer::tests::test_format_issue_result_conflict ... ok
[INFO] [stdout] test widgets::tool_renderer::tests::test_format_issue_result_empty_list ... ok
[INFO] [stdout] test widgets::tool_renderer::tests::test_format_issue_call_create ... ok
[INFO] [stdout] test widgets::tool_renderer::tests::test_format_issue_result_success ... ok
[INFO] [stdout] test widgets::tool_renderer::tests::test_format_read_call ... ok
[INFO] [stdout] test widgets::tool_renderer::tests::test_format_read_result ... ok
[INFO] [stdout] test widgets::tool_renderer::tests::test_format_issue_result_released_warning_color ... ok
[INFO] [stdout] test widgets::tool_renderer::tests::test_has_exit_status ... ok
[INFO] [stdout] test widgets::tool_renderer::tests::test_format_issue_result_list_multiline_color ... ok
[INFO] [stdout] test widgets::tool_renderer::tests::test_looks_like_diff ... ok
[INFO] [stdout] test widgets::tool_renderer::tests::test_measure_issue_call_create ... ok
[INFO] [stdout] test widgets::tool_renderer::tests::test_measure_issue_result_long_list ... ok
[INFO] [stdout] test widgets::tool_renderer::tests::test_measure_issue_result_success_short ... ok
[INFO] [stdout] test widgets::tool_renderer::tests::test_parse_args ... ok
[INFO] [stdout] test widgets::tool_renderer::tests::test_shorten_path ... ok
[INFO] [stdout] test widgets::tool_renderer::tests::test_truncate_to_width ... ok
[INFO] [stdout] test widgets::tool_renderer::tests::test_measure_issue_call_id_only ... ok
[INFO] [stdout] test widgets::chat::mouse::tests::flush_gap_separates_streams ... ok
[INFO] [stdout] test theme::tests::theme_manager_check_external_detects_mtime_change ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 567 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.14s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests oxi_tui
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test src/widgets/completion.rs - widgets::completion (line 7) ... ignored
[INFO] [stdout] test src/widgets/table_list.rs - widgets::table_list (line 7) ... ignored
[INFO] [stdout] test src/keybindings/mod.rs - keybindings (line 11) - compile ... ok
[INFO] [stdout] test src/input/kitty.rs - input::kitty::parse_kitty_key (line 382) ... ok
[INFO] [stdout] test src/keybindings/keys.rs - keybindings::keys::parse_key_id (line 176) ... ok
[INFO] [stdout] test src/input/kitty.rs - input::kitty::matches_legacy_key (line 522) ... ok
[INFO] [stdout] test src/input/kitty.rs - input::kitty::KeyModifiers (line 45) ... ok
[INFO] [stdout] test src/input/kill_ring.rs - input::kill_ring (line 24) ... ok
[INFO] [stdout] test src/input/paste.rs - input::paste::PasteBuffer (line 73) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.58s; merged doctests compilation took 0.56s
[INFO] running `Command { std: "docker" "inspect" "046d16cbe28d763e8703aadbbb7dae8dc9388712d4e096d5e574199df8017132", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "046d16cbe28d763e8703aadbbb7dae8dc9388712d4e096d5e574199df8017132", kill_on_drop: false }`
[INFO] [stdout] 046d16cbe28d763e8703aadbbb7dae8dc9388712d4e096d5e574199df8017132
