[INFO] fetching crate kiosk-tui 0.2.3... [INFO] testing kiosk-tui-0.2.3 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-1 [INFO] extracting crate kiosk-tui 0.2.3 into /workspace/builds/worker-4-tc1/source [INFO] started tweaking crates.io crate kiosk-tui 0.2.3 [INFO] finished tweaking crates.io crate kiosk-tui 0.2.3 [INFO] tweaked toml for crates.io crate kiosk-tui 0.2.3 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate kiosk-tui 0.2.3 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate kiosk-tui 0.2.3 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" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.110 [INFO] [stderr] Downloaded deranged v0.5.7 [INFO] [stderr] Downloaded toml v1.0.3+spec-1.1.0 [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.110 [INFO] [stderr] Downloaded kiosk-core v0.2.3 [INFO] [stderr] Downloaded wasm-bindgen v0.2.110 [INFO] [stderr] Downloaded js-sys v0.3.87 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.110 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d49c4599360ab414ab1a38f43db4d302fa96392ba1f7d4d3ee959d55c35a619b [INFO] running `Command { std: "docker" "start" "-a" "d49c4599360ab414ab1a38f43db4d302fa96392ba1f7d4d3ee959d55c35a619b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d49c4599360ab414ab1a38f43db4d302fa96392ba1f7d4d3ee959d55c35a619b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d49c4599360ab414ab1a38f43db4d302fa96392ba1f7d4d3ee959d55c35a619b", kill_on_drop: false }` [INFO] [stdout] d49c4599360ab414ab1a38f43db4d302fa96392ba1f7d4d3ee959d55c35a619b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 03de292241fa331b48dd066ec702d61c01cb3181ed68ae7b55c84f6df01b8389 [INFO] running `Command { std: "docker" "start" "-a" "03de292241fa331b48dd066ec702d61c01cb3181ed68ae7b55c84f6df01b8389", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling rustversion v1.0.22 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling instability v0.3.11 [INFO] [stderr] Compiling unicode-width v0.2.2 [INFO] [stderr] Compiling lru v0.16.3 [INFO] [stderr] Compiling convert_case v0.10.0 [INFO] [stderr] Compiling litrs v1.0.0 [INFO] [stderr] Compiling deranged v0.5.7 [INFO] [stderr] Compiling num_threads v0.1.7 [INFO] [stderr] Compiling castaway v0.2.4 [INFO] [stderr] Compiling document-features v0.2.12 [INFO] [stderr] Compiling compact_str v0.9.0 [INFO] [stderr] Compiling line-clipping v0.3.5 [INFO] [stderr] Compiling unicode-truncate v2.0.1 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling toml_datetime v1.0.0+spec-1.1.0 [INFO] [stderr] Compiling serde_spanned v1.0.4 [INFO] [stderr] Compiling toml_writer v1.0.6+spec-1.1.0 [INFO] [stderr] Compiling fuzzy-matcher v0.3.7 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling toml_parser v1.0.9+spec-1.1.0 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling toml v1.0.3+spec-1.1.0 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling kasuari v0.4.11 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling strum v0.27.2 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling ratatui-core v0.1.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling kiosk-core v0.2.3 [INFO] [stderr] Compiling ratatui-widgets v0.3.0 [INFO] [stderr] Compiling ratatui-crossterm v0.1.0 [INFO] [stderr] Compiling ratatui-macros v0.7.0 [INFO] [stderr] Compiling ratatui v0.30.0 [INFO] [stderr] Compiling kiosk-tui v0.2.3 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 46.08s [INFO] running `Command { std: "docker" "inspect" "03de292241fa331b48dd066ec702d61c01cb3181ed68ae7b55c84f6df01b8389", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "03de292241fa331b48dd066ec702d61c01cb3181ed68ae7b55c84f6df01b8389", kill_on_drop: false }` [INFO] [stdout] 03de292241fa331b48dd066ec702d61c01cb3181ed68ae7b55c84f6df01b8389 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c4810612aa6d889128c0815eae2ce12d5ac4d84c2024bec461541725b3307bfc [INFO] running `Command { std: "docker" "start" "-a" "c4810612aa6d889128c0815eae2ce12d5ac4d84c2024bec461541725b3307bfc", kill_on_drop: false }` [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling tempfile v3.26.0 [INFO] [stderr] Compiling ratatui-crossterm v0.1.0 [INFO] [stderr] Compiling kiosk-core v0.2.3 [INFO] [stderr] Compiling ratatui v0.30.0 [INFO] [stderr] Compiling kiosk-tui v0.2.3 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 19.07s [INFO] running `Command { std: "docker" "inspect" "c4810612aa6d889128c0815eae2ce12d5ac4d84c2024bec461541725b3307bfc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c4810612aa6d889128c0815eae2ce12d5ac4d84c2024bec461541725b3307bfc", kill_on_drop: false }` [INFO] [stdout] c4810612aa6d889128c0815eae2ce12d5ac4d84c2024bec461541725b3307bfc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] fb2d10e31493c71e3725d377a752f8a8a21ffd2a38e1eebdeaf8294b4f1994f4 [INFO] running `Command { std: "docker" "start" "-a" "fb2d10e31493c71e3725d377a752f8a8a21ffd2a38e1eebdeaf8294b4f1994f4", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.25s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/kiosk_tui-d2f31cc73bf6ca45) [INFO] [stdout] [INFO] [stdout] running 214 tests [INFO] [stdout] test app::actions::tests::alphabetical_tiebreak_when_same_score_and_length ... ok [INFO] [stdout] test app::actions::tests::no_matches_gives_empty_filtered_and_none_selected ... ok [INFO] [stdout] test app::actions::tests::higher_score_wins_over_length ... ok [INFO] [stdout] test app::actions::tests::empty_search_preserves_original_order ... ok [INFO] [stdout] test app::actions::tests::equal_scores_sorted_by_length_then_alphabetically ... ok [INFO] [stdout] test app::tests::setup_cancel_quits_when_no_selection ... ok [INFO] [stdout] test app::tests::setup_cancel_deselects_when_selected ... ok [INFO] [stdout] test app::tests::setup_continue_preserves_existing_state ... ok [INFO] [stdout] test app::tests::setup_continue_transitions_to_search_dirs ... ok [INFO] [stdout] test app::tests::setup_enter_does_not_add_duplicate_dirs ... ok [INFO] [stdout] test app::tests::setup_enter_empty_with_dirs_completes_setup ... ok [INFO] [stdout] test app::tests::setup_enter_empty_without_dirs_shows_error ... ok [INFO] [stdout] test app::tests::setup_enter_no_selection_adds_typed_text ... ok [INFO] [stdout] test app::tests::setup_move_down_from_none_selects_first ... ok [INFO] [stdout] test app::tests::setup_move_down_past_last_deselects ... ok [INFO] [stdout] test app::tests::setup_move_down_up_cycle_through_and_back ... ok [INFO] [stdout] test app::tests::setup_move_on_empty_completions_is_noop ... ok [INFO] [stdout] test app::tests::setup_backspace_updates_completions ... ok [INFO] [stdout] test app::tests::setup_move_up_from_first_deselects ... ok [INFO] [stdout] test app::tests::setup_move_up_from_none_selects_last ... ok [INFO] [stdout] test app::tests::setup_enter_with_selection_navigates_into_completion ... ok [INFO] [stdout] test app::tests::setup_tab_generates_completions_without_selection ... ok [INFO] [stdout] test app::tests::setup_tab_selects_first_when_none_highlighted ... ok [INFO] [stdout] test app::tests::setup_typing_clears_selection ... ok [INFO] [stdout] test app::tests::setup_tab_selects_highlighted_when_no_more_common_prefix ... ok [INFO] [stdout] test app::tests::setup_tab_single_completion_fills_in_with_slash ... ok [INFO] [stdout] test app::tests::setup_cancel_quits_when_no_completions ... ok [INFO] [stdout] test app::tests::setup_typing_updates_completions ... ok [INFO] [stdout] test app::tests::test_agent_states_updated_applies_during_help_overlay ... ok [INFO] [stdout] test app::tests::test_agent_states_updated_ignored_outside_branch_select ... ok [INFO] [stdout] test app::tests::test_agent_states_updated_ignores_non_matching_session ... ok [INFO] [stdout] test app::tests::test_agent_states_updated_sets_status_on_matching_branch ... ok [INFO] [stdout] test app::tests::setup_tab_fills_common_prefix ... ok [INFO] [stdout] test app::tests::test_confirm_delete_layout_exact_fit_no_wrap ... ok [INFO] [stdout] test app::tests::test_confirm_delete_layout_long_branch ... ok [INFO] [stdout] test app::tests::test_confirm_delete_layout_narrow_terminal ... ok [INFO] [stdout] test app::tests::test_agent_states_updated_preserves_search_and_selection ... ok [INFO] [stdout] test app::tests::test_backspace_multibyte ... ok [INFO] [stdout] test app::tests::test_confirm_delete_layout_session_same_width ... ok [INFO] [stdout] test app::tests::test_confirm_delete_layout_short_branch ... ok [INFO] [stdout] test app::tests::test_confirm_delete_layout_very_long_branch ... ok [INFO] [stdout] test app::tests::test_confirm_delete_render_border_positions ... ok [INFO] [stdout] test app::tests::test_confirm_delete_kills_tmux_session ... ok [INFO] [stdout] test app::tests::test_confirm_delete_render_narrow_terminal_hints_visible ... ok [INFO] [stdout] test app::tests::test_cursor_movement_in_search ... ok [INFO] [stdout] test app::tests::test_cursor_movement_multibyte ... ok [INFO] [stdout] test app::tests::test_confirm_delete_render_full_text_visible ... ok [INFO] [stdout] test app::tests::test_confirm_delete_render_wrapping ... ok [INFO] [stdout] test app::tests::test_delete_worktree_with_session_shows_session_warning ... ok [INFO] [stdout] test app::tests::test_confirm_delete_without_session_does_not_kill ... ok [INFO] [stdout] test app::tests::test_delete_worktree_no_worktree_shows_error ... ok [INFO] [stdout] test app::tests::test_delete_worktree_valid_shows_confirm ... ok [INFO] [stdout] test app::tests::test_fetching_remotes_flag_lifecycle ... ok [INFO] [stdout] test app::tests::test_git_fetch_completed_final_empty_clears_fetching ... ok [INFO] [stdout] test app::tests::test_enter_repo_populates_branches ... ok [INFO] [stdout] test app::tests::test_git_fetch_completed_ignored_wrong_mode ... ok [INFO] [stdout] test app::tests::test_git_fetch_completed_adds_new_remote_branches ... ok [INFO] [stdout] test app::tests::test_git_fetch_completed_ignored_wrong_repo ... ok [INFO] [stdout] test app::tests::test_git_fetch_completed_deduplicates ... ok [INFO] [stdout] test app::tests::test_git_fetch_completed_non_final_keeps_fetching ... ok [INFO] [stdout] test app::tests::test_git_fetch_completed_preserves_search ... ok [INFO] [stdout] test app::tests::test_git_fetch_completed_processed_during_help_over_branch_select ... ok [INFO] [stdout] test app::tests::test_go_back_from_branch_to_repo ... ok [INFO] [stdout] test app::tests::test_half_page_uses_viewport_rows_when_list_is_shorter ... ok [INFO] [stdout] test app::tests::test_go_back_from_new_branch_to_branch ... ok [INFO] [stdout] test app::tests::test_help_move_top_and_bottom ... ok [INFO] [stdout] test app::tests::test_help_page_down_moves_selection ... ok [INFO] [stdout] test app::tests::test_help_page_up_moves_selection ... ok [INFO] [stdout] test app::tests::test_help_search_and_movement_use_help_list_state ... ok [INFO] [stdout] test app::tests::test_help_cursor_movement_in_search_bar ... ok [INFO] [stdout] test app::tests::test_help_half_page_down_moves_selection ... ok [INFO] [stdout] test app::tests::test_help_down_keeps_selection_one_above_bottom_before_end ... ok [INFO] [stdout] test app::tests::test_help_search_no_matches_empties_filtered ... ok [INFO] [stdout] test app::tests::test_help_toggle_from_branch_select_restores_mode ... ok [INFO] [stdout] test app::tests::test_help_toggle_from_confirm_worktree_delete_restores_mode ... ok [INFO] [stdout] test app::tests::test_help_search_multibyte_characters ... ok [INFO] [stdout] test app::tests::setup_move_down_increments_selection ... ok [INFO] [stdout] test app::tests::test_loading_dialog_long_message_wraps ... ok [INFO] [stdout] test app::tests::test_delete_worktree_current_branch_shows_error ... ok [INFO] [stdout] test app::tests::test_help_toggle_from_select_base_branch_restores_mode ... ok [INFO] [stdout] test app::tests::test_loading_dialog_narrow_terminal ... ok [INFO] [stdout] test app::tests::test_loading_dialog_uses_dialog_width ... ok [INFO] [stdout] test app::tests::test_loading_dialog_short_message_single_line ... ok [INFO] [stdout] test app::tests::test_move_selection ... ok [INFO] [stdout] test app::tests::test_move_selection_updates_scroll_anchor ... ok [INFO] [stdout] test app::tests::test_new_branch_empty_name_shows_error ... ok [INFO] [stdout] test app::tests::test_new_branch_with_name_enters_flow ... ok [INFO] [stdout] test app::tests::test_open_branch_creates_worktree ... ok [INFO] [stdout] test app::tests::test_page_movement_uses_active_list_page_rows ... ok [INFO] [stdout] test app::tests::test_help_up_from_bottom_keeps_scroll_offset ... ok [INFO] [stdout] test app::tests::test_open_repo_returns_repo_path ... ok [INFO] [stdout] test app::tests::test_open_branch_with_existing_worktree ... ok [INFO] [stdout] test app::tests::test_remote_branches_appended ... ok [INFO] [stdout] test app::tests::test_remote_branches_filtered_with_search ... ok [INFO] [stdout] test app::tests::test_repo_enriched_unknown_repo_is_noop ... ok [INFO] [stdout] test app::tests::test_remote_branches_loaded_processed_during_help_over_branch_select ... ok [INFO] [stdout] test app::tests::test_repo_enriched_updates_worktrees_without_resorting ... ok [INFO] [stdout] test app::tests::test_page_movement_clamps_to_bounds ... ok [INFO] [stdout] test app::tests::test_repos_discovered_does_not_kick_from_branch_select ... ok [INFO] [stdout] test app::tests::test_repos_discovered_preserves_search_state ... ok [INFO] [stdout] test app::tests::test_repos_found_deduplicates_cwd_repo ... ok [INFO] [stdout] test app::tests::test_repos_found_deduplicates_preloaded_repo_after_scan_init ... ok [INFO] [stdout] test app::tests::test_repos_found_multiple_batches_build_list ... ok [INFO] [stdout] test app::tests::test_repos_found_preserves_search_state ... ok [INFO] [stdout] test app::tests::test_help_search_resets_scroll_offset_after_scrolling ... ok [INFO] [stdout] test app::tests::test_repos_found_does_not_kick_from_branch_select ... ok [INFO] [stdout] test app::tests::test_repos_found_switches_from_loading_to_repo_select ... ok [INFO] [stdout] test app::tests::test_search_push_filters ... ok [INFO] [stdout] test app::tests::test_scan_complete_no_collisions_preserves_names ... ok [INFO] [stdout] test app::tests::test_session_activity_loaded_empty_state_no_panic ... ok [INFO] [stdout] test app::tests::test_session_activity_loaded_resorts_and_preserves_selection ... ok [INFO] [stdout] test app::tests::test_show_help_initializes_overlay_and_toggles_back ... ok [INFO] [stdout] test app::tests::test_update_help_scroll_offset_empty_filtered_list ... ok [INFO] [stdout] test app::tests::test_update_help_scroll_offset_selection_at_middle ... ok [INFO] [stdout] test app::tests::test_scan_complete_collision_resolution ... ok [INFO] [stdout] test app::tests::test_update_help_scroll_offset_tiny_viewport ... ok [INFO] [stdout] test app::tests::test_worktree_remove_failed_event_clears_pending_and_sets_error ... ok [INFO] [stdout] test app::tests::test_update_help_scroll_offset_viewport_larger_than_content ... ok [INFO] [stdout] test app::tests::test_update_help_scroll_offset_sequential_moves_down_then_up ... ok [INFO] [stdout] test components::branch_picker::tests::right_align_branch_truncated ... ok [INFO] [stdout] test app::tests::test_worktree_removed_event_clears_pending_delete ... ok [INFO] [stdout] test components::branch_picker::tests::right_align_custom_no_brackets ... ok [INFO] [stdout] test components::branch_picker::tests::right_align_custom_short_label ... ok [INFO] [stdout] test app::tests::test_update_help_scroll_offset_selection_at_bottom ... ok [INFO] [stdout] test app::tests::test_update_help_scroll_offset_selection_at_top ... ok [INFO] [stdout] test components::branch_picker::tests::right_align_label_dropped_when_too_narrow ... ok [INFO] [stdout] test app::tests::test_update_help_scroll_offset_viewport_2_rows ... ok [INFO] [stdout] test components::branch_picker::tests::right_align_label_boundary_drop ... ok [INFO] [stdout] test components::branch_picker::tests::right_align_label_boundary_keep ... ok [INFO] [stdout] test components::branch_picker::tests::right_align_very_narrow ... ok [INFO] [stdout] test components::branch_picker::tests::truncate_spans_exact_fit ... ok [INFO] [stdout] test components::branch_picker::tests::right_align_exact_fit ... ok [INFO] [stdout] test components::branch_picker::tests::right_align_multi_span_truncated ... ok [INFO] [stdout] test components::branch_picker::tests::truncate_spans_multi_span ... ok [INFO] [stdout] test components::branch_picker::tests::right_align_wide_terminal ... ok [INFO] [stdout] test components::branch_picker::tests::right_align_label_just_fits ... ok [INFO] [stdout] test components::branch_picker::tests::truncate_spans_with_ellipsis ... ok [INFO] [stdout] test components::branch_picker::tests::truncate_spans_zero_width ... ok [INFO] [stdout] test components::dialog::tests::test_dialog_builder_methods ... ok [INFO] [stdout] test components::dialog::tests::test_dialog_builder_defaults ... ok [INFO] [stdout] test components::branch_picker::tests::truncate_spans_width_one ... ok [INFO] [stdout] test components::dialog::tests::test_dialog_size_multiple_lines ... ok [INFO] [stdout] test components::branch_picker::tests::truncate_spans_no_truncation_needed ... ok [INFO] [stdout] test components::dialog::tests::test_dialog_chrome_computed_from_padding ... ok [INFO] [stdout] test components::dialog::tests::test_dialog_size_no_padding ... ok [INFO] [stdout] test components::dialog::tests::test_dialog_size_with_horizontal_padding ... ok [INFO] [stdout] test components::dialog::tests::test_dialog_size_with_uniform_padding ... ok [INFO] [stdout] test components::dialog::tests::test_dialog_size_wrapping ... ok [INFO] [stdout] test components::dialog::tests::test_error_toast_size_short_message ... ok [INFO] [stdout] test components::dialog::tests::test_error_toast_size_long_message ... ok [INFO] [stdout] test components::dialog::tests::test_loading_dialog_width_scales_with_terminal ... ok [INFO] [stdout] test components::dialog::tests::test_error_toast_size_narrow_terminal ... ok [INFO] [stdout] test components::dialog::tests::test_loading_dialog_size_short_message ... ok [INFO] [stdout] test components::dialog::tests::test_loading_dialog_size_long_message ... ok [INFO] [stdout] test components::dialog::tests::test_word_wrap_breaks_at_word_boundary ... ok [INFO] [stdout] test components::dialog::tests::test_loading_dialog_size_narrow_terminal ... ok [INFO] [stdout] test components::dialog::tests::test_word_wrap_empty_line ... ok [INFO] [stdout] test components::dialog::tests::test_word_wrap_oversized_word ... ok [INFO] [stdout] test components::dialog::tests::test_word_wrap_exact_fit ... ok [INFO] [stdout] test components::dialog::tests::test_word_wrap_multi_span_line ... ok [INFO] [stdout] test components::dialog::tests::test_word_wrap_multiple_wraps ... ok [INFO] [stdout] test components::dialog::tests::test_word_wrap_oversized_word_exact_multiple ... ok [INFO] [stdout] test components::dialog::tests::test_word_wrap_single_line_no_wrap ... ok [INFO] [stdout] test components::dialog::tests::test_word_wrap_oversized_after_short_word ... ok [INFO] [stdout] test components::dialog::tests::test_word_wrap_zero_width ... ok [INFO] [stdout] test components::help::tests::test_build_visible_items_empty_filter_shows_no_matching_message ... ok [INFO] [stdout] test components::help::tests::test_build_visible_items_inserts_blank_line_between_sections ... ok [INFO] [stdout] test components::help::tests::test_build_visible_items_no_duplicate_section_headers_when_interleaved ... ok [INFO] [stdout] test components::help::tests::test_build_visible_items_single_section_no_blank_separator ... ok [INFO] [stdout] test components::help::tests::test_help_mapping_keeps_selection_off_visual_bottom_edge_before_true_end ... ok [INFO] [stdout] test components::help::tests::test_help_scroll_near_bottom_up_then_down_does_not_jump_viewport ... ok [INFO] [stdout] test components::help::tests::test_help_visual_metrics_counts_section_headers_and_spacers ... ok [INFO] [stdout] test components::help::tests::test_help_visual_metrics_empty_filter ... ok [INFO] [stdout] test components::help::tests::test_help_visual_metrics_single_section ... ok [INFO] [stdout] test components::path_input::tests::test_common_prefix_divergent ... ok [INFO] [stdout] test components::path_input::tests::test_common_prefix_empty ... ok [INFO] [stdout] test components::path_input::tests::test_common_prefix_multibyte ... ok [INFO] [stdout] test components::path_input::tests::test_common_prefix_shared ... ok [INFO] [stdout] test components::path_input::tests::test_common_prefix_single ... ok [INFO] [stdout] test components::path_input::tests::test_complete_case_insensitive ... ok [INFO] [stdout] test components::path_input::tests::test_complete_empty_input ... ok [INFO] [stdout] test components::error_toast::tests::test_error_toast_renders_in_narrow_terminal ... ok [INFO] [stdout] test components::path_input::tests::test_complete_follows_symlinks ... ok [INFO] [stdout] test components::help::tests::test_build_visible_items_uses_row_offset_mapping_for_scroll ... ok [INFO] [stdout] test components::error_toast::tests::test_error_toast_renders_long_message ... ok [INFO] [stdout] test components::path_input::tests::test_complete_ignores_broken_symlinks ... ok [INFO] [stdout] test components::path_input::tests::test_complete_nonexistent_parent ... ok [INFO] [stdout] test components::error_toast::tests::test_no_error_renders_nothing ... ok [INFO] [stdout] test components::error_toast::tests::test_error_toast_renders_short_message ... ok [INFO] [stdout] test components::path_input::tests::test_complete_sorted ... ok [INFO] [stdout] test components::path_input::tests::test_complete_hides_dotfiles_unless_prefix ... ok [INFO] [stdout] test components::path_input::tests::test_complete_only_dirs_not_files ... ok [INFO] [stdout] test components::path_input::tests::test_join_path_no_trailing_slash ... ok [INFO] [stdout] test components::path_input::tests::test_join_path_trailing_slash ... ok [INFO] [stdout] test components::path_input::tests::test_split_input_absolute ... ok [INFO] [stdout] test components::path_input::tests::test_split_input_tilde ... ok [INFO] [stdout] test components::path_input::tests::test_split_input_bare ... ok [INFO] [stdout] test components::search_bar::tests::test_visible_slice_combining_mark ... ok [INFO] [stdout] test components::path_input::tests::test_split_input_empty ... ok [INFO] [stdout] test components::search_bar::tests::test_visible_slice_handles_emoji_width ... ok [INFO] [stdout] test components::search_bar::tests::test_visible_slice_no_scroll ... ok [INFO] [stdout] test components::path_input::tests::test_complete_tmp ... ok [INFO] [stdout] test components::search_bar::tests::test_visible_slice_scrolls_to_cursor ... ok [INFO] [stdout] test components::path_input::tests::test_split_input_tilde_slash ... ok [INFO] [stdout] test components::tests::test_dialog_width_normal_terminal ... ok [INFO] [stdout] test components::tests::test_dialog_width_wide_terminal_no_overflow ... ok [INFO] [stdout] test theme::tests::test_theme_dark_gray_color ... ok [INFO] [stdout] test components::tests::test_dialog_width_capped_at_80 ... ok [INFO] [stdout] test components::tests::test_dialog_width_zero ... ok [INFO] [stdout] test theme::tests::test_theme_defaults ... ok [INFO] [stdout] test theme::tests::test_theme_custom ... ok [INFO] [stdout] test components::path_input::tests::test_complete_with_temp_dirs ... ok [INFO] [stdout] test app::tests::setup_full_flow_type_navigate_enter_finish ... ok [INFO] [stderr] Doc-tests kiosk_tui [INFO] [stdout] test app::spawn::tests::poller_detects_wrapper_command_via_pane_title_for_claude_waiting ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 214 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "fb2d10e31493c71e3725d377a752f8a8a21ffd2a38e1eebdeaf8294b4f1994f4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fb2d10e31493c71e3725d377a752f8a8a21ffd2a38e1eebdeaf8294b4f1994f4", kill_on_drop: false }` [INFO] [stdout] fb2d10e31493c71e3725d377a752f8a8a21ffd2a38e1eebdeaf8294b4f1994f4