[INFO] fetching crate ftui-core 0.2.1... [INFO] testing ftui-core-0.2.1 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-1 [INFO] extracting crate ftui-core 0.2.1 into /workspace/builds/worker-5-tc2/source [INFO] started tweaking crates.io crate ftui-core 0.2.1 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate ftui-core 0.2.1 [INFO] tweaked toml for crates.io crate ftui-core 0.2.1 written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate ftui-core 0.2.1 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 ftui-core 0.2.1 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-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] bbc457e584baee80aef120f19bf3f1a8cde15946da88e9c380f8015bc6d450ca [INFO] running `Command { std: "docker" "start" "-a" "bbc457e584baee80aef120f19bf3f1a8cde15946da88e9c380f8015bc6d450ca", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "bbc457e584baee80aef120f19bf3f1a8cde15946da88e9c380f8015bc6d450ca", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bbc457e584baee80aef120f19bf3f1a8cde15946da88e9c380f8015bc6d450ca", kill_on_drop: false }` [INFO] [stdout] bbc457e584baee80aef120f19bf3f1a8cde15946da88e9c380f8015bc6d450ca [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 55206868be1567e71a77bdbf5fd0a640249668d909b1d5478ea5a2f45d5c4491 [INFO] running `Command { std: "docker" "start" "-a" "55206868be1567e71a77bdbf5fd0a640249668d909b1d5478ea5a2f45d5c4491", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.180 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling signal-hook v0.4.3 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling web-time v1.1.0 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling unicode-display-width v0.3.0 [INFO] [stderr] Compiling arc-swap v1.8.2 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling ftui-core v0.2.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.21s [INFO] running `Command { std: "docker" "inspect" "55206868be1567e71a77bdbf5fd0a640249668d909b1d5478ea5a2f45d5c4491", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "55206868be1567e71a77bdbf5fd0a640249668d909b1d5478ea5a2f45d5c4491", kill_on_drop: false }` [INFO] [stdout] 55206868be1567e71a77bdbf5fd0a640249668d909b1d5478ea5a2f45d5c4491 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 749d3b0476a003cc8ef2113b4ec2416cf0c95a24731b33a34701502d6b220de5 [INFO] running `Command { std: "docker" "start" "-a" "749d3b0476a003cc8ef2113b4ec2416cf0c95a24731b33a34701502d6b220de5", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.180 [INFO] [stderr] Compiling zerocopy v0.8.39 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling regex-syntax v0.8.9 [INFO] [stderr] Compiling cfg_aliases v0.1.1 [INFO] [stderr] Compiling ciborium-io v0.2.2 [INFO] [stderr] Compiling syn v2.0.116 [INFO] [stderr] Compiling clap_builder v4.5.59 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling criterion-plot v0.5.0 [INFO] [stderr] Compiling shell-words v1.1.1 [INFO] [stderr] Compiling unarray v0.1.4 [INFO] [stderr] Compiling anes v0.1.6 [INFO] [stderr] Compiling nix v0.28.0 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling clap v4.5.59 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling is-terminal v0.4.17 [INFO] [stderr] Compiling serial2 v0.2.34 [INFO] [stderr] Compiling tempfile v3.25.0 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling rand_xorshift v0.4.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling rusty-fork v0.3.1 [INFO] [stderr] Compiling zerocopy-derive v0.8.39 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling signal-hook v0.4.3 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling filedescriptor v0.8.3 [INFO] [stderr] Compiling portable-pty v0.9.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling ftui-core v0.2.1 (/opt/rustwide/workdir) [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 47.30s [INFO] running `Command { std: "docker" "inspect" "749d3b0476a003cc8ef2113b4ec2416cf0c95a24731b33a34701502d6b220de5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "749d3b0476a003cc8ef2113b4ec2416cf0c95a24731b33a34701502d6b220de5", kill_on_drop: false }` [INFO] [stdout] 749d3b0476a003cc8ef2113b4ec2416cf0c95a24731b33a34701502d6b220de5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 227bdc93c4fa8b4b049de85da591f17553e3cf690020f54775fd94618e9de89d [INFO] running `Command { std: "docker" "start" "-a" "227bdc93c4fa8b4b049de85da591f17553e3cf690020f54775fd94618e9de89d", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.21s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ftui_core-b65963c23a673ade) [INFO] [stdout] [INFO] [stdout] running 1158 tests [INFO] [stdout] test animation::callbacks::tests::all_events_in_order ... ok [INFO] [stdout] test animation::callbacks::tests::animation_trait_is_complete_delegates ... ok [INFO] [stdout] test animation::callbacks::tests::completed_fires_when_done ... ok [INFO] [stdout] test animation::callbacks::tests::animation_trait_value_delegates ... ok [INFO] [stdout] test animation::callbacks::tests::drain_clears_queue ... ok [INFO] [stdout] test animation::callbacks::tests::debug_format ... ok [INFO] [stdout] test animation::callbacks::tests::inner_mut_access ... ok [INFO] [stdout] test animation::callbacks::tests::overshoot_delegates ... ok [INFO] [stdout] test animation::group::tests::add_remove_add_same_label ... ok [INFO] [stdout] test animation::group::tests::animation_trait_reset ... ok [INFO] [stdout] test animation::callbacks::tests::reset_allows_events_to_fire_again ... ok [INFO] [stdout] test animation::group::tests::animation_trait_value_matches_overall ... ok [INFO] [stdout] test animation::callbacks::tests::started_fires_on_first_tick ... ok [INFO] [stdout] test animation::group::tests::animation_value_empty_is_zero ... ok [INFO] [stdout] test animation::callbacks::tests::progress_threshold_fires_once ... ok [INFO] [stdout] test animation::callbacks::tests::inner_access ... ok [INFO] [stdout] test animation::callbacks::tests::threshold_clamped ... ok [INFO] [stdout] test animation::group::tests::cancel_all_on_empty_no_panic ... ok [INFO] [stdout] test animation::group::tests::cancel_all_resets ... ok [INFO] [stdout] test animation::group::tests::debug_format ... ok [INFO] [stdout] test animation::group::tests::duplicate_label_replaces ... ok [INFO] [stdout] test animation::group::tests::debug_format_includes_progress_and_complete ... ok [INFO] [stdout] test animation::group::tests::default_trait ... ok [INFO] [stdout] test animation::group::tests::get_at_after_removal ... ok [INFO] [stdout] test animation::group::tests::empty_group ... ok [INFO] [stdout] test animation::group::tests::get_at_index ... ok [INFO] [stdout] test animation::group::tests::get_mut_allows_individual_tick ... ok [INFO] [stdout] test animation::group::tests::get_mut_unknown_label_returns_none ... ok [INFO] [stdout] test animation::group::tests::insert_mutating ... ok [INFO] [stdout] test animation::group::tests::get_unknown_label_returns_none ... ok [INFO] [stdout] test animation::group::tests::insert_replaces_existing ... ok [INFO] [stdout] test animation::group::tests::iter_empty_group ... ok [INFO] [stdout] test animation::callbacks::tests::multiple_thresholds ... ok [INFO] [stdout] test animation::group::tests::all_complete_when_all_done ... ok [INFO] [stdout] test animation::group::tests::labels_empty_group ... ok [INFO] [stdout] test animation::group::tests::tick_on_empty_group_no_panic ... ok [INFO] [stdout] test animation::group::tests::labels_iterator ... ok [INFO] [stdout] test animation::presets::tests::cascade_in_empty ... ok [INFO] [stdout] test animation::presets::tests::cascade_in_deterministic ... ok [INFO] [stdout] test animation::group::tests::progress_mixed_complete_and_incomplete ... ok [INFO] [stdout] test animation::presets::tests::cascade_in_multiple_items_staggered ... ok [INFO] [stdout] test animation::group::tests::remove_animation ... ok [INFO] [stdout] test animation::group::tests::reset_on_empty_group_no_panic ... ok [INFO] [stdout] test animation::group::tests::start_all_resets_everything ... ok [INFO] [stdout] test animation::group::tests::three_members_progress ... ok [INFO] [stdout] test animation::group::tests::iter_pairs ... ok [INFO] [stdout] test animation::group::tests::remove_from_empty_group ... ok [INFO] [stdout] test animation::group::tests::overall_progress ... ok [INFO] [stdout] test animation::presets::tests::cascade_out_ends_at_zero ... ok [INFO] [stdout] test animation::group::tests::add_and_tick ... ok [INFO] [stdout] test animation::presets::tests::fan_out_single ... ok [INFO] [stdout] test animation::presets::tests::fan_out_symmetric ... ok [INFO] [stdout] test animation::presets::tests::fade_through_ends_at_one ... ok [INFO] [stdout] test animation::presets::tests::fade_through_midpoint_near_zero ... ok [INFO] [stdout] test animation::presets::tests::fade_through_starts_at_one ... ok [INFO] [stdout] test animation::presets::tests::fan_out_center_starts_first ... ok [INFO] [stdout] test animation::presets::tests::cascade_in_values_increase ... ok [INFO] [stdout] test animation::presets::tests::cascade_in_single_item ... ok [INFO] [stdout] test animation::presets::tests::fan_out_deterministic ... ok [INFO] [stdout] test animation::callbacks::tests::no_events_configured ... ok [INFO] [stdout] test animation::presets::tests::fan_out_empty ... ok [INFO] [stdout] test animation::presets::tests::inverted_fade_ends_at_zero ... ok [INFO] [stdout] test animation::presets::tests::slide_in_right_ends_at_zero ... ok [INFO] [stdout] test animation::presets::tests::inverted_fade_reset ... ok [INFO] [stdout] test animation::presets::tests::slide_in_right_starts_offscreen ... ok [INFO] [stdout] test animation::presets::tests::inverted_fade_starts_at_one ... ok [INFO] [stdout] test animation::presets::tests::typewriter_deterministic ... ok [INFO] [stdout] test animation::presets::tests::pulse_sequence_empty ... ok [INFO] [stdout] test animation::presets::tests::pulse_sequence_peaks_then_returns ... ok [INFO] [stdout] test animation::presets::tests::slide_in_left_starts_offscreen ... ok [INFO] [stdout] test animation::presets::tests::pulse_sequence_items_staggered ... ok [INFO] [stdout] test animation::presets::tests::slide_in_left_ends_at_zero ... ok [INFO] [stdout] test animation::presets::tests::typewriter_ends_at_full ... ok [INFO] [stdout] test animation::group::tests::single_member_progress ... ok [INFO] [stdout] test animation::presets::tests::cascade_out_starts_near_one ... ok [INFO] [stdout] test animation::presets::tests::typewriter_progresses_monotonically ... ok [INFO] [stdout] test animation::spring::tests::animation_trait_overshoot_is_zero_for_spring ... ok [INFO] [stdout] test animation::spring::tests::animation_trait_value_for_normalized ... ok [INFO] [stdout] test animation::spring::tests::at_rest_spring_skips_computation ... ok [INFO] [stdout] test animation::spring::tests::debug_format ... ok [INFO] [stdout] test animation::spring::tests::bouncy_spring_overshoots ... ok [INFO] [stdout] test animation::spring::tests::deterministic_across_runs ... ok [INFO] [stdout] test animation::spring::tests::impulse_on_moving_spring ... ok [INFO] [stdout] test animation::spring::tests::initial_equals_target_settles_immediately ... ok [INFO] [stdout] test animation::spring::tests::impulse_negative_velocity ... ok [INFO] [stdout] test animation::spring::tests::negative_damping_clamped ... ok [INFO] [stdout] test animation::spring::tests::large_rest_threshold_settles_quickly ... ok [INFO] [stdout] test animation::spring::tests::normalized_spring_value_clamped ... ok [INFO] [stdout] test animation::spring::tests::negative_stiffness_clamped ... ok [INFO] [stdout] test animation::spring::tests::normalized_constructor ... ok [INFO] [stdout] test animation::spring::tests::preset_bouncy_parameters ... ok [INFO] [stdout] test animation::spring::tests::multiple_set_target_chained ... ok [INFO] [stdout] test animation::spring::tests::clone_independence ... ok [INFO] [stdout] test animation::spring::tests::preset_critical_is_critically_damped ... ok [INFO] [stdout] test animation::spring::tests::preset_gentle_parameters ... ok [INFO] [stdout] test animation::spring::tests::preset_slow_parameters ... ok [INFO] [stdout] test animation::presets::tests::typewriter_starts_at_zero ... ok [INFO] [stdout] test animation::spring::tests::preset_stiff_parameters ... ok [INFO] [stdout] test animation::presets::tests::typewriter_zero_chars ... ok [INFO] [stdout] test animation::spring::tests::advance_at_rest_is_noop ... ok [INFO] [stdout] test animation::spring::tests::critical_damping_coefficient ... ok [INFO] [stdout] test animation::spring::tests::critical_damping_no_overshoot ... ok [INFO] [stdout] test animation::spring::tests::presets_all_converge ... ok [INFO] [stdout] test animation::spring::tests::reset_after_impulse ... ok [INFO] [stdout] test animation::spring::tests::set_target_just_beyond_rest_threshold_wakes ... ok [INFO] [stdout] test animation::spring::tests::set_target_wakes_spring ... ok [INFO] [stdout] test animation::spring::tests::spring_impulse_wakes ... ok [INFO] [stdout] test animation::spring::tests::set_target_same_value_stays_at_rest ... ok [INFO] [stdout] test animation::spring::tests::spring_reaches_target ... ok [INFO] [stdout] test animation::spring::tests::set_target_within_rest_threshold_stays_at_rest ... ok [INFO] [stdout] test animation::spring::tests::spring_reverse_direction ... ok [INFO] [stdout] test animation::spring::tests::spring_with_high_damping_minimal_overshoot ... ok [INFO] [stdout] test animation::spring::tests::stiff_preset_faster_than_slow ... ok [INFO] [stdout] test animation::spring::tests::value_clamps_negative_position ... ok [INFO] [stdout] test animation::spring::tests::spring_target_change ... ok [INFO] [stdout] test animation::spring::tests::value_clamps_above_one ... ok [INFO] [stdout] test animation::spring::tests::with_rest_threshold_builder ... ok [INFO] [stdout] test animation::spring::tests::spring_negative_target ... ok [INFO] [stdout] test animation::spring::tests::with_velocity_threshold_builder ... ok [INFO] [stdout] test animation::spring::tests::with_velocity_threshold_negative_takes_abs ... ok [INFO] [stdout] test animation::spring::tests::with_rest_threshold_negative_takes_abs ... ok [INFO] [stdout] test animation::spring::tests::zero_damping_oscillates ... ok [INFO] [stdout] test animation::spring::tests::spring_reset ... ok [INFO] [stdout] test animation::spring::tests::spring_starts_at_initial ... ok [INFO] [stdout] test animation::spring::tests::zero_dt_noop ... ok [INFO] [stdout] test animation::spring::tests::reset_restores_initial ... ok [INFO] [stdout] test animation::spring::tests::zero_stiffness_clamped ... ok [INFO] [stdout] test animation::stagger::tests::custom_easing ... ok [INFO] [stdout] test animation::stagger::tests::ease_in_gaps_increase ... ok [INFO] [stdout] test animation::stagger::tests::ease_in_out_symmetric ... ok [INFO] [stdout] test animation::stagger::tests::ease_out_gaps_decrease ... ok [INFO] [stdout] test animation::stagger::tests::jitter_different_with_different_seed ... ok [INFO] [stdout] test animation::stagger::tests::jitter_offsets_non_negative ... ok [INFO] [stdout] test animation::stagger::tests::linear_equal_spacing ... ok [INFO] [stdout] test animation::stagger::tests::linear_first_is_zero_last_is_total ... ok [INFO] [stdout] test animation::stagger::tests::monotonic_ease_in ... ok [INFO] [stdout] test animation::stagger::tests::monotonic_ease_out ... ok [INFO] [stdout] test animation::stagger::tests::monotonic_linear ... ok [INFO] [stdout] test animation::stagger::tests::single_item_returns_zero ... ok [INFO] [stdout] test animation::stagger::tests::jitter_offsets_within_bounds ... ok [INFO] [stdout] test animation::stagger::tests::jitter_zero_is_noop ... ok [INFO] [stdout] test animation::stagger::tests::zero_count_returns_empty ... ok [INFO] [stdout] test animation::stagger::tests::zero_delay_all_zero ... ok [INFO] [stdout] test animation::tests::delayed_forwards_overshoot ... ok [INFO] [stdout] test animation::tests::delayed_parallel ... ok [INFO] [stdout] test animation::stagger::tests::jitter_deterministic_with_same_seed ... ok [INFO] [stdout] test animation::tests::delayed_reset ... ok [INFO] [stdout] test animation::tests::delayed_waits_then_plays ... ok [INFO] [stdout] test animation::tests::ease_in_out_midpoint ... ok [INFO] [stdout] test animation::tests::ease_in_slower_start ... ok [INFO] [stdout] test animation::tests::ease_in_cubic_slower_than_quadratic ... ok [INFO] [stdout] test animation::tests::easing_clamps_input ... ok [INFO] [stdout] test animation::tests::easing_linear_endpoints ... ok [INFO] [stdout] test animation::tests::ease_in_out_endpoints ... ok [INFO] [stdout] test animation::tests::easing_linear_midpoint ... ok [INFO] [stdout] test animation::tests::fade_completes_after_duration ... ok [INFO] [stdout] test animation::tests::ease_out_faster_start ... ok [INFO] [stdout] test animation::tests::ease_out_cubic_endpoints ... ok [INFO] [stdout] test animation::tests::fade_clamps_overshoot ... ok [INFO] [stdout] test animation::tests::fade_incremental_ticks ... ok [INFO] [stdout] test animation::tests::fade_midpoint ... ok [INFO] [stdout] test animation::tests::fade_raw_progress ... ok [INFO] [stdout] test animation::tests::fade_reset ... ok [INFO] [stdout] test animation::tests::fade_starts_at_zero ... ok [INFO] [stdout] test animation::tests::ease_in_cubic_endpoints ... ok [INFO] [stdout] test animation::tests::fade_with_ease_in ... ok [INFO] [stdout] test animation::tests::fade_zero_duration ... ok [INFO] [stdout] test animation::tests::nested_sequence ... ok [INFO] [stdout] test animation::tests::pulse_never_completes ... ok [INFO] [stdout] test animation::tests::parallel_access_components ... ok [INFO] [stdout] test animation::tests::pulse_quarter_cycle_reaches_peak ... ok [INFO] [stdout] test animation::tests::pulse_phase_wraps ... ok [INFO] [stdout] test animation::tests::parallel_of_sequences ... ok [INFO] [stdout] test animation::tests::parallel_ticks_both ... ok [INFO] [stdout] test animation::tests::rapid_small_ticks ... ok [INFO] [stdout] test animation::tests::sequence_plays_first_then_second ... ok [INFO] [stdout] test animation::tests::sequence_reset ... ok [INFO] [stdout] test animation::tests::pulse_value_bounded ... ok [INFO] [stdout] test animation::tests::pulse_reset ... ok [INFO] [stdout] test animation::stagger::tests::ease_in_first_is_zero ... ok [INFO] [stdout] test animation::tests::slide_ends_at_to ... ok [INFO] [stdout] test animation::tests::slide_midpoint_with_linear ... ok [INFO] [stdout] test animation::tests::slide_reset ... ok [INFO] [stdout] test animation::tests::slide_negative_range ... ok [INFO] [stdout] test animation::tests::parallel_reset ... ok [INFO] [stdout] test animation::tests::pulse_zero_frequency_clamped ... ok [INFO] [stdout] test animation::tests::pulse_starts_at_midpoint ... ok [INFO] [stdout] test animation::tests::slide_starts_at_from ... ok [INFO] [stdout] test animation::tests::tick_after_complete_is_safe ... ok [INFO] [stdout] test animation::tests::very_large_dt ... ok [INFO] [stdout] test animation::tests::very_small_dt ... ok [INFO] [stdout] test animation::timeline::tests::animation_trait_is_complete_false_while_playing ... ok [INFO] [stdout] test animation::tests::zero_dt_is_noop ... ok [INFO] [stdout] test animation::timeline::tests::animation_trait_value_matches_progress ... ok [INFO] [stdout] test animation::timeline::tests::debug_format ... ok [INFO] [stdout] test animation::timeline::tests::debug_format_includes_fields ... ok [INFO] [stdout] test animation::timeline::tests::animation_trait_reset ... ok [INFO] [stdout] test animation::timeline::tests::event_value_at_out_of_bounds ... ok [INFO] [stdout] test animation::timeline::tests::events_sorted_by_offset_on_insert ... ok [INFO] [stdout] test animation::timeline::tests::event_value_by_label_missing_returns_none ... ok [INFO] [stdout] test animation::timeline::tests::empty_timeline_is_immediately_complete ... ok [INFO] [stdout] test animation::timeline::tests::loop_count_clone ... ok [INFO] [stdout] test animation::timeline::tests::loop_finite ... ok [INFO] [stdout] test animation::timeline::tests::loop_count_eq ... ok [INFO] [stdout] test animation::timeline::tests::event_value_at_on_empty_timeline ... ok [INFO] [stdout] test animation::timeline::tests::loop_infinite_never_finishes ... ok [INFO] [stdout] test animation::timeline::tests::loop_finite_with_overshoot_tick ... ok [INFO] [stdout] test animation::timeline::tests::loop_once_plays_exactly_once ... ok [INFO] [stdout] test animation::timeline::tests::idle_timeline_value_is_zero ... ok [INFO] [stdout] test animation::timeline::tests::explicit_duration_overrides_auto ... ok [INFO] [stdout] test animation::timeline::tests::labeled_events_and_seek ... ok [INFO] [stdout] test animation::timeline::tests::labeled_event_value ... ok [INFO] [stdout] test animation::timeline::tests::loop_times_zero_plays_once ... ok [INFO] [stdout] test animation::timeline::tests::play_after_stop_resets ... ok [INFO] [stdout] test animation::timeline::tests::play_restarts_from_beginning ... ok [INFO] [stdout] test animation::timeline::tests::multiple_events_at_same_offset ... ok [INFO] [stdout] test animation::timeline::tests::overlapping_events ... ok [INFO] [stdout] test animation::timeline::tests::auto_computed_duration_uses_max_offset ... ok [INFO] [stdout] test animation::timeline::tests::overshoot_is_zero_while_playing ... ok [INFO] [stdout] test animation::timeline::tests::overshoot_when_finished ... ok [INFO] [stdout] test animation::timeline::tests::default_trait ... ok [INFO] [stdout] test animation::timeline::tests::pause_resume ... ok [INFO] [stdout] test animation::timeline::tests::playback_state_clone ... ok [INFO] [stdout] test animation::timeline::tests::pause_when_not_playing_is_noop ... ok [INFO] [stdout] test animation::timeline::tests::reset_from_finished ... ok [INFO] [stdout] test animation::timeline::tests::reset_from_paused ... ok [INFO] [stdout] test animation::timeline::tests::seek_clamps_to_duration ... ok [INFO] [stdout] test animation::timeline::tests::progress_clamps_to_zero_one ... ok [INFO] [stdout] test animation::timeline::tests::seek_from_playing_stays_playing ... ok [INFO] [stdout] test animation::timeline::tests::seek_label_on_empty_timeline ... ok [INFO] [stdout] test animation::timeline::tests::playback_state_eq ... ok [INFO] [stdout] test animation::timeline::tests::seek_from_idle_transitions_to_paused ... ok [INFO] [stdout] test animation::timeline::tests::resume_when_not_paused_is_noop ... ok [INFO] [stdout] test animation::timeline::tests::seek_resets_and_reticks_animations ... ok [INFO] [stdout] test animation::timeline::tests::seek_to_zero_resets_animations ... ok [INFO] [stdout] test animation::timeline::tests::stop_resets_everything ... ok [INFO] [stdout] test animation::timeline::tests::sequential_events ... ok [INFO] [stdout] test animation::timeline::tests::then_chains_at_same_offset ... ok [INFO] [stdout] test animation::timeline::tests::progress_tracks_time ... ok [INFO] [stdout] test animation::timeline::tests::then_on_empty_timeline_uses_zero_offset ... ok [INFO] [stdout] test animation::timeline::tests::tick_when_finished_does_not_advance ... ok [INFO] [stdout] test animation::timeline::tests::tick_when_paused_does_not_advance ... ok [INFO] [stdout] test animation::timeline::tests::seek_past_end_then_resume_and_tick_finishes ... ok [INFO] [stdout] test capability_override::tests::apply_to_covers_all_mux_flags ... ok [INFO] [stdout] test animation::timeline::tests::tick_when_idle_does_not_advance ... ok [INFO] [stdout] test capability_override::tests::apply_to_covers_double_width ... ok [INFO] [stdout] test capability_override::tests::apply_to_covers_mouse_sgr ... ok [INFO] [stdout] test capability_override::tests::apply_to_covers_osc8_hyperlinks ... ok [INFO] [stdout] test capability_override::tests::apply_to_covers_sync_output ... ok [INFO] [stdout] test capability_override::tests::apply_to_covers_unicode_emoji ... ok [INFO] [stdout] test capability_override::tests::apply_to_covers_input_features ... ok [INFO] [stdout] test capability_override::tests::apply_to_none_keeps_original ... ok [INFO] [stdout] test capability_override::tests::apply_to_disables_on_modern_base ... ok [INFO] [stdout] test capability_override::tests::apply_to_covers_scroll_region ... ok [INFO] [stdout] test animation::timeline::tests::zero_duration_clamped_to_1ns ... ok [INFO] [stdout] test capability_override::tests::apply_to_overrides_caps ... ok [INFO] [stdout] test capability_override::tests::builder_all_optional_features ... ok [INFO] [stdout] test capability_override::tests::builder_overwrite_dumb_field_to_none ... ok [INFO] [stdout] test capability_override::tests::builder_overwrite_field_to_none ... ok [INFO] [stdout] test capability_override::tests::builder_sync_output_individually ... ok [INFO] [stdout] test capability_override::tests::clear_all_overrides_works ... ok [INFO] [stdout] test capability_override::tests::current_capabilities_with_base_no_overrides_returns_base ... ok [INFO] [stdout] test capability_override::tests::clear_all_then_push_resumes_normally ... ok [INFO] [stdout] test capability_override::tests::current_capabilities_with_base_composes_stack ... ok [INFO] [stdout] test capability_override::tests::current_capabilities_uses_detect_as_base ... ok [INFO] [stdout] test capability_override::tests::debug_format_contains_field_names ... ok [INFO] [stdout] test capability_override::tests::dumb_disables_all_fields ... ok [INFO] [stdout] test capability_override::tests::debug_format_empty_override ... ok [INFO] [stdout] test capability_override::tests::dumb_override_disables_all_on_modern_base ... ok [INFO] [stdout] test capability_override::tests::guard_drop_after_clear_all_is_noop ... ok [INFO] [stdout] test capability_override::tests::is_empty_false_for_colors_256 ... ok [INFO] [stdout] test capability_override::tests::is_empty_false_for_bracketed_paste ... ok [INFO] [stdout] test capability_override::tests::is_empty_false_for_double_width ... ok [INFO] [stdout] test capability_override::tests::is_empty_false_for_focus_events ... ok [INFO] [stdout] test capability_override::tests::builder_in_tmux_individually ... ok [INFO] [stdout] test capability_override::tests::default_override_is_empty ... ok [INFO] [stdout] test capability_override::tests::is_empty_false_for_in_screen ... ok [INFO] [stdout] test animation::timeline::tests::seek_from_finished_transitions_to_paused ... ok [INFO] [stdout] test capability_override::tests::is_empty_false_for_in_tmux ... ok [INFO] [stdout] test capability_override::tests::is_empty_false_for_in_zellij ... ok [INFO] [stdout] test capability_override::tests::is_empty_false_for_kitty_keyboard ... ok [INFO] [stdout] test capability_override::tests::is_empty_false_for_osc52_clipboard ... ok [INFO] [stdout] test capability_override::tests::is_empty_false_for_osc8_hyperlinks ... ok [INFO] [stdout] test capability_override::tests::is_empty_false_for_mouse_sgr ... ok [INFO] [stdout] test capability_override::tests::is_empty_false_for_single_override ... ok [INFO] [stdout] test capability_override::tests::is_empty_false_for_scroll_region ... ok [INFO] [stdout] test capability_override::tests::is_empty_false_for_unicode_emoji ... ok [INFO] [stdout] test capability_override::tests::modern_enables_features_disables_mux ... ok [INFO] [stdout] test capability_override::tests::modern_override_enables_features_on_dumb_base ... ok [INFO] [stdout] test capability_override::tests::is_empty_false_for_unicode_box_drawing ... ok [INFO] [stdout] test capability_override::tests::override_builder_chain ... ok [INFO] [stdout] test capability_override::tests::nested_overrides ... ok [INFO] [stdout] test capability_override::tests::multiple_guards_drop_after_clear_all ... ok [INFO] [stdout] test capability_override::tests::is_empty_false_for_sync_output ... ok [INFO] [stdout] test capability_override::tests::override_new_is_empty ... ok [INFO] [stdout] test capability_override::tests::override_tmux_sets_mux ... ok [INFO] [stdout] test capability_override::tests::push_pop_override ... ok [INFO] [stdout] test capability_override::tests::override_clone ... ok [INFO] [stdout] test capability_override::tests::override_dumb_disables_all ... ok [INFO] [stdout] test capability_override::tests::second_guard_dropped_first_still_active ... ok [INFO] [stdout] test capability_override::tests::three_level_nesting_innermost_wins ... ok [INFO] [stdout] test capability_override::tests::three_level_nesting_partial_overrides ... ok [INFO] [stdout] test capability_override::tests::tmux_none_fields_passthrough ... ok [INFO] [stdout] test capability_override::tests::tmux_sets_bracketed_paste_and_colors ... ok [INFO] [stdout] test capability_override::tests::with_capability_override_nested ... ok [INFO] [stdout] test capability_override::tests::override_modern_enables_all ... ok [INFO] [stdout] test capability_override::tests::with_capability_override_returns_string ... ok [INFO] [stdout] test capability_override::tests::with_capability_override_returns_tuple ... ok [INFO] [stdout] test capability_override::tests::with_overrides_from_applies_stack ... ok [INFO] [stdout] test capability_override::tests::with_overrides_from_without_active_overrides ... ok [INFO] [stdout] test capability_override::tests::with_overrides_integrates_full_stack ... ok [INFO] [stdout] test capability_override::tests::with_overrides_method ... ok [INFO] [stdout] test cursor::tests::ansi_save_restore_sequences ... ok [INFO] [stdout] test cursor::tests::cursor_manager_ansi_save_restore ... ok [INFO] [stdout] test cursor::tests::cursor_manager_clear ... ok [INFO] [stdout] test cursor::tests::cursor_manager_clone_preserves_saved_position ... ok [INFO] [stdout] test cursor::tests::cursor_manager_dec_restore ... ok [INFO] [stdout] test cursor::tests::cursor_manager_dec_save ... ok [INFO] [stdout] test cursor::tests::cursor_manager_default_uses_dec ... ok [INFO] [stdout] test cursor::tests::cursor_manager_emulated_restore_without_save ... ok [INFO] [stdout] test cursor::tests::cursor_manager_emulated_save_restore ... ok [INFO] [stdout] test cursor::tests::cursor_save_strategy_default_is_dec ... ok [INFO] [stdout] test cursor::tests::dec_save_restore_sequences ... ok [INFO] [stdout] test cursor::tests::detect_uses_ansi_for_screen ... ok [INFO] [stdout] test cursor::tests::detect_uses_dec_for_normal_terminal ... ok [INFO] [stdout] test cursor::tests::hide_and_show_cursor ... ok [INFO] [stdout] test cursor::tests::emulated_save_overwrites_previous_position ... ok [INFO] [stdout] test cursor::tests::move_to_outputs_cup ... ok [INFO] [stdout] test cursor::tests::detect_uses_dec_for_tmux ... ok [INFO] [stdout] test cx::tests::background_cx_is_not_cancelled ... ok [INFO] [stdout] test cx::tests::cancel_propagates ... ok [INFO] [stdout] test cx::tests::cancellation_counter_increments ... ok [INFO] [stdout] test cx::tests::check_returns_cancelled ... ok [INFO] [stdout] test cx::tests::check_returns_ok_when_live ... ok [INFO] [stdout] test capability_override::tests::with_capability_override_scope ... ok [INFO] [stdout] test cx::tests::check_returns_deadline_exceeded ... ok [INFO] [stdout] test cx::tests::cancellation_mid_render_aborts_without_partial_output ... ok [INFO] [stdout] test cx::tests::cx_is_lab ... ok [INFO] [stdout] test cx::tests::cx_propagates_across_update_render_and_subscription_phases ... ok [INFO] [stdout] test cursor::tests::emulated_has_no_sequences ... ok [INFO] [stdout] test cx::tests::child_has_tighter_deadline ... ok [INFO] [stdout] test cx::tests::child_inherit_no_deadline ... ok [INFO] [stdout] test cx::tests::child_inherit_with_parent_deadline ... ok [INFO] [stdout] test cx::tests::child_respects_parent_tighter_deadline ... ok [INFO] [stdout] test cx::tests::child_inherits_cancellation ... ok [INFO] [stdout] test cx::tests::clone_shares_cancellation ... ok [INFO] [stdout] test cx::tests::controller_is_cancelled_matches_cx ... ok [INFO] [stdout] test cx::tests::cx_error_display ... ok [INFO] [stdout] test cx::tests::deadline_reports_remaining ... ok [INFO] [stdout] test cx::tests::cx_id_is_unique ... ok [INFO] [stdout] test cx::tests::lab_clock_advance_accumulates ... ok [INFO] [stdout] test cx::tests::lab_clock_deterministic ... ok [INFO] [stdout] test cx::tests::missing_cx_returns_clear_runtime_error ... ok [INFO] [stdout] test cx::tests::sleep_respects_cancellation ... ok [INFO] [stdout] test cx::tests::sleep_respects_lab_deadline ... ok [INFO] [stdout] test event_coalescer::tests::clear_discards_pending ... ok [INFO] [stdout] test event_coalescer::tests::clear_after_direction_change ... ok [INFO] [stdout] test event_coalescer::tests::clone_preserves_pending_state ... ok [INFO] [stdout] test event_coalescer::tests::debug_format_contains_type_name ... ok [INFO] [stdout] test event_coalescer::tests::default_coalescer_has_no_pending ... ok [INFO] [stdout] test event_coalescer::tests::double_flush_second_empty ... ok [INFO] [stdout] test cx::tests::deadline_enforcement_triggers_strategy_downgrade ... ok [INFO] [stdout] test event_coalescer::tests::drag_right_button_passes_through ... ok [INFO] [stdout] test event_coalescer::tests::flush_each_empty_does_not_call_closure ... ok [INFO] [stdout] test cx::tests::double_cancel_is_idempotent ... ok [INFO] [stdout] test event_coalescer::tests::flush_empty_returns_empty_vec ... ok [INFO] [stdout] test event_coalescer::tests::flush_each_processes_in_order ... ok [INFO] [stdout] test event_coalescer::tests::flush_only_move_returns_one ... ok [INFO] [stdout] test event_coalescer::tests::flush_only_scroll_returns_one ... ok [INFO] [stdout] test event_coalescer::tests::flush_order_scroll_then_move ... ok [INFO] [stdout] test event_coalescer::tests::flush_returns_scroll_before_move ... ok [INFO] [stdout] test event_coalescer::tests::flush_then_reuse ... ok [INFO] [stdout] test event_coalescer::tests::focus_does_not_affect_pending ... ok [INFO] [stdout] test event_coalescer::tests::four_direction_changes ... ok [INFO] [stdout] test event_coalescer::tests::focus_passes_through ... ok [INFO] [stdout] test event_coalescer::tests::flush_each_equivalent_to_flush ... ok [INFO] [stdout] test event_coalescer::tests::has_pending_scroll_only ... ok [INFO] [stdout] test event_coalescer::tests::horizontal_scroll_coalesces ... ok [INFO] [stdout] test event_coalescer::tests::horizontal_to_vertical_direction_change ... ok [INFO] [stdout] test event_coalescer::tests::key_event_passes_through ... ok [INFO] [stdout] test event_coalescer::tests::mixed_coalescing_workflow ... ok [INFO] [stdout] test event_coalescer::tests::mouse_click_passes_through ... ok [INFO] [stdout] test event_coalescer::tests::mouse_down_middle_passes_through ... ok [INFO] [stdout] test event_coalescer::tests::mouse_drag_passes_through ... ok [INFO] [stdout] test event_coalescer::tests::mouse_move_coalesces ... ok [INFO] [stdout] test event_coalescer::tests::move_at_max_coordinates ... ok [INFO] [stdout] test event_coalescer::tests::move_at_origin ... ok [INFO] [stdout] test event_coalescer::tests::mouse_up_passes_through ... ok [INFO] [stdout] test event_coalescer::tests::move_replaces_move_preserves_latest_modifiers ... ok [INFO] [stdout] test event_coalescer::tests::mouse_move_preserves_modifiers ... ok [INFO] [stdout] test event_coalescer::tests::new_coalescer_has_no_pending ... ok [INFO] [stdout] test event_coalescer::tests::move_does_not_flush_pending_scroll ... ok [INFO] [stdout] test event_coalescer::tests::move_with_all_modifiers ... ok [INFO] [stdout] test event_coalescer::tests::passthrough_does_not_affect_pending ... ok [INFO] [stdout] test event_coalescer::tests::pending_scroll_count_zero_after_flush ... ok [INFO] [stdout] test event_coalescer::tests::mouse_up_right_passes_through ... ok [INFO] [stdout] test event_coalescer::tests::paste_event_passes_through ... ok [INFO] [stdout] test event_coalescer::tests::resize_does_not_affect_pending ... ok [INFO] [stdout] test event_coalescer::tests::rapid_alternating_scroll_directions ... ok [INFO] [stdout] test event_coalescer::tests::resize_passes_through ... ok [INFO] [stdout] test event_coalescer::tests::push_clear_flush_empty ... ok [INFO] [stdout] test event_coalescer::tests::scroll_count_saturates ... ok [INFO] [stdout] test event_coalescer::tests::scroll_at_max_coordinates ... ok [INFO] [stdout] test event_coalescer::tests::scroll_direction_change_flushes_old ... ok [INFO] [stdout] test event_coalescer::tests::scroll_count_u32_max_saturates ... ok [INFO] [stdout] test event_coalescer::tests::scroll_direction_change_flushes ... ok [INFO] [stdout] test event_coalescer::tests::scroll_does_not_flush_pending_move ... ok [INFO] [stdout] test event_coalescer::tests::scroll_direction_change_preserves_new_modifiers ... ok [INFO] [stdout] test event_coalescer::tests::scroll_modifiers_update_on_same_direction ... ok [INFO] [stdout] test geometry::tests::rect_area ... ok [INFO] [stdout] test event_coalescer::tests::many_moves_coalesce_to_one ... ok [INFO] [stdout] test geometry::tests::rect_contains_edges ... ok [INFO] [stdout] test event_coalescer::tests::scroll_preserves_modifiers ... ok [INFO] [stdout] test event_coalescer::tests::scroll_preserves_position ... ok [INFO] [stdout] test geometry::tests::rect_contains_empty_rect ... ok [INFO] [stdout] test event_coalescer::tests::scroll_right_coalesces ... ok [INFO] [stdout] test event_coalescer::tests::scroll_same_direction_coalesces ... ok [INFO] [stdout] test geometry::tests::rect_from_size ... ok [INFO] [stdout] test geometry::tests::rect_inner_asymmetric_margin ... ok [INFO] [stdout] test event_coalescer::tests::scroll_direction_change_returns_old_position ... ok [INFO] [stdout] test geometry::tests::rect_inner_large_margin_clamps_to_zero ... ok [INFO] [stdout] test event_coalescer::tests::single_scroll_count_is_one ... ok [INFO] [stdout] test event_coalescer::tests::scroll_position_updates_to_latest_same_direction ... ok [INFO] [stdout] test geometry::tests::rect_contains_boundary_conditions ... ok [INFO] [stdout] test geometry::tests::rect_intersection_adjacent_no_overlap ... ok [INFO] [stdout] test geometry::tests::rect_inner_reduces ... ok [INFO] [stdout] test geometry::tests::rect_intersection_contained ... ok [INFO] [stdout] test geometry::tests::rect_intersection_no_overlap_is_empty ... ok [INFO] [stdout] test event_coalescer::tests::has_pending_move_only ... ok [INFO] [stdout] test geometry::tests::rect_intersection_opt_returns_none_for_no_overlap ... ok [INFO] [stdout] test geometry::tests::rect_intersection_opt_returns_some_for_overlap ... ok [INFO] [stdout] test geometry::tests::rect_intersection_overlaps ... ok [INFO] [stdout] test geometry::tests::rect_inner_zero_margin ... ok [INFO] [stdout] test geometry::tests::rect_left_top_right_bottom ... ok [INFO] [stdout] test geometry::tests::rect_is_empty ... ok [INFO] [stdout] test geometry::tests::rect_new_and_default ... ok [INFO] [stdout] test geometry::tests::rect_right_bottom_saturating ... ok [INFO] [stdout] test geometry::tests::rect_union_basic ... ok [INFO] [stdout] test geometry::tests::rect_union_contained ... ok [INFO] [stdout] test geometry::tests::rect_union_disjoint ... ok [INFO] [stdout] test geometry::tests::rect_union_self ... ok [INFO] [stdout] test geometry::tests::rect_intersection_self ... ok [INFO] [stdout] test geometry::tests::sides_sums_saturating ... ok [INFO] [stdout] test geometry::tests::sides_new_explicit ... ok [INFO] [stdout] test geometry::tests::size_area ... ok [INFO] [stdout] test geometry::tests::sides_sums ... ok [INFO] [stdout] test geometry::tests::size_clamp_max ... ok [INFO] [stdout] test geometry::tests::sides_constructors_and_conversions ... ok [INFO] [stdout] test geometry::tests::size_is_empty ... ok [INFO] [stdout] test geometry::tests::size_clamp_min ... ok [INFO] [stdout] test gesture::tests::alt_key_chord ... ok [INFO] [stdout] test gesture::tests::check_long_press_no_mouse_down ... ok [INFO] [stdout] test geometry::tests::size_new_and_constants ... ok [INFO] [stdout] test gesture::tests::chord_ctrl_alt_combined_modifier ... ok [INFO] [stdout] test geometry::tests::size_default_is_zero ... ok [INFO] [stdout] test geometry::tests::size_from_rect ... ok [INFO] [stdout] test geometry::tests::sides_default_is_zero ... ok [INFO] [stdout] test gesture::tests::chord_with_function_key ... ok [INFO] [stdout] test geometry::tests::size_from_tuple ... ok [INFO] [stdout] test gesture::tests::chord_with_super_modifier ... ok [INFO] [stdout] test gesture::tests::click_at_max_position ... ok [INFO] [stdout] test gesture::tests::chord_timeout_clears_buffer ... ok [INFO] [stdout] test gesture::tests::click_position_tolerance ... ok [INFO] [stdout] test gesture::tests::click_then_drag_are_independent ... ok [INFO] [stdout] test gesture::tests::config_getter_and_setter ... ok [INFO] [stdout] test gesture::tests::custom_click_tolerance ... ok [INFO] [stdout] test gesture::tests::custom_multi_click_timeout ... ok [INFO] [stdout] test gesture::tests::chord_timeout_then_new_chord ... ok [INFO] [stdout] test gesture::tests::config_clone ... ok [INFO] [stdout] test gesture::tests::double_click_right_button ... ok [INFO] [stdout] test gesture::tests::click_at_origin ... ok [INFO] [stdout] test gesture::tests::click_position_beyond_tolerance ... ok [INFO] [stdout] test gesture::tests::double_click ... ok [INFO] [stdout] test gesture::tests::debug_format ... ok [INFO] [stdout] test gesture::tests::different_button_resets_click_count ... ok [INFO] [stdout] test gesture::tests::default_config_values ... ok [INFO] [stdout] test gesture::tests::different_position_resets_click_count ... ok [INFO] [stdout] test gesture::tests::custom_drag_threshold ... ok [INFO] [stdout] test gesture::tests::drag_cancels_long_press ... ok [INFO] [stdout] test gesture::tests::drag_cancel_on_escape ... ok [INFO] [stdout] test gesture::tests::drag_move_has_correct_delta ... ok [INFO] [stdout] test gesture::tests::drag_end_on_mouse_up ... ok [INFO] [stdout] test gesture::tests::drag_at_u16_max_coordinates ... ok [INFO] [stdout] test gesture::tests::drag_negative_direction ... ok [INFO] [stdout] test gesture::tests::drag_multiple_moves ... ok [INFO] [stdout] test gesture::tests::drag_negative_y_direction ... ok [INFO] [stdout] test gesture::tests::drag_start_and_move_emitted_together ... ok [INFO] [stdout] test gesture::tests::drag_prevents_click ... ok [INFO] [stdout] test gesture::tests::drag_starts_after_threshold ... ok [INFO] [stdout] test gesture::tests::double_click_timeout_resets_to_single ... ok [INFO] [stdout] test gesture::tests::double_click_at_exact_timeout_boundary ... ok [INFO] [stdout] test gesture::tests::drag_state_reset_after_end ... ok [INFO] [stdout] test gesture::tests::focus_gain_ignored ... ok [INFO] [stdout] test gesture::tests::focus_loss_cancels_drag ... ok [INFO] [stdout] test gesture::tests::drag_threshold_exactly_met ... ok [INFO] [stdout] test gesture::tests::drag_threshold_one_below ... ok [INFO] [stdout] test gesture::tests::drag_without_prior_mouse_down ... ok [INFO] [stdout] test gesture::tests::drag_vertical ... ok [INFO] [stdout] test gesture::tests::drag_with_right_button ... ok [INFO] [stdout] test gesture::tests::escape_clears_chord ... ok [INFO] [stdout] test gesture::tests::escape_clears_mouse_down_state ... ok [INFO] [stdout] test gesture::tests::escape_during_unstarted_drag_no_cancel ... ok [INFO] [stdout] test gesture::tests::focus_loss_without_drag_is_silent ... ok [INFO] [stdout] test gesture::tests::interleaved_mouse_and_keyboard ... ok [INFO] [stdout] test gesture::tests::focus_loss_clears_long_press_fired_flag ... ok [INFO] [stdout] test gesture::tests::focus_loss_during_unstarted_drag_no_cancel ... ok [INFO] [stdout] test gesture::tests::long_press_exactly_at_threshold ... ok [INFO] [stdout] test gesture::tests::long_press_correct_position ... ok [INFO] [stdout] test gesture::tests::middle_click ... ok [INFO] [stdout] test gesture::tests::long_press_with_custom_threshold ... ok [INFO] [stdout] test gesture::tests::long_press_one_ms_before_threshold ... ok [INFO] [stdout] test gesture::tests::mixed_modifier_chord ... ok [INFO] [stdout] test gesture::tests::long_press_resets_on_new_mouse_down ... ok [INFO] [stdout] test gesture::tests::mouse_moved_cancels_long_press ... ok [INFO] [stdout] test gesture::tests::key_release_ignored ... ok [INFO] [stdout] test gesture::tests::long_press_fires_after_threshold ... ok [INFO] [stdout] test gesture::tests::mouse_moved_does_not_affect_drag_tracker ... ok [INFO] [stdout] test gesture::tests::long_press_not_repeated ... ok [INFO] [stdout] test gesture::tests::mouse_up_cancels_long_press ... ok [INFO] [stdout] test gesture::tests::key_repeat_ignored ... ok [INFO] [stdout] test gesture::tests::mouse_up_position_becomes_click_position ... ok [INFO] [stdout] test gesture::tests::no_click_after_drag_cancel ... ok [INFO] [stdout] test gesture::tests::quadruple_click_wraps_to_single ... ok [INFO] [stdout] test gesture::tests::reset_during_long_press_pending ... ok [INFO] [stdout] test gesture::tests::resize_event_ignored ... ok [INFO] [stdout] test gesture::tests::non_modifier_key_clears_chord ... ok [INFO] [stdout] test gesture::tests::rapid_clicks_produce_correct_sequence ... ok [INFO] [stdout] test gesture::tests::reset_clears_all_state ... ok [INFO] [stdout] test gesture::tests::right_click ... ok [INFO] [stdout] test gesture::tests::scroll_events_ignored ... ok [INFO] [stdout] test gesture::tests::scroll_does_not_affect_click_state ... ok [INFO] [stdout] test gesture::tests::single_modifier_key_no_chord_emitted ... ok [INFO] [stdout] test gesture::tests::tick_event_ignored ... ok [INFO] [stdout] test gesture::tests::triple_click_then_timeout_then_single ... ok [INFO] [stdout] test gesture::tests::triple_click ... ok [INFO] [stdout] test gesture::tests::two_key_chord ... ok [INFO] [stdout] test gesture::tests::zero_drag_threshold ... ok [INFO] [stdout] test glyph_policy::tests::arrow_glyphs_wide_in_cjk_mode ... ok [INFO] [stdout] test glyph_policy::tests::arrows_enabled_with_env_override ... ok [INFO] [stdout] test glyph_policy::tests::arrows_env_override_still_disabled_by_cjk_width ... ok [INFO] [stdout] test glyph_policy::tests::ascii_mode_forces_line_drawing_off_even_with_override ... ok [INFO] [stdout] test glyph_policy::tests::arrows_env_override_disables_unicode_arrows ... ok [INFO] [stdout] test glyph_policy::tests::ascii_mode_forces_arrows_off_even_if_override_true ... ok [INFO] [stdout] test glyph_policy::tests::caps_double_width_false_disables_cjk_width ... ok [INFO] [stdout] test glyph_policy::tests::cjk_width_disables_arrows_in_unicode_mode ... ok [INFO] [stdout] test glyph_policy::tests::cjk_width_respects_env_override ... ok [INFO] [stdout] test glyph_policy::tests::default_modern_policy ... ok [INFO] [stdout] test glyph_policy::tests::caps_disable_box_drawing_forces_ascii_mode ... ok [INFO] [stdout] test glyph_policy::tests::caps_disable_emoji_disables_emoji_policy ... ok [INFO] [stdout] test glyph_policy::tests::cjk_width_disables_line_drawing_in_unicode_mode ... ok [INFO] [stdout] test glyph_policy::tests::double_width_env_override_true ... ok [INFO] [stdout] test glyph_policy::tests::dumb_terminal_defaults_to_ascii ... ok [INFO] [stdout] test glyph_policy::tests::double_width_false_suppresses_emoji_without_explicit_override ... ok [INFO] [stdout] test glyph_policy::tests::emoji_default_true_for_modern_term ... ok [INFO] [stdout] test glyph_policy::tests::emoji_disabled_in_ascii_mode_even_with_all_caps ... ok [INFO] [stdout] test glyph_policy::tests::emoji_env_override_true_ignores_caps_and_double_width ... ok [INFO] [stdout] test capability_override::tests::with_capability_override_cleans_up_on_panic ... ok [INFO] [stdout] test gesture::tests::zero_click_tolerance ... ok [INFO] [stdout] test glyph_policy::tests::arrow_glyphs_fit_narrow_non_cjk ... ok [INFO] [stdout] test glyph_policy::tests::env_override_bool_invalid_value_returns_none ... ok [INFO] [stdout] test glyph_policy::tests::glyph_mode_as_str_roundtrip ... ok [INFO] [stdout] test glyph_policy::tests::glyph_emoji_override_wins_over_legacy_no_emoji ... ok [INFO] [stdout] test glyph_policy::tests::env_override_bool_missing_key_returns_none ... ok [INFO] [stdout] test glyph_policy::tests::full_policy_linux_console_all_defaults ... ok [INFO] [stdout] test glyph_policy::tests::env_override_bool_truthy_values ... ok [INFO] [stdout] test glyph_policy::tests::full_policy_vt100_all_defaults ... ok [INFO] [stdout] test glyph_policy::tests::glyph_double_width_env_overrides_cjk_width ... ok [INFO] [stdout] test glyph_policy::tests::emoji_override_true_in_ascii_mode_still_disabled ... ok [INFO] [stdout] test glyph_policy::tests::emoji_override_disable ... ok [INFO] [stdout] test glyph_policy::tests::glyph_mode_is_copy ... ok [INFO] [stdout] test glyph_policy::tests::glyph_mode_ascii_forces_ascii_policy ... ok [INFO] [stdout] test glyph_policy::tests::env_override_bool_falsy_values ... ok [INFO] [stdout] test glyph_policy::tests::glyph_mode_parse_aliases ... ok [INFO] [stdout] test glyph_policy::tests::glyph_mode_parse_case_insensitive ... ok [INFO] [stdout] test glyph_policy::tests::glyph_mode_parse_empty_returns_none ... ok [INFO] [stdout] test glyph_policy::tests::glyph_mode_parse_whitespace_trimmed ... ok [INFO] [stdout] test glyph_policy::tests::glyph_policy_is_copy ... ok [INFO] [stdout] test glyph_policy::tests::glyph_width_arrow_non_cjk ... ok [INFO] [stdout] test glyph_policy::tests::glyph_width_arrows_cjk_mode ... ok [INFO] [stdout] test glyph_policy::tests::glyph_width_ascii_control_chars ... ok [INFO] [stdout] test glyph_policy::tests::glyph_width_ascii_printable ... ok [INFO] [stdout] test glyph_policy::tests::glyph_width_box_drawing_cjk_mode ... ok [INFO] [stdout] test glyph_policy::tests::glyph_width_box_drawing_non_cjk ... ok [INFO] [stdout] test glyph_policy::tests::glyph_width_cjk_ideograph ... ok [INFO] [stdout] test glyph_policy::tests::glyph_width_cjk_mode_does_not_affect_ascii ... ok [INFO] [stdout] test glyph_policy::tests::glyph_width_combining_mark_zero_width ... ok [INFO] [stdout] test glyph_policy::tests::glyphs_fit_narrow_empty_set ... ok [INFO] [stdout] test glyph_policy::tests::glyphs_fit_narrow_rejects_wide_char ... ok [INFO] [stdout] test glyph_policy::tests::legacy_no_emoji_false_enables_emoji ... ok [INFO] [stdout] test glyph_policy::tests::line_drawing_enabled_with_env_override ... ok [INFO] [stdout] test glyph_policy::tests::legacy_no_emoji_override_disables ... ok [INFO] [stdout] test glyph_policy::tests::line_drawing_env_override_still_disabled_by_cjk_width ... ok [INFO] [stdout] test glyph_policy::tests::mode_env_override_unicode_on_dumb_term ... ok [INFO] [stdout] test glyph_policy::tests::parse_bool_case_insensitive ... ok [INFO] [stdout] test glyph_policy::tests::linux_console_defaults_to_ascii_despite_box_drawing_caps ... ok [INFO] [stdout] test glyph_policy::tests::parse_bool_whitespace_trimmed ... ok [INFO] [stdout] test glyph_policy::tests::line_drawing_glyphs_fit_narrow_non_cjk ... ok [INFO] [stdout] test glyph_policy::tests::mode_env_override_unicode_on_linux_console ... ok [INFO] [stdout] test glyph_policy::tests::line_drawing_glyphs_wide_in_cjk_mode ... ok [INFO] [stdout] test glyph_policy::tests::parse_bool_truthy_and_falsy ... ok [INFO] [stdout] test glyph_policy::tests::policy_to_json_serializes_expected_flags ... ok [INFO] [stdout] test glyph_policy::tests::to_json_all_false_ascii ... ok [INFO] [stdout] test glyph_policy::tests::to_json_mixed_flags ... ok [INFO] [stdout] test glyph_policy::tests::to_json_all_true ... ok [INFO] [stdout] test glyph_policy::tests::vt100_terminal_defaults_to_ascii ... ok [INFO] [stdout] test hover_stabilizer::tests::candidate_resets_on_new_third_target ... ok [INFO] [stdout] test hover_stabilizer::tests::config_clone ... ok [INFO] [stdout] test hover_stabilizer::tests::config_debug_format ... ok [INFO] [stdout] test hover_stabilizer::tests::config_getter_and_setter ... ok [INFO] [stdout] test hover_stabilizer::tests::config_zero_hold_timeout ... ok [INFO] [stdout] test hover_stabilizer::tests::config_zero_hysteresis ... ok [INFO] [stdout] test hover_stabilizer::tests::crossing_detection_latency ... ok [INFO] [stdout] test hover_stabilizer::tests::cusum_accumulates_on_consistent_signal ... ok [INFO] [stdout] test hover_stabilizer::tests::cusum_resets_on_return ... ok [INFO] [stdout] test hover_stabilizer::tests::debug_format ... ok [INFO] [stdout] test hover_stabilizer::tests::decay_rate_one_instant_decay ... ok [INFO] [stdout] test hover_stabilizer::tests::decay_rate_zero_no_decay ... ok [INFO] [stdout] test hover_stabilizer::tests::default_config_values ... ok [INFO] [stdout] test hover_stabilizer::tests::exactly_at_timeout_does_not_reset ... ok [INFO] [stdout] test hover_stabilizer::tests::first_hit_adopted_immediately ... ok [INFO] [stdout] test hover_stabilizer::tests::hysteresis_prevents_boundary_oscillation ... ok [INFO] [stdout] test hover_stabilizer::tests::initial_state_is_none ... ok [INFO] [stdout] test hover_stabilizer::tests::jitter_does_not_switch ... ok [INFO] [stdout] test hover_stabilizer::tests::jitter_stability_rate ... ok [INFO] [stdout] test hover_stabilizer::tests::just_past_timeout_resets ... ok [INFO] [stdout] test hover_stabilizer::tests::large_hysteresis_requires_big_movement ... ok [INFO] [stdout] test hover_stabilizer::tests::multiple_resets_are_idempotent ... ok [INFO] [stdout] test hover_stabilizer::tests::new_with_custom_config ... ok [INFO] [stdout] test hover_stabilizer::tests::position_at_origin ... ok [INFO] [stdout] test hover_stabilizer::tests::none_hit_when_no_current_target ... ok [INFO] [stdout] test hover_stabilizer::tests::position_at_u16_max ... ok [INFO] [stdout] test hover_stabilizer::tests::reset_clears_all_state ... ok [INFO] [stdout] test hover_stabilizer::tests::reset_then_adopt_new_target ... ok [INFO] [stdout] test hover_stabilizer::tests::same_position_different_targets_no_switch ... ok [INFO] [stdout] test hover_stabilizer::tests::same_target_stays_stable ... ok [INFO] [stdout] test hover_stabilizer::tests::sustained_crossing_triggers_switch ... ok [INFO] [stdout] test hover_stabilizer::tests::set_config_preserves_state ... ok [INFO] [stdout] test hover_stabilizer::tests::switch_count_increments_across_multiple_switches ... ok [INFO] [stdout] test hover_stabilizer::tests::target_id_max_u64 ... ok [INFO] [stdout] test hover_stabilizer::tests::target_id_zero ... ok [INFO] [stdout] test hover_stabilizer::tests::timeout_resets_target ... ok [INFO] [stdout] test hover_stabilizer::tests::timeout_then_none_hit ... ok [INFO] [stdout] test hover_stabilizer::tests::transition_to_none_with_evidence ... ok [INFO] [stdout] test hover_stabilizer::tests::very_low_threshold_allows_quick_switch ... ok [INFO] [stdout] test hover_stabilizer::tests::very_high_threshold_prevents_switching ... ok [INFO] [stdout] test hover_stabilizer::tests::zero_drift_allowance_fast_accumulation ... ok [INFO] [stdout] test inline_mode::tests::cleanup_does_not_restore_unsaved_cursor ... ok [INFO] [stdout] test hover_stabilizer::tests::switch_count_preserved_after_reset ... ok [INFO] [stdout] test inline_mode::tests::cleanup_skips_sync_end_when_sync_output_disabled ... ok [INFO] [stdout] test inline_mode::tests::config_calculates_regions_correctly ... ok [INFO] [stdout] test inline_mode::tests::config_new_defaults ... ok [INFO] [stdout] test inline_mode::tests::config_is_valid_checks_boundaries ... ok [INFO] [stdout] test inline_mode::tests::config_ui_top_row_clamps_to_1 ... ok [INFO] [stdout] test inline_mode::tests::drop_cleans_up_scroll_region ... ok [INFO] [stdout] test inline_mode::tests::enter_sets_scroll_region_for_scroll_strategy ... ok [INFO] [stdout] test inline_mode::tests::exit_resets_scroll_region ... ok [INFO] [stdout] test inline_mode::tests::inline_strategy_default_is_hybrid ... ok [INFO] [stdout] test animation::group::tests::skips_completed_on_tick ... ok [INFO] [stdout] test animation::spring::tests::large_dt_subdivided ... ok [INFO] [stdout] test inline_mode::tests::present_ui_saves_and_restores_cursor ... ok [INFO] [stdout] test gesture::tests::multiple_mouse_downs_overwrite_state ... ok [INFO] [stdout] test inline_mode::tests::hybrid_does_not_set_scroll_region_in_enter ... ok [INFO] [stdout] test gesture::tests::multiple_sequential_drags ... ok [INFO] [stdout] test inline_mode::tests::present_ui_rejects_invalid_config ... ok [INFO] [stdout] test inline_mode::tests::strategy_selection_prefers_overlay_in_mux ... ok [INFO] [stdout] test gesture::tests::single_click ... ok [INFO] [stdout] test inline_mode::tests::present_ui_render_error_still_restores_state ... ok [INFO] [stdout] test inline_mode::tests::strategy_select_fallback_no_scroll_no_sync ... ok [INFO] [stdout] test glyph_policy::tests::line_drawing_env_override_disables_unicode_lines ... ok [INFO] [stdout] test inline_mode::tests::present_ui_uses_sync_output_when_enabled ... ok [INFO] [stdout] test inline_mode::tests::log_bottom_row_zero_when_no_room ... ok [INFO] [stdout] test animation::group::tests::start_all_on_empty_no_panic ... ok [INFO] [stdout] test inline_mode::tests::present_ui_clears_ui_lines ... ok [INFO] [stdout] test inline_mode::tests::strategy_selection_uses_hybrid_without_sync ... ok [INFO] [stdout] test inline_mode::tests::strategy_selection_uses_scroll_region_in_modern_terminal ... ok [INFO] [stdout] test inline_mode::tests::write_log_in_scroll_region_mode ... ok [INFO] [stdout] test inline_mode::tests::write_log_preserves_cursor_in_overlay_mode ... ok [INFO] [stdout] test inline_mode::tests::write_log_in_scroll_region_mode_sanitizes_escape_payloads ... ok [INFO] [stdout] test inline_mode::tests::write_log_overlay_allows_wide_char_when_it_exactly_fits_width ... ok [INFO] [stdout] test inline_mode::tests::write_log_overlay_truncates_to_single_safe_line ... ok [INFO] [stdout] test inline_mode::tests::write_log_overlay_truncates_wide_chars_by_display_width ... ok [INFO] [stdout] test inline_mode::tests::write_log_silently_drops_when_no_log_region ... ok [INFO] [stdout] test input_parser::proptest_fuzz::null_bytes_interleaved ... ok [INFO] [stdout] test input_parser::proptest_fuzz::oversized_csi_transitions_to_ignore ... ok [INFO] [stdout] test input_parser::proptest_fuzz::oversized_osc_transitions_to_ignore ... ok [INFO] [stdout] test input_parser::proptest_fuzz::no_quadratic_blowup ... ok [INFO] [stdout] test input_parser::proptest_fuzz::consecutive_pastes_emit_events ... ok [INFO] [stdout] test input_parser::proptest_fuzz::rapid_esc_toggle ... ok [INFO] [stdout] test input_parser::proptest_fuzz::csi_near_limit_produces_event ... ok [INFO] [stdout] test input_parser::proptest_fuzz::csi_event_count_bounded ... ok [INFO] [stdout] test input_parser::proptest_fuzz::osc_event_count_bounded ... ok [INFO] [stdout] test input_parser::proptest_fuzz::osc52_corrupt_base64_safe ... ok [INFO] [stdout] test input_parser::proptest_fuzz::truncated_csi_then_valid ... ok [INFO] [stdout] test input_parser::proptest_fuzz::truncated_utf8_lead_bytes ... ok [INFO] [stdout] test input_parser::proptest_fuzz::unterminated_paste_recovery ... ok [INFO] [stdout] test input_parser::tests::all_ctrl_letter_keys ... ok [INFO] [stdout] test input_parser::tests::alt_backspace ... ok [INFO] [stdout] test input_parser::tests::alt_ctrl_key_combinations ... ok [INFO] [stdout] test input_parser::proptest_fuzz::sgr_mouse_extreme_coords ... ok [INFO] [stdout] test input_parser::proptest_fuzz::truncated_osc_then_valid ... ok [INFO] [stdout] test input_parser::tests::alt_special_chars ... ok [INFO] [stdout] test input_parser::tests::arrow_keys ... ok [INFO] [stdout] test input_parser::tests::ascii_characters_parsed ... ok [INFO] [stdout] test input_parser::tests::bracketed_paste ... ok [INFO] [stdout] test input_parser::tests::c1_csi_arrow_keys ... ok [INFO] [stdout] test input_parser::tests::alt_key_escapes ... ok [INFO] [stdout] test input_parser::tests::backtab_csi_z ... ok [INFO] [stdout] test input_parser::tests::c1_csi_mouse_sgr_protocol ... ok [INFO] [stdout] test input_parser::tests::csi_home_and_end ... ok [INFO] [stdout] test input_parser::tests::csi_tilde_delete ... ok [INFO] [stdout] test input_parser::tests::csi_tilde_end ... ok [INFO] [stdout] test input_parser::tests::csi_tilde_home ... ok [INFO] [stdout] test input_parser::tests::csi_tilde_insert ... ok [INFO] [stdout] test input_parser::tests::csi_tilde_page_down ... ok [INFO] [stdout] test input_parser::tests::csi_tilde_page_up ... ok [INFO] [stdout] test input_parser::tests::ctrl_home_and_alt_end ... ok [INFO] [stdout] test input_parser::tests::csi_ignore_handles_final_bytes ... ok [INFO] [stdout] test input_parser::proptest_fuzz::kitty_keyboard_never_panics ... ok [INFO] [stdout] test input_parser::tests::ctrl_space_is_null ... ok [INFO] [stdout] test input_parser::tests::dos_protection_csi ... ok [INFO] [stdout] test input_parser::proptest_fuzz::sgr_mouse_never_panics ... ok [INFO] [stdout] test input_parser::tests::control_characters ... ok [INFO] [stdout] test input_parser::tests::empty_input_returns_no_events ... ok [INFO] [stdout] test input_parser::tests::escape_escape_resets_state ... ok [INFO] [stdout] test input_parser::proptest_fuzz::parser_recovers_after_garbage ... ok [INFO] [stdout] test input_parser::tests::function_keys_csi ... ok [INFO] [stdout] test input_parser::tests::function_keys_f7_to_f12 ... ok [INFO] [stdout] test input_parser::tests::incomplete_csi_sequence_emits_no_event ... ok [INFO] [stdout] test input_parser::tests::focus_events ... ok [INFO] [stdout] test input_parser::tests::function_keys_ss3 ... ok [INFO] [stdout] test input_parser::tests::kitty_keyboard_basic_char ... ok [INFO] [stdout] test input_parser::tests::invalid_utf8_emits_replacement_then_reprocesses_byte ... ok [INFO] [stdout] test input_parser::tests::kitty_keyboard_ascii_as_standard ... ok [INFO] [stdout] test input_parser::tests::kitty_keyboard_f_keys ... ok [INFO] [stdout] test input_parser::tests::kitty_keyboard_release_event ... ok [INFO] [stdout] test input_parser::tests::kitty_keyboard_reserved_keycode_ignored ... ok [INFO] [stdout] test input_parser::tests::kitty_keyboard_special_keys ... ok [INFO] [stdout] test input_parser::tests::kitty_keyboard_navigation_keys ... ok [INFO] [stdout] test input_parser::tests::kitty_keyboard_with_modifiers_and_kind ... ok [INFO] [stdout] test input_parser::tests::modifiers_in_csi_alt_ctrl ... ok [INFO] [stdout] test input_parser::tests::kitty_keyboard_function_key ... ok [INFO] [stdout] test input_parser::tests::modifiers_in_csi ... ok [INFO] [stdout] test input_parser::tests::mouse_legacy_1015_ignored_when_disabled ... ok [INFO] [stdout] test input_parser::tests::modifiers_on_tilde_keys ... ok [INFO] [stdout] test input_parser::tests::mouse_legacy_1015_with_fallback_enabled ... ok [INFO] [stdout] test input_parser::tests::mouse_sgr_button_release ... ok [INFO] [stdout] test input_parser::tests::mouse_legacy_1015_when_enabled ... ok [INFO] [stdout] test input_parser::tests::mouse_sgr_drag_left ... ok [INFO] [stdout] test input_parser::tests::mouse_sgr_button_release_uppercase_m_compat ... ok [INFO] [stdout] test input_parser::tests::mouse_sgr_middle_click ... ok [INFO] [stdout] test input_parser::tests::mouse_sgr_protocol ... ok [INFO] [stdout] test input_parser::tests::mouse_sgr_moved ... ok [INFO] [stdout] test input_parser::tests::mouse_sgr_protocol_negative_coords_clamped ... ok [INFO] [stdout] test input_parser::tests::mouse_sgr_protocol_with_subparams ... ok [INFO] [stdout] test input_parser::proptest_fuzz::paste_with_invalid_utf8 ... ok [INFO] [stdout] test input_parser::tests::mouse_sgr_right_click ... ok [INFO] [stdout] test input_parser::tests::mouse_sgr_protocol_large_coords_clamped ... ok [INFO] [stdout] test input_parser::tests::mouse_sgr_scroll_down ... ok [INFO] [stdout] test input_parser::tests::mouse_sgr_scroll_right ... ok [INFO] [stdout] test input_parser::tests::mouse_sgr_scroll_up ... ok [INFO] [stdout] test input_parser::tests::mouse_sgr_with_modifiers ... ok [INFO] [stdout] test input_parser::tests::mouse_x10_when_enabled ... ok [INFO] [stdout] test input_parser::tests::no_panic_on_invalid_input ... ok [INFO] [stdout] test input_parser::tests::osc52_clipboard_bel_terminated ... ok [INFO] [stdout] test input_parser::tests::osc52_clipboard_primary_selection ... ok [INFO] [stdout] test input_parser::tests::osc52_clipboard_st_terminated ... ok [INFO] [stdout] test input_parser::tests::shift_ctrl_arrow ... ok [INFO] [stdout] test input_parser::tests::ss3_arrow_keys ... ok [INFO] [stdout] test input_parser::tests::mouse_sgr_scroll_left ... ok [INFO] [stdout] test input_parser::tests::mouse_sgr_modifiers ... ok [INFO] [stdout] test input_parser::tests::ss3_interrupted_by_esc ... ok [INFO] [stdout] test input_parser::tests::utf8_3byte_cjk ... ok [INFO] [stdout] test input_parser::tests::unknown_csi_tilde_ignored ... ok [INFO] [stdout] test input_parser::tests::utf8_4byte_emoji ... ok [INFO] [stdout] test input_parser::tests::utf8_characters ... ok [INFO] [stdout] test input_parser::tests::utf8_invalid_lead_emits_replacement ... ok [INFO] [stdout] test input_parser::tests::utf8_invalid_sequence_emits_replacement ... ok [INFO] [stdout] test input_parser::tests::xterm_modifier_encoding ... ok [INFO] [stdout] test key_sequence::tests::action_is_pending ... ok [INFO] [stdout] test key_sequence::tests::action_is_sequence ... ok [INFO] [stdout] test key_sequence::tests::config_getter_and_setter ... ok [INFO] [stdout] test input_parser::tests::mouse_x10_malformed_packet_ignored ... ok [INFO] [stdout] test key_sequence::tests::custom_timeout ... ok [INFO] [stdout] test key_sequence::tests::debug_format ... ok [INFO] [stdout] test key_sequence::tests::default_config_values ... ok [INFO] [stdout] test key_sequence::tests::disabled_double_escape ... ok [INFO] [stdout] test key_sequence::tests::escape_then_different_key ... ok [INFO] [stdout] test key_sequence::tests::flush_on_empty_returns_empty ... ok [INFO] [stdout] test key_sequence::tests::flush_returns_pending_keys ... ok [INFO] [stdout] test key_sequence::tests::key_release_passes_through ... ok [INFO] [stdout] test key_sequence::tests::modified_escape_passes_through ... ok [INFO] [stdout] test key_sequence::tests::non_escape_key_passes_through ... ok [INFO] [stdout] test key_sequence::tests::rapid_non_escape_keys ... ok [INFO] [stdout] test key_sequence::tests::reset_clears_state ... ok [INFO] [stdout] test key_sequence::tests::sequence_keys_are_captured ... ok [INFO] [stdout] test key_sequence::tests::sequence_kind_name ... ok [INFO] [stdout] test key_sequence::tests::single_escape_timeout ... ok [INFO] [stdout] test key_sequence::tests::time_until_timeout ... ok [INFO] [stdout] test key_sequence::tests::triple_escape_produces_sequence_then_pending ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_action_config_builder ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_action_config_validated ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_action_consumes_event ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_action_is_quit ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_app_state_builders ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_app_state_is_idle ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_ctrl_c_cancels_running_task ... ok [INFO] [stdout] test key_sequence::tests::double_escape_within_timeout ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_ctrl_c_dismisses_modal ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_ctrl_c_idle_action_from_str ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_ctrl_c_idle_config_bell ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_ctrl_c_idle_config_noop ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_ctrl_c_input_priority_over_task ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_ctrl_c_modal_priority_over_input ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_ctrl_c_quits_when_idle ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_ctrl_d_ignores_state ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_ctrl_d_soft_quit ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_ctrl_q_hard_quit ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_ctrl_q_ignores_state ... ok [INFO] [stdout] test input_parser::tests::ss3_home_and_end ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_ctrl_c_idle_action_to_action ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_ctrl_c_clears_nonempty_input ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_esc_cancels_task_empty_input ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_esc_clears_input_no_modal ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_esc_closes_overlay ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_esc_esc_ignores_state ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_esc_dismisses_modal ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_esc_esc_timeout_expired ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_esc_modal_priority_over_overlay ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_esc_passthrough_when_idle ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_esc_then_other_key ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_mapper_reset ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_regular_key_passthrough ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_release_event_passthrough ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_esc_esc_within_timeout ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_sequence_config_is_valid ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_sequence_config_validation_clamps_high_debounce ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_sequence_config_validation_clamps_high_timeout ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_sequence_config_validation_clamps_low_timeout ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_sequence_config_validation_debounce_not_exceeds_timeout ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_uppercase_ctrl_keys ... ok [INFO] [stdout] test keybinding::tests::alternating_esc_and_key ... ok [INFO] [stdout] test keybinding::tests::arrow_key_interrupts ... ok [INFO] [stdout] test keybinding::tests::config_builder_chain ... ok [INFO] [stdout] test keybinding::tests::config_debug_format ... ok [INFO] [stdout] test keybinding::tests::config_default_values ... ok [INFO] [stdout] test keybinding::tests::config_getter_and_setter ... ok [INFO] [stdout] test keybinding::tests::custom_timeout ... ok [INFO] [stdout] test keybinding::tests::debug_format ... ok [INFO] [stdout] test keybinding::tests::deterministic_output ... ok [INFO] [stdout] test keybinding::tests::disabled_sequences ... ok [INFO] [stdout] test keybinding::tests::disabled_sequences_passthrough ... ok [INFO] [stdout] test keybinding::tests::enter_key_interrupts ... ok [INFO] [stdout] test keybinding::tests::esc_esc_past_timeout ... ok [INFO] [stdout] test keybinding::tests::esc_esc_at_timeout_boundary ... ok [INFO] [stdout] test keybinding::tests::esc_esc_within_timeout ... ok [INFO] [stdout] test keybinding::tests::function_key_interrupts ... ok [INFO] [stdout] test keybinding::tests::no_stuck_state ... ok [INFO] [stdout] test keybinding::tests::non_esc_key_passes_through ... ok [INFO] [stdout] test keybinding::tests::other_key_interrupts_sequence ... ok [INFO] [stdout] test keybinding::tests::output_debug_and_eq ... ok [INFO] [stdout] test keybinding::tests::rapid_triple_esc ... ok [INFO] [stdout] test keybinding::tests::release_during_pending_passes_through ... ok [INFO] [stdout] test keybinding::tests::release_event_passes_through ... ok [INFO] [stdout] test keybinding::tests::reset_clears_pending ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_sequence_config_constants ... ok [INFO] [stdout] test keybinding::tests::single_esc_returns_pending ... ok [INFO] [stdout] test keybinding::tests::action_mapper_tests::test_deterministic_action_mapping ... ok [INFO] [stdout] test keybinding::tests::timeout_check_emits_pending_esc ... ok [INFO] [stdout] test logging::tests::entered_pattern ... ok [INFO] [stdout] test logging::tests::noop_guard_drops_silently ... ok [INFO] [stdout] test logging::tests::noop_macros_compile_and_are_silent ... ok [INFO] [stdout] test logging::tests::noop_span_enter_multiple_times ... ok [INFO] [stdout] test logging::tests::noop_span_enter_returns_guard ... ok [INFO] [stdout] test logging::tests::noop_span_macros_all_levels ... ok [INFO] [stdout] test logging::tests::noop_span_macros_return_noop_span ... ok [INFO] [stdout] test mux_passthrough::tests::esc_constant_value ... ok [INFO] [stdout] test mux_passthrough::tests::mux_wrap_passthrough_for_bare_terminal ... ok [INFO] [stdout] test mux_passthrough::tests::mux_wrap_passthrough_for_zellij ... ok [INFO] [stdout] test mux_passthrough::tests::mux_wrap_screen_priority_over_zellij ... ok [INFO] [stdout] test mux_passthrough::tests::mux_wrap_selects_screen ... ok [INFO] [stdout] test mux_passthrough::tests::mux_wrap_selects_tmux ... ok [INFO] [stdout] test mux_passthrough::tests::mux_wrap_tmux_priority_over_zellij ... ok [INFO] [stdout] test mux_passthrough::tests::screen_wrap_basic ... ok [INFO] [stdout] test mux_passthrough::tests::screen_wrap_does_not_double_escapes ... ok [INFO] [stdout] test mux_passthrough::tests::screen_wrap_empty_sequence ... ok [INFO] [stdout] test keybinding::tests::set_config_preserves_pending_state ... ok [INFO] [stdout] test mux_passthrough::tests::screen_wrap_preserves_all_bytes ... ok [INFO] [stdout] test mux_passthrough::tests::st_constant_value ... ok [INFO] [stdout] test mux_passthrough::tests::tmux_priority_over_screen ... ok [INFO] [stdout] test mux_passthrough::tests::tmux_wrap_binary_data ... ok [INFO] [stdout] test mux_passthrough::tests::tmux_wrap_doubles_escapes ... ok [INFO] [stdout] test mux_passthrough::tests::tmux_wrap_empty_sequence ... ok [INFO] [stdout] test mux_passthrough::tests::tmux_wrap_large_sequence ... ok [INFO] [stdout] test mux_passthrough::tests::tmux_wrap_multiple_escapes ... ok [INFO] [stdout] test mux_passthrough::tests::tmux_wrap_no_escape_passthrough ... ok [INFO] [stdout] test mux_passthrough::tests::tmux_wrap_preserves_non_escape_bytes ... ok [INFO] [stdout] test keybinding::tests::reset_discards_pending_esc ... ok [INFO] [stdout] test input_parser::proptest_fuzz::recovery_via_esc_reset ... ok [INFO] [stdout] test input_parser::proptest_fuzz::random_bytes_never_panic ... ok [INFO] [stdout] test read_optimized::tests::arcswap_load_returns_initial_value ... ok [INFO] [stdout] test read_optimized::tests::arcswap_load_ref_borrows_without_clone ... ok [INFO] [stdout] test mux_passthrough::tests::tmux_wrap_all_escape_bytes ... ok [INFO] [stdout] test read_optimized::tests::arcswap_multiple_stores_last_wins ... ok [INFO] [stdout] test read_optimized::tests::arcswap_concurrent_reads_never_panic ... ok [INFO] [stdout] test read_optimized::tests::arcswap_with_copy_type ... ok [INFO] [stdout] test mux_passthrough::tests::screen_wrap_large_sequence ... ok [INFO] [stdout] test read_optimized::tests::mutex_store_then_load ... ok [INFO] [stdout] test read_optimized::tests::arcswap_store_then_load ... ok [INFO] [stdout] test read_optimized::tests::mutex_concurrent_read_write ... ok [INFO] [stdout] test read_optimized::tests::mutex_load_returns_initial_value ... ok [INFO] [stdout] test read_optimized::tests::rwlock_load_returns_initial_value ... ok [INFO] [stdout] test read_optimized::tests::rwlock_store_then_load ... ok [INFO] [stdout] test read_optimized::tests::trait_object_mutex ... ok [INFO] [stdout] test read_optimized::tests::trait_object_rwlock ... ok [INFO] [stdout] test s3_fifo::tests::clear_resets ... ok [INFO] [stdout] test s3_fifo::tests::contains_key ... ok [INFO] [stdout] test s3_fifo::tests::debug_format ... ok [INFO] [stdout] test s3_fifo::tests::empty_cache ... ok [INFO] [stdout] test s3_fifo::tests::eviction_at_capacity ... ok [INFO] [stdout] test s3_fifo::tests::freq_capped_at_3 ... ok [INFO] [stdout] test s3_fifo::tests::ghost_readmission ... ok [INFO] [stdout] test s3_fifo::tests::ghost_size_bounded ... ok [INFO] [stdout] test read_optimized::tests::trait_object_arcswap ... ok [INFO] [stdout] test s3_fifo::tests::capacity_split ... ok [INFO] [stdout] test s3_fifo::tests::insert_and_get ... ok [INFO] [stdout] test s3_fifo::tests::large_workload ... ok [INFO] [stdout] test s3_fifo::tests::main_eviction_gives_second_chance ... ok [INFO] [stdout] test input_parser::tests::dos_protection_paste ... ok [INFO] [stdout] test read_optimized::tests::rwlock_concurrent_read_write ... ok [INFO] [stdout] test read_optimized::tests::concurrent_copy_type_reads ... ok [INFO] [stdout] test s3_fifo::tests::minimum_capacity ... ok [INFO] [stdout] test s3_fifo::tests::remove_key ... ok [INFO] [stdout] test s3_fifo::tests::remove_nonexistent ... ok [INFO] [stdout] test s3_fifo::tests::small_to_main_promotion ... ok [INFO] [stdout] test s3_fifo::tests::update_existing_key ... ok [INFO] [stdout] test semantic_event::tests::button_extraction ... ok [INFO] [stdout] test semantic_event::tests::button_for_double_click ... ok [INFO] [stdout] test semantic_event::tests::button_for_triple_click ... ok [INFO] [stdout] test s3_fifo::tests::stats_tracking ... ok [INFO] [stdout] test semantic_event::tests::button_none_for_drag_move ... ok [INFO] [stdout] test semantic_event::tests::button_none_for_swipe ... ok [INFO] [stdout] test semantic_event::tests::button_none_for_chord ... ok [INFO] [stdout] test s3_fifo::tests::scan_resistance ... ok [INFO] [stdout] test semantic_event::tests::chord_empty_sequence ... ok [INFO] [stdout] test semantic_event::tests::chord_clone_deep_copy ... ok [INFO] [stdout] test semantic_event::tests::chord_key_clone_independence ... ok [INFO] [stdout] test semantic_event::tests::chord_key_debug_format ... ok [INFO] [stdout] test semantic_event::tests::chord_key_different_modifiers_not_equal ... ok [INFO] [stdout] test s3_fifo::tests::miss_returns_none ... ok [INFO] [stdout] test semantic_event::tests::button_none_for_drag_end ... ok [INFO] [stdout] test semantic_event::tests::chord_key_no_modifiers ... ok [INFO] [stdout] test semantic_event::tests::click_with_right_button ... ok [INFO] [stdout] test semantic_event::tests::chord_sequence_contents ... ok [INFO] [stdout] test semantic_event::tests::click_with_middle_button ... ok [INFO] [stdout] test semantic_event::tests::drag_move_with_negative_delta ... ok [INFO] [stdout] test semantic_event::tests::drag_cancel_is_minimal ... ok [INFO] [stdout] test semantic_event::tests::drag_end_position_is_end_not_start ... ok [INFO] [stdout] test semantic_event::tests::chord_key_equality ... ok [INFO] [stdout] test semantic_event::tests::is_click_classification ... ok [INFO] [stdout] test semantic_event::tests::is_drag_false_for_long_press ... ok [INFO] [stdout] test semantic_event::tests::chord_key_hash_consistency ... ok [INFO] [stdout] test semantic_event::tests::is_click_false_for_swipe ... ok [INFO] [stdout] test semantic_event::tests::drag_move_with_zero_delta ... ok [INFO] [stdout] test semantic_event::tests::is_drag_classification ... ok [INFO] [stdout] test semantic_event::tests::is_drag_false_for_swipe ... ok [INFO] [stdout] test semantic_event::tests::long_press_carries_duration ... ok [INFO] [stdout] test semantic_event::tests::long_press_zero_duration ... ok [INFO] [stdout] test semantic_event::tests::position_copy_semantics ... ok [INFO] [stdout] test semantic_event::tests::position_default_is_origin ... ok [INFO] [stdout] test semantic_event::tests::position_extraction ... ok [INFO] [stdout] test semantic_event::tests::position_for_double_click ... ok [INFO] [stdout] test semantic_event::tests::position_for_drag_start ... ok [INFO] [stdout] test semantic_event::tests::position_for_long_press ... ok [INFO] [stdout] test semantic_event::tests::position_for_triple_click ... ok [INFO] [stdout] test semantic_event::tests::position_from_tuple_max ... ok [INFO] [stdout] test semantic_event::tests::position_hash_consistency ... ok [INFO] [stdout] test semantic_event::tests::position_manhattan_distance ... ok [INFO] [stdout] test semantic_event::tests::position_manhattan_distance_horizontal_only ... ok [INFO] [stdout] test semantic_event::tests::position_manhattan_distance_max_coordinates ... ok [INFO] [stdout] test semantic_event::tests::position_manhattan_distance_same_point ... ok [INFO] [stdout] test semantic_event::tests::position_new_and_from_tuple ... ok [INFO] [stdout] test semantic_event::tests::is_click_false_for_long_press ... ok [INFO] [stdout] test semantic_event::tests::position_manhattan_distance_vertical_only ... ok [INFO] [stdout] test semantic_event::tests::swipe_direction_axes ... ok [INFO] [stdout] test semantic_event::tests::position_manhattan_distance_symmetric ... ok [INFO] [stdout] test semantic_event::tests::swipe_direction_copy_semantics ... ok [INFO] [stdout] test semantic_event::tests::swipe_direction_double_opposite_is_identity ... ok [INFO] [stdout] test semantic_event::tests::swipe_direction_hash_consistency ... ok [INFO] [stdout] test semantic_event::tests::swipe_direction_opposite ... ok [INFO] [stdout] test semantic_event::tests::swipe_large_velocity ... ok [INFO] [stdout] test semantic_event::tests::swipe_direction_vertical_horizontal_mutually_exclusive ... ok [INFO] [stdout] test semantic_event::tests::swipe_nan_velocity_not_equal_to_itself ... ok [INFO] [stdout] test semantic_event::tests::swipe_zero_velocity ... ok [INFO] [stdout] test semantic_event::tests::swipe_velocity_and_direction ... ok [INFO] [stdout] test input_parser::proptest_fuzz::deterministic_output ... ok [INFO] [stdout] test semantic_event::tests::semantic_event_clone_and_eq ... ok [INFO] [stdout] test semantic_event::tests::semantic_event_debug_format ... ok [INFO] [stdout] test input_parser::proptest_fuzz::incremental_matches_bulk ... ok [INFO] [stdout] test terminal_capabilities::tests::alacritty_via_term_only ... ok [INFO] [stdout] test terminal_capabilities::tests::all_mux_flags_simultaneous ... ok [INFO] [stdout] test terminal_capabilities::tests::basic_has_dumb_profile ... ok [INFO] [stdout] test terminal_capabilities::tests::basic_is_default ... ok [INFO] [stdout] test terminal_capabilities::tests::basic_is_minimal ... ok [INFO] [stdout] test terminal_capabilities::proptests::prop_in_any_mux_consistent ... ok [INFO] [stdout] test terminal_capabilities::tests::builder_chain_multiple ... ok [INFO] [stdout] test terminal_capabilities::proptests::prop_mux_disables_scroll_region ... ok [INFO] [stdout] test terminal_capabilities::tests::builder_default ... ok [INFO] [stdout] test terminal_capabilities::proptests::prop_mux_disables_hyperlinks ... ok [INFO] [stdout] test terminal_capabilities::proptests::prop_mux_disables_sync_output ... ok [INFO] [stdout] test terminal_capabilities::tests::builder_from_profile ... ok [INFO] [stdout] test terminal_capabilities::tests::builder_set_advanced ... ok [INFO] [stdout] test terminal_capabilities::tests::builder_set_input ... ok [INFO] [stdout] test terminal_capabilities::tests::builder_set_mux ... ok [INFO] [stdout] test terminal_capabilities::tests::builder_starts_empty ... ok [INFO] [stdout] test terminal_capabilities::tests::color_depth_strings ... ok [INFO] [stdout] test terminal_capabilities::tests::colorterm_yes_not_truecolor ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_alacritty ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_colorterm_24bit ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_colorterm_truecolor ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_contour ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_does_not_panic ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_empty_term_is_dumb ... ok [INFO] [stdout] test terminal_capabilities::tests::builder_set_clipboard ... ok [INFO] [stdout] test terminal_capabilities::tests::builder_set_colors ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_dumb_overrides_truecolor_env ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_ignores_invalid_test_profile ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_in_screen ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_ghostty ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_hyper ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_in_zellij ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_iterm ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_kitty_by_term ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_dumb_terminal ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_modern_terminal_in_tmux ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_respects_test_profile_env ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_kitty_by_window_id ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_rio ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_vscode_terminal ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_wezterm ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_wezterm_executable_overrides_explicit_non_wezterm_program ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_wezterm_executable_without_term_program_is_conservative_mux ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_wezterm_mux_pane_disables_sync_policy ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_wezterm_mux_pane_without_term_program_disables_sync_policy ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_foot ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_wezterm_mux_socket_disables_sync_policy ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_wezterm_mux_socket_without_term_program_disables_sync_policy ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_wezterm_pane_overrides_explicit_non_wezterm_program ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_wezterm_socket_overrides_explicit_non_wezterm_program ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_in_tmux ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_wezterm_socket_overrides_explicit_non_wezterm_term_identity ... ok [INFO] [stdout] test terminal_capabilities::proptests::prop_passthrough_wrap_logic ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_xterm_256color ... ok [INFO] [stdout] test terminal_capabilities::tests::detected_profile_has_none_name ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_linux_console ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_xterm_direct ... ok [INFO] [stdout] test terminal_capabilities::tests::detect_screen_256color ... ok [INFO] [stdout] test read_optimized::tests::arcswap_concurrent_read_write ... ok [INFO] [stdout] test terminal_capabilities::tests::fallback_ordering_matrix ... ok [INFO] [stdout] test terminal_capabilities::tests::from_profile_roundtrip ... ok [INFO] [stdout] test terminal_capabilities::tests::in_any_mux_logic ... ok [INFO] [stdout] test terminal_capabilities::tests::kitty_via_term_without_window_id ... ok [INFO] [stdout] test terminal_capabilities::tests::modern_terminal_in_mux_matrix ... ok [INFO] [stdout] test terminal_capabilities::proptests::prop_no_color_preserves_non_visual ... ok [INFO] [stdout] test terminal_capabilities::tests::has_color_logic ... ok [INFO] [stdout] test terminal_capabilities::tests::kitty_window_id_with_generic_term ... ok [INFO] [stdout] test terminal_capabilities::tests::no_color_disables_color_and_links ... ok [INFO] [stdout] test terminal_capabilities::tests::profile_all_predefined ... ok [INFO] [stdout] test terminal_capabilities::tests::no_color_preserves_non_visual_features ... ok [INFO] [stdout] test terminal_capabilities::tests::profile_enum_from_str ... ok [INFO] [stdout] test terminal_capabilities::tests::policies_return_false_when_capability_absent ... ok [INFO] [stdout] test terminal_capabilities::tests::profile_kitty_full_features ... ok [INFO] [stdout] test terminal_capabilities::tests::profile_linux_console ... ok [INFO] [stdout] test terminal_capabilities::tests::mux_compatibility_matrix ... ok [INFO] [stdout] test terminal_capabilities::tests::profile_enum_as_str ... ok [INFO] [stdout] test terminal_capabilities::tests::profile_mux_invariant_matrix ... ok [INFO] [stdout] test terminal_capabilities::tests::needs_passthrough_wrap_only_for_tmux_screen ... ok [INFO] [stdout] test terminal_capabilities::tests::profile_screen_mux_flags ... ok [INFO] [stdout] test terminal_capabilities::tests::profile_vt100_minimal ... ok [INFO] [stdout] test terminal_capabilities::tests::profile_tmux_mux_flags ... ok [INFO] [stdout] test terminal_capabilities::tests::profile_xterm_basic ... ok [INFO] [stdout] test terminal_capabilities::tests::profile_zellij_mux_flags ... ok [INFO] [stdout] test terminal_capabilities::tests::scroll_region_enabled_for_basic_xterm ... ok [INFO] [stdout] test terminal_capabilities::tests::shared_caps_load_returns_initial ... ok [INFO] [stdout] test terminal_capabilities::tests::shared_caps_store_replaces_value ... ok [INFO] [stdout] test terminal_capabilities::tests::terminal_mux_strategy_matrix ... ok [INFO] [stdout] test terminal_capabilities::tests::profile_windows_console ... ok [INFO] [stdout] test terminal_capabilities::tests::profile_xterm_256color ... ok [INFO] [stdout] test terminal_capabilities::tests::unknown_term_program ... ok [INFO] [stdout] test terminal_capabilities::tests::use_clipboard_disabled_in_mux ... ok [INFO] [stdout] test terminal_capabilities::tests::use_clipboard_disabled_in_tmux_even_if_detected ... ok [INFO] [stdout] test terminal_capabilities::tests::use_sync_output_disabled_in_screen ... ok [INFO] [stdout] test terminal_capabilities::tests::use_sync_output_disabled_in_tmux ... ok [INFO] [stdout] test terminal_capabilities::tests::use_sync_output_disabled_in_wezterm_mux ... ok [INFO] [stdout] test terminal_capabilities::tests::use_sync_output_disabled_in_zellij ... ok [INFO] [stdout] test terminal_capabilities::tests::profile_modern_has_all_features ... ok [INFO] [stdout] test terminal_capabilities::tests::wezterm_without_colorterm ... ok [INFO] [stdout] test terminal_capabilities::tests::windows_terminal_not_dumb_when_term_missing ... ok [INFO] [stdout] test text_width::tests::ascii_width_empty ... ok [INFO] [stdout] test text_width::tests::ascii_width_non_ascii_returns_none ... ok [INFO] [stdout] test text_width::tests::ascii_width_pure_ascii ... ok [INFO] [stdout] test text_width::tests::ascii_width_with_newline_returns_none ... ok [INFO] [stdout] test text_width::tests::ascii_width_with_space ... ok [INFO] [stdout] test text_width::tests::ascii_width_with_tab_returns_none ... ok [INFO] [stdout] test terminal_capabilities::tests::use_clipboard_enabled_when_no_mux_and_modern ... ok [INFO] [stdout] test text_width::tests::char_width_bell ... ok [INFO] [stdout] test text_width::tests::ascii_width_control_char_returns_none ... ok [INFO] [stdout] test text_width::tests::char_width_combining_accent ... ok [INFO] [stdout] test text_width::tests::char_width_newline ... ok [INFO] [stdout] test text_width::tests::char_width_nul ... ok [INFO] [stdout] test text_width::tests::char_width_soft_hyphen ... ok [INFO] [stdout] test text_width::tests::char_width_space ... ok [INFO] [stdout] test text_width::tests::char_width_tab ... ok [INFO] [stdout] test text_width::tests::char_width_variation_selector ... ok [INFO] [stdout] test text_width::tests::char_width_wide_east_asian ... ok [INFO] [stdout] test text_width::tests::char_width_zwj ... ok [INFO] [stdout] test text_width::tests::char_width_zwnbsp ... ok [INFO] [stdout] test text_width::tests::cjk_width_env_case_insensitive ... ok [INFO] [stdout] test text_width::tests::cjk_width_env_chinese_locale ... ok [INFO] [stdout] test text_width::tests::cjk_width_env_english_locale_returns_false ... ok [INFO] [stdout] test text_width::tests::cjk_width_env_explicit_false ... ok [INFO] [stdout] test text_width::tests::cjk_width_env_explicit_true ... ok [INFO] [stdout] test text_width::tests::cjk_width_env_fallback_key ... ok [INFO] [stdout] test text_width::tests::cjk_width_env_glyph_overrides_locale ... ok [INFO] [stdout] test text_width::tests::cjk_width_env_japanese_locale ... ok [INFO] [stdout] test text_width::tests::cjk_width_env_korean_locale ... ok [INFO] [stdout] test text_width::tests::cjk_width_env_no_vars_returns_false ... ok [INFO] [stdout] test text_width::tests::cjk_width_env_on_is_true ... ok [INFO] [stdout] test text_width::tests::cjk_width_env_text_cjk_key ... ok [INFO] [stdout] test text_width::tests::display_width_ascii ... ok [INFO] [stdout] test text_width::tests::display_width_ascii_with_control_codes ... ok [INFO] [stdout] test text_width::tests::display_width_cjk_chars ... ok [INFO] [stdout] test text_width::tests::display_width_combining_chars ... ok [INFO] [stdout] test text_width::tests::display_width_empty ... ok [INFO] [stdout] test terminal_capabilities::tests::profile_dumb_no_features ... ok [INFO] [stdout] test text_width::tests::char_width_ascii_letter ... ok [INFO] [stdout] test text_width::tests::char_width_cjk_ideograph ... ok [INFO] [stdout] test terminal_capabilities::tests::use_scroll_region_disabled_in_mux ... ok [INFO] [stdout] test terminal_capabilities::tests::use_hyperlinks_disabled_in_mux ... ok [INFO] [stdout] test terminal_capabilities::tests::no_color_overrides_everything ... ok [INFO] [stdout] test text_width::tests::grapheme_width_combining_sequence ... ok [INFO] [stdout] test text_width::tests::grapheme_width_ascii_char ... ok [INFO] [stdout] test terminal_capabilities::tests::shared_caps_concurrent_read_write ... ok [INFO] [stdout] test text_width::tests::vs16_trust_case_insensitive ... ok [INFO] [stdout] test text_width::tests::vs16_trust_not_set ... ok [INFO] [stdout] test text_width::tests::vs16_trust_unicode_string ... ok [INFO] [stdout] test text_width::tests::grapheme_width_zwj_cluster ... ok [INFO] [stdout] test text_width::tests::vs16_trust_other_value ... ok [INFO] [stdout] test text_width::tests::display_width_mixed_ascii_cjk ... ok [INFO] [stdout] test input_parser::proptest_fuzz::events_are_well_formed ... ok [INFO] [stdout] test text_width::tests::vs16_trust_value_2 ... ok [INFO] [stdout] test text_width::tests::grapheme_width_cjk_ideograph ... ok [INFO] [stdout] test input_parser::tests::dos_protection_paste_overflow_terminator ... ok [INFO] [stdout] test input_parser::proptest_fuzz::osc_near_limit_processes ... ok [INFO] [stdout] test terminal_capabilities::proptests::prop_policy_false_when_capability_off ... ok [INFO] [stdout] test input_parser::tests::dos_protection_paste_boundary ... ok [INFO] [stdout] test input_parser::proptest_fuzz::mixed_sequences_never_panic ... ok [INFO] [stdout] test input_parser::proptest_fuzz::paste_content_bounded ... ok [INFO] [stdout] test input_parser::proptest_fuzz::osc52_never_panics ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1158 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.64s [INFO] [stdout] [INFO] [stderr] Running tests/animation_test.rs (/opt/rustwide/target/debug/deps/animation_test-e40acaf391552dce) [INFO] [stdout] [INFO] [stdout] running 44 tests [INFO] [stdout] test choreo_callbacks::drain_clears_queue ... ok [INFO] [stdout] test choreo_callbacks::on_complete_fires_once ... ok [INFO] [stdout] test choreo_callbacks::multiple_thresholds_in_order ... ok [INFO] [stdout] test choreo_group::empty_group_is_complete ... ok [INFO] [stdout] test choreo_group::group_creation_and_control ... ok [INFO] [stdout] test choreo_group::group_insert_replaces ... ok [INFO] [stdout] test choreo_group::individual_access ... ok [INFO] [stdout] test choreo_group::progress_tracking ... ok [INFO] [stdout] test choreo_presets::cascade_combined_with_callbacks ... ok [INFO] [stdout] test choreo_callbacks::progress_threshold_fires ... ok [INFO] [stdout] test choreo_callbacks::on_start_fires_once ... ok [INFO] [stdout] test choreo_group::shared_play_and_cancel ... ok [INFO] [stdout] test choreo_presets::cascade_in_e2e ... ok [INFO] [stdout] test choreo_callbacks::reset_allows_events_to_fire_again ... ok [INFO] [stdout] test choreo_presets::fade_through_e2e ... ok [INFO] [stdout] test choreo_presets::pulse_sequence_e2e ... ok [INFO] [stdout] test choreo_stagger::custom_easing_mode ... ok [INFO] [stdout] test choreo_presets::slide_presets_e2e ... ok [INFO] [stdout] test choreo_presets::typewriter_e2e ... ok [INFO] [stdout] test choreo_stagger::linear_stagger_timing ... ok [INFO] [stdout] test choreo_stagger::jitter_deterministic ... ok [INFO] [stdout] test choreo_stagger::jitter_different_seeds_differ ... ok [INFO] [stdout] test choreo_timeline::infinite_loop_never_finishes ... ok [INFO] [stdout] test choreo_stagger::eased_stagger_curves ... ok [INFO] [stdout] test choreo_timeline::pause_and_resume ... ok [INFO] [stdout] test choreo_timeline::mixed_sequential_and_parallel ... ok [INFO] [stdout] test choreo_timeline::parallel_animations_sync ... ok [INFO] [stdout] test delay_waits_before_starting ... ok [INFO] [stdout] test choreo_timeline::seek_to_label ... ok [INFO] [stdout] test nested_sequence_completes ... ok [INFO] [stdout] test sequence_chains_with_overshoot ... ok [INFO] [stdout] test parallel_of_sequences_completes ... ok [INFO] [stdout] test choreo_presets::fan_out_e2e ... ok [INFO] [stdout] test parallel_ticks_both_animations ... ok [INFO] [stdout] test choreo_timeline::loop_and_repeat ... ok [INFO] [stdout] test sequence_forwards_overshoot ... ok [INFO] [stdout] test easing_functions_are_monotonic ... ok [INFO] [stdout] test choreo_timeline::sequential_animation_order ... ok [INFO] [stdout] test fade_duration_tracking ... ok [INFO] [stdout] test pulse_phase_wraps_properly ... ok [INFO] [stdout] test fade_completes_when_tick_ge_duration ... ok [INFO] [stdout] test parallel_duration_is_max ... ok [INFO] [stdout] test easing_outputs_bounded ... ok [INFO] [stdout] test sequence_duration_sums ... ok [INFO] [stderr] Running tests/input_parity_test.rs (/opt/rustwide/target/debug/deps/input_parity_test-2bf24a9986a6787c) [INFO] [stdout] [INFO] [stdout] test result: ok. 44 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [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/proptest_geometry_invariants.rs (/opt/rustwide/target/debug/deps/proptest_geometry_invariants-32de95b46248a3a6) [INFO] [stdout] [INFO] [stdout] running 18 tests [INFO] [stdout] test empty_rect_is_empty ... ok [INFO] [stdout] test inner_margin_shrinks ... ok [INFO] [stdout] test rect_area_is_product ... ok [INFO] [stdout] test no_panic_size_operations ... ok [INFO] [stdout] test intersection_commutative ... ok [INFO] [stdout] test contains_agrees_with_intersection ... ok [INFO] [stdout] test right_bottom_consistent ... ok [INFO] [stdout] test union_contains_both ... ok [INFO] [stdout] test union_idempotent ... ok [INFO] [stdout] test size_area_is_product ... ok [INFO] [stdout] test no_panic_rect_operations ... ok [INFO] [stdout] test size_clamp_min_monotone ... ok [INFO] [stdout] test union_commutative ... ok [INFO] [stdout] test sides_sums_consistent ... ok [INFO] [stdout] test intersection_idempotent ... ok [INFO] [stdout] test intersection_with_union_absorption ... ok [INFO] [stdout] test size_clamp_max_monotone ... ok [INFO] [stderr] Running tests/proptest_read_optimized_invariants.rs (/opt/rustwide/target/debug/deps/proptest_read_optimized_invariants-20c22f3014668ef7) [INFO] [stdout] test intersection_fits_within_both ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 22 tests [INFO] [stdout] test mutex_store_load_roundtrip ... ok [INFO] [stdout] test rwlock_store_load_roundtrip ... ok [INFO] [stdout] test arcswap_store_load_roundtrip ... ok [INFO] [stdout] test mutex_witness_roundtrip ... ok [INFO] [stdout] test rwlock_rapid_succession ... ok [INFO] [stdout] test mutex_rapid_succession ... ok [INFO] [stdout] test arcswap_witness_roundtrip ... ok [INFO] [stdout] test rwlock_witness_roundtrip ... ok [INFO] [stdout] test witness_corrupted_is_detected ... ok [INFO] [stdout] test witness_different_seeds_differ ... ok [INFO] [stdout] test witness_consistency_invariant ... ok [INFO] [stdout] test rwlock_monotonic_reads ... ok [INFO] [stdout] test rwlock_no_torn_reads ... ok [INFO] [stdout] test stress_rwlock_1m_reads_1k_writes ... ok [INFO] [stdout] test mutex_no_torn_reads ... ok [INFO] [stdout] test stress_mutex_1m_reads_1k_writes ... ok [INFO] [stdout] test mutex_monotonic_reads ... ok [INFO] [stdout] test stress_arcswap_1m_reads_1k_writes ... ok [INFO] [stdout] test arcswap_old_or_new ... ok [INFO] [stdout] test arcswap_monotonic_reads ... ok [INFO] [stdout] test arcswap_no_torn_reads ... ok [INFO] [stdout] test arcswap_rapid_succession ... ok [INFO] [stdout] [INFO] [stderr] Running tests/proptest_s3_fifo_invariants.rs (/opt/rustwide/target/debug/deps/proptest_s3_fifo_invariants-cc81a86a8670757c) [INFO] [stdout] test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.53s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 16 tests [INFO] [stdout] test capacity_split_invariant ... ok [INFO] [stdout] test inserted_key_immediately_retrievable ... ok [INFO] [stdout] test accessed_item_survives_small_eviction ... ok [INFO] [stdout] test update_returns_old_value ... ok [INFO] [stdout] test remove_makes_key_absent ... ok [INFO] [stdout] test insert_within_capacity_all_retrievable ... ok [INFO] [stdout] test ghost_bounded_under_heavy_insertion ... ok [INFO] [stdout] test remove_returns_none_for_absent ... ok [INFO] [stdout] test clear_resets_all_sizes ... ok [INFO] [stdout] test deterministic_state ... ok [INFO] [stdout] test contains_key_agrees_with_get ... ok [INFO] [stdout] test no_panics_minimum_capacity ... ok [INFO] [stdout] test len_never_exceeds_capacity ... ok [INFO] [stdout] test len_equals_small_plus_main ... ok [INFO] [stdout] test ghost_bounded_after_operations ... ok [INFO] [stderr] Running tests/pty_terminal_session.rs (/opt/rustwide/target/debug/deps/pty_terminal_session-72164320f1f7523b) [INFO] [stdout] test no_panics_on_arbitrary_ops ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 7.92s [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] Doc-tests ftui_core [INFO] [stdout] [INFO] [stdout] running 26 tests [INFO] [stdout] test src/animation/callbacks.rs - animation::callbacks (line 11) ... ignored [INFO] [stdout] test src/animation/group.rs - animation::group (line 12) ... ignored [INFO] [stdout] test src/animation/mod.rs - animation (line 15) ... ignored [INFO] [stdout] test src/animation/spring.rs - animation::spring::Spring (line 70) ... ignored [INFO] [stdout] test src/animation/stagger.rs - animation::stagger (line 11) ... ignored [INFO] [stdout] test src/animation/timeline.rs - animation::timeline (line 12) ... ignored [INFO] [stdout] test src/cx.rs - cx::Cx::check (line 419) ... ignored [INFO] [stdout] test src/input_parser.rs - input_parser::InputParser (line 90) ... ignored [INFO] [stdout] test src/event_coalescer.rs - event_coalescer (line 25) ... ok [INFO] [stdout] test src/cx.rs - cx (line 26) ... ok [INFO] [stdout] test src/capability_override.rs - capability_override (line 38) ... ok [INFO] [stdout] test src/key_sequence.rs - key_sequence (line 26) ... ok [INFO] [stdout] test src/cursor.rs - cursor (line 28) ... ok [INFO] [stdout] test src/keybinding.rs - keybinding::ActionConfig (line 651) ... ok [INFO] [stdout] test src/capability_override.rs - capability_override::with_capability_override (line 440) ... ok [INFO] [stdout] test src/terminal_capabilities.rs - terminal_capabilities (line 32) ... ok [INFO] [stdout] test src/capability_override.rs - capability_override::push_override (line 416) ... ok [INFO] [stdout] test src/keybinding.rs - keybinding::SequenceConfig::validated (line 233) ... ok [INFO] [stdout] test src/keybinding.rs - keybinding (line 69) ... ok [INFO] [stdout] test src/terminal_capabilities.rs - terminal_capabilities::SharedCapabilities (line 1172) ... ok [INFO] [stdout] test src/read_optimized.rs - read_optimized (line 28) ... ok [INFO] [stdout] test src/s3_fifo.rs - s3_fifo (line 21) ... ok [INFO] [stdout] test src/keybinding.rs - keybinding::ActionMapper (line 759) ... ok [INFO] [stdout] test src/terminal_capabilities.rs - terminal_capabilities (line 46) ... ok [INFO] [stdout] test src/terminal_capabilities.rs - terminal_capabilities::CapabilityProfileBuilder (line 731) ... ok [INFO] [stdout] test src/keybinding.rs - keybinding (line 48) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 18 passed; 0 failed; 8 ignored; 0 measured; 0 filtered out; finished in 0.13s [INFO] [stdout] [INFO] [stdout] all doctests ran in 1.13s; merged doctests compilation took 0.99s [INFO] running `Command { std: "docker" "inspect" "227bdc93c4fa8b4b049de85da591f17553e3cf690020f54775fd94618e9de89d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "227bdc93c4fa8b4b049de85da591f17553e3cf690020f54775fd94618e9de89d", kill_on_drop: false }` [INFO] [stdout] 227bdc93c4fa8b4b049de85da591f17553e3cf690020f54775fd94618e9de89d