[INFO] cloning repository https://github.com/taida-lang/terminal
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/taida-lang/terminal" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftaida-lang%2Fterminal", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftaida-lang%2Fterminal'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c6d1500a38515890bc725fa956c107a1f6d41a75
[INFO] testing taida-lang/terminal against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftaida-lang%2Fterminal" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/taida-lang/terminal
[INFO] finished tweaking git repo https://github.com/taida-lang/terminal
[INFO] tweaked toml for git repo https://github.com/taida-lang/terminal written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/taida-lang/terminal on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/taida-lang/terminal 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" "+33835004928d3bf65db4d4712e1330766263b0bd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3781ec525760944923af902452a8d2520d0ad1d8c0224eeaa9f338b138895494
[INFO] running `Command { std: "docker" "start" "-a" "3781ec525760944923af902452a8d2520d0ad1d8c0224eeaa9f338b138895494", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3781ec525760944923af902452a8d2520d0ad1d8c0224eeaa9f338b138895494", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3781ec525760944923af902452a8d2520d0ad1d8c0224eeaa9f338b138895494", kill_on_drop: false }`
[INFO] [stdout] 3781ec525760944923af902452a8d2520d0ad1d8c0224eeaa9f338b138895494
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3cec95ac24d1c5cf8af19d3dfd871dcef10676253b912072a1aab5e4fa9d86db
[INFO] running `Command { std: "docker" "start" "-a" "3cec95ac24d1c5cf8af19d3dfd871dcef10676253b912072a1aab5e4fa9d86db", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling taida-addon v2.0.0 (https://github.com/taida-lang/taida.git#cfe0fdcd)
[INFO] [stderr]    Compiling taida-lang-terminal v1.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.36s
[INFO] running `Command { std: "docker" "inspect" "3cec95ac24d1c5cf8af19d3dfd871dcef10676253b912072a1aab5e4fa9d86db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3cec95ac24d1c5cf8af19d3dfd871dcef10676253b912072a1aab5e4fa9d86db", kill_on_drop: false }`
[INFO] [stdout] 3cec95ac24d1c5cf8af19d3dfd871dcef10676253b912072a1aab5e4fa9d86db
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3609591aa600c52e60d7052acd99aa2a3e0e36f468b40c8b0a363d88c4347b41
[INFO] running `Command { std: "docker" "start" "-a" "3609591aa600c52e60d7052acd99aa2a3e0e36f468b40c8b0a363d88c4347b41", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling serde_derive v1.0.228
[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 taida-lang-terminal v1.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 26.30s
[INFO] running `Command { std: "docker" "inspect" "3609591aa600c52e60d7052acd99aa2a3e0e36f468b40c8b0a363d88c4347b41", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3609591aa600c52e60d7052acd99aa2a3e0e36f468b40c8b0a363d88c4347b41", kill_on_drop: false }`
[INFO] [stdout] 3609591aa600c52e60d7052acd99aa2a3e0e36f468b40c8b0a363d88c4347b41
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 971b61f7d1baee5de211501774bf51e5bb350500dfd59766b1b7a1dee155682e
[INFO] running `Command { std: "docker" "start" "-a" "971b61f7d1baee5de211501774bf51e5bb350500dfd59766b1b7a1dee155682e", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.16s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/taida_lang_terminal-515d0a85766dade8)
[INFO] [stdout] 
[INFO] [stdout] running 253 tests
[INFO] [stdout] test event::tests::decode_sgr_mouse_drag ... ok
[INFO] [stdout] test event::tests::decode_sgr_mouse_large_coordinates ... ok
[INFO] [stdout] test event::tests::decode_sgr_mouse_left_press ... ok
[INFO] [stdout] test event::tests::decode_sgr_mouse_left_release ... ok
[INFO] [stdout] test event::tests::decode_sgr_mouse_middle_press ... ok
[INFO] [stdout] test event::tests::decode_sgr_mouse_rejects_wrong_prefix ... ok
[INFO] [stdout] test event::tests::decode_sgr_mouse_right_press ... ok
[INFO] [stdout] test event::tests::decode_sgr_mouse_scroll_up ... ok
[INFO] [stdout] test event::tests::decode_sgr_mouse_rejects_too_short ... ok
[INFO] [stdout] test event::tests::decode_sgr_mouse_scroll_down ... ok
[INFO] [stdout] test event::tests::decode_sgr_mouse_with_all_modifiers ... ok
[INFO] [stdout] test event::tests::decode_sgr_mouse_with_ctrl ... ok
[INFO] [stdout] test event::tests::decode_sgr_mouse_with_shift ... ok
[INFO] [stdout] test event::tests::event_error_codes_are_frozen ... ok
[INFO] [stdout] test event::tests::event_error_codes_in_4xxx_range ... ok
[INFO] [stdout] test event::tests::decode_sgr_mouse_rejects_wrong_final_byte ... ok
[INFO] [stdout] test event::tests::event_kind_tags_are_frozen ... ok
[INFO] [stdout] test event::tests::find_csi_end_basic ... ok
[INFO] [stdout] test event::tests::find_csi_end_parameterised ... ok
[INFO] [stdout] test event::tests::decode_sgr_mouse_with_alt ... ok
[INFO] [stdout] test event::tests::find_csi_end_tilde ... ok
[INFO] [stdout] test event::tests::find_sgr_mouse_end_release ... ok
[INFO] [stdout] test event::tests::find_sgr_mouse_end_none_when_incomplete ... ok
[INFO] [stdout] test event::tests::framing_alt_key_followed_by_char ... ok
[INFO] [stdout] test event::tests::framing_alt_key ... ok
[INFO] [stdout] test event::tests::framing_arrow_up_followed_by_char ... ok
[INFO] [stdout] test event::tests::framing_csi_tilde_key ... ok
[INFO] [stdout] test event::tests::framing_sgr_mouse_event ... ok
[INFO] [stdout] test event::tests::framing_single_printable_char ... ok
[INFO] [stdout] test event::tests::framing_two_sgr_mouse_events ... ok
[INFO] [stdout] test event::tests::framing_utf8_followed_by_ascii ... ok
[INFO] [stdout] test event::tests::framing_utf8_multibyte ... ok
[INFO] [stdout] test event::tests::framing_esc_bracket_a_arrow_up ... ok
[INFO] [stdout] test event::tests::find_sgr_mouse_end_basic ... ok
[INFO] [stdout] test event::tests::framing_csi_tilde_followed_by_char ... ok
[INFO] [stdout] test event::tests::framing_lone_esc ... ok
[INFO] [stdout] test event::tests::mouse_kind_tags_are_frozen ... ok
[INFO] [stdout] test event::tests::pending_bytes_queue_is_initially_empty ... ok
[INFO] [stdout] test event::tests::old_sigwinch_handler_is_saved_after_install ... ok
[INFO] [stdout] test event::tests::event_read_outcome_resize_init_failed_exists ... ok
[INFO] [stdout] test event::tests::framing_ss3_f1_key ... ok
[INFO] [stdout] test event::tests::framing_two_printable_chars_consumes_only_first ... ok
[INFO] [stdout] test event::tests::framing_sgr_mouse_followed_by_key ... ok
[INFO] [stdout] test event::tests::read_event_impl_arity_mismatch ... ok
[INFO] [stdout] test event::tests::sigwinch_pipe_can_be_installed ... ok
[INFO] [stdout] test event::tests::sigwinch_pipe_is_idempotent ... ok
[INFO] [stdout] test event::tests::read_event_impl_invalid_state_when_host_null ... ok
[INFO] [stdout] test event::tests::tmb_017_old_handler_published_before_installed_flag ... ok
[INFO] [stdout] test event::tests::tmb_017_reinstall_is_idempotent_and_preserves_old_handler ... ok
[INFO] [stdout] test key::tests::decode_arrow_left_csi ... ok
[INFO] [stdout] test key::tests::decode_arrow_right_csi ... ok
[INFO] [stdout] test key::tests::decode_arrow_up_csi ... ok
[INFO] [stdout] test key::tests::decode_arrow_down_csi ... ok
[INFO] [stdout] test key::tests::decode_alt_plus_letter ... ok
[INFO] [stdout] test key::tests::decode_arrow_up_with_shift_modifier ... ok
[INFO] [stdout] test key::tests::decode_backspace_both_codes ... ok
[INFO] [stdout] test key::tests::decode_ctrl_letter_sets_ctrl_flag ... ok
[INFO] [stdout] test key::tests::decode_empty_buffer_is_unknown ... ok
[INFO] [stdout] test key::tests::decode_end_tilde_form ... ok
[INFO] [stdout] test key::tests::decode_end_letter_form ... ok
[INFO] [stdout] test key::tests::decode_enter_lf_and_cr ... ok
[INFO] [stdout] test key::tests::decode_f1_to_f4_csi_letter_form ... ok
[INFO] [stdout] test key::tests::decode_f5_to_f12_tilde_form ... ok
[INFO] [stdout] test key::tests::decode_f1_to_f4_ss3_form ... ok
[INFO] [stdout] test key::tests::decode_garbage_high_byte_alone_is_unknown_not_silent_drop ... ok
[INFO] [stdout] test key::tests::decode_home_letter_form ... ok
[INFO] [stdout] test key::tests::decode_arrow_up_with_ctrl_modifier ... ok
[INFO] [stdout] test key::tests::decode_lone_escape_is_escape_key ... ok
[INFO] [stdout] test key::tests::decode_modifier_mask_table ... ok
[INFO] [stdout] test key::tests::decode_arrow_up_with_ctrl_shift_modifier ... ok
[INFO] [stdout] test key::tests::decode_arrow_up_with_alt_modifier ... ok
[INFO] [stdout] test key::tests::decode_printable_ascii_yields_char ... ok
[INFO] [stdout] test key::tests::decode_partial_csi_is_unknown ... ok
[INFO] [stdout] test key::tests::inflight_guard_serialises_calls ... ok
[INFO] [stdout] test key::tests::decode_insert_delete ... ok
[INFO] [stdout] test key::tests::decode_pageup_pagedown ... ok
[INFO] [stdout] test key::tests::decode_home_tilde_form ... ok
[INFO] [stdout] test key::tests::decode_unknown_csi_sequence_preserves_raw_bytes ... ok
[INFO] [stdout] test raw_mode::tests::leave_without_enter_returns_not_active ... ok
[INFO] [stdout] test key::tests::decode_tab ... ok
[INFO] [stdout] test key::tests::key_kind_tags_are_frozen_v1 ... ok
[INFO] [stdout] test renderer::alloc::tests::buffer_new_1x1_has_one_default_cell ... ok
[INFO] [stdout] test raw_mode::tests::is_raw_mode_active_returns_false_by_default ... ok
[INFO] [stdout] test key::tests::raw_mode_guard_restores_termios_on_normal_drop ... ok
[INFO] [stdout] test key::tests::decode_utf8_multibyte_char ... ok
[INFO] [stdout] test raw_mode::tests::raw_mode_enter_impl_arity_mismatch ... ok
[INFO] [stdout] test raw_mode::tests::raw_mode_error_codes_are_frozen ... ok
[INFO] [stdout] test raw_mode::tests::enter_on_non_tty_returns_not_a_tty ... ok
[INFO] [stdout] test raw_mode::tests::raw_mode_error_codes_in_3xxx_range ... ok
[INFO] [stdout] test raw_mode::tests::raw_mode_leave_impl_arity_mismatch ... ok
[INFO] [stdout] test raw_mode::tests::raw_mode_leave_impl_invalid_state_when_host_null ... ok
[INFO] [stdout] test raw_mode::tests::raw_mode_enter_impl_invalid_state_when_host_null ... ok
[INFO] [stdout] test renderer::alloc::tests::buffer_new_impl_invalid_state_when_host_null ... ok
[INFO] [stdout] test event::tests::sigwinch_handler_chains_without_crash ... ok
[INFO] [stdout] test renderer::alloc::tests::buffer_new_impl_rejects_zero_cols ... ok
[INFO] [stdout] test renderer::alloc::tests::buffer_new_populates_row_hashes ... ok
[INFO] [stdout] test renderer::alloc::tests::buffer_resize_cells_are_all_default ... ok
[INFO] [stdout] test renderer::alloc::tests::buffer_resize_impl_arity_mismatch ... ok
[INFO] [stdout] test renderer::alloc::tests::buffer_resize_impl_invalid_state_when_host_null ... ok
[INFO] [stdout] test renderer::alloc::tests::buffer_resize_populates_row_hashes ... ok
[INFO] [stdout] test renderer::alloc::tests::buffer_resize_to_bigger_clamps_cursor_noop ... ok
[INFO] [stdout] test renderer::alloc::tests::buffer_resize_to_smaller_clamps_cursor ... ok
[INFO] [stdout] test renderer::alloc::tests::buffer_new_40x20_has_800_default_cells ... ok
[INFO] [stdout] test renderer::blit::tests::blit_clips_at_bottom_edge ... ok
[INFO] [stdout] test renderer::alloc::tests::buffer_new_120x40_has_4800_default_cells ... ok
[INFO] [stdout] test renderer::blit::tests::blit_identity_same_size ... ok
[INFO] [stdout] test renderer::blit::tests::blit_drops_wide_lead_at_right_edge_when_clipped ... ok
[INFO] [stdout] test renderer::blit::tests::blit_keeps_wide_lead_when_fully_in_bounds ... ok
[INFO] [stdout] test renderer::blit::tests::blit_partial_in_middle ... ok
[INFO] [stdout] test renderer::blit::tests::blit_preserves_style_per_cell ... ok
[INFO] [stdout] test renderer::blit::tests::blit_right_edge_drop_does_not_affect_unclipped_wide_chars ... ok
[INFO] [stdout] test renderer::blit::tests::blit_start_past_bottom_is_noop ... ok
[INFO] [stdout] test renderer::blit::tests::blit_start_past_right_is_noop ... ok
[INFO] [stdout] test renderer::blit::tests::blit_zero_size_sub_is_noop ... ok
[INFO] [stdout] test renderer::diff::tests::ansi_constants_match_facade ... ok
[INFO] [stdout] test renderer::diff::tests::cursor_move_to_uses_row_then_col ... ok
[INFO] [stdout] test renderer::diff::tests::diff_cursor_move_emits_move_op ... ok
[INFO] [stdout] test renderer::blit::tests::blit_preserves_wide_char_placeholder ... ok
[INFO] [stdout] test renderer::diff::tests::bg_code_palette_matches_facade ... ok
[INFO] [stdout] test renderer::diff::tests::diff_fast_path_and_slow_path_agree_on_random_change ... ok
[INFO] [stdout] test renderer::diff::tests::diff_fast_path_handles_only_one_side_having_row_hashes ... ok
[INFO] [stdout] test renderer::diff::tests::diff_identical_buffers_with_row_hashes_returns_no_ops ... ok
[INFO] [stdout] test renderer::diff::tests::diff_two_diff_cells_in_different_rows_with_row_hashes ... ok
[INFO] [stdout] test renderer::diff::tests::diff_visibility_change_emits_visibility_op ... ok
[INFO] [stdout] test renderer::diff::tests::fg_code_palette_matches_facade ... ok
[INFO] [stdout] test renderer::blit::tests::blit_clips_at_right_edge ... ok
[INFO] [stdout] test renderer::diff::tests::render_full_emits_hide_rows_and_cursor ... ok
[INFO] [stdout] test renderer::diff::tests::render_full_empty_buffer_returns_empty ... ok
[INFO] [stdout] test renderer::diff::tests::diff_one_changed_cell_emits_one_write_op ... ok
[INFO] [stdout] test renderer::diff::tests::diff_one_changed_cell_with_row_hashes_emits_one_write_op ... ok
[INFO] [stdout] test renderer::diff::tests::render_full_invisible_cursor_skips_show ... ok
[INFO] [stdout] test renderer::diff::tests::diff_size_change_requires_full ... ok
[INFO] [stdout] test renderer::diff::tests::render_one_op_clear_line ... ok
[INFO] [stdout] test renderer::diff::tests::render_one_op_write_emits_move_then_styled_text ... ok
[INFO] [stdout] test renderer::diff::tests::render_ops_concatenates_in_order ... ok
[INFO] [stdout] test renderer::diff::tests::write_styled_emits_sgr_then_text_then_reset ... ok
[INFO] [stdout] test renderer::diff::tests::write_styled_plain_when_no_style ... ok
[INFO] [stdout] test renderer::diff::tests::write_styled_unknown_color_falls_back_to_plain ... ok
[INFO] [stdout] test renderer::ops::tests::cjk_ideograph_is_width_2 ... ok
[INFO] [stdout] test renderer::ops::tests::combining_marks_are_width_0 ... ok
[INFO] [stdout] test renderer::ops::tests::ascii_chars_are_width_1 ... ok
[INFO] [stdout] test renderer::ops::tests::fill_rect_clamps_to_buffer_edges ... ok
[INFO] [stdout] test renderer::ops::tests::control_chars_are_width_0 ... ok
[INFO] [stdout] test renderer::ops::tests::fill_rect_zero_size_is_noop ... ok
[INFO] [stdout] test renderer::ops::tests::put_cell_bounds_checked ... ok
[INFO] [stdout] test renderer::ops::tests::fullwidth_latin_is_width_2 ... ok
[INFO] [stdout] test renderer::ops::tests::write_text_truncates_at_right_edge ... ok
[INFO] [stdout] test renderer::ops::tests::write_text_wide_char_takes_two_cells_with_placeholder ... ok
[INFO] [stdout] test renderer::diff::tests::render_one_op_show_hide_cursor ... ok
[INFO] [stdout] test renderer::state::tests::buffer_state_cell_index_out_of_bounds ... ok
[INFO] [stdout] test renderer::ops::tests::write_text_propagates_style_to_placeholder ... ok
[INFO] [stdout] test renderer::diff::tests::render_one_op_move_to ... ok
[INFO] [stdout] test renderer::ops::tests::write_text_wide_char_truncates_when_only_one_cell_remains ... ok
[INFO] [stdout] test renderer::state::tests::cellstyle_is_empty_detects_any_field_set ... ok
[INFO] [stdout] test renderer::state::tests::cell_default_space_is_a_single_space ... ok
[INFO] [stdout] test renderer::state::tests::compute_row_hashes_handles_zero_dim_buffer ... ok
[INFO] [stdout] test renderer::state::tests::compute_row_hashes_populates_one_entry_per_row ... ok
[INFO] [stdout] test renderer::state::tests::diff_kind_constants_are_frozen ... ok
[INFO] [stdout] test renderer::ops::tests::put_cell_unchecked_indexes_row_major ... ok
[INFO] [stdout] test renderer::state::tests::compute_row_hashes_is_idempotent ... ok
[INFO] [stdout] test renderer::state::tests::buffer_state_cell_index_in_bounds ... ok
[INFO] [stdout] test renderer::ops::tests::clear_buffer_overwrites_every_cell ... ok
[INFO] [stdout] test event::tests::find_csi_end_none_when_incomplete ... ok
[INFO] [stdout] test renderer::diff::tests::diff_identical_buffers_returns_no_ops ... ok
[INFO] [stdout] test renderer::blit::tests::blit_large_over_larger_produces_overlay ... ok
[INFO] [stdout] test renderer::state::tests::compute_row_hashes_reflects_cell_change ... ok
[INFO] [stdout] test renderer::state::tests::cellstyle_empty_is_default ... ok
[INFO] [stdout] test renderer::state::tests::fnv1a_constants_are_frozen ... ok
[INFO] [stdout] test renderer::ops::tests::write_text_combining_marks_are_skipped ... ok
[INFO] [stdout] test renderer::state::tests::renderer_error_message_format ... ok
[INFO] [stdout] test renderer::state::tests::row_fingerprint_avoids_byte_bleed_between_cells ... ok
[INFO] [stdout] test renderer::state::tests::renderer_error_code_mapping ... ok
[INFO] [stdout] test renderer::state::tests::row_fingerprint_avoids_field_bleed_between_text_and_style ... ok
[INFO] [stdout] test size::tests::probe_non_tty_stdout_yields_not_a_tty ... ok
[INFO] [stdout] test renderer::state::tests::row_fingerprint_default_row_is_stable ... ok
[INFO] [stdout] test size::tests::terminal_size_impl_arity_mismatch_when_args_given ... ok
[INFO] [stdout] test renderer::state::tests::row_fingerprint_distinguishes_text ... ok
[INFO] [stdout] test size::tests::terminal_size_impl_invalid_state_when_host_null ... ok
[INFO] [stdout] test tests::descriptor_addon_name_is_terminal ... ok
[INFO] [stdout] test tests::entry_symbol_returns_descriptor ... ok
[INFO] [stdout] test tests::error_code_ranges_are_frozen_unix ... ok
[INFO] [stdout] test renderer::state::tests::row_fingerprint_distinguishes_style ... ok
[INFO] [stdout] test tests::function_table_v1_entries_are_stable ... ok
[INFO] [stdout] test size::tests::no_silent_fallback_to_eighty_by_twentyfour ... ok
[INFO] [stdout] test size::tests::terminal_size_error_codes_are_frozen_v1 ... ok
[INFO] [stdout] test tests::descriptor_advertises_twenty_three_functions ... ok
[INFO] [stdout] test tests::error_name_convention_lock ... ok
[INFO] [stdout] test size::tests::probe_under_cargo_test_yields_deterministic_outcome ... ok
[INFO] [stdout] test tests::is_terminal_arity_mismatch_when_args_missing ... ok
[INFO] [stdout] test tests::is_terminal_returns_invalid_state_when_host_not_initialised ... ok
[INFO] [stdout] test tests::raw_mode_enter_returns_invalid_state_when_host_not_initialised ... ok
[INFO] [stdout] test tests::raw_mode_leave_arity_mismatch_when_args_given ... ok
[INFO] [stdout] test tests::read_event_arity_mismatch_when_args_given ... ok
[INFO] [stdout] test tests::read_event_returns_invalid_state_when_host_not_initialised ... ok
[INFO] [stdout] test tests::read_key_arity_mismatch_when_args_given ... ok
[INFO] [stdout] test tests::read_key_returns_invalid_state_when_host_not_initialised ... ok
[INFO] [stdout] test tests::terminal_size_returns_invalid_state_when_host_not_initialised ... ok
[INFO] [stdout] test tests::write_arity_mismatch_when_args_missing ... ok
[INFO] [stdout] test tests::write_arity_mismatch_when_too_many_args ... ok
[INFO] [stdout] test tests::write_returns_invalid_state_when_host_not_initialised ... ok
[INFO] [stdout] test tty::tests::parse_stream_kind_accepts_only_three_streams ... ok
[INFO] [stdout] test tty::tests::is_terminal_stream_matches_libc_for_standard_fds ... ok
[INFO] [stdout] test width::tests::display_width_arity_mismatch ... ok
[INFO] [stdout] test width::tests::display_width_ascii_is_length ... ok
[INFO] [stdout] test tty::tests::is_terminal_impl_invalid_state_when_host_null ... ok
[INFO] [stdout] test tty::tests::is_terminal_impl_arity_mismatch_when_args_missing ... ok
[INFO] [stdout] test tests::terminal_size_arity_mismatch_when_args_given ... ok
[INFO] [stdout] test width::tests::display_width_cjk_is_double ... ok
[INFO] [stdout] test tty::tests::is_terminal_error_codes_are_frozen ... ok
[INFO] [stdout] test renderer::state::tests::renderer_error_codes_are_frozen ... ok
[INFO] [stdout] test width::tests::display_width_combining_is_zero ... ok
[INFO] [stdout] test width::tests::display_width_invalid_state_when_host_null ... ok
[INFO] [stdout] test width::tests::display_width_empty_is_zero ... ok
[INFO] [stdout] test width::tests::measure_grapheme_combining_zero ... ok
[INFO] [stdout] test width::tests::measure_grapheme_empty ... ok
[INFO] [stdout] test width::tests::measure_grapheme_only_looks_at_first_scalar ... ok
[INFO] [stdout] test width::tests::normalize_cell_text_arity_mismatch ... ok
[INFO] [stdout] test width::tests::display_width_mixed ... ok
[INFO] [stdout] test width::tests::measure_grapheme_arity_mismatch ... ok
[INFO] [stdout] test width::tests::measure_grapheme_ascii_narrow ... ok
[INFO] [stdout] test renderer::alloc::tests::buffer_new_scales_linearly_in_cells ... ok
[INFO] [stdout] test width::tests::measure_grapheme_cjk_wide ... ok
[INFO] [stdout] test width::tests::normalize_newline_stripped ... ok
[INFO] [stdout] test width::tests::normalize_preserves_printable_text ... ok
[INFO] [stdout] test width::tests::pad_width_adds_spaces ... ok
[INFO] [stdout] test width::tests::pad_width_already_wider_returns_text ... ok
[INFO] [stdout] test width::tests::normalize_only_newline_becomes_space ... ok
[INFO] [stdout] test width::tests::pad_width_arity_mismatch ... ok
[INFO] [stdout] test width::tests::normalize_tab_becomes_four_spaces ... ok
[INFO] [stdout] test width::tests::display_width_control_is_zero ... ok
[INFO] [stdout] test tests::raw_mode_enter_arity_mismatch_when_args_given ... ok
[INFO] [stdout] test tests::raw_mode_leave_returns_invalid_state_when_host_not_initialised ... ok
[INFO] [stdout] test tests::write_entry_is_at_position_six_with_arity_one ... ok
[INFO] [stdout] test width::tests::truncate_width_less_than_one_returns_empty ... ok
[INFO] [stdout] [2J[Htest width::tests::truncate_width_arity_mismatch ... ok
[INFO] [stdout] test width::tests::truncate_width_fits_returns_all ... ok
[INFO] [stdout] test width::tests::truncate_width_empty_input_returns_empty ... ok
[INFO] [stdout] test width::tests::width_error_codes_are_frozen ... ok
[INFO] [stdout] test write::tests::write_all_to_stdout_returns_byte_count_for_empty_payload ... ok
[INFO] [stdout] test write::tests::write_error_codes_are_frozen ... ok
[INFO] [stdout] test width::tests::pad_width_respects_cjk_width ... ok
[INFO] [stdout] test width::tests::truncate_width_stops_before_overflow ... ok
[INFO] [stdout] test write::tests::write_all_to_stdout_returns_byte_count_for_ansi_escape ... ok
[INFO] [stdout] test width::tests::normalize_empty_becomes_space ... ok
[INFO] [stdout] test write::tests::write_impl_arity_mismatch_when_args_missing ... ok
[INFO] [stdout] あいうtest write::tests::write_impl_arity_mismatch_when_too_many_args ... ok
[INFO] [stdout] test write::tests::write_all_to_stdout_handles_utf8_multibyte ... ok
[INFO] [stdout] test width::tests::width_mode_constants_match_facade ... ok
[INFO] [stdout] test write::tests::write_impl_invalid_state_when_host_null ... ok
[INFO] [stdout] test width::tests::width_table_matches_renderer_ops ... ok
[INFO] [stdout] test key::tests::raw_mode_guard_restores_termios_on_panic_unwind ... ok
[INFO] [stdout] test width::tests::display_width_is_linear_in_length ... ok
[INFO] [stdout] test width::tests::pad_width_is_linear_in_target_width ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 253 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/ansi_facade.rs (/opt/rustwide/target/debug/deps/ansi_facade-498a27e60f1e6fdf)
[INFO] [stdout] 
[INFO] [stdout] running 43 tests
[INFO] [stdout] test alt_screen_leave_sequence ... ok
[INFO] [stdout] test bg_color_sgr_codes_are_frozen ... ok
[INFO] [stdout] test clear_screen_sequence ... ok
[INFO] [stdout] test clear_line_sequence ... ok
[INFO] [stdout] test color256_error_index_out_of_range_contract ... ok
[INFO] [stdout] test color_rgb_error_out_of_range_contract ... ok
[INFO] [stdout] test cursor_hide_sequence ... ok
[INFO] [stdout] test cursor_move_to_sequence ... ok
[INFO] [stdout] test cursor_move_to_top_left ... ok
[INFO] [stdout] test export_count_phase6_style ... ok
[INFO] [stdout] test fg_color_sgr_codes_are_frozen ... ok
[INFO] [stdout] test raw_mode_non_tty_returns_error ... ok
[INFO] [stdout] test cursor_show_sequence ... ok
[INFO] [stdout] test alt_screen_enter_sequence ... ok
[INFO] [stdout] test stylize256_all_decorations ... ok
[INFO] [stdout] test reset_style_sequence ... ok
[INFO] [stdout] test stylize256_bg_only ... ok
[INFO] [stdout] test stylize256_bold_only_no_color ... ok
[INFO] [stdout] test stylize256_boundary_index_0 ... ok
[INFO] [stdout] test stylize256_boundary_index_255 ... ok
[INFO] [stdout] test stylize256_fg_and_bg ... ok
[INFO] [stdout] test stylize256_fg_bold_underline ... ok
[INFO] [stdout] test stylize256_fg_only ... ok
[INFO] [stdout] test stylize256_index_minus_1_means_no_color ... ok
[INFO] [stdout] test stylize256_no_color_returns_text_as_is ... ok
[INFO] [stdout] test stylize_bg_blue ... ok
[INFO] [stdout] test stylize_bold ... ok
[INFO] [stdout] test stylize_combined_fg_bg_bold_underline ... ok
[INFO] [stdout] test stylize_combined_fg_bold ... ok
[INFO] [stdout] test stylize_dim ... ok
[INFO] [stdout] test stylize_empty_opts_returns_text_as_is ... ok
[INFO] [stdout] test stylize_fg_bright_cyan ... ok
[INFO] [stdout] test stylize_fg_red ... ok
[INFO] [stdout] test stylize_italic ... ok
[INFO] [stdout] test stylize_rgb_all_decorations ... ok
[INFO] [stdout] test stylize_rgb_bg_only ... ok
[INFO] [stdout] test stylize_rgb_fg_bold_italic ... ok
[INFO] [stderr]      Running tests/event_non_tty.rs (/opt/rustwide/target/debug/deps/event_non_tty-3fba68b1d3f66e3d)
[INFO] [stdout] test stylize_rgb_no_color_returns_text_as_is ... ok
[INFO] [stdout] test stylize_rgb_fg_only ... ok
[INFO] [stdout] test stylize_rgb_boundary_all_zero ... ok
[INFO] [stdout] test stylize_underline ... ok
[INFO] [stdout] test stylize_rgb_boundary_all_255 ... ok
[INFO] [stdout] test stylize_rgb_fg_and_bg ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 43 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test event_kind_values_match_design ... ok
[INFO] [stdout] test mouse_kind_values_match_design ... ok
[INFO] [stdout] test mouse_tracking_enter_sequence ... ok
[INFO] [stdout] test mouse_tracking_leave_sequence ... ok
[INFO] [stdout] test read_event_arity_mismatch ... ok
[INFO] [stdout] test read_event_returns_not_a_tty_error_when_stdin_is_not_a_tty ... ok
[INFO] [stdout] test function_table_contains_read_event ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/read_key_non_tty.rs (/opt/rustwide/target/debug/deps/read_key_non_tty-28bf6817ce42ceaa)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test read_key_arity_mismatch_short_circuits_before_host_lookup ... ok
[INFO] [stdout] test read_key_returns_not_a_tty_error_when_stdin_is_not_a_tty ... 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 tests/renderer_facade.rs (/opt/rustwide/target/debug/deps/renderer_facade-4e1039a9b23b0f8a)
[INFO] [stdout] 
[INFO] [stdout] running 82 tests
[INFO] [stdout] test buffer_operations::buffer_clear_fills_all_cells ... ok
[INFO] [stdout] test buffer_operations::buffer_fill_rect_fills_region ... ok
[INFO] [stdout] test buffer_operations::buffer_new_all_cells_are_space ... ok
[INFO] [stdout] test buffer_operations::buffer_new_rejects_zero_cols ... ok
[INFO] [stdout] test buffer_operations::buffer_new_rejects_zero_rows ... ok
[INFO] [stdout] test buffer_operations::buffer_put_rejects_out_of_bounds ... ok
[INFO] [stdout] test buffer_operations::buffer_resize_clamps_cursor ... ok
[INFO] [stdout] test buffer_operations::buffer_put_updates_single_cell ... ok
[INFO] [stdout] test buffer_operations::buffer_resize_grows ... ok
[INFO] [stdout] test buffer_operations::buffer_write_text_at_position ... ok
[INFO] [stdout] test buffer_operations::buffer_resize_shrinks ... ok
[INFO] [stdout] test buffer_operations::buffer_new_creates_correct_size ... ok
[INFO] [stdout] test buffer_operations::buffer_write_truncates_at_right_edge ... ok
[INFO] [stdout] test buffer_operations::buffer_write_with_style ... ok
[INFO] [stdout] test cell_buffer_shape::cell_default_values ... ok
[INFO] [stdout] test cell_buffer_shape::flat_cells_total_count ... ok
[INFO] [stdout] test cell_buffer_shape::screen_buffer_default_values ... ok
[INFO] [stdout] test diff_engine::diff_cursor_position_change ... ok
[INFO] [stdout] test diff_engine::diff_cursor_visibility_change_show ... ok
[INFO] [stdout] test diff_engine::diff_identical_buffers_produces_no_ops ... ok
[INFO] [stdout] test cell_buffer_shape::cell_text_invariant_no_empty ... ok
[INFO] [stdout] test diff_engine::diff_line_end_change ... ok
[INFO] [stdout] test diff_engine::diff_cursor_visibility_change_hide ... ok
[INFO] [stdout] test diff_engine::diff_op_kind_values_are_frozen ... ok
[INFO] [stdout] test diff_engine::diff_row_clear_equivalent ... ok
[INFO] [stdout] test integration_scenarios::buffer_write_handles_wide_chars ... ok
[INFO] [stdout] test integration_scenarios::render_full_sequence_structure ... ok
[INFO] [stdout] test diff_engine::diff_size_mismatch_requires_full ... ok
[INFO] [stdout] test integration_scenarios::scenario_cursor_only_change ... ok
[INFO] [stdout] test integration_scenarios::scenario_resize_triggers_full_repaint ... ok
[INFO] [stdout] test integration_scenarios::scenario_multiple_cell_updates ... ok
[INFO] [stdout] test integration_scenarios::scenario_style_change_only ... ok
[INFO] [stdout] test normalize_truncate_pad::normalize_strips_carriage_return ... ok
[INFO] [stdout] test integration_scenarios::diff_preserves_cell_style_in_write_ops ... ok
[INFO] [stdout] test integration_scenarios::exports_count_phase_4 ... ok
[INFO] [stdout] test normalize_truncate_pad::pad_already_wider ... ok
[INFO] [stdout] test normalize_truncate_pad::truncate_cjk_boundary ... ok
[INFO] [stdout] test normalize_truncate_pad::pad_shorter_text ... ok
[INFO] [stdout] test normalize_truncate_pad::normalize_strips_newline ... ok
[INFO] [stdout] test normalize_truncate_pad::normalize_preserves_regular_text ... ok
[INFO] [stdout] test normalize_truncate_pad::truncate_to_zero ... ok
[INFO] [stdout] test normalize_truncate_pad::truncate_narrower_than_text ... ok
[INFO] [stdout] test render_full::render_full_0x0_is_empty ... ok
[INFO] [stdout] test normalize_truncate_pad::truncate_within_width ... ok
[INFO] [stdout] test render_full::render_full_1x1_empty ... ok
[INFO] [stdout] test render_full::render_full_cursor_at_position ... ok
[INFO] [stdout] test render_full::render_full_cursor_hidden ... ok
[INFO] [stdout] test normalize_truncate_pad::normalize_tab_to_spaces ... ok
[INFO] [stdout] test render_full::render_full_with_styled_cell ... ok
[INFO] [stdout] test render_ops::render_frame_identical_returns_empty ... ok
[INFO] [stdout] test render_ops::render_frame_size_change_falls_back_to_full ... ok
[INFO] [stdout] test render_ops::render_frame_single_cell_diff ... ok
[INFO] [stdout] test normalize_truncate_pad::pad_exact_width ... ok
[INFO] [stdout] test render_ops::render_ops_clear_line ... ok
[INFO] [stdout] test integration_scenarios::scenario_full_row_update ... ok
[INFO] [stdout] test normalize_truncate_pad::normalize_empty_to_space ... ok
[INFO] [stdout] test render_ops::render_ops_show_cursor ... ok
[INFO] [stdout] test render_ops::render_ops_hide_cursor ... ok
[INFO] [stdout] test render_full::render_full_3x2_with_text ... ok
[INFO] [stdout] test diff_engine::diff_single_cell_change ... ok
[INFO] [stdout] test width_api::display_width_ascii_string ... ok
[INFO] [stdout] test normalize_truncate_pad::truncate_exact_width ... ok
[INFO] [stdout] test width_api::display_width_cjk_string ... ok
[INFO] [stdout] test render_ops::render_ops_move_then_write ... ok
[INFO] [stdout] test render_ops::render_ops_styled_write ... ok
[INFO] [stdout] test render_ops::render_ops_empty_list ... ok
[INFO] [stdout] test width_api::display_width_with_combining_mark ... ok
[INFO] [stdout] test width_api::measure_grapheme_ascii ... ok
[INFO] [stdout] test width_api::display_width_mixed_ascii_cjk ... ok
[INFO] [stdout] test width_api::measure_grapheme_combining ... ok
[INFO] [stdout] test width_api::measure_grapheme_cjk ... ok
[INFO] [stdout] test width_policy::ascii_printable_is_width_1 ... ok
[INFO] [stdout] test width_api::display_width_empty_string ... ok
[INFO] [stdout] test width_policy::combining_mark_ranges_are_width_0 ... ok
[INFO] [stdout] test width_policy::control_characters_are_width_0 ... ok
[INFO] [stdout] test width_policy::east_asian_wide_is_width_2 ... ok
[INFO] [stdout] test width_policy::hangul_jungseong_is_width_0 ... ok
[INFO] [stdout] test width_policy::newline_forbidden_in_cell ... ok
[INFO] [stdout] test width_policy::tab_expansion_policy ... ok
[INFO] [stdout] test width_policy::variation_selectors_are_width_0 ... ok
[INFO] [stdout] test width_policy::fullwidth_forms_are_width_2 ... ok
[INFO] [stdout] test cell_buffer_shape::row_major_flat_index_formula ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 82 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/renderer_smoke.rs (/opt/rustwide/target/debug/deps/renderer_smoke-69a581de6e060edb)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test renderer_smoke_executes_all_ops ... ok
[INFO] [stdout] 
[INFO] [stderr]      Running tests/sigwinch_external_chain.rs (/opt/rustwide/target/debug/deps/sigwinch_external_chain-f507871d43c02ea6)
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]      Running tests/sigwinch_install_order.rs (/opt/rustwide/target/debug/deps/sigwinch_install_order-59108f0dd268daf7)
[INFO] [stdout] test external_handler_is_chained_on_real_sigwinch_delivery ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test install_publishes_old_handler_before_flipping_installed_flag ... ok
[INFO] [stdout] test pure_probe_has_no_install_side_effect ... ok
[INFO] [stdout] test snapshot_is_idempotent_after_first_install ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/widget_facade.rs (/opt/rustwide/target/debug/deps/widget_facade-e1efbf8f2837d493)
[INFO] [stdout] 
[INFO] [stdout] running 85 tests
[INFO] [stdout] test completion_state::completion_selected_wraps ... ok
[INFO] [stdout] test completion_state::default_completion_state ... ok
[INFO] [stdout] test editing_operations::arrow_left_at_start_stays ... ok
[INFO] [stdout] test editing_operations::arrow_right_at_end_stays ... ok
[INFO] [stdout] test editing_operations::arrow_right_moves_cursor ... ok
[INFO] [stdout] test editing_operations::backspace_at_start_no_change ... ok
[INFO] [stdout] test completion_state::completion_with_items ... ok
[INFO] [stdout] test editing_operations::arrow_left_moves_cursor ... ok
[INFO] [stdout] test editing_operations::delete_at_cursor ... ok
[INFO] [stdout] test editing_operations::delete_at_end_no_change ... ok
[INFO] [stdout] test editing_operations::empty_char_text_no_change ... ok
[INFO] [stdout] test editing_operations::end_moves_to_end ... ok
[INFO] [stdout] test editing_operations::enter_submits ... ok
[INFO] [stdout] test editing_operations::home_moves_to_start ... ok
[INFO] [stdout] test editing_operations::insert_at_middle ... ok
[INFO] [stdout] test editing_operations::insert_multiple_chars_sequentially ... ok
[INFO] [stdout] test editing_operations::insert_single_char ... ok
[INFO] [stdout] test editing_operations::no_edit_after_cancel ... ok
[INFO] [stdout] test editing_operations::escape_cancels ... ok
[INFO] [stdout] test editing_operations::no_edit_after_submit ... ok
[INFO] [stdout] test history_navigation::down_without_up_stays ... ok
[INFO] [stdout] test history_navigation::history_saves_current_text ... ok
[INFO] [stdout] test editing_operations::unknown_key_no_change ... ok
[INFO] [stdout] test history_navigation::up_at_top_stays_at_first ... ok
[INFO] [stdout] test history_navigation::up_goes_to_last_history ... ok
[INFO] [stdout] test history_navigation::up_then_down_returns_to_current ... ok
[INFO] [stdout] test history_navigation::up_up_down_navigates_correctly ... ok
[INFO] [stdout] test line_editor_new::default_options_creates_empty_editor ... ok
[INFO] [stdout] test line_editor_new::with_history ... ok
[INFO] [stdout] test line_editor_new::with_initial_text ... ok
[INFO] [stdout] test progress_bar::half_progress ... ok
[INFO] [stdout] test progress_bar::invalid_total_error ... ok
[INFO] [stdout] test progress_bar::negative_current_error ... ok
[INFO] [stdout] test line_editor_new::with_password_mode ... ok
[INFO] [stdout] test line_editor_new::with_placeholder ... ok
[INFO] [stdout] test password_mode::password_cursor_position_uses_mask_width ... ok
[INFO] [stdout] test password_mode::password_empty_text_no_mask ... ok
[INFO] [stdout] test password_mode::password_mask_length_matches_text ... ok
[INFO] [stdout] test password_mode::password_raw_text_preserved ... ok
[INFO] [stdout] test progress_bar::custom_chars ... ok
[INFO] [stdout] test progress_bar::empty_progress ... ok
[INFO] [stdout] test progress_bar::full_progress ... ok
[INFO] [stdout] test history_navigation::cursor_at_end_of_history_entry ... ok
[INFO] [stdout] test history_navigation::up_with_no_history_stays ... ok
[INFO] [stdout] test progress_bar::over_total_clamped ... ok
[INFO] [stdout] test progress_bar::quarter_progress ... ok
[INFO] [stdout] test progress_bar::small_total ... ok
[INFO] [stdout] test progress_bar::with_both_labels ... ok
[INFO] [stdout] test progress_bar::with_left_label ... ok
[INFO] [stdout] test progress_bar::with_right_label ... ok
[INFO] [stdout] test prompt_types::line_editor_state_defaults ... ok
[INFO] [stdout] test prompt_types::prompt_options_defaults ... ok
[INFO] [stdout] test spinner::done_spinner_no_advance ... ok
[INFO] [stdout] test spinner::frame_wraps_around ... ok
[INFO] [stdout] test spinner::full_cycle_returns_to_frame_0 ... ok
[INFO] [stdout] test spinner::initial_frame_is_0 ... ok
[INFO] [stdout] test spinner::render_done_no_label ... ok
[INFO] [stdout] test spinner::render_done_with_label ... ok
[INFO] [stdout] test spinner::render_frame_0 ... ok
[INFO] [stdout] test spinner::render_with_label ... ok
[INFO] [stdout] test status_line::basic_padding ... ok
[INFO] [stdout] test status_line::exact_width_no_padding ... ok
[INFO] [stdout] test status_line::left_truncated_when_too_long ... ok
[INFO] [stdout] test status_line::only_left ... ok
[INFO] [stdout] test status_line::zero_width_concatenates ... ok
[INFO] [stdout] test progress_bar::width_1_progress ... ok
[INFO] [stdout] test status_line::only_right ... ok
[INFO] [stdout] test widget_integration::full_editing_sequence ... ok
[INFO] [stdout] test prompt_types::completion_state_defaults ... ok
[INFO] [stdout] test prompt_types::line_editor_action_variants ... ok
[INFO] [stdout] test widget_integration::history_round_trip ... ok
[INFO] [stdout] test widget_integration::line_editor_render_password_mode ... ok
[INFO] [stdout] test widget_integration::status_line_in_alt_screen ... ok
[INFO] [stdout] test widget_integration::line_editor_render_placeholder ... ok
[INFO] [stdout] test widget_integration::line_editor_render_with_prompt ... ok
[INFO] [stdout] test widget_integration::spinner_and_progress_compose ... ok
[INFO] [stdout] test prompt_types::prompt_mode_variants ... ok
[INFO] [stdout] test spinner::all_10_frames_render_different ... ok
[INFO] [stdout] test spinner::next_increments_frame ... ok
[INFO] [stdout] test status_line::both_empty ... ok
[INFO] [stdout] test widget_integration::export_count_phase5 ... ok
[INFO] [stdout] test widget_integration::backspace_then_retype ... ok
[INFO] [stdout] test widget_integration::widget_pure_render_no_side_effects ... ok
[INFO] [stdout] test editing_operations::backspace_deletes_before_cursor ... ok
[INFO] [stdout] test history_navigation::up_twice_goes_to_second_last ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 85 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/write_arity_mismatch.rs (/opt/rustwide/target/debug/deps/write_arity_mismatch-c5591df7f97b3241)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test write_arity_mismatch_short_circuits_before_host_lookup ... ok
[INFO] [stdout] test write_arity_mismatch_when_zero_args ... ok
[INFO] [stdout] test write_arity_mismatch_when_two_args ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/write_non_tty.rs (/opt/rustwide/target/debug/deps/write_non_tty-e74709bce410bffe)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] [1;1Htest write_does_not_panic_on_non_tty ... ok
[INFO] [stderr]      Running tests/write_returns_byte_count.rs (/opt/rustwide/target/debug/deps/write_returns_byte_count-f13c6deaa67022ac)
[INFO] [stdout] tui-frame-not-a-ttytest write_succeeds_when_stdout_is_not_a_tty ... 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] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] [2J[Htest write_returns_byte_count_for_ansi_escape_payload ... ok
[INFO] [stdout] hellotest write_returns_byte_count_for_ascii_payload ... ok
[INFO] [stdout] あいうtest write_returns_utf8_byte_count_not_char_count ... ok
[INFO] [stdout] test write_returns_zero_for_empty_payload ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests taida_lang_terminal
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "971b61f7d1baee5de211501774bf51e5bb350500dfd59766b1b7a1dee155682e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "971b61f7d1baee5de211501774bf51e5bb350500dfd59766b1b7a1dee155682e", kill_on_drop: false }`
[INFO] [stdout] 971b61f7d1baee5de211501774bf51e5bb350500dfd59766b1b7a1dee155682e
