[INFO] fetching crate ttui 2.0.0...
[INFO] testing ttui-2.0.0 against 1.99.0-beta.8 for beta-1.100-2
[INFO] extracting crate ttui 2.0.0 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate ttui 2.0.0
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate ttui 2.0.0
[INFO] tweaked toml for crates.io crate ttui 2.0.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate ttui 2.0.0 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ttui 2.0.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rtrb v0.3.4
[INFO] [stderr]   Downloaded coreaudio-rs v0.14.2
[INFO] [stderr]   Downloaded crossterm v0.27.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 4062f10c4f7f71e18f3e2f10c5458e53ef52c5761b5c7f1172e54b4b6d7e34a1
[INFO] running `Command { std: "docker" "start" "4062f10c4f7f71e18f3e2f10c5458e53ef52c5761b5c7f1172e54b4b6d7e34a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4062f10c4f7f71e18f3e2f10c5458e53ef52c5761b5c7f1172e54b4b6d7e34a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4062f10c4f7f71e18f3e2f10c5458e53ef52c5761b5c7f1172e54b4b6d7e34a1" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4062f10c4f7f71e18f3e2f10c5458e53ef52c5761b5c7f1172e54b4b6d7e34a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4062f10c4f7f71e18f3e2f10c5458e53ef52c5761b5c7f1172e54b4b6d7e34a1" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling crossterm v0.27.0
[INFO] [stderr]    Compiling ttui v2.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.78s
[INFO] running `Command { std: "docker" "inspect" "4062f10c4f7f71e18f3e2f10c5458e53ef52c5761b5c7f1172e54b4b6d7e34a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4062f10c4f7f71e18f3e2f10c5458e53ef52c5761b5c7f1172e54b4b6d7e34a1" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling bytemuck v1.25.2
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling zerocopy v0.8.56
[INFO] [stderr]    Compiling alsa-sys v0.4.0
[INFO] [stderr]    Compiling either v1.17.0
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling cpal v0.17.3
[INFO] [stderr]    Compiling extended v0.1.0
[INFO] [stderr]    Compiling thiserror v2.0.19
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling symphonia-core v0.5.5
[INFO] [stderr]    Compiling rand v0.10.2
[INFO] [stderr]    Compiling clap_builder v4.6.6
[INFO] [stderr]    Compiling num-bigint v0.4.8
[INFO] [stderr]    Compiling alsa v0.11.0
[INFO] [stderr]    Compiling dasp_sample v0.11.0
[INFO] [stderr]    Compiling symphonia-metadata v0.5.5
[INFO] [stderr]    Compiling symphonia-utils-xiph v0.5.5
[INFO] [stderr]    Compiling symphonia-bundle-mp3 v0.5.5
[INFO] [stderr]    Compiling symphonia-format-ogg v0.5.5
[INFO] [stderr]    Compiling symphonia-format-isomp4 v0.5.5
[INFO] [stderr]    Compiling symphonia-bundle-flac v0.5.5
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling thiserror-impl v2.0.19
[INFO] [stderr]    Compiling symphonia-codec-vorbis v0.5.5
[INFO] [stderr]    Compiling symphonia-format-riff v0.5.5
[INFO] [stderr]    Compiling symphonia-codec-pcm v0.5.5
[INFO] [stderr]    Compiling symphonia-codec-aac v0.5.5
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling clap v4.6.6
[INFO] [stderr]    Compiling symphonia v0.5.5
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling rand_distr v0.6.0
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling rtrb v0.3.4
[INFO] [stderr]    Compiling zerocopy-derive v0.8.56
[INFO] [stderr]    Compiling rodio v0.22.2
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling ttui v2.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 06s
[INFO] running `Command { std: "docker" "inspect" "4062f10c4f7f71e18f3e2f10c5458e53ef52c5761b5c7f1172e54b4b6d7e34a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4062f10c4f7f71e18f3e2f10c5458e53ef52c5761b5c7f1172e54b4b6d7e34a1" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.34s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ttui-2ff8b298cc3ba3b0)
[INFO] [stdout] 
[INFO] [stdout] running 321 tests
[INFO] [stdout] test app::tests::on_tick_default_is_a_no_op ... ok
[INFO] [stdout] test audio::tests::test_null_audio_sink_play_does_not_panic ... ok
[INFO] [stdout] test buffer::tests::blit_at_the_origin_copies_every_cell ... ok
[INFO] [stdout] test buffer::tests::blit_partly_past_the_right_edge_clips_the_overhanging_columns ... ok
[INFO] [stdout] test buffer::tests::blit_past_the_bottom_edge_writes_nothing ... ok
[INFO] [stdout] test app::tests::tick_rate_defaults_to_none ... ok
[INFO] [stdout] test audio::tests::test_audio_sink_trait_object_safety ... ok
[INFO] [stdout] test audio::tests::test_audio_sink_trait_is_implementable_and_records_calls ... ok
[INFO] [stdout] test buffer::tests::blit_near_u16_max_does_not_overflow_the_offset_arithmetic ... ok
[INFO] [stdout] test buffer::tests::bold_dim_and_normal_are_pairwise_distinct ... ok
[INFO] [stdout] test buffer::tests::cell_default_alpha_is_zero ... ok
[INFO] [stdout] test buffer::tests::blit_past_the_right_edge_does_not_wrap_onto_the_next_row ... ok
[INFO] [stdout] test buffer::tests::blit_writes_only_what_fits_when_the_source_overhangs ... ok
[INFO] [stdout] test buffer::tests::cells_identical_except_intensity_are_unequal ... ok
[INFO] [stdout] test buffer::tests::cloning_a_layer_stack_preserves_all_layers_not_just_the_base ... ok
[INFO] [stdout] test buffer::tests::composite_accumulates_correctly_across_three_partially_transparent_layers ... ok
[INFO] [stdout] test buffer::tests::composite_blends_bg_partial_alpha_between_two_layers ... ok
[INFO] [stdout] test buffer::tests::composite_blends_partial_alpha_between_two_layers ... ok
[INFO] [stdout] test buffer::tests::composite_early_exits_once_a_layer_reaches_full_opacity ... ok
[INFO] [stdout] test buffer::tests::composite_of_a_single_layer_stack_forces_fractional_alpha_to_one ... ok
[INFO] [stdout] test buffer::tests::a_fully_opaque_layer_occludes_everything_beneath_it ... ok
[INFO] [stdout] test buffer::tests::blit_places_the_sources_top_left_at_the_offset ... ok
[INFO] [stdout] test buffer::tests::composite_of_a_single_layer_stack_normalizes_zero_alpha_to_default ... ok
[INFO] [stdout] test buffer::tests::composite_of_a_single_layer_stack_matches_that_layer ... ok
[INFO] [stdout] test buffer::tests::glyph_selection_falls_back_to_the_topmost_contributor_when_none_reach_half ... ok
[INFO] [stdout] test buffer::tests::glyph_selection_uses_the_first_layer_to_reach_half_contribution ... ok
[INFO] [stdout] test buffer::tests::layer_count_reflects_pushed_layers ... ok
[INFO] [stdout] test buffer::tests::intensity_default_is_normal ... ok
[INFO] [stdout] test buffer::tests::diff_returns_only_changed_cells ... ok
[INFO] [stdout] test buffer::tests::layer_gives_read_only_access_to_a_pushed_layer ... ok
[INFO] [stdout] test buffer::tests::new_buffer_is_filled_with_default_cells ... ok
[INFO] [stdout] test buffer::tests::layer_stack_derefs_to_the_base_layer ... ok
[INFO] [stdout] test buffer::tests::new_layer_stack_has_one_default_filled_base_layer ... ok
[INFO] [stdout] test buffer::tests::non_rgb_colors_fall_back_to_the_lerp_color_target_not_a_true_blend ... ok
[INFO] [stdout] test buffer::tests::push_layer_appends_a_same_dimension_default_filled_layer ... ok
[INFO] [stdout] test buffer::tests::cell_default_style_equals_cell_style_default ... ok
[INFO] [stdout] test buffer::tests::set_at_the_last_valid_cell_still_works ... ok
[INFO] [stdout] test buffer::tests::cell_style_default_intensity_is_normal ... ok
[INFO] [stdout] test buffer::tests::set_then_get_returns_the_cell ... ok
[INFO] [stdout] test buffer::tests::diff_of_identical_buffers_is_empty ... ok
[INFO] [stdout] test camera::tests::dim_at_factor_half_halves_each_channel ... ok
[INFO] [stdout] test camera::tests::dim_clamps_factors_outside_zero_to_one_rather_than_brightening ... ok
[INFO] [stdout] test camera::tests::viewport_at_zoom_two_duplicates_each_source_cell_across_two_output_cells ... ok
[INFO] [stdout] test camera::tests::dim_at_factor_one_drives_rgb_cells_to_black ... ok
[INFO] [stdout] test camera::tests::dim_at_factor_zero_leaves_rgb_cells_unchanged ... ok
[INFO] [stdout] test camera::tests::dim_leaves_non_rgb_colors_unaffected ... ok
[INFO] [stdout] test camera::tests::viewport_at_zoom_one_crops_a_window_at_the_camera_position ... ok
[INFO] [stdout] test camera::tests::viewport_with_an_out_of_bounds_camera_does_not_panic ... ok
[INFO] [stdout] test canvas::tests::blit_clips_to_the_target_buffers_bounds_without_panicking ... ok
[INFO] [stdout] test canvas::tests::braille_single_dot_produces_the_correct_glyph_and_color ... ok
[INFO] [stdout] test canvas::tests::braille_two_dots_combine_their_bits_into_one_glyph ... ok
[INFO] [stdout] test canvas::tests::braille_unset_cell_leaves_target_buffer_untouched ... ok
[INFO] [stdout] test canvas::tests::clear_pixel_removes_a_previously_set_pixel ... ok
[INFO] [stdout] test canvas::tests::fill_polygon_does_nothing_for_fewer_than_three_points ... ok
[INFO] [stdout] test canvas::tests::fill_polygon_fills_a_rectangle_with_correct_even_odd_boundaries ... ok
[INFO] [stdout] test canvas::tests::fill_polygon_handles_wildly_out_of_range_coordinates_without_panicking ... ok
[INFO] [stdout] test canvas::tests::fill_rect_fills_every_pixel_in_the_region ... ok
[INFO] [stdout] test canvas::tests::half_block_both_different_splits_fg_and_bg ... ok
[INFO] [stdout] test canvas::tests::half_block_both_equal_produces_solid_block ... ok
[INFO] [stdout] test canvas::tests::half_block_top_only_produces_upper_half_block_with_reset_bg ... ok
[INFO] [stdout] test canvas::tests::half_block_unset_cell_leaves_target_buffer_untouched ... ok
[INFO] [stdout] test canvas::tests::line_draws_a_diagonal_run_via_the_bresenham_error_term_branches ... ok
[INFO] [stdout] test canvas::tests::braille_last_written_dot_wins_the_cells_color ... ok
[INFO] [stdout] test canvas::tests::braille_last_written_wins_even_when_earlier_in_scan_order ... ok
[INFO] [stdout] test canvas::tests::rect_draws_all_four_edges_of_the_outline ... ok
[INFO] [stdout] test canvas::tests::set_pixel_out_of_bounds_is_silently_ignored ... ok
[INFO] [stdout] test easing::tests::scale_color_above_one_brightens_and_saturates_at_255 ... ok
[INFO] [stdout] test easing::tests::scale_color_at_half_halves_each_channel ... ok
[INFO] [stdout] test easing::tests::scale_color_at_one_leaves_an_rgb_color_unchanged ... ok
[INFO] [stdout] test easing::tests::scale_color_at_zero_is_black ... ok
[INFO] [stdout] test canvas::tests::half_block_bottom_only_produces_lower_half_block_with_reset_bg ... ok
[INFO] [stdout] test canvas::tests::line_draws_a_horizontal_run_of_pixels ... ok
[INFO] [stdout] test easing::tests::test_ease_out_endpoints ... ok
[INFO] [stdout] test canvas::tests::project_polygon_then_fill_polygon_produce_the_expected_triangle ... ok
[INFO] [stdout] test canvas::tests::rect_and_fill_rect_near_u16_max_do_not_panic ... ok
[INFO] [stdout] test easing::tests::scale_color_below_zero_saturates_to_black ... ok
[INFO] [stdout] test easing::tests::scale_color_passes_non_rgb_through_at_every_factor ... ok
[INFO] [stdout] test easing::tests::test_ease_out_faster_than_linear ... ok
[INFO] [stdout] test easing::tests::test_lerp_color_endpoints ... ok
[INFO] [stdout] test easing::tests::test_lerp_color_midpoint ... ok
[INFO] [stdout] test easing::tests::test_lerp_clamps_above ... ok
[INFO] [stdout] test easing::tests::test_lerp_color_non_rgb_endpoints_are_the_endpoints ... ok
[INFO] [stdout] test easing::tests::test_lerp_clamps_below ... ok
[INFO] [stdout] test easing::tests::test_lerp_color_rgb_pair_still_interpolates_componentwise ... ok
[INFO] [stdout] test easing::tests::test_lerp_endpoints ... ok
[INFO] [stdout] test easing::tests::test_lerp_color_non_rgb_falls_back_to_target ... ok
[INFO] [stdout] test easing::tests::test_lerp_midpoint ... ok
[INFO] [stdout] test easing::tests::test_progress_equal_duration ... ok
[INFO] [stdout] test easing::tests::test_progress_halfway ... ok
[INFO] [stdout] test easing::tests::test_progress_zero_duration ... ok
[INFO] [stdout] test effects::tests::shake_with_large_offset_clears_all_cells ... ok
[INFO] [stdout] test easing::tests::test_progress_elapsed_exceeds_duration ... ok
[INFO] [stdout] test effects::tests::shake_with_positive_dx_moves_cell_right ... ok
[INFO] [stdout] test effects::tests::shake_with_zero_offset_returns_unchanged_buffer ... ok
[INFO] [stdout] test glitch::tests::clear_deactivates_immediately_regardless_of_remaining_duration ... ok
[INFO] [stdout] test glitch::tests::default_alpha_is_1_0 ... ok
[INFO] [stdout] test glitch::tests::fresh_glitch_buffer_is_inactive_and_render_is_a_no_op ... ok
[INFO] [stdout] test buffer::tests::a_visually_blank_but_alpha_1_cell_occludes_what_is_beneath_it ... ok
[INFO] [stdout] test easing::tests::test_progress_zero_elapsed ... ok
[INFO] [stdout] test effects::tests::shake_with_negative_dy_moves_cell_up ... ok
[INFO] [stdout] test input::tests::abandoned_chord_prefix_falls_through_to_a_valid_single_key_binding ... ok
[INFO] [stdout] test glitch::tests::ticking_past_the_triggered_duration_deactivates_it ... ok
[INFO] [stdout] test glitch::tests::trigger_makes_is_active_true ... ok
[INFO] [stdout] test glitch::tests::with_alpha_sets_every_rendered_cells_alpha ... ok
[INFO] [stdout] test input::tests::a_full_four_key_chord_fires_only_on_the_final_key ... ok
[INFO] [stdout] test input::tests::chord_keys_out_of_order_do_not_fire ... ok
[INFO] [stdout] test glitch::tests::at_full_intensity_every_cell_is_glitched_with_the_requested_color ... ok
[INFO] [stdout] test input::tests::dead_end_key_clears_pending_with_no_action ... ok
[INFO] [stdout] test input::tests::expire_accumulates_across_multiple_calls_rather_than_resetting_each_time ... ok
[INFO] [stdout] test input::tests::expire_accumulates_past_timeout_across_many_small_calls ... ok
[INFO] [stdout] test input::tests::expire_clears_a_stale_pending_chord_after_timeout ... ok
[INFO] [stdout] test input::tests::expire_does_not_clear_a_chord_still_within_timeout ... ok
[INFO] [stdout] test input::tests::duplicate_registration_the_first_bound_wins ... ok
[INFO] [stdout] test input::tests::overlapping_prefix_chords_resolve_to_the_correct_one ... ok
[INFO] [stdout] test input::tests::partial_chord_does_not_fire_early ... ok
[INFO] [stdout] test input::tests::modifier_matching_uses_contains_not_exact_equality ... ok
[INFO] [stdout] test input::tests::expire_does_nothing_when_pending_is_empty ... ok
[INFO] [stdout] test input::tests::reset_discards_a_pending_chord_immediately ... ok
[INFO] [stdout] test input::tests::mouse_paste_and_focus_events_are_ignored ... ok
[INFO] [stdout] test input::tests::key_release_and_repeat_events_are_ignored ... ok
[INFO] [stdout] test input::tests::non_key_events_are_ignored ... ok
[INFO] [stdout] test input::tests::unmatched_key_returns_none ... ok
[INFO] [stdout] test layout::tests::a_point_on_the_right_or_bottom_edge_is_not_contained ... ok
[INFO] [stdout] test layout::tests::a_point_on_the_left_or_top_edge_is_contained ... ok
[INFO] [stdout] test layout::tests::a_zero_width_or_zero_height_rect_contains_nothing ... ok
[INFO] [stdout] test layout::tests::fill_constraints_split_remaining_space_by_weight ... ok
[INFO] [stdout] test layout::tests::margin_and_spacing_shrink_and_separate_children ... ok
[INFO] [stdout] test layout::tests::percentage_constraints_split_vertically ... ok
[INFO] [stdout] test input::tests::single_key_binding_fires_on_first_matching_press ... ok
[INFO] [stdout] test layout::tests::a_point_fully_outside_each_direction_is_not_contained ... ok
[INFO] [stdout] test input::tests::two_key_chord_requires_both_keys_in_order ... ok
[INFO] [stdout] test layout::tests::a_point_strictly_inside_is_contained ... ok
[INFO] [stdout] test noise::tests::distinct_seeds_give_distinct_offsets ... ok
[INFO] [stdout] test noise::tests::scatter_is_deterministic_for_the_same_seed ... ok
[INFO] [stdout] test noise::tests::scatter_scales_linearly_with_spread ... ok
[INFO] [stdout] test layout::tests::fixed_constraints_split_horizontally ... ok
[INFO] [stdout] test particles::tests::spawn_increases_len_by_one ... ok
[INFO] [stdout] test particles::tests::update_accumulates_age_across_multiple_calls_until_expiry ... ok
[INFO] [stdout] test particles::tests::update_accumulates_position_across_multiple_calls ... ok
[INFO] [stdout] test particles::tests::update_moves_particle_by_velocity_times_elapsed ... ok
[INFO] [stdout] test noise::tests::scatter_stays_within_half_the_spread ... ok
[INFO] [stdout] test particles::tests::particle_system_new_is_empty ... ok
[INFO] [stdout] test particles::tests::render_skips_particle_outside_buffer_bounds ... ok
[INFO] [stdout] test particles::tests::render_writes_particle_to_buffer_at_rounded_position ... ok
[INFO] [stdout] test particles::tests::update_ages_particle_and_removes_when_age_exceeds_lifetime ... ok
[INFO] [stdout] test perspective::tests::nearer_points_project_farther_from_center_and_with_larger_scale ... ok
[INFO] [stdout] test perspective::tests::clip_to_screen_clips_a_single_edge_crossing ... ok
[INFO] [stdout] test perspective::tests::clip_to_screen_leaves_a_fully_inside_line_unchanged ... ok
[INFO] [stdout] test perspective::tests::clip_to_screen_rejects_a_line_fully_outside_on_each_side ... ok
[INFO] [stdout] test perspective::tests::point_behind_the_near_plane_returns_none ... ok
[INFO] [stdout] test perspective::tests::point_exactly_at_the_near_plane_returns_none ... ok
[INFO] [stdout] test perspective::tests::positive_world_y_maps_to_a_smaller_screen_y ... ok
[INFO] [stdout] test perspective::tests::project_line_clips_instead_of_saturating_an_off_screen_endpoint ... ok
[INFO] [stdout] test perspective::tests::project_line_returns_none_when_every_vertexs_scale_is_below_min_scale ... ok
[INFO] [stdout] test perspective::tests::clip_to_screen_resolves_a_two_edge_corner_crossing ... ok
[INFO] [stdout] test particles::tests::update_retains_particles_with_age_less_than_lifetime ... ok
[INFO] [stdout] test perspective::tests::project_polygon_projects_every_vertex_when_visible ... ok
[INFO] [stdout] test perspective::tests::project_line_projects_a_fully_visible_line_to_subpixel_coordinates ... ok
[INFO] [stdout] test perspective::tests::project_line_returns_none_when_either_endpoint_is_behind_the_near_plane ... ok
[INFO] [stdout] test perspective::tests::project_polygon_returns_none_when_any_vertex_is_behind_the_near_plane ... ok
[INFO] [stdout] test perspective::tests::project_polygon_returns_none_when_every_vertexs_scale_is_below_min_scale ... ok
[INFO] [stdout] test terminal::render_diff_tests::bold_toggle_emits_intensity_transitions ... ok
[INFO] [stdout] test terminal::render_diff_tests::empty_diffs_produce_no_output ... ok
[INFO] [stdout] test terminal::render_diff_tests::new_row_forces_a_second_move ... ok
[INFO] [stdout] test terminal::render_diff_tests::color_change_mid_run_re_emits_that_color_only ... ok
[INFO] [stdout] test terminal::render_diff_tests::contiguous_same_styled_run_moves_once_and_sets_style_once ... ok
[INFO] [stdout] test terminal::render_diff_tests::positional_gap_forces_a_second_move ... ok
[INFO] [stdout] test terminal::render_diff_tests::reverse_toggle_emits_reverse_and_no_reverse ... ok
[INFO] [stdout] test terminal::render_diff_tests::single_diff_emits_move_colors_intensity_and_glyph ... ok
[INFO] [stdout] test terminal::render_diff_tests::all_five_style_axes_combine_independently_in_one_cell ... ok
[INFO] [stdout] test terminal::render_diff_tests::strikethrough_toggle_emits_crossed_out_and_not_crossed_out ... ok
[INFO] [stdout] test terminal::render_diff_tests::underline_toggle_emits_underlined_and_no_underline ... ok
[INFO] [stdout] test terminal::tests::click_mouse_events_are_not_ignorable ... ok
[INFO] [stdout] test terminal::tests::drag_mouse_events_are_ignorable ... ok
[INFO] [stdout] test terminal::tests::enter_and_drop_restores_raw_mode ... ignored, requires a real terminal (TTY); run with `cargo test -- --ignored`
[INFO] [stdout] test terminal::tests::panic_hook_disables_raw_mode_before_unwinding ... ignored, requires a real terminal (TTY); run with `cargo test -- --ignored`
[INFO] [stdout] test terminal::tests::key_events_are_not_ignorable ... ok
[INFO] [stdout] test terminal::tests::moved_mouse_events_are_ignorable ... ok
[INFO] [stdout] test theme::tests::ascii_uses_a_plus_at_every_corner ... ok
[INFO] [stdout] test theme::tests::default_matches_single_line ... ok
[INFO] [stdout] test terminal::render_diff_tests::intensity_cycles_through_all_three_states ... ok
[INFO] [stdout] test theme::tests::default_theme_border_style_is_default ... ok
[INFO] [stdout] test theme::tests::default_theme_primary_end_is_none ... ok
[INFO] [stdout] test theme::tests::default_theme_border_thick_is_false ... ok
[INFO] [stdout] test theme::tests::default_theme_uses_reset_colors_and_default_border ... ok
[INFO] [stdout] test terminal::render_diff_tests::italic_toggle_emits_italic_and_no_italic ... ok
[INFO] [stdout] test theme::tests::single_line_uses_real_box_drawing_glyphs ... ok
[INFO] [stdout] test transition::tests::a_zero_width_phase_does_not_divide_by_zero ... ok
[INFO] [stdout] test transition::tests::equal_durations_agree_with_explicit_ends ... ok
[INFO] [stdout] test transition::tests::phases_are_constructible_in_const_position ... ok
[INFO] [stdout] test transition::tests::phases_saturate_outside_zero_to_one ... ok
[INFO] [stdout] test transition::tests::from_durations_normalises_by_the_total ... ok
[INFO] [stdout] test transition::tests::is_complete_becomes_true_after_duration ... ok
[INFO] [stdout] test transition::tests::phase_boundary_belongs_to_the_later_phase ... ok
[INFO] [stdout] test transition::tests::a_single_phase_spans_the_whole_range ... ok
[INFO] [stdout] test transition::tests::tick_clamps_progress_at_one ... ok
[INFO] [stdout] test transition::tests::transition_starts_at_zero_progress ... ok
[INFO] [stdout] test transition::tests::zero_total_duration_reports_the_final_phase ... ok
[INFO] [stdout] test transition::tests::the_last_end_is_exactly_one ... ok
[INFO] [stdout] test transition::tests::tick_accumulates_across_multiple_calls ... ok
[INFO] [stdout] test transition::tests::zero_duration_is_immediately_complete ... ok
[INFO] [stdout] test transition::tests::tick_advances_progress_proportionally ... ok
[INFO] [stdout] test widgets::analog_toggle::tests::on_renders_a_forward_slash_lever ... ok
[INFO] [stdout] test widgets::bar_chart::tests::bars_align_to_the_longest_label_across_items ... ok
[INFO] [stdout] test widgets::bar_chart::tests::max_of_zero_renders_empty_bars_without_panic ... ok
[INFO] [stdout] test widgets::bar_chart::tests::more_items_than_area_height_truncates_without_panic ... ok
[INFO] [stdout] test widgets::bar_chart::tests::non_exact_fractions_round_to_the_nearest_whole_cell ... ok
[INFO] [stdout] test widgets::bar_chart::tests::value_equal_to_max_fills_full_bar_width ... ok
[INFO] [stdout] test widgets::bar_chart::tests::value_exceeding_max_still_fills_only_the_full_bar_width ... ok
[INFO] [stdout] test widgets::bar_chart::tests::zero_width_or_zero_height_area_renders_nothing_without_panic ... ok
[INFO] [stdout] test widgets::block::tests::all_four_corners_render_their_own_distinct_glyph ... ok
[INFO] [stdout] test widgets::analog_toggle::tests::narrower_than_five_clips_without_panic ... ok
[INFO] [stdout] test widgets::block::tests::border_cells_are_bold_when_theme_border_style_is_bold ... ok
[INFO] [stdout] test widgets::analog_toggle::tests::off_renders_a_backslash_lever ... ok
[INFO] [stdout] test widgets::bar_chart::tests::bar_length_is_proportional_to_value_over_max ... ok
[INFO] [stdout] test widgets::block::tests::border_cells_carry_arbitrary_cellstyle_fields_not_just_intensity ... ok
[INFO] [stdout] test widgets::block::tests::primary_end_none_produces_byte_for_byte_identical_output_to_flat_color ... ok
[INFO] [stdout] test widgets::block::tests::primary_end_some_lerps_color_across_the_border_ring ... ok
[INFO] [stdout] test widgets::block::tests::theme_less_border_leaves_the_outward_ring_untouched ... ok
[INFO] [stdout] test widgets::block::tests::thick_border_draws_a_second_ring_one_cell_outward ... ok
[INFO] [stdout] test widgets::block::tests::thin_border_leaves_the_outward_ring_untouched ... ok
[INFO] [stdout] test widgets::block::tests::title_cells_are_not_bold_even_when_theme_border_style_is_bold ... ok
[INFO] [stdout] test widgets::block::tests::title_is_drawn_on_the_top_border ... ok
[INFO] [stdout] test widgets::cockpit_panel::tests::focused_panel_uses_theme_primary_for_both_rings ... ok
[INFO] [stdout] test widgets::block::tests::with_theme_border_uses_theme_glyphs_and_colors ... ok
[INFO] [stdout] test widgets::block::tests::without_theme_border_colors_are_reset ... ok
[INFO] [stdout] test widgets::cockpit_panel::tests::returns_area_shrunk_by_two_on_each_side ... ok
[INFO] [stdout] test transition::tests::phases_report_index_and_progress_within_the_phase ... ok
[INFO] [stdout] test widgets::cockpit_panel::tests::rivets_appear_at_the_expected_deterministic_offsets_on_the_outer_ring ... ok
[INFO] [stdout] test widgets::block::tests::draws_border_and_returns_inner_area ... ok
[INFO] [stdout] test widgets::block::tests::non_rgb_primary_with_primary_end_steps_between_the_two_endpoint_colors ... ok
[INFO] [stdout] test widgets::cockpit_panel::tests::inner_ring_has_no_rivets_and_no_asymmetry ... ok
[INFO] [stdout] test widgets::cockpit_panel::tests::too_small_area_degrades_gracefully_without_panic ... ok
[INFO] [stdout] test widgets::cockpit_panel::tests::unfocused_panel_uses_theme_secondary_for_both_rings ... ok
[INFO] [stdout] test widgets::damage_meter::tests::seventy_five_percent_is_partway_between_yellow_and_red ... ok
[INFO] [stdout] test widgets::damage_meter::tests::text_wider_than_area_clips_without_panic ... ok
[INFO] [stdout] test widgets::damage_meter::tests::twenty_five_percent_is_partway_between_white_and_yellow ... ok
[INFO] [stdout] test widgets::damage_meter::tests::zero_percent_renders_white ... ok
[INFO] [stdout] test widgets::cockpit_panel::tests::three_corners_are_plus_and_bottom_right_is_the_one_asymmetric_glyph ... ok
[INFO] [stdout] test widgets::damage_meter::tests::fifty_percent_renders_exactly_yellow ... ok
[INFO] [stdout] test widgets::damage_meter::tests::over_100_percent_renders_red_with_full_text ... ok
[INFO] [stdout] test widgets::dial::tests::selected_items_label_and_pointer_are_highlighted ... ok
[INFO] [stdout] test widgets::dial::tests::themed_dial_uses_accent_on_background_for_the_selected_item ... ok
[INFO] [stdout] test widgets::dial::tests::item_zero_lands_at_top_center_column ... ok
[INFO] [stdout] test widgets::dial::tests::unthemed_dial_keeps_the_pre_2_0_colours ... ok
[INFO] [stdout] test widgets::dna_console::tests::alternates_colors_per_character_with_a_trailing_cursor ... ok
[INFO] [stdout] test widgets::dial::tests::labels_flow_outward_and_clip_at_area_edges ... ok
[INFO] [stdout] test widgets::dna_console::tests::one_wide_area_renders_only_the_cursor ... ok
[INFO] [stdout] test widgets::dial::tests::items_are_symmetric_left_and_right_for_odd_item_count ... ok
[INFO] [stdout] test widgets::dna_console::tests::zero_width_area_renders_nothing_without_panic ... ok
[INFO] [stdout] test widgets::energy_core::tests::fifty_percent_fills_half ... ok
[INFO] [stdout] test widgets::energy_core::tests::fill_brightens_toward_the_leading_edge ... ok
[INFO] [stdout] test widgets::energy_core::tests::zero_width_area_does_not_panic ... ok
[INFO] [stdout] test buffer::tests::get_with_an_x_past_the_width_panics_instead_of_reading_a_neighbour - should panic ... ok
[INFO] [stdout] test widgets::list::tests::renders_each_item_on_its_own_row ... ok
[INFO] [stdout] test widgets::energy_core::tests::full_percent_sparks_every_fourth_cell ... ok
[INFO] [stdout] test widgets::dial::tests::ring_dots_never_land_on_an_item_point ... ok
[INFO] [stdout] test widgets::list::tests::selected_row_is_highlighted ... ok
[INFO] [stdout] test widgets::list::tests::themed_list_uses_accent_on_background_for_the_selected_row ... ok
[INFO] [stdout] test widgets::energy_core::tests::zero_percent_renders_all_empty_track ... ok
[INFO] [stdout] test buffer::tests::set_with_an_x_past_the_width_panics_instead_of_wrapping - should panic ... ok
[INFO] [stdout] test widgets::list::tests::unthemed_list_keeps_the_pre_2_0_colours ... ok
[INFO] [stdout] test widgets::roundel::tests::radius_one_zero_intensity_still_renders_near_black ... ok
[INFO] [stdout] test widgets::scuttle_cursor::tests::idle_cursor_ignores_tick_count ... ok
[INFO] [stdout] test widgets::scuttle_cursor::tests::jerked_position_outside_bounds_does_not_panic ... ok
[INFO] [stdout] test widgets::roundel::tests::radius_zero_full_intensity_renders_the_input_color_unchanged ... ok
[INFO] [stdout] test widgets::roundel::tests::radius_zero_renders_at_area_center_and_does_not_panic_on_a_1x1_area ... ok
[INFO] [stdout] test widgets::roundel::tests::radius_zero_half_intensity_halves_each_channel ... ok
[INFO] [stdout] test widgets::roundel::tests::radius_zero_zero_intensity_renders_near_black ... ok
[INFO] [stdout] test widgets::scuttle_cursor::tests::moving_cursor_shifts_left_on_even_tick ... ok
[INFO] [stdout] test widgets::scuttle_cursor::tests::moving_cursor_shifts_right_on_odd_tick ... ok
[INFO] [stdout] test widgets::selection::tests::without_a_theme_the_pre_2_0_colours_are_used ... ok
[INFO] [stdout] test widgets::smash_border::tests::draws_three_concentric_rings_and_returns_shrunk_inner_area ... ok
[INFO] [stdout] test widgets::selection::tests::with_a_theme_an_unselected_row_is_primary_on_reset ... ok
[INFO] [stdout] test widgets::selection::tests::with_a_theme_selection_is_accent_on_background ... ok
[INFO] [stdout] test widgets::sparkline::tests::an_intermediate_value_renders_the_correctly_scaled_middle_level ... ok
[INFO] [stdout] test widgets::sparkline::tests::empty_values_renders_nothing_without_panic ... ok
[INFO] [stdout] test widgets::sparkline::tests::fewer_values_than_area_width_renders_only_that_many_columns ... ok
[INFO] [stdout] test widgets::smash_border::tests::too_small_area_degrades_gracefully_without_panic ... ok
[INFO] [stdout] test widgets::smash_border::tests::middle_ring_renders_all_four_corners_from_their_own_field ... ok
[INFO] [stdout] test widgets::sparkline::tests::flat_data_renders_the_middle_level_glyph_without_panic ... ok
[INFO] [stdout] test widgets::sparkline::tests::higher_value_renders_a_taller_glyph_than_a_lower_one ... ok
[INFO] [stdout] test widgets::sparkline::tests::renders_on_exactly_one_row_regardless_of_area_height ... ok
[INFO] [stdout] test widgets::sparkline::tests::zero_width_or_zero_height_area_renders_nothing_without_panic ... ok
[INFO] [stdout] test widgets::table::tests::a_column_wider_than_the_area_does_not_wrap_onto_the_next_row ... ok
[INFO] [stdout] test widgets::table::tests::a_wide_glyph_cell_leaves_the_next_column_aligned ... ok
[INFO] [stdout] test widgets::table::tests::column_rects_gives_fixed_columns_their_width_and_fill_the_rest ... ok
[INFO] [stdout] test widgets::table::tests::does_not_panic_on_zero_height_rect ... ok
[INFO] [stdout] test widgets::table::tests::fewer_widths_than_headers_renders_only_the_supplied_columns ... ok
[INFO] [stdout] test widgets::table::tests::fit_into_one_cell_truncates_without_a_lone_marker ... ok
[INFO] [stdout] test widgets::table::tests::fit_measures_display_width_not_char_count ... ok
[INFO] [stdout] test widgets::table::tests::fit_never_splits_a_wide_glyph_across_the_boundary ... ok
[INFO] [stdout] test widgets::table::tests::fit_returns_short_content_untouched ... ok
[INFO] [stdout] test widgets::roundel::tests::larger_radius_marks_strictly_more_cells_than_a_smaller_one ... ok
[INFO] [stdout] test widgets::table::tests::fit_to_zero_width_is_empty ... ok
[INFO] [stdout] test widgets::roundel::tests::radius_one_on_a_tiny_area_does_not_panic ... ok
[INFO] [stdout] test widgets::table::tests::fit_truncates_with_an_ellipsis_when_content_overflows ... ok
[INFO] [stdout] test widgets::table::tests::more_widths_than_headers_renders_only_the_headers_columns ... ok
[INFO] [stdout] test widgets::roundel::tests::radius_one_renders_a_circle_spanning_multiple_cells ... ok
[INFO] [stdout] test widgets::table::tests::no_headers_means_no_columns_and_render_does_not_panic ... ok
[INFO] [stdout] test widgets::table::tests::renders_each_cell_inside_its_own_column_rect ... ok
[INFO] [stdout] test widgets::table::tests::renders_header_row_then_data_rows ... ok
[INFO] [stdout] test widgets::sparkline::tests::more_values_than_area_width_shows_only_the_trailing_window ... ok
[INFO] [stdout] test widgets::table::tests::spacing_inserts_a_gap_between_columns ... ok
[INFO] [stdout] test widgets::table::tests::selected_row_highlight_stops_at_the_last_column_right_edge ... ok
[INFO] [stdout] test widgets::table::tests::selected_data_row_is_highlighted_not_the_header ... ok
[INFO] [stdout] test widgets::table::tests::themed_table_colours_header_selected_and_unselected_rows ... ok
[INFO] [stdout] test widgets::table::tests::selected_row_highlight_spans_the_gap_between_columns ... ok
[INFO] [stdout] test widgets::table::tests::selected_row_highlight_spans_the_full_column_width ... ok
[INFO] [stdout] test widgets::table::tests::unthemed_table_keeps_the_pre_2_0_colours ... ok
[INFO] [stdout] test widgets::text::tests::bg_overrides_the_background_color_even_for_space_characters ... ok
[INFO] [stdout] test widgets::text::tests::does_not_panic_on_zero_width_rect ... ok
[INFO] [stdout] test widgets::text::tests::does_not_panic_on_zero_height_rect ... ok
[INFO] [stdout] test widgets::time_rotor::tests::zero_size_area_does_not_panic ... ok
[INFO] [stdout] test widgets::table::tests::without_widths_columns_split_equally ... ok
[INFO] [stdout] test widgets::time_rotor::tests::different_speeds_render_differently_for_the_same_tick_count ... ok
[INFO] [stdout] test widgets::time_rotor::tests::renders_at_least_one_braille_glyph_in_the_area ... ok
[INFO] [stdout] test widgets::time_rotor::tests::identical_inputs_render_identically ... ok
[INFO] [stdout] test widgets::time_rotor::tests::tick_zero_draws_a_horizontal_line_through_the_areas_center_row ... ok
[INFO] [stdout] test widgets::text::tests::truncates_content_wider_than_the_area ... ok
[INFO] [stdout] test widgets::text::tests::renders_characters_left_to_right ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 319 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests showcase/main.rs (/opt/rustwide/target/debug/deps/showcase-eb8b3ec0cb00786a)
[INFO] [stdout] 
[INFO] [stdout] running 52 tests
[INFO] [stdout] test app::camera_glitch::tests::angle_advances_with_elapsed_time ... ok
[INFO] [stdout] test app::camera_glitch::tests::whack_clears_an_active_glitch ... ok
[INFO] [stdout] test app::camera_glitch::tests::first_glitch_fires_at_its_trigger_time ... ok
[INFO] [stdout] test app::camera_glitch::tests::whack_on_an_inactive_glitch_is_a_no_op ... ok
[INFO] [stdout] test app::chord_override::tests::unlocking_sets_a_one_shot_reaction_flag ... ok
[INFO] [stdout] test app::chord_override::tests::is_complete_only_after_the_post_unlock_hold_elapses ... ok
[INFO] [stdout] test app::camera_glitch::tests::is_complete_only_after_the_second_glitch_clears ... ok
[INFO] [stdout] test app::chord_override::tests::an_incomplete_chord_does_not_unlock ... ok
[INFO] [stdout] test app::chord_override::tests::never_unlocked_is_never_complete ... ok
[INFO] [stdout] test app::chord_override::tests::the_full_chord_unlocks ... ok
[INFO] [stdout] test app::mascot::tests::blinking_stays_false_before_the_blink_interval ... ok
[INFO] [stdout] test app::mascot::tests::blinking_ends_after_its_own_duration_and_wraps ... ok
[INFO] [stdout] test app::mascot::tests::blinking_starts_after_the_blink_interval ... ok
[INFO] [stdout] test app::mascot::tests::breathing_toggles_to_b_after_half_the_interval ... ok
[INFO] [stdout] test app::mascot::tests::breathing_wraps_back_to_a_after_a_full_interval ... ok
[INFO] [stdout] test app::mascot::tests::reacting_settles_back_to_idle_after_its_hold_elapses ... ok
[INFO] [stdout] test app::mascot::tests::reacting_stays_active_before_its_hold_elapses ... ok
[INFO] [stdout] test app::mascot::tests::render_selects_blink_grid_during_the_blink_window ... ok
[INFO] [stdout] test app::mouse_grab::tests::a_crate_past_the_lane_end_is_marked_exited ... ok
[INFO] [stdout] test app::mascot::tests::breathing_stays_a_before_half_the_interval ... ok
[INFO] [stdout] test app::mouse_grab::tests::a_crate_spawns_at_the_lane_start_after_the_first_spawn_interval ... ok
[INFO] [stdout] test app::mouse_grab::tests::a_full_catch_cycle_does_not_compress_spacing_below_crate_width ... ok
[INFO] [stdout] test app::mouse_grab::tests::a_targeted_crate_does_not_advance_while_frozen ... ok
[INFO] [stdout] test app::mouse_grab::tests::clicking_a_crate_targets_it_without_immediately_catching_it ... ok
[INFO] [stdout] test app::mascot::tests::idle_timers_keep_accumulating_while_reacting ... ok
[INFO] [stdout] test app::mascot::tests::new_mascot_starts_idle ... ok
[INFO] [stdout] test app::mascot::tests::render_skips_transparent_cells ... ok
[INFO] [stdout] test app::mouse_grab::tests::mascot_area_tracks_the_current_slide_position ... ok
[INFO] [stdout] test app::mouse_grab::tests::not_complete_until_every_crate_has_spawned ... ok
[INFO] [stdout] test app::mouse_grab::tests::reach_down_offset_is_deep_enough_to_reach_the_lane ... ok
[INFO] [stdout] test app::mouse_grab::tests::take_caught_is_one_shot ... ok
[INFO] [stdout] test app::mouse_grab::tests::the_lane_sits_entirely_below_the_mascot_sprite_at_rest ... ok
[INFO] [stdout] test app::mouse_grab::tests::reach_down_moves_the_mascot_offset_toward_full_depth ... ok
[INFO] [stdout] test app::mouse_grab::tests::retargeting_mid_reach_does_not_catch_the_new_crate_early ... ok
[INFO] [stdout] test app::mouse_grab::tests::clicking_off_a_crate_does_nothing ... ok
[INFO] [stdout] test app::mouse_grab::tests::is_complete_once_all_spawned_crates_are_caught_or_exited ... ok
[INFO] [stdout] test app::mouse_grab::tests::retargeting_mid_reach_retracts_from_the_claws_current_depth ... ok
[INFO] [stdout] test app::mouse_grab::tests::non_targeted_crates_freeze_while_the_claw_is_reaching_then_resume ... ok
[INFO] [stdout] test app::mouse_grab::tests::the_reach_down_phase_completing_actually_catches_the_targeted_crate ... ok
[INFO] [stdout] test app::mouse_grab::tests::retargeting_mid_slide_abandons_the_previous_target ... ok
[INFO] [stdout] test app::particle_vent::tests::render_draws_the_esc_back_hint_on_the_bottom_row ... ok
[INFO] [stdout] test app::particle_vent::tests::stops_emitting_once_the_vent_duration_completes ... ok
[INFO] [stdout] test app::particle_vent::tests::is_complete_once_duration_elapses_and_particles_fade ... ok
[INFO] [stdout] test app::mouse_grab::tests::the_slide_arriving_alone_does_not_yet_catch_the_targeted_crate ... ok
[INFO] [stdout] test app::particle_vent::tests::not_complete_while_duration_is_still_running ... ok
[INFO] [stdout] test app::particle_vent::tests::particle_population_grows_across_consecutive_bursts ... ok
[INFO] [stdout] test app::mouse_grab::tests::the_retract_phase_returns_the_mascot_offset_to_zero ... ok
[INFO] [stdout] test app::telemetry::tests::values_stay_within_the_0_to_100_clamp ... ok
[INFO] [stdout] test app::particle_vent::tests::emits_particles_from_all_three_emitters_on_first_interval ... ok
[INFO] [stdout] test app::particle_vent::tests::emitting_relative_to_a_mascot_area_far_from_origin_still_spawns_particles ... ok
[INFO] [stdout] test app::telemetry::tests::is_complete_only_after_the_fixed_duration_elapses ... ok
[INFO] [stdout] test app::telemetry::tests::on_tick_appends_to_every_history ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 52 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/non_exhaustive.rs (/opt/rustwide/target/debug/deps/non_exhaustive-b3ef1f5e7fbe7b51)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test non_exhaustive_enums_are_still_constructible_from_another_crate ... ok
[INFO] [stdout] test non_exhaustive_enums_still_match_with_a_wildcard_arm ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests examples/launcher/main.rs (/opt/rustwide/target/debug/examples/launcher-513429f007eb4800)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test tests::f12_returns_from_any_app ... ok
[INFO] [stdout] test tests::f12_in_nexus_does_nothing ... ok
[INFO] [stdout] test tests::nexus_arrows_and_tab_move_selection ... ok
[INFO] [stdout] test tests::app_quit_returns_to_nexus_not_process ... ok
[INFO] [stdout] test tests::apply_launch_starts_a_dive_apply_return_resets_to_nexus ... ok
[INFO] [stdout] test tests::nexus_selection_wraps ... ok
[INFO] [stdout] test tests::unrelated_key_in_app_stays ... ok
[INFO] [stdout] test tests::launch_starts_a_dive_before_swapping_active_app ... ok
[INFO] [stdout] test tests::nexus_q_quits_process ... ok
[INFO] [stdout] test tests::nexus_enter_launches_selected ... ok
[INFO] [stdout] test tests::starfield_tops_up_to_target_count_after_ticking ... ok
[INFO] [stderr] ALSA lib confmisc.c:855:(parse_card) [error.core] cannot find card '0'
[INFO] [stderr] ALSA lib conf.c:5211:(_snd_config_evaluate) [error.core] function snd_func_card_inum returned error: No such file or directory
[INFO] [stderr] ALSA lib confmisc.c:422:(snd_func_concat) [error.core] error evaluating strings
[INFO] [stderr] ALSA lib conf.c:5211:(_snd_config_evaluate) [error.core] function snd_func_concat returned error: No such file or directory
[INFO] [stderr] ALSA lib confmisc.c:1342:(snd_func_refer) [error.core] error evaluating name
[INFO] [stderr] ALSA lib conf.c:5211:(_snd_config_evaluate) [error.core] function snd_func_refer returned error: No such file or directory
[INFO] [stderr] ALSA lib conf.c:5734:(snd_config_expand) [error.core] Evaluate error: No such file or directory
[INFO] [stderr] ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) [error.pcm] Unknown PCM default
[INFO] [stderr] ALSA lib confmisc.c:855:(parse_card) [error.core] cannot find card '0'
[INFO] [stderr] ALSA lib conf.c:5211:(_snd_config_evaluate) [error.core] function snd_func_card_inum returned error: No such file or directory
[INFO] [stderr] ALSA lib confmisc.c:422:(snd_func_concat) [error.core] error evaluating strings
[INFO] [stderr] ALSA lib conf.c:5211:(_snd_config_evaluate) [error.core] function snd_func_concat returned error: No such file or directory
[INFO] [stderr] ALSA lib confmisc.c:1342:(snd_func_refer) [error.core] error evaluating name
[INFO] [stderr] ALSA lib conf.c:5211:(_snd_config_evaluate) [error.core] function snd_func_refer returned error: No such file or directory
[INFO] [stderr] ALSA lib conf.c:5734:(snd_config_expand) [error.core] Evaluate error: No such file or directory
[INFO] [stderr] ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) [error.pcm] Unknown PCM default
[INFO] [stdout] test tests::any_keypress_during_a_dive_completes_it_immediately ... ok
[INFO] [stdout] test tests::dive_completes_into_the_active_app_after_enough_ticks ... ok
[INFO] [stdout] test tests::nexus_render_does_not_panic_across_sizes ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests ttui
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test src/lib.rs - (line 12) - compile ... ok
[INFO] [stdout] test src/lib.rs - (line 83) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.41s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "4062f10c4f7f71e18f3e2f10c5458e53ef52c5761b5c7f1172e54b4b6d7e34a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4062f10c4f7f71e18f3e2f10c5458e53ef52c5761b5c7f1172e54b4b6d7e34a1", kill_on_drop: false }`
[INFO] [stdout] 4062f10c4f7f71e18f3e2f10c5458e53ef52c5761b5c7f1172e54b4b6d7e34a1
