[INFO] fetching crate crewtui 0.2.0...
[INFO] testing crewtui-0.2.0 against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate crewtui 0.2.0 into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate crewtui 0.2.0
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate crewtui 0.2.0
[INFO] tweaked toml for crates.io crate crewtui 0.2.0 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate crewtui 0.2.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 crewtui 0.2.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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] ec2c0392a3359658d5dfcd1626ccb523ca25f1c18f6c670037343b922519f7f7
[INFO] running `Command { std: "docker" "start" "ec2c0392a3359658d5dfcd1626ccb523ca25f1c18f6c670037343b922519f7f7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ec2c0392a3359658d5dfcd1626ccb523ca25f1c18f6c670037343b922519f7f7", 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" "ec2c0392a3359658d5dfcd1626ccb523ca25f1c18f6c670037343b922519f7f7" "/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" "ec2c0392a3359658d5dfcd1626ccb523ca25f1c18f6c670037343b922519f7f7", 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" "ec2c0392a3359658d5dfcd1626ccb523ca25f1c18f6c670037343b922519f7f7" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling crewtui v0.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 3.94s
[INFO] running `Command { std: "docker" "inspect" "ec2c0392a3359658d5dfcd1626ccb523ca25f1c18f6c670037343b922519f7f7", 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" "ec2c0392a3359658d5dfcd1626ccb523ca25f1c18f6c670037343b922519f7f7" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling crewtui v0.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 16.52s
[INFO] running `Command { std: "docker" "inspect" "ec2c0392a3359658d5dfcd1626ccb523ca25f1c18f6c670037343b922519f7f7", 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" "ec2c0392a3359658d5dfcd1626ccb523ca25f1c18f6c670037343b922519f7f7" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.02s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/crewtui-cc538f87b7cfd0ca)
[INFO] [stdout] 
[INFO] [stdout] running 506 tests
[INFO] [stdout] test agent_tests::a_request_from_a_driver_while_the_agent_is_busy_is_dropped ... ok
[INFO] [stdout] test agent_tests::a_background_note_in_the_middle_of_an_answer_does_not_swallow_the_tokens ... ok
[INFO] [stdout] test agent_tests::a_paste_goes_into_the_input_as_text ... ok
[INFO] [stdout] test agent_tests::the_cursor_is_in_the_input_box ... ok
[INFO] [stdout] test agent_tests::tokens_tools_and_the_end_of_the_answer_move_the_status ... ok
[INFO] [stdout] test buffer::tests::a_standalone_mark_after_a_control_char_attaches_when_width_is_unchanged ... ok
[INFO] [stdout] test agent_tests::enter_sends_the_request_and_starts_the_agent ... ok
[INFO] [stdout] test agent_tests::the_side_panel_only_shows_when_there_is_room ... ok
[INFO] [stdout] test agent_tests::the_spinner_only_keeps_ticking_while_busy ... ok
[INFO] [stdout] test agent_tests::enter_on_an_empty_input_or_while_busy_does_nothing ... ok
[INFO] [stdout] test agent_tests::ctrl_c_quits_and_ctrl_l_repaints ... ok
[INFO] [stdout] test agent_tests::every_fifth_second_a_background_note_lands_in_the_history ... ok
[INFO] [stdout] test agent_tests::the_view_shows_every_region ... ok
[INFO] [stdout] test buffer::tests::a_mark_that_would_widen_the_cell_is_dropped ... ok
[INFO] [stdout] test buffer::tests::control_characters_are_skipped ... ok
[INFO] [stdout] test buffer::tests::emoji_sequences_are_single_wide_cells ... ok
[INFO] [stdout] test buffer::tests::empty_area_is_fine ... ok
[INFO] [stdout] test buffer::tests::links_with_anything_but_printable_ascii_are_ignored_and_the_area_is_clipped ... ok
[INFO] [stdout] test buffer::tests::new_buffer_is_blank ... ok
[INFO] [stdout] test buffer::tests::long_clusters_survive_round_trip ... ok
[INFO] [stdout] test buffer::tests::bidi_controls_are_not_written ... ok
[INFO] [stdout] test buffer::tests::overwriting_head_or_tail_blanks_the_other_half ... ok
[INFO] [stdout] test buffer::tests::set_and_get_with_origin_offset ... ok
[INFO] [stdout] test buffer::tests::set_link_marks_cells_and_text_written_over_them_replaces_the_link ... ok
[INFO] [stdout] test buffer::tests::wide_glyph_at_right_edge_is_blanked_not_split ... ok
[INFO] [stdout] test buffer::tests::wide_glyph_over_two_wide_glyphs_repairs_both ... ok
[INFO] [stdout] test buffer::tests::wide_glyph_takes_two_cells ... ok
[INFO] [stdout] test agent_tests::the_wheel_scrolls_the_history_and_ignores_the_rest_of_the_mouse ... ok
[INFO] [stdout] test buffer::tests::writing_with_offset_origin_and_left_clip ... ok
[INFO] [stdout] test clipboard::tests::base64_matches_the_rfc_4648_vectors ... ok
[INFO] [stdout] test buffer::tests::zero_width_marks_attach_to_previous_cell ... ok
[INFO] [stdout] test clipboard::tests::the_sequence_is_osc_52_with_the_clipboard_selection ... ok
[INFO] [stdout] test buffer::tests::a_link_covers_both_halves_of_a_wide_glyph_even_when_the_area_touches_one ... ok
[INFO] [stdout] test clipboard::tests::base64_of_all_byte_values_uses_only_the_alphabet ... ok
[INFO] [stdout] test clipboard::tests::escape_sequences_and_bell_in_the_text_cannot_end_the_osc ... ok
[INFO] [stdout] test buffer::tests::cell_stays_small ... ok
[INFO] [stdout] test buffer::tests::out_of_bounds_write_is_ignored ... ok
[INFO] [stdout] test buffer::tests::reset_and_resize_clear_content ... ok
[INFO] [stdout] test buffer::tests::set_style_on_half_a_wide_glyph_styles_both_halves ... ok
[INFO] [stdout] test buffer::tests::set_style_is_clipped_and_layered ... ok
[INFO] [stdout] test effects::tests::sending_after_the_receiver_is_gone_reports_closed ... ok
[INFO] [stdout] test geometry::tests::area_does_not_overflow ... ok
[INFO] [stdout] test geometry::tests::centered_is_clamped_to_the_parent ... ok
[INFO] [stdout] test geometry::tests::centered_puts_the_extra_cell_right_and_below ... ok
[INFO] [stdout] test geometry::tests::contains_is_half_open ... ok
[INFO] [stdout] test geometry::tests::intersection_of_disjoint_is_empty ... ok
[INFO] [stdout] test geometry::tests::intersection_overlap ... ok
[INFO] [stdout] test effects::tests::a_closed_pool_drops_queued_jobs_and_refuses_new_ones ... ok
[INFO] [stdout] test effects::tests::a_panicking_job_does_not_kill_its_worker ... ok
[INFO] [stdout] test clipboard::tests::empty_and_oversized_text_is_not_sent ... ok
[INFO] [stdout] test agent_tests::the_view_draws_at_any_size_without_panicking ... ok
[INFO] [stdout] test effects::tests::a_panicking_timer_job_does_not_stop_later_ones ... ok
[INFO] [stdout] test agent_tests::a_reader_who_scrolled_up_is_not_moved_by_tokens_or_background_notes ... ok
[INFO] [stdout] test input::tests::a_half_received_utf8_character_is_dropped_on_timeout ... ok
[INFO] [stdout] test geometry::tests::new_clamps_to_u16_range ... ok
[INFO] [stdout] test input::tests::a_legacy_x10_mouse_report_is_swallowed_whole ... ok
[INFO] [stdout] test input::tests::a_half_received_sequence_times_out_as_esc_then_plain_keys ... ok
[INFO] [stdout] test input::tests::a_paste_start_with_a_sub_field_is_not_a_paste ... ok
[INFO] [stdout] test input::tests::a_paste_without_an_end_marker_can_be_aborted ... ok
[INFO] [stdout] test input::tests::a_lone_escape_waits_and_the_timeout_turns_it_into_esc ... ok
[INFO] [stdout] test input::tests::a_parser_told_about_the_protocol_reads_every_modifier_field_the_kitty_way ... ok
[INFO] [stdout] test input::tests::a_sequence_completed_before_the_timeout_is_not_esc ... ok
[INFO] [stdout] test effects::tests::a_second_job_does_not_wait_behind_a_long_one_while_slots_are_free ... ok
[INFO] [stdout] test input::tests::alt_before_a_paste_start_does_not_leave_junk_in_the_paste ... ok
[INFO] [stdout] test input::tests::a_stray_paste_end_is_ignored ... ok
[INFO] [stdout] test input::tests::alt_before_a_kitty_key_adds_alt ... ok
[INFO] [stdout] test input::tests::alt_is_an_escape_prefix ... ok
[INFO] [stdout] test effects::tests::equal_deadlines_fire_in_the_order_they_were_added ... ok
[INFO] [stdout] test buffer::tests::random_overwrites_never_leave_stale_halves ... ok
[INFO] [stdout] test input::tests::an_esc_inside_a_sequence_starts_a_new_one ... ok
[INFO] [stdout] test input::tests::a_release_is_not_a_press_for_the_key_helpers ... ok
[INFO] [stdout] test input::tests::an_oversized_csi_is_dropped_to_its_final_byte ... ok
[INFO] [stdout] test input::tests::kitty_keys_carry_their_modifiers_and_kind ... ok
[INFO] [stdout] test input::tests::bracketed_paste_is_one_event_and_never_keys ... ok
[INFO] [stdout] test input::tests::keys_the_protocol_reports_that_are_not_for_the_keyboard_are_dropped ... ok
[INFO] [stdout] test input::tests::invalid_utf8_and_stray_bytes_do_not_stall_the_parser ... ok
[INFO] [stdout] test input::tests::malformed_mouse_reports_are_dropped ... ok
[INFO] [stdout] test input::tests::extra_mouse_buttons_are_dropped_not_read_as_left ... ok
[INFO] [stdout] test input::tests::key_helpers_match_a_key_on_its_own_or_with_ctrl ... ok
[INFO] [stdout] test input::tests::the_keypad_with_num_lock_off_sends_navigation_keys ... ok
[INFO] [stdout] test input::tests::the_release_of_a_shifted_letter_matches_the_press_that_came_as_text ... ok
[INFO] [stdout] test input::tests::invalid_utf8_in_a_paste_is_replaced ... ok
[INFO] [stdout] test input::tests::keys_and_sequences ... ok
[INFO] [stdout] test input::tests::the_xterm_forms_keep_their_meaning_next_to_the_kitty_ones ... ok
[INFO] [stdout] test input::tests::mouse_sgr_events ... ok
[INFO] [stdout] test input::tests::timeout_does_not_interrupt_a_paste ... ok
[INFO] [stdout] test input::tests::unknown_sequences_are_dropped_without_eating_what_follows ... ok
[INFO] [stdout] test input::tests::paste_boundaries_and_neighbours ... ok
[INFO] [stdout] test layout::tests::cells_that_do_not_divide_evenly_go_to_the_earliest_items ... ok
[INFO] [stdout] test input::tests::utf8_text_including_split_characters ... ok
[INFO] [stdout] test input::tests::xterm_modifier_encoding ... ok
[INFO] [stdout] test layout::tests::a_column_divides_the_height ... ok
[INFO] [stdout] test layout::tests::a_gap_wider_than_the_area_leaves_empty_items_inside_it ... ok
[INFO] [stdout] test layout::tests::an_area_built_by_hand_past_the_end_of_u16_does_not_overflow ... ok
[INFO] [stdout] test layout::tests::empty_areas_and_no_constraints_are_fine ... ok
[INFO] [stdout] test layout::tests::edges_shrink_clamps_to_the_area ... ok
[INFO] [stdout] test layout::tests::fixed_items_take_exactly_what_they_ask ... ok
[INFO] [stdout] test layout::tests::gaps_come_off_before_anything_is_shared ... ok
[INFO] [stdout] test effects::tests::an_earlier_timer_added_later_wakes_the_sleeping_thread ... ok
[INFO] [stdout] test layout::tests::percent_rounds_down_of_the_space_after_gaps ... ok
[INFO] [stdout] test layout::tests::min_keeps_its_minimum_and_grows_into_what_is_left ... ok
[INFO] [stdout] test layout::tests::only_capped_items_leave_room_that_alignment_places ... ok
[INFO] [stdout] test layout::tests::fill_shares_what_is_left_by_weight ... ok
[INFO] [stdout] test layout::tests::overconstrained_layouts_shrink_the_last_items_first ... ok
[INFO] [stdout] test layout::tests::a_huge_number_of_items_does_not_overflow_the_sums ... ok
[INFO] [stdout] test layout::tests::extreme_values_do_not_overflow ... ok
[INFO] [stdout] test layout::tests::margin_shrinks_the_area_and_padding_shrinks_each_slot ... ok
[INFO] [stdout] test layout::tests::the_area_keeps_its_origin ... ok
[INFO] [stdout] test effects::tests::the_pool_never_runs_more_jobs_at_once_than_its_limit ... ok
[INFO] [stdout] test effects::tests::dropping_the_timers_cancels_whatever_is_pending ... ok
[INFO] [stdout] test layout::tests::split_array_gives_a_fixed_size_array ... ok
[INFO] [stdout] test layout::tests::what_a_capped_item_cannot_use_goes_to_the_others ... ok
[INFO] [stdout] test layout::tests::max_takes_a_share_but_never_more_than_its_cap ... ok
[INFO] [stdout] test input::tests::garbage_never_panics_and_always_drains ... ok
[INFO] [stdout] test effects::tests::timers_fire_in_deadline_order_and_not_early ... ok
[INFO] [stdout] test pty_children::child_entry ... ok
[INFO] [stdout] test layout::tests::split_array_with_the_wrong_count_says_so - should panic ... ok
[INFO] [stdout] test layout::tests::space_between_spreads_the_rest_over_the_gaps ... ok
[INFO] [stdout] test effects::tests::idle_workers_exit_and_new_work_starts_new_ones ... ok
[INFO] [stdout] test input::tests::a_huge_paste_arrives_in_pieces_without_losing_or_splitting_anything ... ok
[INFO] [stdout] test layout::tests::random_layouts_stay_inside_the_area_and_never_overlap ... ok
[INFO] [stdout] test pty_children::tests::the_terminal_going_away_ends_the_run_instead_of_hanging ... ok
[INFO] [stdout] test reader::tests::a_closed_input_descriptor_is_a_failure_not_a_busy_loop ... ok
[INFO] [stdout] test pty_children::tests::a_normal_exit_turns_off_mouse_focus_and_paste_reporting_too ... ok
[INFO] [stdout] test pty_children::tests::ctrl_c_in_raw_mode_is_a_key_the_app_can_quit_on_not_a_signal ... ok
[INFO] [stdout] test pty_children::tests::a_panic_with_the_guard_leaked_is_still_restored_by_the_hook ... ok
[INFO] [stdout] test pty_children::tests::sigint_from_outside_ends_the_run_and_restores_the_terminal ... ok
[INFO] [stdout] test reader::tests::a_lone_escape_becomes_esc_after_a_short_wait ... ok
[INFO] [stdout] test reader::tests::bytes_arrive_as_events ... ok
[INFO] [stdout] test pty_children::tests::a_normal_exit_restores_everything ... ok
[INFO] [stdout] test reader::tests::end_of_input_is_reported_as_a_failure ... ok
[INFO] [stdout] test reader::tests::a_reader_whose_receiver_is_gone_still_shuts_down ... ok
[INFO] [stdout] test reader::tests::a_sequence_split_across_reads_is_not_mistaken_for_esc ... ok
[INFO] [stdout] test render::tests::a_closure_that_resizes_the_buffer_gets_a_blank_frame_not_a_panic ... ok
[INFO] [stdout] test render::tests::a_cursor_outside_the_frame_counts_as_none ... ok
[INFO] [stdout] test render::tests::a_cursor_that_stays_put_on_an_unchanged_frame_costs_no_bytes ... ok
[INFO] [stdout] test render::tests::a_cursor_the_terminal_lost_is_shown_again_without_a_repaint ... ok
[INFO] [stdout] test render::tests::a_frame_cut_at_any_byte_is_repaired_by_the_next_one ... ok
[INFO] [stdout] test reader::tests::a_stream_of_signals_does_not_postpone_a_lone_escape ... ok
[INFO] [stdout] test reader::tests::dropping_the_reader_stops_it_promptly_and_gives_the_signals_back ... ok
[INFO] [stdout] test render::tests::a_frame_cut_before_its_cursor_commands_is_repaired ... ok
[INFO] [stdout] test render::tests::a_link_that_ends_a_row_of_changes_is_closed_at_the_end_of_the_frame ... ok
[INFO] [stdout] test render::tests::a_link_is_opened_before_its_text_and_closed_once_after_it ... ok
[INFO] [stdout] test render::tests::a_frame_without_a_cursor_leaves_it_hidden_and_writes_nothing_extra ... ok
[INFO] [stdout] test render::tests::a_run_needs_a_single_cursor_move ... ok
[INFO] [stdout] test render::tests::a_reset_terminal_gets_the_cursor_shown_again ... ok
[INFO] [stdout] test render::tests::a_repaint_closes_a_link_a_cut_frame_may_have_left_open ... ok
[INFO] [stdout] test render::tests::adding_a_link_to_text_that_is_already_there_rewrites_only_that_text ... ok
[INFO] [stdout] test render::tests::a_style_change_on_the_right_half_of_a_wide_glyph_redraws_it ... ok
[INFO] [stdout] test render::tests::blank_first_frame_is_just_the_clear ... ok
[INFO] [stdout] test render::tests::dropping_the_cursor_hides_it_once ... ok
[INFO] [stdout] test render::tests::a_url_that_could_end_the_escape_sequence_is_never_written ... ok
[INFO] [stdout] test render::tests::invalidate_repaints_exactly_like_a_first_frame ... ok
[INFO] [stdout] test render::tests::every_color_form_produces_valid_sgr ... ok
[INFO] [stdout] test render::tests::first_frame_clears_then_paints_only_non_blank_cells ... ok
[INFO] [stdout] test render::tests::moving_only_the_cursor_writes_just_the_move ... ok
[INFO] [stdout] test render::tests::last_column_write_forces_an_absolute_move_next ... ok
[INFO] [stdout] test render::tests::nearby_changes_on_one_row_use_forward_moves ... ok
[INFO] [stdout] test render::tests::output_is_deterministic ... ok
[INFO] [stdout] test render::tests::present_skips_the_write_for_an_unchanged_frame ... ok
[INFO] [stdout] test render::tests::one_changed_cell_is_one_move_and_one_symbol ... ok
[INFO] [stdout] test render::tests::resize_repaints_everything ... ok
[INFO] [stdout] test render::tests::style_change_emits_sgr_once_per_run_and_resets_at_the_end ... ok
[INFO] [stdout] test render::tests::style_only_change_rewrites_the_symbol ... ok
[INFO] [stdout] test render::tests::screen_matches_buffer_after_random_frames ... ok
[INFO] [stdout] test render::tests::the_cursor_is_shown_where_the_frame_asks_for_it ... ok
[INFO] [stdout] test render::tests::the_cursor_survives_random_frames_and_lands_where_asked ... ok
[INFO] [stdout] test render::tests::the_screen_keeps_the_links_a_frame_wrote_including_on_wide_glyphs ... ok
[INFO] [stdout] test render::tests::two_links_next_to_each_other_switch_without_a_close_between ... ok
[INFO] [stdout] test render::tests::wide_glyph_is_emitted_once_and_advances_two_columns ... ok
[INFO] [stdout] test render::tests::unchanged_frame_produces_zero_bytes ... ok
[INFO] [stdout] test render::tests::writing_cells_puts_the_cursor_back_where_the_frame_wants_it ... ok
[INFO] [stdout] test runtime::tests::a_batch_containing_quit_stops_the_program ... ok
[INFO] [stdout] test runtime::tests::a_burst_of_messages_shares_one_frame ... ok
[INFO] [stdout] test runtime::tests::a_failed_read_ends_the_run ... ok
[INFO] [stdout] test runtime::tests::a_frame_that_changes_nothing_writes_nothing ... ok
[INFO] [stdout] test reader::tests::signals_arrive_through_the_same_channel ... ok
[INFO] [stdout] test runtime::tests::a_quit_from_init_ends_the_run_without_drawing ... ok
[INFO] [stdout] test runtime::tests::a_resize_reaches_update_even_when_the_app_maps_nothing_else ... ok
[INFO] [stdout] test runtime::tests::a_resize_signal_resizes_the_renderer_repaints_and_tells_the_app ... ok
[INFO] [stdout] test runtime::tests::a_stop_signal_from_outside_suspends_the_host_and_repaints_when_it_returns ... ok
[INFO] [stdout] test runtime::tests::a_streaming_worker_learns_the_program_ended_when_send_fails ... ok
[INFO] [stdout] test runtime::tests::a_delay_too_large_to_represent_is_a_timer_that_never_fires ... ok
[INFO] [stdout] test runtime::tests::a_terminal_entered_with_a_visible_cursor_gets_it_hidden_by_the_first_frame ... ok
[INFO] [stdout] test pty_children::tests::sigterm_from_outside_ends_the_run_and_restores_the_terminal ... ok
[INFO] [stdout] test pty_children::tests::a_panic_in_update_restores_the_terminal_before_the_message_prints ... ok
[INFO] [stdout] test pty_children::tests::sighup_from_outside_ends_the_run_and_restores_the_terminal ... ok
[INFO] [stdout] test pty_children::tests::returning_an_error_early_with_a_question_mark_restores_the_terminal ... ok
[INFO] [stdout] test runtime::tests::a_write_error_ends_the_run ... ok
[INFO] [stdout] test runtime::tests::a_worker_can_stream_many_messages_and_they_arrive_in_order ... ok
[INFO] [stdout] test runtime::tests::cmd_debug_names_every_variant ... ok
[INFO] [stdout] test runtime::tests::batch_starts_every_command_and_all_results_arrive ... ok
[INFO] [stdout] test runtime::tests::cmd_debug_names_the_variant ... ok
[INFO] [stdout] test runtime::tests::continuing_after_a_stop_resumes_the_terminal_and_repaints_everything ... ok
[INFO] [stdout] test runtime::tests::events_the_app_does_not_map_never_reach_update ... ok
[INFO] [stdout] test runtime::tests::copy_to_clipboard_writes_the_osc_52_sequences_in_order ... ok
[INFO] [stdout] test runtime::tests::events_become_messages_and_the_view_is_drawn ... ok
[INFO] [stdout] test runtime::tests::every_change_shows_up_on_screen ... ok
[INFO] [stdout] test runtime::tests::init_starts_work_before_the_first_frame_and_its_result_reaches_update ... ok
[INFO] [stdout] test runtime::tests::repaint_clears_the_screen_and_draws_everything_again ... ok
[INFO] [stdout] test runtime::tests::a_program_sender_reaches_update_from_other_threads_before_and_during_the_run ... ok
[INFO] [stdout] test runtime::tests::stop_signals_end_the_run_with_an_error_that_carries_the_signal ... ok
[INFO] [stdout] test runtime::tests::spawn_catching_delivers_what_was_sent_before_the_panic_and_then_the_failure ... ok
[INFO] [stdout] test pty_children::tests::a_panic_in_view_restores_the_terminal_before_the_message_prints ... ok
[INFO] [stdout] test runtime::tests::perform_runs_blocking_work_off_the_loop_and_returns_its_result_as_a_message ... ok
[INFO] [stdout] test runtime::tests::a_tick_that_returns_after_again_repeats_until_the_app_stops ... ok
[INFO] [stdout] test runtime::tests::jobs_that_have_not_started_when_the_program_ends_never_run ... ok
[INFO] [stdout] test runtime::tests::after_delivers_in_deadline_order_and_not_early ... ok
[INFO] [stdout] test runtime::tests::a_program_runs_on_a_real_pty_and_restores_the_terminal ... ok
[INFO] [stdout] test runtime::tests::timers_still_pending_when_the_program_ends_never_fire ... ok
[INFO] [stdout] test signals::tests::signals_are_errors_that_say_what_happened ... ok
[INFO] [stdout] test pty_children::tests::a_stop_from_outside_gives_the_terminal_back_and_a_continue_takes_it_again ... ok
[INFO] [stdout] test signals::tests::stop_probe_child ... ok
[INFO] [stdout] test runtime::tests::the_frame_rate_cap_folds_fast_changes_together ... ok
[INFO] [stdout] test signals::tests::stop_process_stops_with_sigtstp_and_puts_the_handler_back ... ok
[INFO] [stdout] test runtime::tests::perform_catching_turns_a_panic_into_a_message_and_passes_a_result_through ... ok
[INFO] [stdout] test style::tests::builder_chain ... ok
[INFO] [stdout] test style::tests::difference_removes_bits ... ok
[INFO] [stdout] test style::tests::patch_prefers_set_colors_and_unions_modifiers ... ok
[INFO] [stdout] test style::tests::style_stays_small ... ok
[INFO] [stdout] test term_model::tests::a_child_that_leaves_the_terminal_alone_leaves_termios_unchanged ... ok
[INFO] [stdout] test term_model::tests::a_child_that_leaves_the_terminal_raw_is_caught ... ok
[INFO] [stdout] test term_model::tests::an_esc_in_a_cut_sequence_starts_the_next_one_instead_of_printing_it ... ok
[INFO] [stdout] test pty_children::tests::the_agent_example_answers_a_request_and_quits_cleanly_on_ctrl_c ... ok
[INFO] [stdout] test term_model::tests::bytes_typed_at_the_master_reach_the_child_and_its_output_comes_back ... ok
[INFO] [stdout] test pty_children::tests::a_kitty_release_of_ctrl_c_does_not_quit_the_agent_and_the_press_does ... ok
[INFO] [stdout] test term_model::tests::closing_the_master_hangs_the_child_up ... ok
[INFO] [stdout] test term_model::tests::output_from_a_child_can_be_replayed_into_the_screen_model ... ok
[INFO] [stdout] test term_model::tests::this_executable_can_be_rerun_as_a_child_on_a_terminal ... ok
[INFO] [stdout] test term_model::tests::waiting_for_a_child_that_keeps_running_times_out ... ok
[INFO] [stdout] test terminal::tests::a_panic_with_unwinding_restores_the_terminal ... ok
[INFO] [stdout] test terminal::tests::a_panic_on_another_thread_leaves_this_terminal_alone ... ok
[INFO] [stdout] test terminal::tests::an_error_return_restores_the_terminal ... ok
[INFO] [stdout] test reader::tests::a_paste_is_one_event_and_a_lost_end_marker_is_given_up_on ... ok
[INFO] [stdout] test signals::tests::a_full_pipe_does_not_block_the_handler ... ok
[INFO] [stdout] test signals::tests::a_second_install_fails_until_the_first_is_dropped_and_handlers_come_back ... ok
[INFO] [stdout] test terminal::tests::options_builders_set_one_field_each ... ok
[INFO] [stdout] test reader::tests::finish_hands_the_signal_handlers_back_still_installed ... ok
[INFO] [stdout] test signals::tests::an_ignored_sigint_sighup_or_sigtstp_stays_ignored ... ok
[INFO] [stdout] test signals::tests::each_signal_arrives_as_its_own_value ... ok
[INFO] [stdout] test signals::tests::pending_does_not_block_when_nothing_arrived ... ok
[INFO] [stdout] test signals::tests::bytes_left_over_from_an_earlier_install_are_not_delivered ... ok
[INFO] [stdout] test signals::tests::signals_keep_their_arrival_order ... ok
[INFO] [stdout] test terminal::tests::size_reports_columns_then_rows ... ok
[INFO] [stdout] test testing::tests::a_cursor_outside_the_screen_is_hidden_and_a_cell_outside_panics ... ok
[INFO] [stdout] test testing::tests::an_event_the_app_ignores_changes_nothing ... ok
[INFO] [stdout] test testing::tests::clipboard_texts_are_recorded_and_the_ones_that_would_not_be_sent_are_not ... ok
[INFO] [stdout] test testing::tests::cells_carry_their_styles_and_links_and_the_cursor_is_reported ... ok
[INFO] [stdout] test testing::tests::messages_can_be_sent_straight_and_the_app_taken_back ... ok
[INFO] [stdout] test testing::tests::resize_changes_what_view_draws_on_and_tells_the_app ... ok
[INFO] [stdout] test testing::tests::quit_is_remembered_and_input_still_works_after_it ... ok
[INFO] [stdout] test testing::tests::spawned_work_sends_its_messages_in_order ... ok
[INFO] [stdout] test testing::tests::events_go_through_event_and_update_and_the_screen_shows_the_result ... ok
[INFO] [stdout] test testing::tests::start_queues_what_init_returned_and_run_commands_delivers_it ... ok
[INFO] [stdout] test testing::tests::the_harness_has_a_debug_form_that_does_not_need_the_app_to_have_one ... ok
[INFO] [stdout] test testing::tests::timers_wait_for_fire_timers_and_are_listed_by_delay ... ok
[INFO] [stdout] test testing::tests::run_commands_also_runs_the_work_that_the_messages_start ... ok
[INFO] [stdout] test text::tests::into_owned_keeps_everything_and_drops_the_borrow ... ok
[INFO] [stdout] test text::tests::truncate_never_splits_a_grapheme ... ok
[INFO] [stdout] test text::tests::width_of_common_text ... ok
[INFO] [stdout] test testing::tests::work_that_never_stops_fails_the_test_instead_of_hanging ... ok
[INFO] [stdout] test text::tests::wrap_is_lossless_for_single_line_input ... ok
[INFO] [stdout] test text::tests::wrap_keeps_newlines_and_empty_lines ... ok
[INFO] [stdout] test text::tests::wrap_breaks_on_columns ... ok
[INFO] [stdout] test text::tests::wrap_makes_progress_when_glyph_is_wider_than_line ... ok
[INFO] [stdout] test utf16::tests::plain_text_and_the_escape_sequences_the_console_sends ... ok
[INFO] [stdout] test utf16::tests::unpaired_surrogates_become_the_replacement_character ... ok
[INFO] [stdout] test widgets::block::tests::a_block_without_borders_draws_nothing_but_its_style ... ok
[INFO] [stdout] test utf16::tests::a_surrogate_pair_is_one_character_even_over_two_calls ... ok
[INFO] [stdout] test widgets::block::tests::a_link_in_a_title_marks_the_title_cells_only ... ok
[INFO] [stdout] test widgets::block::tests::a_paragraph_with_a_block_draws_its_text_inside_it ... ok
[INFO] [stdout] test widgets::block::tests::a_title_needs_a_top_border ... ok
[INFO] [stdout] test widgets::block::tests::a_title_sits_on_the_top_border_by_alignment ... ok
[INFO] [stdout] test widgets::block::tests::borders_combine_and_report_what_they_contain ... ok
[INFO] [stdout] test widgets::block::tests::a_block_around_content_leaves_the_content_cells_alone ... ok
[INFO] [stdout] test widgets::block::tests::a_title_too_wide_is_cut_by_columns_not_bytes ... ok
[INFO] [stdout] test widgets::block::tests::every_border_type_draws_its_own_characters ... ok
[INFO] [stdout] test widgets::block::tests::edges_without_a_neighbour_run_through_the_corner ... ok
[INFO] [stdout] test widgets::block::tests::frame_render_widget_takes_a_block ... ok
[INFO] [stdout] test widgets::block::tests::inner_is_empty_and_inside_when_there_is_no_room ... ok
[INFO] [stdout] test widgets::block::tests::inner_takes_off_the_borders_and_the_padding ... ok
[INFO] [stdout] test widgets::block::tests::tiny_areas_do_not_panic_and_stay_inside ... ok
[INFO] [stdout] test widgets::block::tests::title_and_border_styles_layer_over_the_block_style ... ok
[INFO] [stdout] test widgets::clear::tests::a_wide_glyph_cut_by_the_left_edge_is_blanked_whole ... ok
[INFO] [stdout] test widgets::clear::tests::a_popup_over_text_leaves_no_trace_of_it ... ok
[INFO] [stdout] test widgets::clear::tests::a_styled_block_alone_lets_the_text_underneath_show ... ok
[INFO] [stdout] test widgets::clear::tests::a_wide_glyph_cut_by_the_right_edge_is_blanked_whole ... ok
[INFO] [stdout] test widgets::clear::tests::clear_blanks_text_style_and_links_inside_the_area_only ... ok
[INFO] [stdout] test widgets::clear::tests::clear_is_clipped_to_the_buffer_and_an_empty_area_is_fine ... ok
[INFO] [stdout] test widgets::history::tests::a_carriage_return_before_a_newline_is_dropped_across_chunks ... ok
[INFO] [stdout] test widgets::history::tests::a_block_goes_around_and_the_view_is_measured_inside_it ... ok
[INFO] [stdout] test widgets::history::tests::a_following_view_shows_the_streamed_end ... ok
[INFO] [stdout] test widgets::history::tests::a_frame_draws_it_as_a_stateful_widget ... ok
[INFO] [stdout] test widgets::history::tests::a_full_width_entry_tints_its_rows_to_the_edge_and_nothing_else ... ok
[INFO] [stdout] test widgets::history::tests::a_long_transcript_shows_its_end_and_follows_new_entries ... ok
[INFO] [stdout] test widgets::history::tests::a_reader_held_at_the_end_by_a_resize_is_not_carried_by_new_content ... ok
[INFO] [stdout] test widgets::history::tests::a_resize_keeps_the_reader_on_the_same_entry ... ok
[INFO] [stdout] test widgets::history::tests::a_resize_while_following_keeps_following ... ok
[INFO] [stdout] test widgets::history::tests::a_row_that_no_longer_exists_after_a_resize_is_held_inside_its_entry ... ok
[INFO] [stdout] test widgets::history::tests::a_short_transcript_starts_at_the_top ... ok
[INFO] [stdout] test widgets::history::tests::a_state_can_be_built_from_entries_and_takes_owned_or_borrowed_chunks ... ok
[INFO] [stdout] test widgets::history::tests::a_streamed_line_of_a_full_width_entry_stays_full_width ... ok
[INFO] [stdout] test widgets::history::tests::a_transcript_that_shrinks_under_the_reader_shows_a_full_view ... ok
[INFO] [stdout] test widgets::history::tests::an_entry_emptied_out_still_takes_its_blank_row ... ok
[INFO] [stdout] test widgets::history::tests::an_entry_with_no_lines_takes_one_blank_row ... ok
[INFO] [stdout] test widgets::history::tests::append_extends_the_last_line_and_splits_at_newlines ... ok
[INFO] [stdout] test widgets::history::tests::a_frame_measures_only_what_it_shows ... ok
[INFO] [stdout] test widgets::history::tests::changing_an_entry_measures_it_again ... ok
[INFO] [stdout] test widgets::history::tests::content_that_fits_stays_following_when_scrolled ... ok
[INFO] [stdout] test widgets::history::tests::counting_the_whole_transcript_is_spread_over_calls ... ok
[INFO] [stdout] test widgets::history::tests::empty_areas_and_areas_beyond_the_buffer_are_fine ... ok
[INFO] [stdout] test widgets::history::tests::entries_wrap_and_the_view_counts_wrapped_rows ... ok
[INFO] [stdout] test widgets::history::tests::growing_the_last_entry_does_not_move_a_reader_inside_it ... ok
[INFO] [stdout] test widgets::history::tests::it_works_with_a_scrollbar ... ok
[INFO] [stdout] test widgets::history::tests::owned_and_borrowed_text_can_be_pushed ... ok
[INFO] [stdout] test widgets::history::tests::pages_move_by_the_view_height_less_one_row ... ok
[INFO] [stdout] test widgets::history::tests::appending_to_an_entry_that_was_emptied_out_starts_its_first_line ... ok
[INFO] [stdout] test widgets::history::tests::scrolling_down_by_an_enormous_amount_goes_to_the_end ... ok
[INFO] [stdout] test widgets::history::tests::scroll_by_zero_and_on_nothing_change_nothing ... ok
[INFO] [stdout] test widgets::history::tests::scrolling_past_either_end_stops_at_it ... ok
[INFO] [stdout] test widgets::history::tests::scrolling_down_to_the_end_follows_again ... ok
[INFO] [stdout] test widgets::history::tests::streamed_text_keeps_the_style_when_the_newline_comes_first ... ok
[INFO] [stdout] test widgets::history::tests::streamed_tokens_stay_in_one_span_and_keep_the_style ... ok
[INFO] [stdout] test widgets::history::tests::scrolling_up_stops_following_and_new_content_does_not_drag_the_view ... ok
[INFO] [stdout] test widgets::history::tests::text_streamed_in_after_a_link_is_not_part_of_it ... ok
[INFO] [stdout] test widgets::history::tests::the_estimate_settles_on_the_exact_count_and_the_ends_are_exact_before ... ok
[INFO] [stdout] test widgets::history::tests::the_row_counts_follow_the_width ... ok
[INFO] [stdout] test terminal::tests::stdin_that_is_not_a_terminal_is_an_error_before_anything_is_written ... ok
[INFO] [stdout] test terminal::tests::stdout_that_is_not_a_terminal_is_an_error_and_nothing_changes ... ok
[INFO] [stdout] test widgets::history::tests::the_style_goes_under_the_text_and_the_entry_style_over_it ... ok
[INFO] [stdout] test terminal::tests::the_panic_hook_restores_even_when_nothing_gets_dropped ... ok
[INFO] [stdout] test terminal::tests::writes_go_to_the_terminal ... ok
[INFO] [stdout] test widgets::history::tests::to_top_and_to_bottom ... ok
[INFO] [stdout] test widgets::input::tests::a_masked_input_draws_one_mask_per_grapheme_and_keeps_the_text ... ok
[INFO] [stdout] test widgets::input::tests::a_masked_input_wider_than_the_area_scrolls_to_the_cursor ... ok
[INFO] [stdout] test widgets::input::tests::a_release_does_nothing_and_super_does_not_type ... ok
[INFO] [stdout] test widgets::history::tests::wrap_none_cuts_lines_and_align_places_them ... ok
[INFO] [stdout] test widgets::input::tests::a_shifted_letter_is_typed_like_any_other ... ok
[INFO] [stdout] test terminal::tests::a_caught_panic_can_be_followed_by_resume ... ok
[INFO] [stdout] test widgets::input::tests::an_empty_masked_input_shows_its_placeholder ... ok
[INFO] [stdout] test widgets::input::tests::a_wide_glyph_cut_by_the_left_edge_shows_as_blank ... ok
[INFO] [stdout] test widgets::input::tests::a_wide_glyph_is_not_drawn_half_at_the_right_edge ... ok
[INFO] [stdout] test widgets::input::tests::deleting_between_two_halves_of_a_cluster_keeps_the_cursor_on_a_boundary ... ok
[INFO] [stdout] test widgets::input::tests::a_wide_glyph_cut_by_the_left_edge_blanks_what_was_under_it ... ok
[INFO] [stdout] test widgets::input::tests::backspace_and_delete_remove_whole_clusters ... ok
[INFO] [stdout] test widgets::input::tests::drawing_does_not_change_equality ... ok
[INFO] [stdout] test widgets::input::tests::inserting_before_a_combining_mark_keeps_the_cursor_on_a_boundary ... ok
[INFO] [stdout] test widgets::input::tests::kill_and_delete_word ... ok
[INFO] [stdout] test widgets::input::tests::long_text_scrolls_just_far_enough_to_keep_the_cursor_in_view ... ok
[INFO] [stdout] test widgets::input::tests::only_the_first_row_is_used_and_a_block_goes_around_it ... ok
[INFO] [stdout] test widgets::input::tests::handle_key_maps_the_editing_keys_and_leaves_the_rest ... ok
[INFO] [stdout] test widgets::input::tests::paste_inserts_text_and_drops_control_characters ... ok
[INFO] [stdout] test widgets::input::tests::empty_areas_leave_no_cursor_and_do_not_panic ... ok
[INFO] [stdout] test widgets::input::tests::scroll_comes_back_when_the_text_gets_shorter ... ok
[INFO] [stdout] test widgets::input::tests::short_text_is_drawn_from_the_left_with_the_cursor_after_it ... ok
[INFO] [stdout] test widgets::input::tests::showing_the_placeholder_forgets_the_old_scroll ... ok
[INFO] [stdout] test widgets::input::tests::styles_apply_to_the_text_and_the_placeholder ... ok
[INFO] [stdout] test widgets::input::tests::set_text_and_clear ... ok
[INFO] [stdout] test widgets::input::tests::the_cursor_position_follows_wide_characters ... ok
[INFO] [stdout] test widgets::input::tests::the_cursor_column_counts_display_width ... ok
[INFO] [stdout] test widgets::input::tests::rendering_an_input_through_a_frame_sets_the_terminal_cursor ... ok
[INFO] [stdout] test widgets::input::tests::the_placeholder_shows_only_while_empty ... ok
[INFO] [stdout] test widgets::input::tests::typing_inserts_at_the_cursor ... ok
[INFO] [stdout] test widgets::input::tests::wide_and_combining_characters_are_one_mask_each ... ok
[INFO] [stdout] test widgets::input::tests::the_cursor_steps_over_one_cluster_at_a_time_and_stops_at_the_ends ... ok
[INFO] [stdout] test widgets::input::tests::word_movement_works_with_wide_and_multi_scalar_words ... ok
[INFO] [stdout] test widgets::input::tests::the_cursor_stays_visible_at_every_width_and_position ... ok
[INFO] [stdout] test widgets::list::tests::a_custom_symbol_and_no_symbol ... ok
[INFO] [stdout] test widgets::list::tests::a_list_can_be_drawn_from_a_shared_reference_and_remembers_its_scroll ... ok
[INFO] [stdout] test widgets::list::tests::a_selection_past_the_end_is_pulled_back_and_an_empty_list_is_fine ... ok
[INFO] [stdout] test widgets::list::tests::a_block_goes_around_the_list_and_the_items_fit_inside ... ok
[INFO] [stdout] test widgets::list::tests::an_item_taller_than_the_view_shows_its_top_when_selected ... ok
[INFO] [stdout] test widgets::list::tests::empty_areas_and_areas_beyond_the_buffer_are_fine ... ok
[INFO] [stdout] test widgets::list::tests::everything_fitting_hides_nothing_and_an_empty_list_shows_nothing ... ok
[INFO] [stdout] test widgets::list::tests::frame_render_stateful_widget_clips_to_the_frame ... ok
[INFO] [stdout] test widgets::list::tests::items_are_drawn_from_the_top_with_room_for_the_highlight_symbol ... ok
[INFO] [stdout] test widgets::list::tests::items_of_several_rows_and_a_cut_last_item_are_counted_by_what_is_drawn ... ok
[INFO] [stdout] test widgets::list::tests::items_of_several_rows_count_by_rows ... ok
[INFO] [stdout] test widgets::list::tests::moving_the_selection_scrolls_only_when_it_leaves_the_view ... ok
[INFO] [stdout] test widgets::list::tests::select_next_and_previous_stop_at_the_ends ... ok
[INFO] [stdout] test widgets::list::tests::selecting_below_the_view_scrolls_just_far_enough ... ok
[INFO] [stdout] test widgets::list::tests::shrinking_the_view_keeps_the_selection_visible ... ok
[INFO] [stdout] test widgets::list::tests::styled_spans_and_lines_in_items_keep_their_styles ... ok
[INFO] [stdout] test widgets::list::tests::styles_layer_list_then_item_then_highlight ... ok
[INFO] [stdout] test widgets::list::tests::text_is_cut_by_columns_after_the_symbol ... ok
[INFO] [stdout] test widgets::input::tests::word_movement_skips_whitespace_and_stops_at_word_edges ... ok
[INFO] [stdout] test widgets::list::tests::the_last_item_may_be_cut_off_by_the_bottom ... ok
[INFO] [stdout] test widgets::list::tests::the_selected_item_gets_the_symbol_and_the_highlight_style_on_all_its_rows ... ok
[INFO] [stdout] test widgets::list::tests::the_offset_persists_between_frames_and_a_selection_above_it_scrolls_up ... ok
[INFO] [stdout] test widgets::list::tests::the_state_says_how_many_items_are_hidden_above_and_below ... ok
[INFO] [stdout] test terminal::tests::enter_goes_raw_and_drop_puts_everything_back ... ok
[INFO] [stdout] test widgets::paragraph::tests::a_full_width_line_fills_every_wrapped_row_and_the_alignment_gaps ... ok
[INFO] [stdout] test widgets::history::tests::the_thumb_stays_consistent_while_the_estimate_settles ... ok
[INFO] [stdout] test widgets::paragraph::tests::a_full_width_line_keeps_span_styles_and_covers_a_wide_glyph_at_the_edge ... ok
[INFO] [stdout] test widgets::paragraph::tests::a_line_style_stops_at_the_text_unless_the_line_is_full_width ... ok
[INFO] [stdout] test widgets::paragraph::tests::a_link_survives_into_owned ... ok
[INFO] [stdout] test widgets::paragraph::tests::a_no_break_space_is_not_a_place_to_break ... ok
[INFO] [stdout] test widgets::paragraph::tests::a_glyph_wider_than_the_area_does_not_stall_the_wrap ... ok
[INFO] [stdout] test widgets::paragraph::tests::a_span_that_is_cut_by_the_area_links_only_what_is_drawn ... ok
[INFO] [stdout] test widgets::paragraph::tests::a_span_with_a_link_marks_its_cells_across_wrapped_rows_and_takes_no_room ... ok
[INFO] [stdout] test widgets::paragraph::tests::alignment_places_each_line_and_a_lines_own_alignment_wins ... ok
[INFO] [stdout] test widgets::paragraph::tests::char_wrap_breaks_anywhere_and_never_inside_a_grapheme ... ok
[INFO] [stdout] test widgets::paragraph::tests::control_characters_are_not_drawn_and_take_no_room ... ok
[INFO] [stdout] test widgets::paragraph::tests::empty_areas_and_areas_beyond_the_buffer_are_fine ... ok
[INFO] [stdout] test widgets::paragraph::tests::frame_render_widget_clips_to_the_frame ... ok
[INFO] [stdout] test widgets::paragraph::tests::indentation_that_leaves_no_room_for_the_first_word_is_dropped_not_left_as_a_row ... ok
[INFO] [stdout] test widgets::paragraph::tests::it_draws_inside_its_area_and_leaves_the_rest_alone ... ok
[INFO] [stdout] test widgets::paragraph::tests::lines_go_on_their_own_rows_and_empty_lines_are_kept ... ok
[INFO] [stdout] test widgets::paragraph::tests::scroll_counts_wrapped_rows ... ok
[INFO] [stdout] test widgets::paragraph::tests::scroll_skips_rows_from_the_top ... ok
[INFO] [stdout] test widgets::paragraph::tests::span_line_and_text_are_widgets_too ... ok
[INFO] [stdout] test widgets::paragraph::tests::styles_layer_from_the_paragraph_down_to_the_span ... ok
[INFO] [stdout] test widgets::paragraph::tests::text_from_a_string_splits_lines ... ok
[INFO] [stdout] test widgets::paragraph::tests::text_is_cut_at_the_edge_by_columns_not_bytes ... ok
[INFO] [stdout] test widgets::paragraph::tests::the_text_style_reaches_the_row_end_of_a_full_width_line ... ok
[INFO] [stdout] test widgets::paragraph::tests::word_wrap_breaks_between_words_and_drops_the_whitespace_it_breaks_at ... ok
[INFO] [stdout] test widgets::paragraph::tests::word_wrap_handles_cjk_and_mixed_width_words ... ok
[INFO] [stdout] test widgets::paragraph::tests::word_wrap_keeps_indentation_and_inner_spacing ... ok
[INFO] [stdout] test widgets::paragraph::tests::word_wrap_splits_a_word_longer_than_the_row ... ok
[INFO] [stdout] test widgets::paragraph::tests::wrapped_rows_are_aligned_without_their_trailing_whitespace ... ok
[INFO] [stdout] test widgets::paragraph::tests::wrapping_keeps_empty_lines_and_blank_only_lines ... ok
[INFO] [stdout] test widgets::progress::tests::a_ratio_out_of_range_or_not_a_number_is_clamped ... ok
[INFO] [stdout] test widgets::progress::tests::cells_fill_in_eighths ... ok
[INFO] [stdout] test widgets::progress::tests::empty_and_one_cell_areas_are_fine ... ok
[INFO] [stdout] test widgets::progress::tests::styles_apply_to_the_filled_and_empty_parts_and_the_partial_cell_blends_them ... ok
[INFO] [stdout] test widgets::progress::tests::the_ends_are_exact ... ok
[INFO] [stdout] test widgets::progress::tests::the_label_is_centered_over_the_bar_and_cut_by_columns ... ok
[INFO] [stdout] test widgets::list::tests::a_state_can_start_with_a_selection ... ok
[INFO] [stdout] test widgets::scrollbar::tests::a_horizontal_scrollbar_runs_along_the_bottom_edge ... ok
[INFO] [stdout] test widgets::scrollbar::tests::a_position_past_the_end_counts_as_the_last ... ok
[INFO] [stdout] test widgets::scrollbar::tests::a_vertical_scrollbar_draws_on_the_right_edge_of_a_wider_area ... ok
[INFO] [stdout] test widgets::scrollbar::tests::empty_areas_and_areas_beyond_the_buffer_are_fine ... ok
[INFO] [stdout] test widgets::scrollbar::tests::short_tracks_work ... ok
[INFO] [stdout] test widgets::scrollbar::tests::symbols_and_styles_are_configurable ... ok
[INFO] [stdout] test widgets::scrollbar::tests::symbols_can_be_owned_strings ... ok
[INFO] [stdout] test widgets::scrollbar::tests::the_thumb_is_never_smaller_than_one_cell ... ok
[INFO] [stdout] test widgets::scrollbar::tests::the_thumb_is_proportional_to_the_viewport ... ok
[INFO] [stdout] test widgets::scrollbar::tests::the_thumb_stays_on_the_track_and_only_moves_forward ... ok
[INFO] [stdout] test widgets::scrollbar::tests::when_everything_fits_the_thumb_fills_the_track ... ok
[INFO] [stdout] test widgets::spinner::tests::a_spinner_with_no_frames_neither_panics_nor_draws ... ok
[INFO] [stdout] test widgets::spinner::tests::a_wide_frame_is_cut_by_columns ... ok
[INFO] [stdout] test widgets::spinner::tests::it_draws_the_current_frame_in_the_first_cell_with_its_style ... ok
[INFO] [stdout] test widgets::spinner::tests::it_is_cheap_to_copy_and_empty_areas_are_fine ... ok
[INFO] [stdout] test widgets::spinner::tests::ticking_walks_the_frames_and_wraps ... ok
[INFO] [stdout] test widgets::table::tests::a_block_shrinks_the_area ... ok
[INFO] [stdout] test widgets::table::tests::a_cell_wider_than_its_column_is_cut_at_the_edge ... ok
[INFO] [stdout] test widgets::table::tests::a_header_taller_than_the_area_leaves_no_rows_and_does_not_panic ... ok
[INFO] [stdout] test widgets::table::tests::a_line_from_text_keeps_its_own_style_over_the_row_style ... ok
[INFO] [stdout] test widgets::table::tests::a_row_with_several_lines_takes_that_many_rows_and_is_kept_whole ... ok
[INFO] [stdout] test widgets::table::tests::a_selection_past_the_end_counts_as_the_last_row ... ok
[INFO] [stdout] test widgets::table::tests::a_state_can_start_with_a_selection ... ok
[INFO] [stdout] test widgets::table::tests::columns_follow_their_constraints_with_a_gap_and_room_for_the_symbol ... ok
[INFO] [stdout] test widgets::table::tests::degenerate_areas_and_tables_draw_nothing_and_do_not_panic ... ok
[INFO] [stdout] test widgets::progress::tests::the_number_of_filled_cells_never_goes_down_as_the_ratio_goes_up ... ok
[INFO] [stdout] test widgets::table::tests::it_draws_through_a_frame ... ok
[INFO] [stdout] test widgets::table::tests::missing_cells_are_blank_and_extra_cells_are_not_drawn ... ok
[INFO] [stdout] test widgets::table::tests::select_next_and_previous_stop_at_the_ends ... ok
[INFO] [stdout] test widgets::table::tests::squeezing_the_table_to_nothing_keeps_the_scroll_position ... ok
[INFO] [stdout] test widgets::table::tests::the_header_takes_the_style_of_its_row ... ok
[INFO] [stdout] test widgets::table::tests::the_header_stays_while_the_rows_scroll_under_it ... ok
[INFO] [stdout] test widgets::table::tests::the_selected_row_gets_the_highlight_style_and_others_keep_theirs ... ok
[INFO] [stdout] test widgets::table::tests::wide_glyphs_are_cut_on_a_glyph_boundary ... ok
[INFO] [stdout] test widgets::textarea::tests::a_block_shrinks_the_room_and_moves_the_cursor_inside_it ... ok
[INFO] [stdout] test widgets::textarea::tests::a_glyph_wider_than_the_area_still_gets_a_row_and_the_cursor_stays_inside ... ok
[INFO] [stdout] test widgets::textarea::tests::a_tall_text_scrolls_to_keep_the_cursor_row_in_view ... ok
[INFO] [stdout] test widgets::textarea::tests::a_wrapped_row_never_takes_the_cursor_onto_the_next_row ... ok
[INFO] [stdout] test widgets::textarea::tests::backspace_and_delete_join_lines_and_remove_whole_clusters ... ok
[INFO] [stdout] test widgets::textarea::tests::desired_height_grows_with_the_text_and_is_clamped ... ok
[INFO] [stdout] test widgets::textarea::tests::desired_height_of_the_widget_counts_the_block ... ok
[INFO] [stdout] test widgets::textarea::tests::edits_never_leave_the_cursor_inside_a_cluster ... ok
[INFO] [stdout] test widgets::textarea::tests::enter_tab_and_ctrl_j_are_left_to_the_app ... ok
[INFO] [stdout] test widgets::textarea::tests::frame_places_the_terminal_cursor_at_the_text_cursor ... ok
[INFO] [stdout] test widgets::textarea::tests::handle_key_maps_the_editing_keys_and_leaves_the_rest ... ok
[INFO] [stdout] test widgets::textarea::tests::home_and_end_work_on_the_line_not_the_wrapped_row ... ok
[INFO] [stdout] test widgets::paragraph::tests::the_one_row_shortcut_agrees_with_splitting ... ok
[INFO] [stdout] test widgets::textarea::tests::kill_works_on_the_line_and_then_on_the_line_break ... ok
[INFO] [stdout] test widgets::textarea::tests::long_lines_wrap_at_the_width_and_keep_their_breaks ... ok
[INFO] [stdout] test widgets::textarea::tests::no_room_means_no_cursor_and_no_panic ... ok
[INFO] [stdout] test widgets::textarea::tests::paste_keeps_line_breaks_and_normalizes_the_rest ... ok
[INFO] [stdout] test pty_children::tests::the_agent_example_survives_its_stress_mode_and_quits_cleanly ... ok
[INFO] [stdout] test widgets::textarea::tests::set_text_and_clear ... ok
[INFO] [stdout] test widgets::textarea::tests::the_cursor_at_a_wrap_point_is_at_the_start_of_the_next_row ... ok
[INFO] [stdout] test widgets::textarea::tests::the_cursor_at_the_end_of_a_full_row_gets_a_row_of_its_own ... ok
[INFO] [stdout] test widgets::textarea::tests::the_cursor_lands_in_the_right_cell_with_wide_and_combining_text ... ok
[INFO] [stdout] test widgets::textarea::tests::the_cursor_steps_over_one_cluster_and_over_line_breaks ... ok
[INFO] [stdout] test widgets::textarea::tests::the_placeholder_shows_while_empty_with_the_cursor_at_the_start ... ok
[INFO] [stdout] test widgets::textarea::tests::the_remembered_column_is_dropped_when_the_cursor_moves_another_way ... ok
[INFO] [stdout] test widgets::textarea::tests::the_style_covers_the_area ... ok
[INFO] [stdout] test widgets::textarea::tests::typing_and_newlines_build_lines ... ok
[INFO] [stdout] test widgets::textarea::tests::up_and_down_keep_the_column_across_lines_of_different_length ... ok
[INFO] [stdout] test widgets::textarea::tests::up_and_down_move_by_wrapped_row_once_drawn ... ok
[INFO] [stdout] test widgets::textarea::tests::up_and_down_use_display_columns_with_wide_glyphs ... ok
[INFO] [stdout] test widgets::textarea::tests::wide_glyphs_wrap_whole_and_leave_the_edge_cell_blank ... ok
[INFO] [stdout] test widgets::textarea::tests::word_movement_and_deletion_cross_lines ... ok
[INFO] [stdout] test widgets::input::tests::random_edits_keep_the_cursor_on_a_boundary ... ok
[INFO] [stdout] test terminal::tests::explicit_restore_then_drop_restores_once ... ok
[INFO] [stdout] test widgets::history::tests::a_huge_entry_costs_what_is_visible_not_what_it_holds ... ok
[INFO] [stdout] test widgets::history::tests::the_view_matches_a_paragraph_of_the_whole_transcript ... ok
[INFO] [stdout] test terminal::tests::resume_reasserts_raw_mode_when_something_else_undid_it ... ok
[INFO] [stdout] test widgets::history::tests::streaming_gives_what_a_paragraph_of_the_whole_text_gives ... ok
[INFO] [stdout] test terminal::tests::only_the_modes_that_were_enabled_are_disabled ... ok
[INFO] [stdout] test widgets::list::tests::the_selected_item_is_always_in_view ... ok
[INFO] [stdout] test agent_tests::a_long_transcript_with_streaming_never_repaints_the_screen_per_token ... ok
[INFO] [stdout] test widgets::paragraph::tests::a_text_of_a_million_lines_is_not_measured_in_full ... ok
[INFO] [stdout] test signals::tests::the_handler_leaves_errno_alone_even_when_its_write_fails ... ok
[INFO] [stdout] test signals::tests::the_read_end_can_be_polled ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 506 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.60s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests crewtui
[INFO] [stdout] 
[INFO] [stdout] running 21 tests
[INFO] [stdout] test src/../docs/getting-started.md - GettingStartedDoctests (line 77) - compile ... ok
[INFO] [stdout] test src/runtime.rs - runtime::App (line 22) - compile ... ok
[INFO] [stdout] test src/runtime.rs - runtime::run (line 390) - compile ... ok
[INFO] [stdout] test src/../README.md - ReadmeDoctests (line 7) - compile ... ok
[INFO] [stdout] test src/widgets/table.rs - widgets::table::Table (line 115) ... ok
[INFO] [stdout] test src/widgets/paragraph.rs - widgets::paragraph::Paragraph (line 25) ... ok
[INFO] [stdout] test src/../docs/getting-started.md - GettingStartedDoctests (line 17) - compile ... ok
[INFO] [stdout] test src/input.rs - input::Parser (line 637) ... ok
[INFO] [stdout] test src/widgets/block.rs - widgets::block::Block (line 114) ... ok
[INFO] [stdout] test src/text.rs - text::Line<'a>::full_width (line 207) ... ok
[INFO] [stdout] test src/widgets/input.rs - widgets::input::Input (line 326) ... ok
[INFO] [stdout] test src/testing.rs - testing (line 13) ... ok
[INFO] [stdout] test src/widgets/progress.rs - widgets::progress::Progress (line 14) ... ok
[INFO] [stdout] test src/widgets/history.rs - widgets::history::HistoryState (line 77) ... ok
[INFO] [stdout] test src/widgets/spinner.rs - widgets::spinner::Spinner (line 16) ... ok
[INFO] [stdout] test src/text.rs - text::Span<'a>::link (line 131) ... ok
[INFO] [stdout] test src/widgets/textarea.rs - widgets::textarea::TextArea (line 509) ... ok
[INFO] [stdout] test src/layout.rs - layout::Layout (line 102) ... ok
[INFO] [stdout] test src/widgets/clear.rs - widgets::clear::Clear (line 11) ... ok
[INFO] [stdout] test src/widgets/list.rs - widgets::list::List (line 132) ... ok
[INFO] [stdout] test src/widgets/scrollbar.rs - widgets::scrollbar::Scrollbar (line 22) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/terminal.rs - terminal::Terminal (line 205) - compile fail ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 1.54s; merged doctests compilation took 1.39s
[INFO] running `Command { std: "docker" "inspect" "ec2c0392a3359658d5dfcd1626ccb523ca25f1c18f6c670037343b922519f7f7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ec2c0392a3359658d5dfcd1626ccb523ca25f1c18f6c670037343b922519f7f7", kill_on_drop: false }`
[INFO] [stdout] ec2c0392a3359658d5dfcd1626ccb523ca25f1c18f6c670037343b922519f7f7
