[INFO] fetching crate saorsa-tui 0.4.0... [INFO] testing saorsa-tui-0.4.0 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-2 [INFO] extracting crate saorsa-tui 0.4.0 into /workspace/builds/worker-6-tc2/source [INFO] started tweaking crates.io crate saorsa-tui 0.4.0 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate saorsa-tui 0.4.0 [INFO] tweaked toml for crates.io crate saorsa-tui 0.4.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate saorsa-tui 0.4.0 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate saorsa-tui 0.4.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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 97f0d3d501083b5e538511297d11c77519bd465cd61792ec90ff62d0e9de618a [INFO] running `Command { std: "docker" "start" "-a" "97f0d3d501083b5e538511297d11c77519bd465cd61792ec90ff62d0e9de618a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "97f0d3d501083b5e538511297d11c77519bd465cd61792ec90ff62d0e9de618a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "97f0d3d501083b5e538511297d11c77519bd465cd61792ec90ff62d0e9de618a", kill_on_drop: false }` [INFO] [stdout] 97f0d3d501083b5e538511297d11c77519bd465cd61792ec90ff62d0e9de618a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e321bc751a4ab0b16cdf2e1b9981c7883248f9bb9a24b939664b43a4fe5c543c [INFO] running `Command { std: "docker" "start" "-a" "e321bc751a4ab0b16cdf2e1b9981c7883248f9bb9a24b939664b43a4fe5c543c", kill_on_drop: false }` [INFO] [stderr] Compiling siphasher v1.0.2 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling slotmap v1.1.1 [INFO] [stderr] Compiling instant v0.1.13 [INFO] [stderr] Compiling pulldown-cmark v0.12.2 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling dtoa v1.0.11 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling inotify-sys v0.1.5 [INFO] [stderr] Compiling filetime v0.2.27 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling str_indices v0.4.4 [INFO] [stderr] Compiling pulldown-cmark-escape v0.11.0 [INFO] [stderr] Compiling futures-core v0.3.31 [INFO] [stderr] Compiling phf_shared v0.11.3 [INFO] [stderr] Compiling dtoa-short v0.3.5 [INFO] [stderr] Compiling notify-types v1.0.1 [INFO] [stderr] Compiling inotify v0.10.2 [INFO] [stderr] Compiling grid v0.15.0 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling ropey v1.6.1 [INFO] [stderr] Compiling fuzzy-matcher v0.3.7 [INFO] [stderr] Compiling similar v2.7.0 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling notify v7.0.0 [INFO] [stderr] Compiling taffy v0.7.7 [INFO] [stderr] Compiling phf_generator v0.11.3 [INFO] [stderr] Compiling crossterm v0.28.1 [INFO] [stderr] Compiling phf_macros v0.11.3 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling cssparser-macros v0.6.1 [INFO] [stderr] Compiling phf v0.11.3 [INFO] [stderr] Compiling cssparser v0.34.0 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling saorsa-tui v0.4.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.43s [INFO] running `Command { std: "docker" "inspect" "e321bc751a4ab0b16cdf2e1b9981c7883248f9bb9a24b939664b43a4fe5c543c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e321bc751a4ab0b16cdf2e1b9981c7883248f9bb9a24b939664b43a4fe5c543c", kill_on_drop: false }` [INFO] [stdout] e321bc751a4ab0b16cdf2e1b9981c7883248f9bb9a24b939664b43a4fe5c543c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3cfcfa39bc07ecbd5016dd88c7755c04daccf9e1d5f7f046856fb07ffab35b44 [INFO] running `Command { std: "docker" "start" "-a" "3cfcfa39bc07ecbd5016dd88c7755c04daccf9e1d5f7f046856fb07ffab35b44", kill_on_drop: false }` [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling zerocopy v0.8.39 [INFO] [stderr] Compiling zerocopy-derive v0.8.39 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling clap_lex v0.7.7 [INFO] [stderr] Compiling ciborium-io v0.2.2 [INFO] [stderr] Compiling anstyle v1.0.13 [INFO] [stderr] Compiling plotters-backend v0.3.7 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling cast v0.3.0 [INFO] [stderr] Compiling similar v2.7.0 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling plotters-svg v0.3.7 [INFO] [stderr] Compiling clap_builder v4.5.57 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling console v0.15.11 [INFO] [stderr] Compiling is-terminal v0.4.17 [INFO] [stderr] Compiling anes v0.1.6 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling unarray v0.1.4 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling oorandom v11.1.5 [INFO] [stderr] Compiling rand_xorshift v0.4.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling saorsa-tui v0.4.0 (/opt/rustwide/workdir) [INFO] [stderr] Compiling criterion-plot v0.5.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling tempfile v3.24.0 [INFO] [stderr] Compiling rusty-fork v0.3.1 [INFO] [stderr] Compiling clap v4.5.57 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling globset v0.4.18 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling insta v1.46.3 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling proptest v1.10.0 [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 50.32s [INFO] running `Command { std: "docker" "inspect" "3cfcfa39bc07ecbd5016dd88c7755c04daccf9e1d5f7f046856fb07ffab35b44", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3cfcfa39bc07ecbd5016dd88c7755c04daccf9e1d5f7f046856fb07ffab35b44", kill_on_drop: false }` [INFO] [stdout] 3cfcfa39bc07ecbd5016dd88c7755c04daccf9e1d5f7f046856fb07ffab35b44 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] f8d80e4f6d57545d80e9cca49963dfa2d1f3eedefcffb0d88555687b9038c30a [INFO] running `Command { std: "docker" "start" "-a" "f8d80e4f6d57545d80e9cca49963dfa2d1f3eedefcffb0d88555687b9038c30a", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.27s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/saorsa_tui-113bc7a2327f57cc) [INFO] [stdout] [INFO] [stdout] running 1390 tests [INFO] [stdout] test buffer::tests::diff_no_changes ... ok [INFO] [stdout] test buffer::tests::diff_single_change ... ok [INFO] [stdout] test buffer::tests::diff_size_mismatch_full_redraw ... ok [INFO] [stdout] test buffer::tests::get_row ... ok [INFO] [stdout] test buffer::tests::multiple_wide_chars_in_sequence ... ok [INFO] [stdout] test buffer::tests::new_buffer_all_blank ... ok [INFO] [stdout] test buffer::tests::out_of_bounds_set_is_noop ... ok [INFO] [stdout] test buffer::tests::clear_after_wide_char_writes_all_blank ... ok [INFO] [stdout] test buffer::tests::diff_style_change ... ok [INFO] [stdout] test buffer::tests::out_of_bounds_returns_none ... ok [INFO] [stdout] test buffer::tests::get_row_with_cjk_primary_and_continuation ... ok [INFO] [stdout] test buffer::tests::overwrite_middle_of_adjacent_wide_chars ... ok [INFO] [stdout] test buffer::tests::diff_with_wide_char_produces_two_change_entries ... ok [INFO] [stdout] test buffer::tests::diff_wide_char_change ... ok [INFO] [stdout] test buffer::tests::overwrite_wide_with_narrow_blanks_continuation ... ok [INFO] [stdout] test buffer::tests::resize_fills_with_blank ... ok [INFO] [stdout] test buffer::tests::set_and_get ... ok [INFO] [stdout] test buffer::tests::set_narrow_over_narrow_no_side_effects ... ok [INFO] [stdout] test buffer::tests::set_wide_over_wide_old_continuation_cleaned ... ok [INFO] [stdout] test buffer::tests::wide_char_continuation_exactly_at_last_column ... ok [INFO] [stdout] test buffer::tests::wide_char_at_column_zero ... ok [INFO] [stdout] test buffer::tests::wide_char_last_column_replaced_with_space ... ok [INFO] [stdout] test buffer::tests::wide_char_at_right_edge ... ok [INFO] [stdout] test buffer::tests::wide_char_sets_continuation ... ok [INFO] [stdout] test buffer::tests::wide_char_second_to_last_fits ... ok [INFO] [stdout] test cell::tests::ascii_cell ... ok [INFO] [stdout] test cell::tests::blank_cell ... ok [INFO] [stdout] test buffer::tests::overwrite_continuation_blanks_preceding_wide ... ok [INFO] [stdout] test cell::tests::cell_equality_same_grapheme_and_style ... ok [INFO] [stdout] test cell::tests::cell_from_ascii_width_one ... ok [INFO] [stdout] test cell::tests::cell_from_cjk_width_two ... ok [INFO] [stdout] test cell::tests::cell_inequality_different_width ... ok [INFO] [stdout] test cell::tests::cell_from_zwj_emoji_width_two ... ok [INFO] [stdout] test cell::tests::cell_from_emoji_width_two ... ok [INFO] [stdout] test cell::tests::cell_continuation_after_emoji ... ok [INFO] [stdout] test cell::tests::space_default_is_blank ... ok [INFO] [stdout] test cell::tests::continuation_cell ... ok [INFO] [stdout] test cell::tests::styled_not_blank ... ok [INFO] [stdout] test cell::tests::cell_from_flag_emoji_width_two ... ok [INFO] [stdout] test cell::tests::cell_from_skin_tone_emoji_width_two ... ok [INFO] [stdout] test cell::tests::cjk_cell ... ok [INFO] [stdout] test color::tests::crossterm_conversion ... ok [INFO] [stdout] test color::tests::css_name_lookup ... ok [INFO] [stdout] test color::tests::hex_3_digit ... ok [INFO] [stdout] test color::tests::hex_6_digit ... ok [INFO] [stdout] test color::tests::hex_no_hash ... ok [INFO] [stdout] test color::tests::hex_invalid ... ok [INFO] [stdout] test compositor::advanced_integration_tests::cjk_text_in_compositor ... ok [INFO] [stdout] test compositor::advanced_integration_tests::layer_partially_off_screen ... ok [INFO] [stdout] test compositor::advanced_integration_tests::many_layers_topmost_wins ... ok [INFO] [stdout] test compositor::advanced_integration_tests::multiple_rows_in_layer ... ok [INFO] [stdout] test compositor::advanced_integration_tests::styled_segments_split_by_overlay ... ok [INFO] [stdout] test compositor::advanced_integration_tests::overlapping_styled_windows ... ok [INFO] [stdout] test compositor::advanced_integration_tests::syntax_highlighted_code ... ok [INFO] [stdout] test compositor::advanced_integration_tests::zero_layer_compositor_all_blank ... ok [INFO] [stdout] test compositor::chop::tests::chop_cut_exactly_aligns_with_wide_char_boundary ... ok [INFO] [stdout] test compositor::chop::tests::chop_empty_segment ... ok [INFO] [stdout] test compositor::chop::tests::chop_segment_with_combining_marks ... ok [INFO] [stdout] test cell::tests::cell_from_combining_mark_width_zero ... ok [INFO] [stdout] test buffer::tests::clear_resets_all_cells ... ok [INFO] [stdout] test compositor::chop::tests::empty_segments_skipped ... ok [INFO] [stdout] test compositor::chop::tests::full_segment_within_cut_range ... ok [INFO] [stdout] test compositor::chop::tests::layer_offset_before_cut ... ok [INFO] [stdout] test compositor::chop::tests::layer_offset_overlapping_cut ... ok [INFO] [stdout] test compositor::chop::tests::multiple_segments ... ok [INFO] [stdout] test compositor::chop::tests::partial_overlap_at_end ... ok [INFO] [stdout] test compositor::chop::tests::partial_overlap_at_start ... ok [INFO] [stdout] test compositor::chop::tests::segment_split_at_both_boundaries ... ok [INFO] [stdout] test compositor::chop::tests::segment_split_at_right_boundary ... ok [INFO] [stdout] test compositor::chop::tests::segment_split_at_left_boundary ... ok [INFO] [stdout] test compositor::chop::tests::styled_segment_preserved ... ok [INFO] [stdout] test compositor::chop::tests::chop_wide_char_at_cut_boundary ... ok [INFO] [stdout] test compositor::chop::tests::zero_width_cut ... ok [INFO] [stdout] test compositor::compose::tests::compose_cjk_text_at_overlap_boundary ... ok [INFO] [stdout] test compositor::chop::tests::control_segments_ignored ... ok [INFO] [stdout] test compositor::compose::tests::compose_combining_marks_at_layer_boundary ... ok [INFO] [stdout] test compositor::compose::tests::compose_empty_segments_in_layers ... ok [INFO] [stdout] test compositor::compose::tests::compose_very_long_grapheme_clusters ... ok [INFO] [stdout] test compositor::chop::tests::cut_range_beyond_segment_end ... ok [INFO] [stdout] test compositor::compose::tests::layer_extends_beyond_screen_clipped ... ok [INFO] [stdout] test compositor::compose::tests::layer_on_different_row_ignored ... ok [INFO] [stdout] test compositor::compose::tests::gap_between_layers_filled_with_blank ... ok [INFO] [stdout] test compositor::compose::tests::multiple_segments_in_layer ... ok [INFO] [stdout] test compositor::compose::tests::overlapping_layers_topmost_wins ... ok [INFO] [stdout] test compositor::compose::tests::single_layer_full_width ... ok [INFO] [stdout] test compositor::compose::tests::three_overlapping_layers_z_order ... ok [INFO] [stdout] test compositor::compose::tests::styled_segment_preserved ... ok [INFO] [stdout] test compositor::compose::tests::zero_width_screen ... ok [INFO] [stdout] test compositor::compose::tests::two_layers_side_by_side ... ok [INFO] [stdout] test compositor::compose::tests::empty_row_no_layers ... ok [INFO] [stdout] test compositor::cuts::tests::layer_at_screen_edge ... ok [INFO] [stdout] test compositor::cuts::tests::layer_on_different_row ... ok [INFO] [stdout] test compositor::cuts::tests::layer_extends_beyond_screen ... ok [INFO] [stdout] test compositor::cuts::tests::single_layer_centered ... ok [INFO] [stdout] test compositor::cuts::tests::single_layer_full_width ... ok [INFO] [stdout] test compositor::cuts::tests::two_overlapping ... ok [INFO] [stdout] test compositor::cuts::tests::zero_width_screen ... ok [INFO] [stdout] test compositor::layer::tests::layer_empty_lines ... ok [INFO] [stdout] test compositor::cuts::tests::two_non_overlapping ... ok [INFO] [stdout] test compositor::layer::tests::layer_contains_row ... ok [INFO] [stdout] test compositor::cuts::tests::no_layers_returns_screen_bounds ... ok [INFO] [stdout] test compositor::layer::tests::layer_line_for_row ... ok [INFO] [stdout] test compositor::layer::tests::layer_construction ... ok [INFO] [stdout] test compositor::layer::tests::layer_line_for_row_outside ... ok [INFO] [stdout] test compositor::layer::tests::region_construction ... ok [INFO] [stdout] test compositor::layer::tests::region_with_no_source ... ok [INFO] [stdout] test compositor::tests::add_layer_increases_count ... ok [INFO] [stdout] test compositor::integration_tests::integration_chat_layout ... ok [INFO] [stdout] test compositor::tests::add_multiple_layers ... ok [INFO] [stdout] test compositor::tests::add_widget_convenience ... ok [INFO] [stdout] test compositor::tests::clear_removes_all ... ok [INFO] [stdout] test compositor::integration_tests::integration_three_overlapping_windows ... ok [INFO] [stdout] test compositor::layer::tests::compositor_error_display ... ok [INFO] [stdout] test compositor::integration_tests::integration_styled_segments_preserved ... ok [INFO] [stdout] test compositor::tests::compose_correct_cell_styles ... ok [INFO] [stdout] test compositor::tests::compose_empty_compositor_all_blank ... ok [INFO] [stdout] test compositor::tests::compose_overlapping_layers_to_buffer ... ok [INFO] [stdout] test compositor::tests::compose_wide_characters ... ok [INFO] [stdout] test compositor::tests::layers_accessible ... ok [INFO] [stdout] test compositor::tests::screen_size_accessible ... ok [INFO] [stdout] test compositor::tests::new_compositor_empty ... ok [INFO] [stdout] test compositor::unicode_pipeline_tests::cjk_text_layer_correct_cells ... ok [INFO] [stdout] test compositor::unicode_pipeline_tests::combining_marks_preserved_in_buffer ... ok [INFO] [stdout] test compositor::unicode_pipeline_tests::emoji_text_layer_correct_cells ... ok [INFO] [stdout] test compositor::unicode_pipeline_tests::overlapping_unicode_scripts_topmost_wins ... ok [INFO] [stdout] test compositor::unicode_pipeline_tests::multiple_rows_cjk_text ... ok [INFO] [stdout] test compositor::tests::compose_single_layer_to_buffer ... ok [INFO] [stdout] test compositor::unicode_pipeline_tests::mixed_latin_cjk_emoji_widths ... ok [INFO] [stdout] test compositor::unicode_pipeline_tests::wide_char_at_screen_right_edge_clipped ... ok [INFO] [stdout] test compositor::zorder::tests::layer_before_interval_not_selected ... ok [INFO] [stdout] test compositor::zorder::tests::layer_on_different_row_not_selected ... ok [INFO] [stdout] test compositor::integration_tests::integration_resize_recompose ... ok [INFO] [stdout] test compositor::zorder::tests::layer_partially_overlapping_still_selected ... ok [INFO] [stdout] test compositor::zorder::tests::negative_z_indices ... ok [INFO] [stdout] test compositor::zorder::tests::no_layers_at_position ... ok [INFO] [stdout] test compositor::zorder::tests::exact_interval_match ... ok [INFO] [stdout] test compositor::zorder::tests::layer_after_interval_not_selected ... ok [INFO] [stdout] test compositor::unicode_pipeline_tests::styled_wide_chars_preserved ... ok [INFO] [stdout] test compositor::zorder::tests::same_z_index_later_insertion_wins ... ok [INFO] [stdout] test compositor::zorder::tests::single_layer_covers_region ... ok [INFO] [stdout] test compositor::zorder::tests::three_layers_different_z_indices ... ok [INFO] [stdout] test compositor::zorder::tests::two_overlapping_layers_higher_z_wins ... ok [INFO] [stdout] test cursor::tests::clear_selection ... ok [INFO] [stdout] test cursor::tests::cursor_position_ordering ... ok [INFO] [stdout] test cursor::tests::cursor_position_beginning ... ok [INFO] [stdout] test cursor::tests::cursor_position_new ... ok [INFO] [stdout] test cursor::tests::move_down_at_bottom_stays ... ok [INFO] [stdout] test cursor::tests::move_left_within_line ... ok [INFO] [stdout] test cursor::tests::move_right_within_line ... ok [INFO] [stdout] test cursor::tests::move_right_at_end_stays ... ok [INFO] [stdout] test cursor::tests::move_to_line_start_and_end ... ok [INFO] [stdout] test cursor::tests::move_right_wraps_to_next_line ... ok [INFO] [stdout] test cursor::tests::move_up_at_top_stays ... ok [INFO] [stdout] test cursor::tests::move_to_buffer_start_and_end ... ok [INFO] [stdout] test cursor::tests::move_left_wraps_to_prev_line ... ok [INFO] [stdout] test cursor::tests::selected_text_empty_selection_returns_none ... ok [INFO] [stdout] test cursor::tests::move_up_preserves_preferred_col ... ok [INFO] [stdout] test cursor::tests::movement_clears_selection ... ok [INFO] [stdout] test cursor::tests::selected_text_multi_line ... ok [INFO] [stdout] test cursor::tests::selection_ordered_backward ... ok [INFO] [stdout] test cursor::tests::selection_empty ... ok [INFO] [stdout] test cursor::tests::selection_ordered_forward ... ok [INFO] [stdout] test cursor::tests::start_and_extend_selection ... ok [INFO] [stdout] test error::tests::error_display ... ok [INFO] [stdout] test event::tests::crossterm_key_conversion ... ok [INFO] [stdout] test cursor::tests::move_left_at_beginning_stays ... ok [INFO] [stdout] test event::tests::key_event_plain ... ok [INFO] [stdout] test cursor::tests::selection_line_range ... ok [INFO] [stdout] test cursor::tests::selected_text_single_line ... ok [INFO] [stdout] test event::tests::paste_event ... ok [INFO] [stdout] test event::tests::mouse_event ... ok [INFO] [stdout] test event::tests::resize_event ... ok [INFO] [stdout] test focus::tests::duplicate_register_ignored ... ok [INFO] [stdout] test focus::tests::empty_focus_manager ... ok [INFO] [stdout] test focus::tests::focus_next_cycles ... ok [INFO] [stdout] test event::tests::key_event_with_modifiers ... ok [INFO] [stdout] test event::tests::crossterm_resize_conversion ... ok [INFO] [stdout] test event::tests::keycode_display ... ok [INFO] [stdout] test focus::tests::focus_next_on_empty_is_noop ... ok [INFO] [stdout] test error::tests::io_error_converts ... ok [INFO] [stdout] test focus::tests::focus_previous_cycles ... ok [INFO] [stdout] test focus::tests::focus_state_query ... ok [INFO] [stdout] test focus::tests::register_auto_focuses_first ... ok [INFO] [stdout] test focus::tests::unregister_adjusts_focus ... ok [INFO] [stdout] test geometry::tests::rect_empty ... ok [INFO] [stdout] test geometry::tests::rect_intersection ... ok [INFO] [stdout] test focus::tests::set_focus_directly ... ok [INFO] [stdout] test geometry::tests::rect_intersects ... ok [INFO] [stdout] test geometry::tests::rect_no_intersection ... ok [INFO] [stdout] test geometry::tests::rect_right_bottom ... ok [INFO] [stdout] test geometry::tests::rect_saturating_overflow ... ok [INFO] [stdout] test geometry::tests::size_area ... ok [INFO] [stdout] test cursor::tests::selection_contains ... ok [INFO] [stdout] test geometry::tests::position_from_tuple ... ok [INFO] [stdout] test geometry::tests::rect_area ... ok [INFO] [stdout] test geometry::tests::rect_contains ... ok [INFO] [stdout] test highlight::tests::no_highlighter_returns_empty ... ok [INFO] [stdout] test focus::tests::unregister_last_clears_focus ... ok [INFO] [stdout] test geometry::tests::size_empty ... ok [INFO] [stdout] test geometry::tests::size_from_tuple ... ok [INFO] [stdout] test highlight::tests::keyword_highlighter_finds_keyword ... ok [INFO] [stdout] test highlight::tests::multiple_keywords_same_line ... ok [INFO] [stdout] test highlight::tests::unicode_keyword_matching ... ok [INFO] [stdout] test highlight::tests::no_match_returns_empty ... ok [INFO] [stdout] test highlight::tests::on_edit_no_panic ... ok [INFO] [stdout] test layout::engine::tests::add_leaf_node ... ok [INFO] [stdout] test layout::engine::tests::box_model_combined ... ok [INFO] [stdout] test layout::engine::tests::children_not_found_error ... ok [INFO] [stdout] test layout::engine::tests::box_model_margin_creates_space ... ok [INFO] [stdout] test highlight::tests::partial_match_not_highlighted ... ok [INFO] [stdout] test layout::engine::tests::compute_single_node ... ok [INFO] [stdout] test layout::engine::tests::empty_engine ... ok [INFO] [stdout] test layout::engine::tests::box_model_padding_shrinks_content ... ok [INFO] [stdout] test layout::engine::tests::compute_two_children_row ... ok [INFO] [stdout] test layout::engine::tests::flex_align_items_center ... ok [INFO] [stdout] test layout::engine::tests::flex_justify_center ... ok [INFO] [stdout] test layout::engine::tests::flex_column_equal_grow ... ok [INFO] [stdout] test layout::engine::tests::flex_column_fixed_and_grow ... ok [INFO] [stdout] test event::tests::modifier_union ... ok [INFO] [stdout] test layout::engine::tests::box_model_border_width ... ok [INFO] [stdout] test layout::engine::tests::flex_justify_space_between ... ok [INFO] [stdout] test highlight::tests::multiple_occurrences_of_keyword ... ok [INFO] [stdout] test layout::engine::tests::flex_nested ... ok [INFO] [stdout] test layout::engine::tests::add_with_children ... ok [INFO] [stdout] test layout::engine::tests::flex_row_equal_grow ... ok [INFO] [stdout] test layout::engine::tests::flex_row_unequal_grow ... ok [INFO] [stdout] test layout::engine::tests::flex_with_gap ... ok [INFO] [stdout] test layout::engine::tests::grid_columns_mixed_units ... ok [INFO] [stdout] test layout::engine::tests::layout_error_display ... ok [INFO] [stdout] test layout::engine::tests::grid_placement_span ... ok [INFO] [stdout] test layout::engine::tests::grid_rows_and_columns ... ok [INFO] [stdout] test layout::engine::tests::no_root_error ... ok [INFO] [stdout] test layout::engine::tests::grid_two_columns_equal ... ok [INFO] [stdout] test layout::engine::tests::grid_three_columns_fr ... ok [INFO] [stdout] test layout::engine::tests::remove_root_clears_root ... ok [INFO] [stdout] test layout::engine::tests::layout_rect_conversion ... ok [INFO] [stdout] test layout::engine::tests::round_size_values ... ok [INFO] [stdout] test layout::engine::tests::set_root ... ok [INFO] [stdout] test layout::engine::tests::update_style ... ok [INFO] [stdout] test layout::integration_tests::integration_flex_sidebar_layout ... ok [INFO] [stdout] test layout::integration_tests::integration_grid_dashboard ... ok [INFO] [stdout] test layout::engine::tests::remove_node ... ok [INFO] [stdout] test layout::engine::tests::round_position_values ... ok [INFO] [stdout] test layout::integration_tests::integration_nested_flex_grid ... ok [INFO] [stdout] test layout::integration_tests::integration_scroll_region_setup ... ok [INFO] [stdout] test layout::scroll::tests::extract_overflow_default ... ok [INFO] [stdout] test layout::integration_tests::integration_box_model_spacing ... ok [INFO] [stdout] test layout::scroll::tests::extract_overflow_shorthand ... ok [INFO] [stdout] test layout::scroll::tests::extract_overflow_auto ... ok [INFO] [stdout] test layout::integration_tests::integration_zero_size_area ... ok [INFO] [stdout] test layout::integration_tests::integration_parse_to_layout ... ok [INFO] [stdout] test layout::integration_tests::integration_theme_affects_layout ... ok [INFO] [stdout] test layout::engine::tests::widget_not_found_error ... ok [INFO] [stdout] test layout::scroll::tests::extract_overflow_xy_separate ... ok [INFO] [stdout] test layout::scroll::tests::manager_can_scroll ... ok [INFO] [stdout] test layout::scroll::tests::manager_register_and_get ... ok [INFO] [stdout] test layout::scroll::tests::manager_remove ... ok [INFO] [stdout] test layout::scroll::tests::manager_scroll_to ... ok [INFO] [stdout] test layout::scroll::tests::manager_visible_rect ... ok [INFO] [stdout] test layout::scroll::tests::overflow_behavior_default ... ok [INFO] [stdout] test layout::scroll::tests::scroll_state_can_scroll ... ok [INFO] [stdout] test layout::scroll::tests::scroll_state_creation ... ok [INFO] [stdout] test layout::scroll::tests::manager_scroll_by_clamps ... ok [INFO] [stdout] test layout::scroll::tests::scroll_state_max_offsets ... ok [INFO] [stdout] test layout::scroll::tests::scroll_state_no_scroll_max_offset_zero ... ok [INFO] [stdout] test layout::scroll::tests::scroll_state_visible_rect ... ok [INFO] [stdout] test layout::style_converter::tests::convert_align_items ... ok [INFO] [stdout] test layout::style_converter::tests::convert_align_self ... ok [INFO] [stdout] test layout::style_converter::tests::convert_auto_dimension ... ok [INFO] [stdout] test layout::style_converter::tests::convert_border_width ... ok [INFO] [stdout] test layout::style_converter::tests::convert_dimensions ... ok [INFO] [stdout] test layout::style_converter::tests::convert_empty_style ... ok [INFO] [stdout] test layout::style_converter::tests::convert_display_flex ... ok [INFO] [stdout] test layout::style_converter::tests::convert_display_grid ... ok [INFO] [stdout] test layout::style_converter::tests::convert_display_none ... ok [INFO] [stdout] test layout::style_converter::tests::convert_flex_grow_shrink ... ok [INFO] [stdout] test layout::style_converter::tests::convert_flex_wrap ... ok [INFO] [stdout] test layout::style_converter::tests::convert_flex_direction ... ok [INFO] [stdout] test layout::style_converter::tests::convert_gap ... ok [INFO] [stdout] test layout::style_converter::tests::convert_grid_placement_line ... ok [INFO] [stdout] test layout::style_converter::tests::convert_grid_placement_span ... ok [INFO] [stdout] test layout::style_converter::tests::convert_grid_template_fr ... ok [INFO] [stdout] test layout::style_converter::tests::convert_justify_content ... ok [INFO] [stdout] test layout::style_converter::tests::convert_margin_all_sides ... ok [INFO] [stdout] test layout::style_converter::tests::convert_margin_individual_overrides ... ok [INFO] [stdout] test layout::style_converter::tests::convert_percentage_dimension ... ok [INFO] [stdout] test layout::style_converter::tests::convert_overflow_hidden ... ok [INFO] [stdout] test layout::style_converter::tests::convert_padding_individual ... ok [INFO] [stdout] test layout::style_converter::tests::convert_overflow_xy_separate ... ok [INFO] [stdout] test layout::style_converter::tests::convert_min_max_size ... ok [INFO] [stdout] test layout::integration_tests::integration_large_tree ... ok [INFO] [stdout] test layout::style_converter::tests::grid_placement_range ... ok [INFO] [stdout] test layout::style_converter::tests::grid_template_single_value ... ok [INFO] [stdout] test layout::style_converter::tests::to_align_items_baseline ... ok [INFO] [stdout] test layout::style_converter::tests::to_display_block ... ok [INFO] [stdout] test layout::style_converter::tests::to_flex_direction_row_reverse ... ok [INFO] [stdout] test layout::style_converter::tests::to_flex_wrap_reverse ... ok [INFO] [stdout] test layout::style_converter::tests::to_justify_space_evenly ... ok [INFO] [stdout] test layout::style_converter::tests::to_overflow_auto ... ok [INFO] [stdout] test layout::style_converter::tests::to_overflow_scroll ... ok [INFO] [stdout] test layout::tests::dock_bottom ... ok [INFO] [stdout] test layout::tests::dock_larger_than_area ... ok [INFO] [stdout] test layout::tests::dock_left ... ok [INFO] [stdout] test layout::tests::dock_right ... ok [INFO] [stdout] test layout::tests::dock_top ... ok [INFO] [stdout] test layout::tests::empty_constraints ... ok [INFO] [stdout] test layout::tests::horizontal_split_fixed ... ok [INFO] [stdout] test layout::tests::multiple_fills_distribute_equally ... ok [INFO] [stdout] test layout::tests::offset_area_split ... ok [INFO] [stdout] test layout::tests::percentage_split ... ok [INFO] [stdout] test layout::tests::vertical_split_fixed ... ok [INFO] [stdout] test layout::tests::vertical_fixed_plus_fill ... ok [INFO] [stdout] test overlay::tests::clear_removes_all ... ok [INFO] [stdout] test overlay::tests::dim_layer_style_is_dim ... ok [INFO] [stdout] test overlay::tests::dim_layer_covers_screen ... ok [INFO] [stdout] test overlay::tests::empty_stack ... ok [INFO] [stdout] test overlay::tests::remove_by_id ... ok [INFO] [stdout] test overlay::tests::remove_nonexistent_returns_false ... ok [INFO] [stdout] test layout::engine::tests::compute_two_children_column ... ok [INFO] [stdout] test overlay::tests::clear_removes_all_overlays ... ok [INFO] [stdout] test overlay::tests::remove_modal_clears_dim ... ok [INFO] [stdout] test overlay::tests::apply_with_dim_background ... ok [INFO] [stdout] test overlay::tests::pop_returns_topmost ... ok [INFO] [stdout] test overlay::tests::toast_at_top_right_pipeline ... ok [INFO] [stdout] test overlay::tests::modal_centered_on_screen ... ok [INFO] [stdout] test overlay::tests::resolve_anchored_above ... ok [INFO] [stdout] test overlay::tests::resolve_anchored_right ... ok [INFO] [stdout] test overlay::tests::resolve_at ... ok [INFO] [stdout] test overlay::tests::push_increments_len ... ok [INFO] [stdout] test overlay::tests::pop_empty_returns_none ... ok [INFO] [stdout] test overlay::tests::resolve_anchored_below ... ok [INFO] [stdout] test overlay::tests::apply_to_compositor_adds_layers ... ok [INFO] [stdout] test overlay::tests::resolve_center ... ok [INFO] [stdout] test reactive::batch::tests::batch_with_multiple_signals ... ok [INFO] [stdout] test reactive::batch::tests::without_batch_effect_runs_on_every_set ... ok [INFO] [stdout] test overlay::tests::modal_with_dim_background_pipeline ... ok [INFO] [stdout] test overlay::tests::modal_plus_toast_z_order ... ok [INFO] [stdout] test overlay::tests::tooltip_below_anchor_pipeline ... ok [INFO] [stdout] test reactive::batch::tests::batch_deduplicates_subscribers ... ok [INFO] [stdout] test reactive::binding::tests::binding_expression_with_batch ... ok [INFO] [stdout] test reactive::batch::tests::with_batch_effect_runs_once ... ok [INFO] [stdout] test reactive::batch::tests::empty_batch_no_spurious_notifications ... ok [INFO] [stdout] test reactive::binding::tests::binding_scope_with_mixed_types ... ok [INFO] [stdout] test reactive::binding::tests::chained_one_way_bindings ... ok [INFO] [stdout] test reactive::binding::tests::disposed_binding_not_active_in_scope ... ok [INFO] [stdout] test reactive::binding::tests::expression_stops_after_dispose ... ok [INFO] [stdout] test reactive::binding::tests::binding_with_batch ... ok [INFO] [stdout] test reactive::binding::tests::expression_direction ... ok [INFO] [stdout] test reactive::binding::tests::expression_transforms_value ... ok [INFO] [stdout] test reactive::binding::tests::one_way_pushes_initial_value ... ok [INFO] [stdout] test reactive::binding::tests::expression_type_conversion ... ok [INFO] [stdout] test reactive::binding::tests::one_way_stops_after_dispose ... ok [INFO] [stdout] test reactive::binding::tests::one_way_unique_ids ... ok [INFO] [stdout] test reactive::binding::tests::one_way_with_string_sink ... ok [INFO] [stdout] test overlay::tests::two_modals_stacked ... ok [INFO] [stdout] test reactive::batch::tests::nested_batch_effects_run_after_outermost ... ok [INFO] [stdout] test reactive::batch::tests::is_batching_flag ... ok [INFO] [stdout] test reactive::binding::tests::scope_bind_creates_one_way ... ok [INFO] [stdout] test reactive::binding::tests::one_way_direction ... ok [INFO] [stdout] test reactive::binding::tests::scope_bind_expression ... ok [INFO] [stdout] test reactive::binding::tests::scope_disposes_bindings_on_drop ... ok [INFO] [stdout] test reactive::binding::tests::scope_is_binding_active_returns_false_for_unknown_id ... ok [INFO] [stdout] test reactive::binding::tests::two_way_binding_round_trip ... ok [INFO] [stdout] test reactive::binding::tests::two_way_direction ... ok [INFO] [stdout] test reactive::binding::tests::two_way_forward_push ... ok [INFO] [stdout] test reactive::binding::tests::two_way_write_back ... ok [INFO] [stdout] test reactive::binding::tests::two_way_loop_guard ... ok [INFO] [stdout] test reactive::computed::tests::computed_chain ... ok [INFO] [stdout] test reactive::computed::tests::computed_from_multiple_signals ... ok [INFO] [stdout] test reactive::computed::tests::computed_clone_shares_state ... ok [INFO] [stdout] test reactive::computed::tests::computed_updates_when_signal_changes ... ok [INFO] [stdout] test reactive::computed::tests::computed_with_borrow ... ok [INFO] [stdout] test reactive::context::tests::record_read_inside_tracking ... ok [INFO] [stdout] test reactive::binding::tests::scope_bind_two_way ... ok [INFO] [stdout] test reactive::binding::tests::scope_default_is_empty ... ok [INFO] [stdout] test reactive::computed::tests::computed_subscriber_notification ... ok [INFO] [stdout] test reactive::binding::tests::scope_multiple_bindings ... ok [INFO] [stdout] test reactive::computed::tests::computed_no_deps_never_dirty ... ok [INFO] [stdout] test reactive::context::tests::nested_start_overwrites_previous ... ok [INFO] [stdout] test reactive::binding::tests::stress_many_bindings ... ok [INFO] [stdout] test reactive::computed::tests::computed_from_single_signal ... ok [INFO] [stdout] test reactive::computed::tests::computed_get_records_dependency ... ok [INFO] [stdout] test reactive::context::tests::signal_id_display ... ok [INFO] [stdout] test reactive::binding::tests::two_way_disposed_write_back_ignored ... ok [INFO] [stdout] test reactive::context::tests::start_stop_tracking_roundtrip ... ok [INFO] [stdout] test reactive::context::tests::signal_id_uniqueness ... ok [INFO] [stdout] test reactive::context::tests::subscriber_id_display ... ok [INFO] [stdout] test reactive::context::tests::subscriber_id_uniqueness ... ok [INFO] [stdout] test reactive::effect::tests::effect_is_active_initially ... ok [INFO] [stdout] test reactive::context::tests::stop_tracking_when_not_active ... ok [INFO] [stdout] test reactive::effect::tests::effect_clone_shares_state ... ok [INFO] [stdout] test reactive::effect::tests::effect_reruns_on_signal_change ... ok [INFO] [stdout] test reactive::effect::tests::effect_tracks_multiple_signals ... ok [INFO] [stdout] test reactive::effect::tests::effect_reads_computed ... ok [INFO] [stdout] test reactive::context::tests::record_read_outside_tracking_is_noop ... ok [INFO] [stdout] test reactive::effect::tests::disposed_effect_does_not_run ... ok [INFO] [stdout] test reactive::effect::tests::effect_runs_immediately ... ok [INFO] [stdout] test reactive::effect::tests::multiple_effects_on_same_signal ... ok [INFO] [stdout] test reactive::scope::tests::effect_in_dropped_scope_does_not_fire ... ok [INFO] [stdout] test reactive::scope::tests::multiple_nested_scopes ... ok [INFO] [stdout] test reactive::scope::tests::nested_scope_dropped_before_parent_cleanup ... ok [INFO] [stdout] test reactive::scope::tests::scope_can_be_moved ... ok [INFO] [stdout] test reactive::effect::tests::effect_with_no_deps_runs_once ... ok [INFO] [stdout] test reactive::binding::tests::one_way_pushes_on_change ... ok [INFO] [stdout] test reactive::scope::tests::scope_counts ... ok [INFO] [stdout] test reactive::scope::tests::create_computed_through_scope ... ok [INFO] [stdout] test reactive::scope::tests::scope_disposes_effects_on_drop ... ok [INFO] [stdout] test reactive::computed::tests::computed_is_lazy ... ok [INFO] [stdout] test reactive::scope::tests::scope_runs_cleanups_on_drop ... ok [INFO] [stdout] test reactive::signal::tests::dead_subscriber_is_pruned ... ok [INFO] [stdout] test reactive::signal::tests::get_inside_tracking_records_dependency ... ok [INFO] [stdout] test reactive::signal::tests::clone_shares_state ... ok [INFO] [stdout] test reactive::signal::tests::id_is_unique_per_signal ... ok [INFO] [stdout] test reactive::signal::tests::with_untracked_borrows ... ok [INFO] [stdout] test reactive::signal::tests::new_and_get_roundtrip ... ok [INFO] [stdout] test reactive::signal::tests::subscriber_receives_notification_on_set ... ok [INFO] [stdout] test reactive::signal::tests::update_modifies_in_place ... ok [INFO] [stdout] test reactive::signal::tests::get_untracked_returns_value ... ok [INFO] [stdout] test reactive::signal::tests::multiple_subscribers_all_notified ... ok [INFO] [stdout] test reactive::signal::tests::set_changes_value ... ok [INFO] [stdout] test reactive::signal::tests::update_notifies_subscribers ... ok [INFO] [stdout] test reactive::tests::integration::batch_complex_dependency_graph ... ok [INFO] [stdout] test reactive::tests::integration::batch_within_scope ... ok [INFO] [stdout] test reactive::tests::integration::scope_cleanup_prevents_accumulation ... ok [INFO] [stdout] test reactive::tests::integration::signal_with_complex_type ... ok [INFO] [stdout] test reactive::tests::integration::dynamic_dependency_switching ... ok [INFO] [stdout] test reactive::tests::integration::effect_chain_through_computed ... ok [INFO] [stdout] test reactive::tests::integration::stress_many_signals_and_effects ... ok [INFO] [stdout] test reactive::tests::integration::scope_based_widget_lifecycle ... ok [INFO] [stdout] test reactive::tests::integration::theme_switch_pattern ... ok [INFO] [stdout] test reactive::tests::integration::stress_rapid_sets_with_pruning ... ok [INFO] [stdout] test reactive::tests::integration::todo_list_pattern ... ok [INFO] [stdout] test reactive::signal::tests::get_untracked_inside_tracking_does_not_record ... ok [INFO] [stdout] test reactive::tests::integration::counter_app_pattern ... ok [INFO] [stdout] test reactive::scope::tests::create_signal_through_scope ... ok [INFO] [stdout] test render_context::tests::end_frame_writes_to_terminal ... ok [INFO] [stdout] test render_context::tests::handle_resize ... ok [INFO] [stdout] test render_context::tests::end_frame_with_compositor_composes_before_diff ... ok [INFO] [stdout] test render_context::tests::handle_resize_updates_compositor ... ok [INFO] [stdout] test render_context::tests::with_compositor_sets_compositor ... ok [INFO] [stdout] test render_context::tests::styled_cell_rendering ... ok [INFO] [stdout] test renderer::tests::batch_changes_consecutive_same_row ... ok [INFO] [stdout] test render_context::tests::integration_widget_segments_through_compositor ... ok [INFO] [stdout] test render_context::tests::compositor_accessor_returns_reference ... ok [INFO] [stdout] test render_context::tests::compositor_mut_allows_mutation ... ok [INFO] [stdout] test render_context::tests::compositor_none_by_default ... ok [INFO] [stdout] test render_context::tests::compositor_none_from_new ... ok [INFO] [stdout] test render_context::tests::compositor_z_ordering_in_render_context ... ok [INFO] [stdout] test render_context::tests::create_from_test_backend ... ok [INFO] [stdout] test render_context::tests::begin_frame_clears_current ... ok [INFO] [stdout] test renderer::tests::batch_changes_different_rows ... ok [INFO] [stdout] test renderer::tests::build_sgr_fg_and_bg ... ok [INFO] [stdout] test renderer::tests::batch_changes_wide_characters ... ok [INFO] [stdout] test renderer::tests::downgrade_color_standalone_no_color ... ok [INFO] [stdout] test renderer::tests::build_sgr_truecolor_rgb ... ok [INFO] [stdout] test renderer::tests::build_sgr_combined_bold_italic_red ... ok [INFO] [stdout] test renderer::tests::batch_changes_empty ... ok [INFO] [stdout] test renderer::tests::build_sgr_with_no_color ... ok [INFO] [stdout] test renderer::tests::no_color_environment_variable ... ok [INFO] [stdout] test renderer::tests::no_color_overrides_color_support ... ok [INFO] [stdout] test renderer::tests::batch_changes_gap_in_column ... ok [INFO] [stdout] test renderer::tests::batch_changes_single_cell ... ok [INFO] [stdout] test renderer::tests::batch_changes_skips_continuation_cells ... ok [INFO] [stdout] test render_context::tests::second_frame_only_diffs ... ok [INFO] [stdout] test reactive::signal::tests::with_borrows_without_clone ... ok [INFO] [stdout] test reactive::tests::integration::nested_computed_chain_three_levels ... ok [INFO] [stdout] test renderer::tests::lab_distance_different_colors ... ok [INFO] [stdout] test renderer::tests::lab_distance_same_color ... ok [INFO] [stdout] test renderer::tests::color_mapper_caches_16_mappings ... ok [INFO] [stdout] test renderer::tests::color_mapper_clear_cache ... ok [INFO] [stdout] test renderer::tests::color_mapper_caches_256_mappings ... ok [INFO] [stdout] test renderer::tests::build_sgr_default_style_is_empty ... ok [INFO] [stdout] test renderer::tests::render_indexed_color ... ok [INFO] [stdout] test renderer::tests::render_named_color ... ok [INFO] [stdout] test renderer::tests::no_color_strips_all ... ok [INFO] [stdout] test renderer::tests::render_no_reset_for_default_style ... ok [INFO] [stdout] test renderer::tests::render_optimized_contains_correct_content ... ok [INFO] [stdout] test renderer::tests::no_color_strips_all_colors ... ok [INFO] [stdout] test renderer::tests::no_sync_when_disabled ... ok [INFO] [stdout] test renderer::tests::render_adjacent_cells_no_redundant_move ... ok [INFO] [stdout] test renderer::tests::render_batched_empty ... ok [INFO] [stdout] test renderer::tests::render_batched_no_longer_than_render ... ok [INFO] [stdout] test renderer::tests::render_batched_produces_valid_output ... ok [INFO] [stdout] test renderer::tests::render_batched_with_styles ... ok [INFO] [stdout] test renderer::tests::render_bg_truecolor ... ok [INFO] [stdout] test renderer::tests::render_bold_italic ... ok [INFO] [stdout] test renderer::tests::render_cursor_position ... ok [INFO] [stdout] test renderer::tests::render_empty_changes ... ok [INFO] [stdout] test renderer::tests::render_fg_truecolor ... ok [INFO] [stdout] test renderer::tests::render_optimized_empty_is_empty ... ok [INFO] [stdout] test renderer::tests::render_optimized_ends_with_cursor_show ... ok [INFO] [stdout] test renderer::tests::render_skip_continuation_cells ... ok [INFO] [stdout] test renderer::tests::render_style_reset_at_end ... ok [INFO] [stdout] test renderer::tests::render_optimized_starts_with_cursor_hide ... ok [INFO] [stdout] test renderer::tests::rgb_to_16_dark_colors ... ok [INFO] [stdout] test renderer::tests::rgb_to_16_perceptual_accuracy ... ok [INFO] [stdout] test renderer::tests::rgb_to_16_pure_colors ... ok [INFO] [stdout] test renderer::tests::rgb_to_256_pure_red ... ok [INFO] [stdout] test renderer::tests::rgb_to_256_with_lab_pure_black ... ok [INFO] [stdout] test renderer::tests::rgb_to_lab_white ... ok [INFO] [stdout] test renderer::tests::rgb_to_256_with_lab_grayscale ... ok [INFO] [stdout] test renderer::tests::rgb_to_256_with_lab_pure_red ... ok [INFO] [stdout] test renderer::tests::rgb_to_named_pure_black ... ok [INFO] [stdout] test renderer::tests::rgb_to_named_pure_red ... ok [INFO] [stdout] test renderer::tests::rgb_to_named_pure_white ... ok [INFO] [stdout] test renderer::tests::rgb_to_256_with_lab_pure_white ... ok [INFO] [stdout] test renderer::tests::rgb_to_lab_black ... ok [INFO] [stdout] test renderer::tests::render_optimized_sync_before_cursor_show ... ok [INFO] [stdout] test renderer::tests::rgb_to_256_black ... ok [INFO] [stdout] test renderer::tests::rgb_to_256_grayscale ... ok [INFO] [stdout] test renderer::tests::rgb_to_256_perceptual_better_than_euclidean ... ok [INFO] [stdout] test renderer::tests::synchronized_output_wrapping ... ok [INFO] [stdout] test renderer::tests::truecolor_to_16 ... ok [INFO] [stdout] test segment::tests::ascii_width ... ok [INFO] [stdout] test segment::tests::char_count_with_complex_emoji ... ok [INFO] [stdout] test segment::tests::control_width_is_zero ... ok [INFO] [stdout] test renderer::tests::truecolor_to_256 ... ok [INFO] [stdout] test segment::tests::char_count_returns_grapheme_cluster_count ... ok [INFO] [stdout] test segment::tests::emoji_width_is_two ... ok [INFO] [stdout] test segment::tests::cjk_width ... ok [INFO] [stdout] test segment::tests::empty_width ... ok [INFO] [stdout] test segment::tests::empty_segment_grapheme_operations ... ok [INFO] [stdout] test segment::tests::flag_emoji_width ... ok [INFO] [stdout] test segment::tests::grapheme_widths_returns_correct_values ... ok [INFO] [stdout] test segment::tests::grapheme_widths_empty_for_control ... ok [INFO] [stdout] test segment::tests::is_empty ... ok [INFO] [stdout] test segment::tests::mixed_ascii_emoji_cjk ... ok [INFO] [stdout] test segment::tests::keycap_sequence_handling ... ok [INFO] [stdout] test segment::tests::pad_to_width_adds_trailing_spaces ... ok [INFO] [stdout] test segment::tests::mixed_ascii_zwj_emoji_cjk ... ok [INFO] [stdout] test renderer::tests::truecolor_passthrough ... ok [INFO] [stdout] test segment::tests::pad_to_width_already_wider_unchanged ... ok [INFO] [stdout] test segment::tests::skin_tone_emoji_width ... ok [INFO] [stdout] test segment::tests::split_at_zero ... ok [INFO] [stdout] test segment::tests::split_beyond_end ... ok [INFO] [stdout] test segment::tests::split_ascii ... ok [INFO] [stdout] test segment::tests::split_preserves_combining_marks ... ok [INFO] [stdout] test segment::tests::pad_to_width_already_at_target_unchanged ... ok [INFO] [stdout] test segment::tests::split_segment_at_zwj_emoji_boundary ... ok [INFO] [stdout] test segment::tests::split_at_end ... ok [INFO] [stdout] test segment::tests::truncate_to_width_beyond_length_unchanged ... ok [INFO] [stdout] test segment::tests::truncate_to_width_cuts_before_wide_char_at_boundary ... ok [INFO] [stdout] test segment::tests::truncate_to_width_zero_gives_empty ... ok [INFO] [stdout] test segment::tests::style_preserved_through_truncation_and_padding ... ok [INFO] [stdout] test segment::tests::zwj_family_emoji_width ... ok [INFO] [stdout] test style::tests::builder_pattern ... ok [INFO] [stdout] test segment::tests::zwj_family_emoji_grapheme_widths ... ok [INFO] [stdout] test segment::tests::styled_preserves_style_on_split ... ok [INFO] [stdout] test segment::tests::emoji_at_split_boundary ... ok [INFO] [stdout] test segment::tests::combining_diacritics_width ... ok [INFO] [stdout] test style::tests::merge_fg_override ... ok [INFO] [stdout] test style::tests::merge_preserves_base ... ok [INFO] [stdout] test style::tests::non_empty_style ... ok [INFO] [stdout] test tcss::ast::tests::add_rule ... ok [INFO] [stdout] test segment::tests::truncate_to_width_ascii_exact_fit ... ok [INFO] [stdout] test tcss::ast::tests::rule_with_multiple_declarations ... ok [INFO] [stdout] test tcss::ast::tests::rule_with_multiple_selectors ... ok [INFO] [stdout] test tcss::cache::tests::empty_cache ... ok [INFO] [stdout] test tcss::cache::tests::clear_removes_all ... ok [INFO] [stdout] test tcss::cache::tests::get_missing ... ok [INFO] [stdout] test tcss::ast::tests::multiple_rules ... ok [INFO] [stdout] test tcss::cache::tests::insert_and_get ... ok [INFO] [stdout] test tcss::cache::tests::invalidate_subtree ... ok [INFO] [stdout] test tcss::cache::tests::invalidate_all ... ok [INFO] [stdout] test tcss::cascade::tests::computed_style_iteration ... ok [INFO] [stdout] test tcss::ast::tests::empty_stylesheet ... ok [INFO] [stdout] test style::tests::crossterm_conversion ... ok [INFO] [stdout] test tcss::cascade::tests::has_unresolved_empty ... ok [INFO] [stdout] test tcss::cascade::tests::has_unresolved_true ... ok [INFO] [stdout] test tcss::cache::tests::invalidate_single ... ok [INFO] [stdout] test style::tests::default_is_empty ... ok [INFO] [stdout] test tcss::cascade::tests::higher_specificity_wins ... ok [INFO] [stdout] test tcss::cascade::tests::important_overrides_specificity ... ok [INFO] [stdout] test tcss::cascade::tests::important_vs_important ... ok [INFO] [stdout] test tcss::cascade::tests::later_rule_overrides ... ok [INFO] [stdout] test tcss::cascade::tests::resolve_mixed_variables_and_concrete ... ok [INFO] [stdout] test tcss::cascade::tests::resolve_multiple_variables ... ok [INFO] [stdout] test tcss::cascade::tests::multiple_properties_merged ... ok [INFO] [stdout] test tcss::cascade::tests::resolve_variable_from_theme ... ok [INFO] [stdout] test tcss::cascade::tests::resolve_variable_missing_stays_variable ... ok [INFO] [stdout] test tcss::cascade::tests::resolve_variable_from_global ... ok [INFO] [stdout] test tcss::cascade::tests::has_unresolved_false ... ok [INFO] [stdout] test tcss::cascade::tests::resolve_with_no_variables ... ok [INFO] [stdout] test tcss::cascade::tests::same_property_last_wins ... ok [INFO] [stdout] test tcss::error::tests::clone_and_eq ... ok [INFO] [stdout] test tcss::cascade::tests::single_rule_applied ... ok [INFO] [stdout] test tcss::error::tests::display_invalid_value ... ok [INFO] [stdout] test tcss::integration_tests::empty_input_returns_empty ... ok [INFO] [stdout] test tcss::integration_tests::error_recovery_mixed_valid_invalid ... ok [INFO] [stdout] test tcss::integration_tests::round_trip_parse_inspect ... ok [INFO] [stdout] test tcss::integration_tests::verify_selector_specificity_after_parse ... ok [INFO] [stdout] test tcss::matcher::tests::match_active ... ok [INFO] [stdout] test tcss::matcher::tests::match_adjacent_sibling_combinator ... ok [INFO] [stdout] test tcss::matcher::tests::match_class_mismatch ... ok [INFO] [stdout] test tcss::matcher::tests::match_child_wrong_parent ... ok [INFO] [stdout] test tcss::matcher::tests::match_child_combinator ... ok [INFO] [stdout] test tcss::matcher::tests::match_compound_all ... ok [INFO] [stdout] test tcss::matcher::tests::match_class_selector ... ok [INFO] [stdout] test tcss::matcher::tests::match_compound_partial_fail ... ok [INFO] [stdout] test tcss::matcher::tests::match_compound_with_pseudo ... ok [INFO] [stdout] test tcss::integration_tests::parse_theme_stylesheet ... ok [INFO] [stdout] test tcss::matcher::tests::match_complex_chain ... ok [INFO] [stdout] test tcss::matcher::tests::match_descendant_combinator ... ok [INFO] [stdout] test tcss::integration_tests::verify_property_values_typed ... ok [INFO] [stdout] test tcss::matcher::tests::match_descendant_deep ... ok [INFO] [stdout] test tcss::matcher::tests::match_descendant_miss ... ok [INFO] [stdout] test tcss::matcher::tests::match_disabled ... ok [INFO] [stdout] test tcss::matcher::tests::match_even ... ok [INFO] [stdout] test tcss::matcher::tests::match_first_child ... ok [INFO] [stdout] test tcss::matcher::tests::match_focus ... ok [INFO] [stdout] test tcss::matcher::tests::match_focus_unfocused ... ok [INFO] [stdout] test tcss::matcher::tests::match_general_sibling_combinator ... ok [INFO] [stdout] test tcss::error::tests::display_parse ... ok [INFO] [stdout] test tcss::matcher::tests::match_hover ... ok [INFO] [stdout] test tcss::cache::tests::is_dirty_check ... ok [INFO] [stdout] test tcss::error::tests::display_selector_error ... ok [INFO] [stdout] test tcss::matcher::tests::match_id_mismatch ... ok [INFO] [stdout] test tcss::cascade::tests::computed_style_accessors ... ok [INFO] [stdout] test tcss::matcher::tests::match_multiple_rules ... ok [INFO] [stdout] test tcss::cascade::tests::empty_matches_empty_style ... ok [INFO] [stdout] test tcss::matcher::tests::match_nth_child ... ok [INFO] [stdout] test tcss::matcher::tests::match_no_rules ... ok [INFO] [stdout] test tcss::error::tests::display_unknown_property ... ok [INFO] [stdout] test tcss::matcher::tests::match_odd ... ok [INFO] [stdout] test tcss::matcher::tests::match_selector_list_none ... ok [INFO] [stdout] test tcss::matcher::tests::match_no_match ... ok [INFO] [stdout] test tcss::matcher::tests::match_selector_list_rule ... ok [INFO] [stdout] test tcss::matcher::tests::match_source_order ... ok [INFO] [stdout] test tcss::matcher::tests::match_id_selector ... ok [INFO] [stdout] test tcss::matcher::tests::match_simple_selector_no_chain ... ok [INFO] [stdout] test tcss::matcher::tests::match_specificity_attached ... ok [INFO] [stdout] test tcss::matcher::tests::match_last_child ... ok [INFO] [stdout] test tcss::matcher::tests::match_single_rule ... ok [INFO] [stdout] test tcss::matcher::tests::match_mixed_combinators ... ok [INFO] [stdout] test tcss::error::tests::error_trait ... ok [INFO] [stdout] test tcss::matcher::tests::match_type_selector ... ok [INFO] [stdout] test tcss::matcher::tests::match_real_stylesheet ... ok [INFO] [stdout] test tcss::matcher::tests::match_selector_list_any ... ok [INFO] [stdout] test tcss::matcher::tests::match_universal ... ok [INFO] [stdout] test tcss::matcher::tests::match_three_levels_wrong ... ok [INFO] [stdout] test tcss::cascade::tests::real_cascade_example ... ok [INFO] [stdout] test tcss::parser::tests::parse_cell_length ... ok [INFO] [stdout] test tcss::parser::tests::parse_all_property_types ... ok [INFO] [stdout] test tcss::parser::tests::parse_extract_root_variables ... ok [INFO] [stdout] test tcss::parser::tests::parse_float_value ... ok [INFO] [stdout] test tcss::parser::tests::parse_grid_placement_range ... ok [INFO] [stdout] test tcss::parser::tests::parse_grid_placement_span ... ok [INFO] [stdout] test tcss::parser::tests::parse_declaration_standalone ... ok [INFO] [stdout] test tcss::parser::tests::parse_fr_in_stylesheet ... ok [INFO] [stdout] test tcss::parser::tests::parse_grid_template_auto ... ok [INFO] [stdout] test tcss::parser::tests::parse_empty_stylesheet ... ok [INFO] [stdout] test tcss::parser::tests::parse_grid_template_mixed ... ok [INFO] [stdout] test tcss::parser::tests::parse_grid_placement_integer ... ok [INFO] [stdout] test tcss::parser::tests::parse_auto_length ... ok [INFO] [stdout] test tcss::parser::tests::parse_declaration_important_standalone ... ok [INFO] [stdout] test tcss::matcher::tests::match_type_mismatch ... ok [INFO] [stdout] test tcss::parser::tests::parse_grid_template_single_cells ... ok [INFO] [stdout] test tcss::parser::tests::parse_grid_template_with_percent ... ok [INFO] [stdout] test tcss::parser::tests::parse_grid_template_single_fr ... ok [INFO] [stdout] test tcss::parser::tests::parse_hex_color_long ... ok [INFO] [stdout] test tcss::parser::tests::parse_integer_value ... ok [INFO] [stdout] test tcss::parser::tests::parse_important_declaration ... ok [INFO] [stdout] test tcss::parser::tests::parse_hex_color_short ... ok [INFO] [stdout] test tcss::parser::tests::parse_invalid_color ... ok [INFO] [stdout] test tcss::parser::tests::parse_invalid_rule_skipped ... ok [INFO] [stdout] test tcss::parser::tests::parse_multiple_root_blocks_merge ... ok [INFO] [stdout] test tcss::parser::tests::parse_named_color ... ok [INFO] [stdout] test tcss::parser::tests::parse_multiple_declarations ... ok [INFO] [stdout] test tcss::parser::tests::parse_non_variable_still_works ... ok [INFO] [stdout] test tcss::parser::tests::parse_complex_selector_rule ... ok [INFO] [stdout] test tcss::parser::tests::parse_multiple_rules ... ok [INFO] [stdout] test tcss::parser::tests::parse_property_background_hex ... ok [INFO] [stdout] test tcss::parser::tests::parse_percent_length ... ok [INFO] [stdout] test tcss::parser::tests::parse_property_color ... ok [INFO] [stdout] test tcss::parser::tests::parse_grid_template_multiple_fr ... ok [INFO] [stdout] test tcss::parser::tests::parse_property_display ... ok [INFO] [stdout] test tcss::parser::tests::parse_property_flex_grow ... ok [INFO] [stdout] test tcss::parser::tests::parse_keyword_value ... ok [INFO] [stdout] test tcss::parser::tests::parse_property_margin_percent ... ok [INFO] [stdout] test tcss::parser::tests::parse_single_rule ... ok [INFO] [stdout] test tcss::parser::tests::parse_real_world_stylesheet ... ok [INFO] [stdout] test tcss::parser::tests::parse_variable_definition_hex ... ok [INFO] [stdout] test tcss::parser::tests::parse_variable_definition_color ... ok [INFO] [stdout] test tcss::parser::tests::parse_variable_definition_length ... ok [INFO] [stdout] test tcss::parser::tests::parse_variable_hyphenated ... ok [INFO] [stdout] test tcss::parser::tests::parse_variable_in_color ... ok [INFO] [stdout] test tcss::parser::tests::parse_variable_in_non_root_block ... ok [INFO] [stdout] test tcss::parser::tests::parse_variable_reference ... ok [INFO] [stdout] test tcss::parser::tests::parse_whitespace_only_stylesheet ... ok [INFO] [stdout] test tcss::parser::tests::parse_with_comments ... ok [INFO] [stdout] test tcss::parser::tests::parse_named_color_blue ... ok [INFO] [stdout] test tcss::pipeline_tests::full_pipeline_cached_match ... ok [INFO] [stdout] test tcss::pipeline_tests::full_pipeline_important ... ok [INFO] [stdout] test tcss::pipeline_tests::full_pipeline_simple ... ok [INFO] [stdout] test tcss::pipeline_tests::full_pipeline_pseudo_class ... ok [INFO] [stdout] test tcss::pipeline_tests::full_pipeline_specificity ... ok [INFO] [stdout] test tcss::pipeline_tests::full_pipeline_invalidation ... ok [INFO] [stdout] test tcss::parser::tests::parse_mixed_variables_and_properties ... ok [INFO] [stdout] test tcss::parser::tests::parse_variable_in_width ... ok [INFO] [stdout] test tcss::pipeline_tests::full_pipeline_descendant ... ok [INFO] [stdout] test tcss::property::tests::css_name_round_trip ... ok [INFO] [stdout] test tcss::pipeline_tests::full_pipeline_child_combinator ... ok [INFO] [stdout] test tcss::parser::tests::parse_rgb_function ... ok [INFO] [stdout] test tcss::parser::tests::parse_selector_list_rule ... ok [INFO] [stdout] test tcss::parser::tests::parse_property_width ... ok [INFO] [stdout] test tcss::parser::tests::parse_property_opacity ... ok [INFO] [stdout] test tcss::parser::tests::parse_root_block_multiple ... ok [INFO] [stdout] test tcss::property::tests::declaration_important ... ok [INFO] [stdout] test tcss::property::tests::from_css_grid_properties ... ok [INFO] [stdout] test tcss::property::tests::from_css_layout_properties ... ok [INFO] [stdout] test tcss::property::tests::from_css_unknown_returns_none ... ok [INFO] [stdout] test tcss::reload::tests::empty_loader ... ok [INFO] [stdout] test tcss::reload::tests::generation_increments ... ok [INFO] [stdout] test tcss::property::tests::declaration_new ... ok [INFO] [stdout] test tcss::reload::tests::load_extracts_globals ... ok [INFO] [stdout] test tcss::reload::tests::load_extracts_themes ... ok [INFO] [stdout] test tcss::property::tests::from_css_box_model ... ok [INFO] [stdout] test tcss::property::tests::from_css_case_insensitive ... ok [INFO] [stdout] test tcss::property::tests::from_css_color_properties ... ok [INFO] [stdout] test tcss::property::tests::from_css_dimension_properties ... ok [INFO] [stdout] test tcss::reload::tests::load_from_string ... ok [INFO] [stdout] test tcss::reload::tests::loader_accessors ... ok [INFO] [stdout] test tcss::reload::tests::reload_from_string ... ok [INFO] [stdout] test tcss::reload::tests::reload_without_path_errors ... ok [INFO] [stdout] test tcss::selector::tests::compound_specificity_mixed ... ok [INFO] [stdout] test tcss::selector::tests::compound_specificity_type ... ok [INFO] [stdout] test tcss::selector::tests::compound_specificity_universal ... ok [INFO] [stdout] test tcss::selector::tests::display_compound ... ok [INFO] [stdout] test tcss::selector::tests::display_selector_list ... ok [INFO] [stdout] test tcss::selector::tests::display_selector_with_chain ... ok [INFO] [stdout] test tcss::selector::tests::display_pseudo_class ... ok [INFO] [stdout] test tcss::selector::tests::parse_adjacent_sibling_combinator ... ok [INFO] [stdout] test tcss::reload::tests::load_file_not_found ... ok [INFO] [stdout] test tcss::selector::tests::parse_child_combinator ... ok [INFO] [stdout] test tcss::selector::tests::parse_class_selector ... ok [INFO] [stdout] test tcss::selector::tests::compound_specificity_class ... ok [INFO] [stdout] test tcss::selector::tests::parse_descendant_combinator ... ok [INFO] [stdout] test tcss::selector::tests::compound_specificity_pseudo_class ... ok [INFO] [stdout] test tcss::selector::tests::parse_general_sibling_combinator ... ok [INFO] [stdout] test tcss::selector::tests::parse_id_selector ... ok [INFO] [stdout] test tcss::selector::tests::parse_complex_selector ... ok [INFO] [stdout] test tcss::selector::tests::parse_invalid_selector ... ok [INFO] [stdout] test tcss::selector::tests::parse_pseudo_class_hover ... ok [INFO] [stdout] test tcss::selector::tests::parse_pseudo_class_nth_child_function ... ok [INFO] [stdout] test tcss::selector::tests::parse_selector_list_comma ... ok [INFO] [stdout] test tcss::selector::tests::parse_compound_type_and_class ... ok [INFO] [stdout] test tcss::selector::tests::parse_specificity_after_parse ... ok [INFO] [stdout] test tcss::selector::tests::parse_pseudo_class_focus ... ok [INFO] [stdout] test tcss::selector::tests::parse_type_selector ... ok [INFO] [stdout] test tcss::selector::tests::compound_specificity_id ... ok [INFO] [stdout] test tcss::selector::tests::pseudo_class_case_insensitive ... ok [INFO] [stdout] test tcss::theme::tests::builtin_light_theme ... ok [INFO] [stdout] test tcss::selector::tests::pseudo_class_from_name ... ok [INFO] [stdout] test tcss::theme::tests::extract_ignores_property_rules ... ok [INFO] [stdout] test tcss::theme::tests::extract_full_themed_stylesheet ... ok [INFO] [stdout] test tcss::theme::tests::extract_no_themes ... ok [INFO] [stdout] test tcss::theme::tests::empty_theme ... ok [INFO] [stdout] test tcss::selector::tests::selector_list ... ok [INFO] [stdout] test tcss::theme::tests::extract_multiple_themes ... ok [INFO] [stdout] test tcss::theme::tests::extract_dark_theme ... ok [INFO] [stdout] test tcss::theme::tests::extract_root_globals ... ok [INFO] [stdout] test tcss::selector::tests::selector_with_chain ... ok [INFO] [stdout] test tcss::selector::tests::simple_type_selector ... ok [INFO] [stdout] test tcss::selector::tests::selector_simple ... ok [INFO] [stdout] test tcss::theme::tests::builtin_dark_theme ... ok [INFO] [stdout] test tcss::selector::tests::parse_universal_selector ... ok [INFO] [stdout] test tcss::theme::tests::manager_build_environment_no_active ... ok [INFO] [stdout] test tcss::theme::tests::manager_build_environment ... ok [INFO] [stdout] test tcss::theme::tests::manager_register ... ok [INFO] [stdout] test tcss::theme::tests::manager_remove_theme ... ok [INFO] [stdout] test tcss::theme::tests::manager_set_active ... ok [INFO] [stdout] test tcss::theme::tests::manager_set_active_missing ... ok [INFO] [stdout] test tcss::theme::tests::manager_theme_names ... ok [INFO] [stdout] test tcss::theme::tests::theme_set_variable ... ok [INFO] [stdout] test tcss::themed_pipeline_tests::themed_pipeline_generation ... ok [INFO] [stdout] test tcss::themed_pipeline_tests::themed_pipeline_no_theme ... ok [INFO] [stdout] test tcss::theme::tests::register_all_includes_catppuccin ... ok [INFO] [stdout] test tcss::theme::tests::register_all_includes_builtins ... ok [INFO] [stdout] test tcss::themed_pipeline_tests::themed_pipeline_simple ... ok [INFO] [stdout] test tcss::themed_pipeline_tests::themed_pipeline_root_globals ... ok [INFO] [stdout] test tcss::theme::tests::register_all_includes_nord ... ok [INFO] [stdout] test tcss::theme::tests::register_all_correct_count ... ok [INFO] [stdout] test tcss::theme::tests::theme_with_variables ... ok [INFO] [stdout] test tcss::theme::tests::manager_with_defaults ... ok [INFO] [stdout] test tcss::themed_pipeline_tests::themed_pipeline_theme_overrides_root ... ok [INFO] [stdout] test tcss::themed_pipeline_tests::themed_pipeline_variable_in_property ... ok [INFO] [stdout] test tcss::theme::tests::register_all_includes_solarized ... ok [INFO] [stdout] test tcss::themes::catppuccin::tests::all_flavors_have_minimum_variables ... ok [INFO] [stdout] test tcss::themes::catppuccin::tests::all_four_flavors_unique_names ... ok [INFO] [stdout] test tcss::theme::tests::theme_switch ... ok [INFO] [stdout] test tcss::themed_pipeline_tests::themed_pipeline_loader ... ok [INFO] [stdout] test tcss::theme::tests::register_all_includes_dracula ... ok [INFO] [stdout] test tcss::themed_pipeline_tests::themed_pipeline_switch ... ok [INFO] [stdout] test tcss::themes::catppuccin::tests::frappe_has_all_colors ... ok [INFO] [stdout] test tcss::themes::catppuccin::tests::frappe_theme_name ... ok [INFO] [stdout] test tcss::themes::catppuccin::tests::latte_has_all_colors ... ok [INFO] [stdout] test tcss::themes::catppuccin::tests::latte_is_light_theme ... ok [INFO] [stdout] test tcss::themes::catppuccin::tests::macchiato_theme_name ... ok [INFO] [stdout] test tcss::themes::catppuccin::tests::mocha_base_color_value ... ok [INFO] [stdout] test tcss::themes::catppuccin::tests::mocha_has_all_base_colors ... ok [INFO] [stdout] test tcss::themes::catppuccin::tests::latte_theme_name ... ok [INFO] [stdout] test tcss::themes::dracula::tests::dracula_dark_has_accent_colors ... ok [INFO] [stdout] test tcss::themes::dracula::tests::dracula_dark_has_base_colors ... ok [INFO] [stdout] test tcss::themes::dracula::tests::dracula_dark_purple_color_value ... ok [INFO] [stdout] test tcss::themes::dracula::tests::both_variants_have_minimum_variables ... ok [INFO] [stdout] test tcss::themes::dracula::tests::dracula_dark_has_common_variables ... ok [INFO] [stdout] test tcss::themes::dracula::tests::dracula_dark_theme_name ... ok [INFO] [stdout] test tcss::themes::catppuccin::tests::mocha_has_common_variables ... ok [INFO] [stdout] test tcss::themes::dracula::tests::dracula_light_background_color_value ... ok [INFO] [stdout] test tcss::themes::catppuccin::tests::mocha_theme_name ... ok [INFO] [stdout] test tcss::themes::dracula::tests::both_variants_unique_names ... ok [INFO] [stdout] test tcss::themes::nord::tests::nord_bg_color_value ... ok [INFO] [stdout] test tcss::themes::nord::tests::nord_fg_color_value ... ok [INFO] [stdout] test tcss::themes::catppuccin::tests::mocha_has_text_colors ... ok [INFO] [stdout] test tcss::themes::nord::tests::nord_has_all_palette_colors ... ok [INFO] [stdout] test tcss::themes::nord::tests::nord_has_common_variables ... ok [INFO] [stdout] test tcss::themes::dracula::tests::dracula_light_has_common_variables ... ok [INFO] [stdout] test tcss::themes::dracula::tests::dracula_light_has_accent_colors ... ok [INFO] [stdout] test tcss::themes::dracula::tests::dracula_light_theme_name ... ok [INFO] [stdout] test tcss::themes::dracula::tests::dracula_light_has_base_colors ... ok [INFO] [stdout] test tcss::themes::nord::tests::nord_aurora_red ... ok [INFO] [stdout] test tcss::themes::nord::tests::nord_frost_blue ... ok [INFO] [stdout] test tcss::themes::nord::tests::nord_has_minimum_variables ... ok [INFO] [stdout] test tcss::themes::nord::tests::nord_theme_name ... ok [INFO] [stdout] test tcss::themes::solarized::tests::both_variants_have_minimum_variables ... ok [INFO] [stdout] test tcss::themes::solarized::tests::solarized_dark_background_color_value ... ok [INFO] [stdout] test tcss::themes::solarized::tests::solarized_dark_blue_color_value ... ok [INFO] [stdout] test tcss::themes::solarized::tests::solarized_dark_has_common_variables ... ok [INFO] [stdout] test tcss::themes::solarized::tests::solarized_dark_is_dark_theme ... ok [INFO] [stdout] test tcss::themes::solarized::tests::solarized_light_background_color_value ... ok [INFO] [stdout] test tcss::themes::catppuccin::tests::macchiato_has_all_colors ... ok [INFO] [stdout] test tcss::themes::dracula::tests::dracula_dark_background_color_value ... ok [INFO] [stdout] test tcss::themes::tests::registry_new_empty ... ok [INFO] [stdout] test tcss::themes::tests::registry_has_theme ... ok [INFO] [stdout] test tcss::themes::solarized::tests::solarized_light_has_common_variables ... ok [INFO] [stdout] test tcss::themes::solarized::tests::solarized_light_is_light_theme ... ok [INFO] [stdout] test tcss::themes::tests::registry_default ... ok [INFO] [stdout] test tcss::themes::catppuccin::tests::mocha_has_accent_colors ... ok [INFO] [stdout] test tcss::themes::solarized::tests::solarized_light_has_accent_colors ... ok [INFO] [stdout] test tcss::themes::solarized::tests::solarized_light_theme_name ... ok [INFO] [stdout] test tcss::themes::tests::registry_list_themes ... ok [INFO] [stdout] test tcss::themes::tests::registry_register_and_get ... ok [INFO] [stdout] test tcss::themes::tests::registry_remove_theme ... ok [INFO] [stdout] test tcss::themes::tests::registry_replace_theme ... ok [INFO] [stdout] test tcss::themes::tests::theme_default_dark ... ok [INFO] [stdout] test tcss::themes::tests::theme_colors_default_dark ... ok [INFO] [stdout] test tcss::tree::tests::add_child_node ... ok [INFO] [stdout] test tcss::tree::tests::add_root_node ... ok [INFO] [stdout] test tcss::tree::tests::ancestors ... ok [INFO] [stdout] test tcss::themes::tests::theme_default_light ... ok [INFO] [stdout] test tcss::tree::tests::empty_tree ... ok [INFO] [stdout] test tcss::themes::tests::theme_new ... ok [INFO] [stdout] test tcss::tree::tests::is_first_last_child ... ok [INFO] [stdout] test tcss::tree::tests::child_index ... ok [INFO] [stdout] test tcss::tree::tests::widget_node_builder ... ok [INFO] [stdout] test tcss::tree::tests::remove_node ... ok [INFO] [stdout] test tcss::tree::tests::widget_state_default ... ok [INFO] [stdout] test tcss::value::tests::length_auto ... ok [INFO] [stdout] test tcss::value::tests::length_cells ... ok [INFO] [stdout] test tcss::value::tests::length_clone ... ok [INFO] [stdout] test tcss::value::tests::length_percent ... ok [INFO] [stdout] test tcss::value::tests::value_float ... ok [INFO] [stdout] test tcss::value::tests::value_fr_clone_and_eq ... ok [INFO] [stdout] test tcss::value::tests::value_clone ... ok [INFO] [stdout] test tcss::value::tests::value_length ... ok [INFO] [stdout] test tcss::value::tests::value_list_empty ... ok [INFO] [stdout] test tcss::value::tests::value_list_clone ... ok [INFO] [stdout] test tcss::value::tests::value_integer ... ok [INFO] [stdout] test tcss::value::tests::value_list_eq ... ok [INFO] [stdout] test tcss::value::tests::value_color ... ok [INFO] [stdout] test tcss::value::tests::value_fr ... ok [INFO] [stdout] test tcss::value::tests::value_keyword ... ok [INFO] [stdout] test tcss::value::tests::value_list_mixed_types ... ok [INFO] [stdout] test tcss::value::tests::value_list_multiple ... ok [INFO] [stdout] test tcss::value::tests::value_list_nested ... ok [INFO] [stdout] test tcss::value::tests::value_list_single ... ok [INFO] [stdout] test tcss::variable::tests::contains_check ... ok [INFO] [stdout] test tcss::variable::tests::environment_clear_local ... ok [INFO] [stdout] test tcss::value::tests::value_string ... ok [INFO] [stdout] test tcss::variable::tests::empty_variable_map ... ok [INFO] [stdout] test tcss::value::tests::value_variable ... ok [INFO] [stdout] test tcss::themes::solarized::tests::solarized_dark_has_accent_colors ... ok [INFO] [stdout] test tcss::themes::solarized::tests::both_variants_unique_names ... ok [INFO] [stdout] test tcss::themes::solarized::tests::solarized_dark_has_base_colors ... ok [INFO] [stdout] test tcss::themes::solarized::tests::solarized_dark_theme_name ... ok [INFO] [stdout] test tcss::themes::solarized::tests::solarized_light_has_base_colors ... ok [INFO] [stdout] test tcss::themes::tests::registry_with_default ... ok [INFO] [stdout] test tcss::themes::tests::theme_colors_new ... ok [INFO] [stdout] test tcss::variable::tests::environment_resolve_global ... ok [INFO] [stdout] test tcss::variable::tests::environment_resolve_local_overrides_all ... ok [INFO] [stdout] test tcss::variable::tests::environment_resolve_missing ... ok [INFO] [stdout] test tcss::themes::tests::theme_colors_default_light ... ok [INFO] [stdout] test tcss::variable::tests::environment_global_and_theme_accessors ... ok [INFO] [stdout] test tcss::variable::tests::remove_variable ... ok [INFO] [stdout] test tcss::value::tests::value_variable_clone_and_eq ... ok [INFO] [stdout] test terminal::crossterm_backend::tests::test_integration_tmux_limits ... ok [INFO] [stdout] test tcss::variable::tests::variable_map_len_after_operations ... ok [INFO] [stdout] test terminal::crossterm_backend::tests::test_new_creates_backend_with_detected_capabilities ... ok [INFO] [stdout] test terminal::crossterm_backend::tests::test_with_capabilities_uses_provided_caps ... ok [INFO] [stdout] test terminal::crossterm_backend::tests::test_integration_kitty_profile ... ok [INFO] [stdout] test tcss::variable::tests::set_and_get ... ok [INFO] [stdout] test tcss::variable::tests::variable_map_iteration ... ok [INFO] [stdout] test tcss::variable::tests::environment_resolve_theme_overrides_global ... ok [INFO] [stdout] test tcss::variable::tests::environment_set_theme_layer ... ok [INFO] [stdout] test terminal::detect::tests::test_detect_alacritty_from_term ... ok [INFO] [stdout] test tcss::variable::tests::merge_maps ... ok [INFO] [stdout] test terminal::detect::tests::test_detect_iterm2 ... ok [INFO] [stdout] test terminal::detect::tests::test_detect_wezterm ... ok [INFO] [stdout] test terminal::detect::tests::test_detect_kitty_from_term ... ok [INFO] [stdout] test terminal::detect::tests::test_detect_zellij ... ok [INFO] [stdout] test terminal::detect::tests::test_detect_windows_terminal ... ok [INFO] [stdout] test tcss::variable::tests::get_missing ... ok [INFO] [stdout] test terminal::detect::tests::test_detect_no_multiplexer ... ok [INFO] [stdout] test terminal::detect::tests::test_detect_xterm ... ok [INFO] [stdout] test terminal::detect::tests::test_detect_screen ... ok [INFO] [stdout] test terminal::detect::tests::test_detect_terminal_app ... ok [INFO] [stdout] test terminal::detect::tests::test_detect_tmux ... ok [INFO] [stdout] test terminal::detect::tests::test_detect_unknown ... ok [INFO] [stdout] test terminal::detect::tests::test_detect_vte ... ok [INFO] [stdout] test terminal::multiplexer::tests::test_noop_wrapper_passthrough ... ok [INFO] [stdout] test terminal::multiplexer::tests::test_synchronized_output_sequence ... ok [INFO] [stdout] test terminal::multiplexer::tests::test_tmux_wrapper_basic ... ok [INFO] [stdout] test terminal::multiplexer::tests::test_wrap_sequence_none ... ok [INFO] [stdout] test terminal::multiplexer::tests::test_wrap_sequence_tmux ... ok [INFO] [stdout] test terminal::multiplexer::tests::test_wrapper_for_none ... ok [INFO] [stdout] test terminal::multiplexer::tests::test_wrap_sequence_screen ... ok [INFO] [stdout] test terminal::multiplexer::tests::test_wrapper_for_zellij ... ok [INFO] [stdout] test terminal::multiplexer::tests::test_wrap_sequence_zellij ... ok [INFO] [stdout] test terminal::multiplexer::tests::test_wrapper_for_screen ... ok [INFO] [stdout] test terminal::multiplexer::tests::test_zellij_wrapper_passthrough ... ok [INFO] [stdout] test terminal::multiplexer::tests::test_empty_sequence ... ok [INFO] [stdout] test terminal::multiplexer::tests::test_screen_wrapper_basic ... ok [INFO] [stdout] test terminal::multiplexer::tests::test_screen_wrapper_multiple_escapes ... ok [INFO] [stdout] test terminal::multiplexer::tests::test_tmux_wrapper_multiple_escapes ... ok [INFO] [stdout] test terminal::multiplexer::tests::test_tmux_wrapper_no_escapes ... ok [INFO] [stdout] test terminal::multiplexer::tests::test_wrapper_for_tmux ... ok [INFO] [stdout] test terminal::profiles::tests::test_kitty_profile ... ok [INFO] [stdout] test terminal::profiles::tests::test_no_multiplexer ... ok [INFO] [stdout] test terminal::profiles::tests::test_screen_limits_256color_preserved ... ok [INFO] [stdout] test terminal::profiles::tests::test_terminal_app_profile ... ok [INFO] [stdout] test terminal::profiles::tests::test_tmux_limits ... ok [INFO] [stdout] test terminal::profiles::tests::test_vte_profile ... ok [INFO] [stdout] test terminal::profiles::tests::test_unknown_profile_conservative ... ok [INFO] [stdout] test terminal::profiles::tests::test_wezterm_profile ... ok [INFO] [stdout] test terminal::profiles::tests::test_xterm_profile ... ok [INFO] [stdout] test terminal::profiles::tests::test_windows_terminal_profile ... ok [INFO] [stdout] test terminal::query::tests::test_detect_capabilities_multiplexer_limits_applied ... ok [INFO] [stdout] test terminal::profiles::tests::test_zellij_transparent ... ok [INFO] [stdout] test terminal::query::tests::test_detect_capabilities_override_with_queries ... ok [INFO] [stdout] test terminal::query::tests::test_detect_capabilities_partial_query_success ... ok [INFO] [stdout] test terminal::query::tests::test_detect_capabilities_upgrade_unknown_terminal ... ok [INFO] [stdout] test terminal::query::tests::test_detect_capabilities_fallback_to_static ... ok [INFO] [stdout] test terminal::query::tests::test_mock_querier_default ... ok [INFO] [stdout] test terminal::test_backend::tests::test_backend_clear ... ok [INFO] [stdout] test terminal::query::tests::test_mock_querier_with_responses ... ok [INFO] [stdout] test terminal::test_backend::tests::test_backend_resize ... ok [INFO] [stdout] test terminal::test_backend::tests::test_backend_raw_mode ... ok [INFO] [stdout] test terminal::test_backend::tests::test_backend_size ... ok [INFO] [stdout] test terminal::test_backend::tests::test_backend_write ... ok [INFO] [stdout] test text::tests::display_width_cjk ... ok [INFO] [stdout] test text::tests::display_width_ascii ... ok [INFO] [stdout] test terminal::test_backend::tests::test_backend_mouse ... ok [INFO] [stdout] test text::tests::display_width_mixed ... ok [INFO] [stdout] test text::tests::empty_string_handling ... ok [INFO] [stdout] test text::tests::expand_tabs_custom_width_four ... ok [INFO] [stdout] test text::tests::expand_tabs_after_eight_chars ... ok [INFO] [stdout] test text::tests::expand_tabs_multiple_tabs ... ok [INFO] [stdout] test text::tests::expand_tabs_after_three_chars ... ok [INFO] [stdout] test text::tests::expand_tabs_single_tab_at_position_zero ... ok [INFO] [stdout] test terminal::profiles::tests::test_alacritty_profile ... ok [INFO] [stdout] test text::tests::display_width_empty ... ok [INFO] [stdout] test terminal::profiles::tests::test_iterm2_profile ... ok [INFO] [stdout] test terminal::profiles::tests::test_screen_limits ... ok [INFO] [stdout] test terminal::query::tests::test_live_querier_creation ... ok [INFO] [stdout] test text::tests::expand_tabs_no_tabs_unchanged ... ok [INFO] [stdout] test text::tests::display_width_emoji ... ok [INFO] [stdout] test text::tests::expand_tabs_with_newline_resets_column ... ok [INFO] [stdout] test text::tests::filter_control_chars_clean_text_unchanged ... ok [INFO] [stdout] test text::tests::filter_control_chars_removes_bell ... ok [INFO] [stdout] test text::tests::filter_control_chars_removes_c1_range ... ok [INFO] [stdout] test text::tests::filter_control_chars_removes_null ... ok [INFO] [stdout] test text::tests::filter_control_chars_preserves_tab_and_newline ... ok [INFO] [stdout] test text::tests::truncate_at_char_boundary_ascii ... ok [INFO] [stdout] test text::tests::truncate_at_char_boundary_emoji ... ok [INFO] [stdout] test text::tests::truncate_at_char_boundary_cjk ... ok [INFO] [stdout] test text::tests::truncate_at_char_boundary_larger_limit ... ok [INFO] [stdout] test terminal::query::tests::test_detect_capabilities_screen_downgrades_color ... ok [INFO] [stdout] test text::tests::truncate_at_char_boundary_zero_limit ... ok [INFO] [stdout] test text_buffer::tests::default_is_empty ... ok [INFO] [stdout] test text::tests::truncate_at_char_boundary_empty ... ok [INFO] [stdout] test text::tests::text_config_default_tab_width_eight ... ok [INFO] [stdout] test text::tests::preprocess_combines_tab_expansion_and_filtering ... ok [INFO] [stdout] test text_buffer::tests::delete_range_within_line ... ok [INFO] [stdout] test text_buffer::tests::delete_range_across_lines ... ok [INFO] [stdout] test text_buffer::tests::delete_char_middle ... ok [INFO] [stdout] test text::tests::truncate_to_display_width_ascii ... ok [INFO] [stdout] test text_buffer::tests::display_trait ... ok [INFO] [stdout] test text_buffer::tests::empty_buffer ... ok [INFO] [stdout] test text_buffer::tests::from_str_single_line ... ok [INFO] [stdout] test text::tests::truncate_to_display_width_cjk ... ok [INFO] [stdout] test text_buffer::tests::from_str_multi_line ... ok [INFO] [stdout] test text_buffer::tests::insert_char_middle ... ok [INFO] [stdout] test text_buffer::tests::insert_newline_splits_line ... ok [INFO] [stdout] test text_buffer::tests::insert_str_with_newlines ... ok [INFO] [stdout] test text_buffer::tests::line_len_returns_char_count ... ok [INFO] [stdout] test text_buffer::tests::empty_lines ... ok [INFO] [stdout] test text_buffer::tests::delete_char_joins_lines ... ok [INFO] [stdout] test text::tests::truncate_to_display_width_emoji ... ok [INFO] [stdout] test text_buffer::tests::line_out_of_bounds ... ok [INFO] [stdout] test text_buffer::tests::lines_range_subset ... ok [INFO] [stdout] test undo::tests::clear_resets_both_stacks ... ok [INFO] [stdout] test text_buffer::tests::unicode_content ... ok [INFO] [stdout] test undo::tests::max_history_limit ... ok [INFO] [stdout] test viewport::tests::clip_to_viewport_no_overlap ... ok [INFO] [stdout] test undo::tests::push_clears_redo ... ok [INFO] [stdout] test viewport::tests::clip_to_viewport_partial_overlap ... ok [INFO] [stdout] test undo::tests::push_and_undo ... ok [INFO] [stdout] test viewport::tests::clip_to_viewport_within_bounds ... ok [INFO] [stdout] test undo::tests::inverse_insert ... ok [INFO] [stdout] test undo::tests::undo_multiple ... ok [INFO] [stdout] test viewport::tests::content_smaller_than_viewport_no_scroll_effect ... ok [INFO] [stdout] test viewport::tests::max_scroll_calculations ... ok [INFO] [stdout] test viewport::tests::max_scroll_zero_when_content_fits ... ok [INFO] [stdout] test viewport::tests::new_viewport_zero_offset ... ok [INFO] [stdout] test viewport::tests::scroll_by_both_axes ... ok [INFO] [stdout] test viewport::tests::scroll_down_changes_offset ... ok [INFO] [stdout] test viewport::tests::scroll_negative_clamped_to_zero ... ok [INFO] [stdout] test viewport::tests::scroll_past_content_clamped_to_max ... ok [INFO] [stdout] test viewport::tests::is_visible_edge_cases ... ok [INFO] [stdout] test text_buffer::tests::lines_range_out_of_bounds_clamped ... ok [INFO] [stdout] test viewport::tests::is_visible_off_screen_region ... ok [INFO] [stdout] test undo::tests::empty_stack_undo_redo_returns_none ... ok [INFO] [stdout] test undo::tests::inverse_delete ... ok [INFO] [stdout] test viewport::tests::is_visible_on_screen_region ... ok [INFO] [stdout] test undo::tests::undo_then_redo ... ok [INFO] [stdout] test viewport::tests::max_scroll_zero_when_content_smaller ... ok [INFO] [stdout] test viewport::tests::scroll_to_absolute ... ok [INFO] [stdout] test viewport::tests::scroll_to_clamped ... ok [INFO] [stdout] test viewport::tests::scroll_right_changes_offset ... ok [INFO] [stdout] test viewport::tests::with_content_size_clamps_existing_offset ... ok [INFO] [stdout] test widget::border::tests::render_border_none_does_nothing ... ok [INFO] [stdout] test widget::border::tests::border_style_chars_none ... ok [INFO] [stdout] test widget::border::tests::border_style_chars_single ... ok [INFO] [stdout] test widget::collapsible::tests::border_rendering ... ok [INFO] [stdout] test widget::border::tests::render_border_single ... ok [INFO] [stdout] test widget::border::tests::inner_area_no_border ... ok [INFO] [stdout] test widget::border::tests::inner_area_too_small ... ok [INFO] [stdout] test widget::border::tests::inner_area_with_border ... ok [INFO] [stdout] test viewport::tests::with_content_size_sets_content ... ok [INFO] [stdout] test widget::collapsible::tests::enter_toggles ... ok [INFO] [stdout] test widget::collapsible::tests::empty_content_when_expanded ... ok [INFO] [stdout] test widget::collapsible::tests::left_collapses_right_expands ... ok [INFO] [stdout] test widget::collapsible::tests::create_expanded ... ok [INFO] [stdout] test widget::container::tests::border_with_style ... ok [INFO] [stdout] test widget::container::tests::border_with_title ... ok [INFO] [stdout] test widget::collapsible::tests::custom_indicators ... ok [INFO] [stdout] test widget::container::tests::inner_area_no_border ... ok [INFO] [stdout] test widget::container::tests::double_border ... ok [INFO] [stdout] test widget::container::tests::inner_area_with_border_and_padding ... ok [INFO] [stdout] test widget::container::tests::inner_area_with_border ... ok [INFO] [stdout] test widget::collapsible::tests::toggle_changes_state ... ok [INFO] [stdout] test widget::collapsible::tests::render_expanded_title_and_content ... ok [INFO] [stdout] test widget::container::tests::no_border_renders_nothing ... ok [INFO] [stdout] test widget::data_table::tests::builder_pattern ... ok [INFO] [stdout] test widget::container::tests::single_border_corners ... ok [INFO] [stdout] test widget::data_table::tests::clear_sort_restores_order ... ok [INFO] [stdout] test widget::data_table::tests::column_alignment_center ... ok [INFO] [stdout] test widget::data_table::tests::column_resize_clamping ... ok [INFO] [stdout] test widget::data_table::tests::column_alignment_right ... ok [INFO] [stdout] test widget::data_table::tests::column_alignment_left ... ok [INFO] [stdout] test widget::collapsible::tests::set_expanded_explicitly ... ok [INFO] [stdout] test widget::collapsible::tests::render_collapsed_title_only ... ok [INFO] [stdout] test widget::collapsible::tests::create_collapsed ... ok [INFO] [stdout] test widget::container::tests::single_border_edges ... ok [INFO] [stdout] test widget::data_table::tests::add_rows ... ok [INFO] [stdout] test widget::data_table::tests::keyboard_resize_ctrl_shift_left ... ok [INFO] [stdout] test widget::data_table::tests::column_resize_increase ... ok [INFO] [stdout] test widget::container::tests::rounded_border ... ok [INFO] [stdout] test undo::tests::inverse_replace ... ok [INFO] [stdout] test widget::data_table::tests::keyboard_sort_ctrl_0_clears ... ok [INFO] [stdout] test widget::container::tests::heavy_border ... ok [INFO] [stdout] test widget::data_table::tests::create_table_with_columns ... ok [INFO] [stdout] test widget::data_table::tests::empty_table_sorting_no_crash ... ok [INFO] [stdout] test widget::data_table::tests::empty_table_with_columns ... ok [INFO] [stdout] test widget::data_table::tests::render_empty_table_shows_headers ... ok [INFO] [stdout] test widget::data_table::tests::home_end_navigation ... ok [INFO] [stdout] test widget::data_table::tests::selected_row_data_access ... ok [INFO] [stdout] test widget::data_table::tests::horizontal_scrolling ... ok [INFO] [stdout] test widget::data_table::tests::render_with_rows ... ok [INFO] [stdout] test widget::data_table::tests::render_with_border ... ok [INFO] [stdout] test widget::data_table::tests::selected_row_highlighted ... ok [INFO] [stdout] test widget::data_table::tests::keyboard_sort_ctrl_1 ... ok [INFO] [stdout] test widget::data_table::tests::page_up_down ... ok [INFO] [stdout] test widget::data_table::tests::keyboard_resize_ctrl_shift_right ... ok [INFO] [stdout] test widget::data_table::tests::set_rows_resets_selection ... ok [INFO] [stdout] test widget::data_table::tests::sort_by_column_ascending ... ok [INFO] [stdout] test widget::data_table::tests::utf8_safe_truncation_in_cells ... ok [INFO] [stdout] test widget::data_table::tests::sort_by_column_resets_selection ... ok [INFO] [stdout] test widget::data_table::tests::vertical_scrolling_with_navigation ... ok [INFO] [stdout] test widget::diff_view::tests::all_added_old_empty ... ok [INFO] [stdout] test widget::diff_view::tests::all_removed_new_empty ... ok [INFO] [stdout] test widget::diff_view::tests::create_diff_view ... ok [INFO] [stdout] test widget::diff_view::tests::empty_diff_identical_texts ... ok [INFO] [stdout] test widget::diff_view::tests::home_end ... ok [INFO] [stdout] test widget::diff_view::tests::border_rendering ... ok [INFO] [stdout] test widget::diff_view::tests::mixed_changes ... ok [INFO] [stdout] test widget::diff_view::tests::page_up_down ... ok [INFO] [stdout] test widget::data_table::tests::sort_descending_indicator ... ok [INFO] [stdout] test widget::data_table::tests::sort_indicator_in_header ... ok [INFO] [stdout] test widget::data_table::tests::sort_toggle_descending ... ok [INFO] [stdout] test widget::diff_view::tests::render_side_by_side_mode ... ok [INFO] [stdout] test widget::diff_view::tests::render_unified_mode ... ok [INFO] [stdout] test widget::data_table::tests::unhandled_event_ignored ... ok [INFO] [stdout] test widget::diff_view::tests::scroll_up_down ... ok [INFO] [stdout] test widget::diff_view::tests::side_by_side_pairs ... ok [INFO] [stdout] test widget::diff_view::tests::set_texts_recomputes ... ok [INFO] [stdout] test widget::diff_view::tests::toggle_mode_with_m ... ok [INFO] [stdout] test widget::diff_view::tests::unified_prefixes ... ok [INFO] [stdout] test widget::directory_tree::tests::error_on_nonexistent_path ... ok [INFO] [stdout] test widget::form_controls::tests::checkbox_default_unchecked ... ok [INFO] [stdout] test widget::form_controls::tests::checkbox_render_checked ... ok [INFO] [stdout] test widget::form_controls::tests::checkbox_render_unchecked ... ok [INFO] [stdout] test widget::diff_view::tests::utf8_safe_diff ... ok [INFO] [stdout] test widget::form_controls::tests::all_single_line_rendering ... ok [INFO] [stdout] test widget::form_controls::tests::checkbox_set_checked ... ok [INFO] [stdout] test widget::form_controls::tests::radio_default_unselected ... ok [INFO] [stdout] test widget::form_controls::tests::radio_enter_selects ... ok [INFO] [stdout] test widget::form_controls::tests::radio_render_selected ... ok [INFO] [stdout] test widget::form_controls::tests::checkbox_space_toggles ... ok [INFO] [stdout] test widget::form_controls::tests::checkbox_toggle ... ok [INFO] [stdout] test widget::form_controls::tests::radio_select_deselect ... ok [INFO] [stdout] test widget::form_controls::tests::radio_render_unselected ... ok [INFO] [stdout] test widget::form_controls::tests::switch_custom_indicators ... ok [INFO] [stdout] test widget::form_controls::tests::switch_default_off ... ok [INFO] [stdout] test widget::form_controls::tests::switch_space_toggles ... ok [INFO] [stdout] test widget::form_controls::tests::switch_toggle ... ok [INFO] [stdout] test widget::form_controls::tests::switch_render_off ... ok [INFO] [stdout] test widget::form_controls::tests::switch_set_state ... ok [INFO] [stdout] test widget::form_controls::tests::switch_render_on ... ok [INFO] [stdout] test widget::label::tests::label_empty_area ... ok [INFO] [stdout] test widget::label::tests::label_renders_center_aligned ... ok [INFO] [stdout] test widget::label::tests::label_renders_left_aligned ... ok [INFO] [stdout] test widget::label::tests::label_renders_right_aligned ... ok [INFO] [stdout] test widget::label::tests::label_set_text ... ok [INFO] [stdout] test widget::form_controls::tests::unhandled_event_ignored ... ok [INFO] [stdout] test widget::loading_indicator::tests::create_default ... ok [INFO] [stdout] test widget::label::tests::label_with_style ... ok [INFO] [stdout] test widget::label::tests::label_truncates_with_ellipsis ... ok [INFO] [stdout] test widget::loading_indicator::tests::default_trait ... ok [INFO] [stdout] test widget::loading_indicator::tests::frame_wraps_at_end ... ok [INFO] [stdout] test widget::loading_indicator::tests::message_displayed ... ok [INFO] [stdout] test widget::loading_indicator::tests::reset_returns_to_zero ... ok [INFO] [stdout] test widget::loading_indicator::tests::render_at_different_frames ... ok [INFO] [stdout] test widget::loading_indicator::tests::style_applied ... ok [INFO] [stdout] test widget::loading_indicator::tests::zero_area_no_panic ... ok [INFO] [stdout] test widget::loading_indicator::tests::tick_advances_frame ... ok [INFO] [stdout] test widget::directory_tree::tests::empty_directory_expands_to_no_children ... ok [INFO] [stdout] test widget::markdown::tests::bold_italic_styled ... ok [INFO] [stdout] test widget::markdown::tests::clear_resets ... ok [INFO] [stdout] test widget::markdown::tests::empty_input ... ok [INFO] [stdout] test widget::markdown::tests::code_block_rendered ... ok [INFO] [stdout] test widget::directory_tree::tests::directories_sorted_before_files ... ok [INFO] [stdout] test widget::directory_tree::tests::error_on_file_path ... ok [INFO] [stdout] test widget::loading_indicator::tests::each_indicator_style ... ok [INFO] [stdout] test widget::loading_indicator::tests::no_message_indicator_only ... ok [INFO] [stdout] test widget::directory_tree::tests::create_directory_tree ... ok [INFO] [stdout] test widget::markdown::tests::heading_styles ... ok [INFO] [stdout] test widget::markdown::tests::incremental_push_str ... ok [INFO] [stdout] test widget::markdown::tests::list_items_with_markers ... ok [INFO] [stdout] test widget::markdown::tests::mixed_content ... ok [INFO] [stdout] test widget::modal::tests::body_content_inside_border ... ok [INFO] [stdout] test widget::markdown::tests::plain_text_renders ... ok [INFO] [stdout] test widget::modal::tests::custom_border_style ... ok [INFO] [stdout] test widget::modal::tests::bottom_border_correct ... ok [INFO] [stdout] test widget::modal::tests::empty_body_border_only ... ok [INFO] [stdout] test widget::markdown::tests::width_wrapping ... ok [INFO] [stdout] test widget::modal::tests::new_modal_defaults ... ok [INFO] [stdout] test widget::markdown::tests::inline_code_styled ... ok [INFO] [stdout] test widget::modal::tests::overlay_config_centered_with_dim ... ok [INFO] [stdout] test widget::option_list::tests::border_rendering ... ok [INFO] [stdout] test widget::modal::tests::render_to_lines_correct_count ... ok [INFO] [stdout] test widget::modal::tests::style_applied ... ok [INFO] [stdout] test widget::modal::tests::title_in_top_border ... ok [INFO] [stdout] test widget::modal::tests::too_small_modal_returns_empty ... ok [INFO] [stdout] test widget::option_list::tests::custom_prefix ... ok [INFO] [stdout] test widget::option_list::tests::enter_consumed ... ok [INFO] [stdout] test widget::option_list::tests::create_with_options ... ok [INFO] [stdout] test widget::option_list::tests::home_end_navigation ... ok [INFO] [stdout] test widget::option_list::tests::navigate_up_down ... ok [INFO] [stdout] test widget::option_list::tests::render_highlights_selected ... ok [INFO] [stdout] test widget::option_list::tests::set_options_resets_selection ... ok [INFO] [stdout] test widget::option_list::tests::single_option ... ok [INFO] [stdout] test widget::option_list::tests::set_selected_clamped ... ok [INFO] [stdout] test widget::option_list::tests::selected_option_text ... ok [INFO] [stdout] test widget::progress_bar::tests::border_rendering ... ok [INFO] [stdout] test widget::progress_bar::tests::create_determinate_full ... ok [INFO] [stdout] test widget::directory_tree::tests::lazy_load_expand_directory ... ok [INFO] [stdout] test widget::progress_bar::tests::indeterminate_renders ... ok [INFO] [stdout] test widget::progress_bar::tests::indeterminate_mode ... ok [INFO] [stdout] test widget::progress_bar::tests::percentage_label_shown ... ok [INFO] [stdout] test widget::progress_bar::tests::render_determinate_full ... ok [INFO] [stdout] test widget::progress_bar::tests::create_determinate_zero ... ok [INFO] [stdout] test widget::progress_bar::tests::progress_clamped ... ok [INFO] [stdout] test widget::option_list::tests::empty_list ... ok [INFO] [stdout] test widget::rich_log::tests::auto_scroll_on_push ... ok [INFO] [stdout] test widget::progress_bar::tests::create_determinate_half ... ok [INFO] [stdout] test widget::progress_bar::tests::set_progress_updates ... ok [INFO] [stdout] test widget::directory_tree::tests::render_directory_tree ... ok [INFO] [stdout] test widget::directory_tree::tests::border_rendering ... ok [INFO] [stdout] test widget::directory_tree::tests::show_hidden_files ... ok [INFO] [stdout] test widget::directory_tree::tests::selected_path_retrieval ... ok [INFO] [stdout] test widget::progress_bar::tests::tick_advances_indeterminate ... ok [INFO] [stdout] test widget::progress_bar::tests::render_determinate_half ... ok [INFO] [stdout] test widget::directory_tree::tests::navigate_and_expand_nested ... ok [INFO] [stdout] test widget::rich_log::tests::builder_pattern ... ok [INFO] [stdout] test widget::directory_tree::tests::hidden_files_filtered_by_default ... ok [INFO] [stdout] test widget::rich_log::tests::clear_resets ... ok [INFO] [stdout] test widget::rich_log::tests::empty_log_keyboard_events_graceful ... ok [INFO] [stdout] test widget::rich_log::tests::manual_scroll_disables_auto_scroll ... ok [INFO] [stdout] test widget::rich_log::tests::new_log_is_empty ... ok [INFO] [stdout] test widget::rich_log::tests::overflow_truncation ... ok [INFO] [stdout] test widget::rich_log::tests::push_adds_entries ... ok [INFO] [stdout] test widget::rich_log::tests::push_text_convenience ... ok [INFO] [stdout] test widget::rich_log::tests::default_matches_new ... ok [INFO] [stdout] test widget::rich_log::tests::keyboard_navigation ... ok [INFO] [stdout] test widget::rich_log::tests::render_with_multi_segment_entries ... ok [INFO] [stdout] test widget::rich_log::tests::render_with_entries ... ok [INFO] [stdout] test widget::rich_log::tests::scroll_operations ... ok [INFO] [stdout] test widget::rich_log::tests::unhandled_event_returns_ignored ... ok [INFO] [stdout] test widget::rich_log::tests::utf8_safety_wide_chars ... ok [INFO] [stdout] test widget::select_list::tests::builder_pattern_chaining ... ok [INFO] [stdout] test widget::select_list::tests::backspace_removes_filter_chars ... ok [INFO] [stdout] test widget::select_list::tests::empty_list_handles_events_gracefully ... ok [INFO] [stdout] test widget::select_list::tests::char_input_triggers_filter_update ... ok [INFO] [stdout] test widget::select_list::tests::empty_query_shows_all_items ... ok [INFO] [stdout] test widget::select_list::tests::clear_filter_restores_full_list ... ok [INFO] [stdout] test widget::select_list::tests::enter_on_filtered_list_selects_correct_item ... ok [INFO] [stdout] test widget::select_list::tests::enter_triggers_on_select ... ok [INFO] [stdout] test widget::select_list::tests::fuzzy_matching_works ... ok [INFO] [stdout] test widget::select_list::tests::filter_with_custom_search_fn ... ok [INFO] [stdout] test widget::select_list::tests::keyboard_navigation_up_down ... ok [INFO] [stdout] test widget::select_list::tests::keyboard_home_end ... ok [INFO] [stdout] test widget::select_list::tests::items_accessor ... ok [INFO] [stdout] test widget::rich_log::tests::render_with_border ... ok [INFO] [stdout] test widget::select_list::tests::custom_render_fn ... ok [INFO] [stdout] test widget::select_list::tests::esc_clears_and_disables_filter ... ok [INFO] [stdout] test widget::select_list::tests::keyboard_page_up_down ... ok [INFO] [stdout] test widget::select_list::tests::move_selection_positive_and_negative ... ok [INFO] [stdout] test widget::select_list::tests::new_list_with_items ... ok [INFO] [stdout] test widget::select_list::tests::navigation_on_filtered_list ... ok [INFO] [stdout] test widget::select_list::tests::render_empty_list ... ok [INFO] [stdout] test widget::rich_log::tests::render_empty_log ... ok [INFO] [stdout] test widget::select_list::tests::empty_list ... ok [INFO] [stdout] test widget::select_list::tests::render_filtered_list_shows_only_matches ... ok [INFO] [stdout] test widget::select_list::tests::no_matches_empty_filtered_list ... ok [INFO] [stdout] test widget::select_list::tests::render_with_border ... ok [INFO] [stdout] test widget::select_list::tests::render_with_items ... ok [INFO] [stdout] test widget::select_list::tests::selected_item_access ... ok [INFO] [stdout] test widget::select_list::tests::set_items_resets_selection ... ok [INFO] [stdout] test widget::select_list::tests::render_selected_item_highlighted ... ok [INFO] [stdout] test widget::select_list::tests::set_selected_clamps ... ok [INFO] [stdout] test widget::select_list::tests::unhandled_event_returns_ignored ... ok [INFO] [stdout] test widget::select_list::tests::scroll_offset_adjusted_when_selection_out_of_view ... ok [INFO] [stdout] test widget::select_list::tests::utf8_wide_chars_in_items ... ok [INFO] [stdout] test widget::select_list::tests::set_filter_query_updates_indices ... ok [INFO] [stdout] test widget::select_list::tests::selected_index_operates_on_filtered_list ... ok [INFO] [stdout] test widget::select_list::tests::utf8_safe_query_input ... ok [INFO] [stdout] test widget::select_list::tests::render_with_selected_style_applies_color ... ok [INFO] [stdout] test widget::sparkline::tests::empty_renders_blank ... ok [INFO] [stdout] test widget::sparkline::tests::clear_removes_all ... ok [INFO] [stdout] test widget::sparkline::tests::negative_values ... ok [INFO] [stdout] test widget::sparkline::tests::push_drops_oldest ... ok [INFO] [stdout] test widget::sparkline::tests::render_bars ... ok [INFO] [stdout] test widget::sparkline::tests::scaling ... ok [INFO] [stdout] test widget::sparkline::tests::single_data_point ... ok [INFO] [stdout] test widget::sparkline::tests::create_with_data ... ok [INFO] [stdout] test widget::sparkline::tests::zero_values ... ok [INFO] [stdout] test widget::static_widget::tests::empty_area ... ok [INFO] [stdout] test widget::sparkline::tests::set_data_replaces ... ok [INFO] [stdout] test widget::sparkline::tests::custom_style_applied ... ok [INFO] [stdout] test widget::static_widget::tests::multi_line ... ok [INFO] [stdout] test widget::sparkline::tests::max_width_respected ... ok [INFO] [stdout] test widget::static_widget::tests::truncates_to_area_height ... ok [INFO] [stdout] test widget::tabs::tests::active_tab_content ... ok [INFO] [stdout] test widget::static_widget::tests::truncates_to_area_width ... ok [INFO] [stdout] test widget::tabs::tests::add_tab ... ok [INFO] [stdout] test widget::tabs::tests::close_closable_tab ... ok [INFO] [stdout] test widget::static_widget::tests::styled_segment ... ok [INFO] [stdout] test widget::tabs::tests::ctrl_w_closes_active_tab ... ok [INFO] [stdout] test widget::tabs::tests::non_closable_tab_ignores_close ... ok [INFO] [stdout] test widget::tabs::tests::border_rendering ... ok [INFO] [stdout] test widget::select_list::tests::enable_disable_filter ... ok [INFO] [stdout] test widget::tabs::tests::create_with_multiple_tabs ... ok [INFO] [stdout] test widget::tabs::tests::render_tab_bar_at_top ... ok [INFO] [stdout] test widget::tabs::tests::empty_tabs_list ... ok [INFO] [stdout] test widget::tabs::tests::single_tab ... ok [INFO] [stdout] test widget::static_widget::tests::single_line ... ok [INFO] [stdout] test widget::tabs::tests::tab_key_navigation ... ok [INFO] [stdout] test widget::tabs::tests::render_tab_bar_at_bottom ... ok [INFO] [stdout] test widget::tabs::tests::unhandled_event_ignored ... ok [INFO] [stdout] test widget::tabs::tests::set_active_tab_clamping ... ok [INFO] [stdout] test widget::tests::empty_widgets_render_safely ... ok [INFO] [stdout] test widget::tabs::tests::utf8_safe_tab_labels ... ok [INFO] [stdout] test widget::tests::border_consistency ... ok [INFO] [stdout] test widget::tabs::tests::switch_tabs_left_right ... ok [INFO] [stdout] test widget::tests::collapsible_with_option_list ... ok [INFO] [stdout] test widget::tests::form_controls_group_radio_selection ... ok [INFO] [stdout] test widget::tests::animated_widgets_tick ... ok [INFO] [stdout] test widget::tests::modal_pushed_to_screen_stack ... ok [INFO] [stdout] test widget::tests::mock_widget_renders ... ok [INFO] [stdout] test widget::tests::event_consumption_correctness ... ok [INFO] [stdout] test widget::tests::multiple_overlay_types_in_stack ... ok [INFO] [stdout] test widget::tests::sparkline_live_data_push ... ok [INFO] [stdout] test widget::tests::style_propagation ... ok [INFO] [stdout] test widget::tests::modal_create_and_render ... ok [INFO] [stdout] test widget::tests::tabs_with_progress_bar_content ... ok [INFO] [stdout] test widget::tests::toast_create_and_render ... ok [INFO] [stdout] test widget::tests::zero_size_area_no_panic ... ok [INFO] [stdout] test widget::tests::event_result_equality ... ok [INFO] [stdout] test widget::text_area::tests::cursor_visible_at_position ... ok [INFO] [stdout] test widget::text_area::tests::backspace_at_start_joins_lines ... ok [INFO] [stdout] test widget::text_area::tests::ensure_cursor_visible_scrolls_down ... ok [INFO] [stdout] test widget::text_area::tests::delete_at_end_joins_lines ... ok [INFO] [stdout] test widget::text_area::tests::ensure_cursor_visible_scrolls_up ... ok [INFO] [stdout] test widget::text_area::tests::empty_textarea_renders ... ok [INFO] [stdout] test widget::tests::tooltip_create_and_render ... ok [INFO] [stdout] test widget::tests::toast_pushed_to_screen_stack ... ok [INFO] [stdout] test widget::text_area::tests::enter_splits_line ... ok [INFO] [stdout] test widget::text_area::tests::handle_event_char_input ... ok [INFO] [stdout] test widget::text_area::tests::handle_event_ctrl_z_undoes ... ok [INFO] [stdout] test widget::tests::utf8_across_all_widgets ... ok [INFO] [stdout] test widget::text_area::tests::scroll_offset_hides_top_lines ... ok [INFO] [stdout] test widget::text_area::tests::line_numbers_displayed ... ok [INFO] [stdout] test widget::text_area::tests::soft_wrap_splits_long_line ... ok [INFO] [stdout] test widget::text_area::tests::undo_reverses_insert ... ok [INFO] [stdout] test widget::toast::tests::bottom_left_position ... ok [INFO] [stdout] test widget::toast::tests::bottom_right_position ... ok [INFO] [stdout] test widget::text_area::tests::text_renders_correctly ... ok [INFO] [stdout] test widget::toast::tests::new_toast_defaults ... ok [INFO] [stdout] test widget::toast::tests::custom_width_respected ... ok [INFO] [stdout] test widget::toast::tests::no_dim_background ... ok [INFO] [stdout] test widget::text_area::tests::insert_char_updates_buffer_and_cursor ... ok [INFO] [stdout] test widget::tooltip::tests::below_flips_to_above_at_bottom_edge ... ok [INFO] [stdout] test widget::toast::tests::top_left_position ... ok [INFO] [stdout] test widget::tooltip::tests::default_placement_is_below ... ok [INFO] [stdout] test widget::tooltip::tests::overlay_config_no_dim ... ok [INFO] [stdout] test widget::tooltip::tests::left_flips_to_right_at_left_edge ... ok [INFO] [stdout] test widget::tooltip::tests::right_flips_to_left_at_right_edge ... ok [INFO] [stdout] test widget::tooltip::tests::style_preserved ... ok [INFO] [stdout] test widget::tooltip::tests::tooltip_above_anchor ... ok [INFO] [stdout] test widget::text_area::tests::redo_reapplies ... ok [INFO] [stdout] test widget::text_area::tests::selection_delete_removes_text ... ok [INFO] [stdout] test widget::toast::tests::render_to_lines_produces_content ... ok [INFO] [stdout] test widget::text_area::tests::insert_at_middle_of_line ... ok [INFO] [stdout] test widget::toast::tests::top_right_position ... ok [INFO] [stdout] test widget::tooltip::tests::above_flips_to_below_at_top_edge ... ok [INFO] [stdout] test widget::toast::tests::toast_style_applied ... ok [INFO] [stdout] test widget::tooltip::tests::tooltip_right_of_anchor ... ok [INFO] [stdout] test widget::tree::tests::empty_tree ... ok [INFO] [stdout] test widget::tree::tests::collapse_node_hides_children ... ok [INFO] [stdout] test widget::tree::tests::enter_toggles ... ok [INFO] [stdout] test widget::tree::tests::lazy_load_on_expand ... ok [INFO] [stdout] test widget::tree::tests::expand_node_children_visible ... ok [INFO] [stdout] test widget::tooltip::tests::tooltip_below_anchor ... ok [INFO] [stdout] test widget::tooltip::tests::tooltip_left_of_anchor ... ok [INFO] [stdout] test widget::tree::tests::mixed_expanded_collapsed ... ok [INFO] [stdout] test widget::tree::tests::left_key_collapses ... ok [INFO] [stdout] test widget::tree::tests::navigate_visible_nodes ... ok [INFO] [stdout] test widget::tree::tests::render_collapsed_tree_only_roots ... ok [INFO] [stdout] test widget::tree::tests::create_tree_with_nodes ... ok [INFO] [stdout] test widget::tree::tests::deep_tree_multiple_levels ... ok [INFO] [stdout] test widget::tree::tests::render_with_border ... ok [INFO] [stdout] test widget::tooltip::tests::tooltip_text_renders ... ok [INFO] [stdout] test wrap::tests::exact_width_no_wrap ... ok [INFO] [stdout] test wrap::tests::line_number_width_medium ... ok [INFO] [stdout] test widget::tree::tests::right_key_expands ... ok [INFO] [stdout] test wrap::tests::line_number_width_small ... ok [INFO] [stdout] test widget::tree::tests::selected_node_retrieval ... ok [INFO] [stdout] test wrap::tests::line_number_width_zero ... ok [INFO] [stdout] test wrap::tests::mixed_content ... ok [INFO] [stdout] test wrap::tests::overflow_by_one_char ... ok [INFO] [stdout] test wrap::tests::short_line_no_wrap ... ok [INFO] [stdout] test wrap::tests::long_word_break ... ok [INFO] [stdout] test wrap::tests::single_char_line ... ok [INFO] [stdout] test widget::tree::tests::utf8_safe_node_labels ... ok [INFO] [stdout] test wrap::tests::cjk_characters_width_2 ... ok [INFO] [stdout] test wrap::tests::empty_line ... ok [INFO] [stdout] test wrap::tests::wrap_result_line_number_width ... ok [INFO] [stderr] Running tests/app_runtime.rs (/opt/rustwide/target/debug/deps/app_runtime-cd9134bfdae7cf52) [INFO] [stdout] test wrap::tests::word_wrap ... ok [INFO] [stdout] test wrap::tests::wrap_buffer_multiline ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1390 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stderr] Running tests/ci_integration.rs (/opt/rustwide/target/debug/deps/ci_integration-d3498bf18e7b2c44) [INFO] [stdout] test query_ignores_detached_nodes_and_preserves_dom_order ... ok [INFO] [stdout] test actions_keybinding_dispatches_app_action ... ok [INFO] [stdout] test mount_updates_layout_rects ... ok [INFO] [stdout] test query_supports_sibling_combinators ... ok [INFO] [stdout] test remove_subtree_unmounts_widgets ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test color_is_clone_and_partialeq ... ok [INFO] [stdout] test event_types_exist ... ok [INFO] [stdout] test cell_is_clone ... ok [INFO] [stdout] test error_type_traits ... ok [INFO] [stdout] test geometry_types_are_copy ... ok [INFO] [stdout] test public_reexports_accessible ... ok [INFO] [stdout] test segment_is_clone ... ok [INFO] [stdout] test style_is_clone_and_default ... ok [INFO] [stdout] test workspace_version_consistency ... ok [INFO] [stdout] test screen_buffer_constructable ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/proptest_css.rs (/opt/rustwide/target/debug/deps/proptest_css-94d4659187163161) [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stdout] test length_auto_roundtrip ... ok [INFO] [stdout] test random_percentages_dont_panic ... ok [INFO] [stdout] test random_property_values_dont_panic ... ok [INFO] [stdout] test random_lengths_dont_panic ... ok [INFO] [stdout] test random_hex_colors_dont_panic ... ok [INFO] [stdout] test roundtrip_hex_color ... ok [INFO] [stdout] test random_selectors_dont_panic ... ok [INFO] [stdout] test random_named_colors_parse_or_error ... ok [INFO] [stdout] test random_keywords_dont_panic ... ok [INFO] [stdout] test random_variable_definitions_dont_panic ... ok [INFO] [stdout] test random_variable_references_parse ... ok [INFO] [stdout] test random_variable_names_resolve_or_none ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s [INFO] [stdout] [INFO] [stderr] Running tests/proptest_layout.rs (/opt/rustwide/target/debug/deps/proptest_layout-a6f22c8e2507789f) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test flexbox_random_children_nonnegative_sizes ... ok [INFO] [stdout] test overflow_hidden_children_within_bounds ... ok [INFO] [stdout] test random_container_sizes_valid ... ok [INFO] [stdout] test box_model_padding_correct_sizes ... ok [INFO] [stdout] test grid_random_columns_valid_layout ... ok [INFO] [stdout] test flexbox_random_flex_no_overlap ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s [INFO] [stdout] [INFO] [stderr] Running tests/snapshot_basic.rs (/opt/rustwide/target/debug/deps/snapshot_basic-32c8da18183fff6f) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test snapshot_static_widget ... ok [INFO] [stdout] test snapshot_container_empty ... ok [INFO] [stdout] test snapshot_label_long ... ok [INFO] [stdout] test snapshot_label_empty ... ok [INFO] [stdout] test snapshot_label_short ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stderr] Running tests/snapshot_data_widgets.rs (/opt/rustwide/target/debug/deps/snapshot_data_widgets-352e5cd90ee69f7c) [INFO] [stdout] [INFO] [stdout] running 14 tests [INFO] [stdout] test snapshot_datatable_empty ... ok [INFO] [stdout] test snapshot_diffview_additions ... ok [INFO] [stdout] test snapshot_diffview_deletions ... ok [INFO] [stdout] test snapshot_diffview_unified ... ok [INFO] [stdout] test snapshot_richlog_with_entries ... ok [INFO] [stdout] test snapshot_richlog_styled_entries ... ok [INFO] [stdout] test snapshot_datatable_with_selection ... ok [INFO] [stdout] test snapshot_tree_collapsed ... ok [INFO] [stdout] test snapshot_selectlist_with_selection ... ok [INFO] [stdout] test snapshot_selectlist_items ... ok [INFO] [stdout] test snapshot_tree_nested ... ok [INFO] [stdout] test snapshot_richlog_empty ... ok [INFO] [stdout] test snapshot_datatable_basic ... ok [INFO] [stdout] test snapshot_tree_expanded ... ok [INFO] [stdout] [INFO] [stderr] Running tests/snapshot_helpers.rs (/opt/rustwide/target/debug/deps/snapshot_helpers-ee8c3fdee19554be) [INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [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/snapshot_text_widgets.rs (/opt/rustwide/target/debug/deps/snapshot_text_widgets-e9eb3c206a2eff9b) [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stdout] test snapshot_markdown_list ... ok [INFO] [stdout] test snapshot_markdown_heading ... ok [INFO] [stdout] test snapshot_markdown_code_block ... ok [INFO] [stdout] test snapshot_markdown_bold_italic ... ok [INFO] [stdout] test snapshot_textarea_empty ... ok [INFO] [stdout] test snapshot_textarea_cursor ... ok [INFO] [stdout] test snapshot_textarea_line_numbers ... ok [INFO] [stdout] test snapshot_textarea_single_line ... ok [INFO] [stdout] test snapshot_textarea_multiline ... ok [INFO] [stdout] test snapshot_markdown_link ... ok [INFO] [stdout] test snapshot_markdown_mixed ... ok [INFO] [stdout] test snapshot_textarea_word_wrap ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Running tests/snapshot_ui_widgets.rs (/opt/rustwide/target/debug/deps/snapshot_ui_widgets-5271a31c63643333) [INFO] [stdout] running 23 tests [INFO] [stdout] test snapshot_checkbox_checked ... ok [INFO] [stdout] test snapshot_checkbox_unchecked ... ok [INFO] [stdout] test snapshot_collapsible_collapsed ... ok [INFO] [stdout] test snapshot_loading_indicator_spinner ... ok [INFO] [stdout] test snapshot_loading_indicator_line ... ok [INFO] [stdout] test snapshot_collapsible_expanded ... ok [INFO] [stdout] test snapshot_loading_indicator_circle ... ok [INFO] [stdout] test snapshot_progress_bar_0_percent ... ok [INFO] [stdout] test snapshot_option_list_basic ... ok [INFO] [stdout] test snapshot_sparkline_flat ... ok [INFO] [stdout] test snapshot_progress_bar_100_percent ... ok [INFO] [stdout] test snapshot_progress_bar_50_percent ... ok [INFO] [stdout] test snapshot_sparkline_increasing ... ok [INFO] [stdout] test snapshot_sparkline_wave ... ok [INFO] [stdout] test snapshot_switch_on ... ok [INFO] [stdout] test snapshot_tabs_multiple_tabs ... ok [INFO] [stdout] test snapshot_tabs_two_tabs_first_selected ... ok [INFO] [stdout] test snapshot_switch_off ... ok [INFO] [stdout] test snapshot_progress_bar_indeterminate ... ok [INFO] [stdout] test snapshot_loading_indicator_dots ... ok [INFO] [stdout] test snapshot_option_list_with_prefix ... ok [INFO] [stdout] test snapshot_radio_button_selected ... ok [INFO] [stdout] test snapshot_radio_button_unselected ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stderr] Running tests/terminal_compat.rs (/opt/rustwide/target/debug/deps/terminal_compat-23948dbc83c8fb68) [INFO] [stdout] [INFO] [stdout] running 21 tests [INFO] [stdout] test test_alacritty_capabilities ... ok [INFO] [stderr] Running tests/terminal_integration.rs (/opt/rustwide/target/debug/deps/terminal_integration-d0f4a17d422fdf80) [INFO] [stdout] test test_kitty_capabilities_with_keyboard_protocol ... ok [INFO] [stdout] test test_iterm2_capabilities ... ok [INFO] [stdout] test test_kitty_keyboard_runtime_detection ... ok [INFO] [stdout] test test_multiplexer_limits_override_runtime_detection ... ok [INFO] [stdout] test test_runtime_detection_upgrades_unknown_terminal ... ok [INFO] [stdout] test test_no_color_environment_variable ... ok [INFO] [stdout] test test_screen_capability_limits ... ok [INFO] [stdout] test test_screen_passthrough_wrapping ... ok [INFO] [stdout] test test_screen_preserves_256_color ... ok [INFO] [stdout] test test_partial_query_success ... ok [INFO] [stdout] test test_terminal_app_limited_capabilities ... ok [INFO] [stdout] test test_tmux_capability_limits ... ok [INFO] [stdout] test test_vte_terminal_profile ... ok [INFO] [stdout] test test_wezterm_capabilities ... ok [INFO] [stdout] test test_windows_terminal_profile ... ok [INFO] [stdout] test test_xterm_profile ... ok [INFO] [stdout] test test_zellij_transparency ... ok [INFO] [stdout] test test_tmux_passthrough_wrapping ... ok [INFO] [stdout] test test_unknown_terminal_conservative_profile ... ok [INFO] [stdout] test test_nested_multiplexer_scenarios ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stderr] Running tests/theme_integration.rs (/opt/rustwide/target/debug/deps/theme_integration-22957a122c145e3f) [INFO] [stdout] test test_capability_override_works ... ok [INFO] [stdout] test test_detection_upgrades_conservative_defaults ... ok [INFO] [stdout] test test_combined_sgr_with_color_downgrade ... ok [INFO] [stdout] test test_color_downgrade_chain ... ok [INFO] [stdout] test test_end_to_end_tmux_scenario ... ok [INFO] [stdout] test test_multiplexer_wrapping_valid_output ... ok [INFO] [stdout] test test_partial_query_success ... ok [INFO] [stdout] test test_multiplexer_limits_applied ... ok [INFO] [stdout] test test_static_profiles_correctness ... ok [INFO] [stdout] test test_full_render_cycle_with_capabilities ... ok [INFO] [stdout] test test_rendering_respects_capability_limits ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 13 tests [INFO] [stdout] test all_themes_have_minimum_variables ... ok [INFO] [stdout] test apply_theme_colors_to_variables ... ok [INFO] [stdout] test custom_theme_registration ... ok [INFO] [stdout] test theme_registration_is_idempotent ... ok [INFO] [stdout] test default_theme_manager_has_all_builtins ... ok [INFO] [stdout] test theme_removal_and_active_management ... ok [INFO] [stdout] test light_vs_dark_variant_detection ... ok [INFO] [stdout] test register_and_retrieve_all_builtin_themes ... ok [INFO] [stdout] test theme_manager_list_operations ... ok [INFO] [stdout] test variable_environment_layering_with_themes ... ok [INFO] [stdout] test register_all_themes_function ... ok [INFO] [stdout] test theme_color_slot_access ... ok [INFO] [stdout] test theme_switching_at_runtime ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Doc-tests saorsa_tui [INFO] [stdout] [INFO] [stdout] running 17 tests [INFO] [stdout] test src/reactive/batch.rs - reactive::batch::batch (line 59) ... ignored [INFO] [stdout] test src/reactive/binding.rs - reactive::binding::BindingExpression (line 277) ... ignored [INFO] [stdout] test src/reactive/binding.rs - reactive::binding::BindingScope (line 370) ... ignored [INFO] [stdout] test src/reactive/binding.rs - reactive::binding::OneWayBinding (line 98) ... ignored [INFO] [stdout] test src/reactive/binding.rs - reactive::binding::TwoWayBinding (line 178) ... ignored [INFO] [stdout] test src/reactive/computed.rs - reactive::computed::Computed (line 21) ... ignored [INFO] [stdout] test src/reactive/effect.rs - reactive::effect::Effect (line 22) ... ignored [INFO] [stdout] test src/reactive/scope.rs - reactive::scope::ReactiveScope (line 19) ... ignored [INFO] [stdout] test src/reactive/signal.rs - reactive::signal::Signal (line 29) ... ignored [INFO] [stdout] test src/terminal/query.rs - terminal::query::detect_capabilities (line 225) ... ok [INFO] [stdout] test src/terminal/multiplexer.rs - terminal::multiplexer::wrap_sequence (line 80) ... ok [INFO] [stdout] test src/terminal/profiles.rs - terminal::profiles::merge_multiplexer_limits (line 121) ... ok [INFO] [stdout] test src/compositor/compose.rs - compositor::compose::compose_line (line 24) ... ok [INFO] [stdout] test src/compositor/cuts.rs - compositor::cuts::find_cuts (line 21) ... ok [INFO] [stdout] test src/terminal.rs - terminal (line 69) ... ok [INFO] [stdout] test src/terminal.rs - terminal (line 44) ... ok [INFO] [stdout] test src/terminal.rs - terminal (line 91) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 9 ignored; 0 measured; 0 filtered out; finished in 0.10s [INFO] [stdout] [INFO] [stdout] all doctests ran in 1.06s; merged doctests compilation took 0.92s [INFO] running `Command { std: "docker" "inspect" "f8d80e4f6d57545d80e9cca49963dfa2d1f3eedefcffb0d88555687b9038c30a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f8d80e4f6d57545d80e9cca49963dfa2d1f3eedefcffb0d88555687b9038c30a", kill_on_drop: false }` [INFO] [stdout] f8d80e4f6d57545d80e9cca49963dfa2d1f3eedefcffb0d88555687b9038c30a