[INFO] cloning repository https://github.com/manuel-koch/gitover-rust-tui
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/manuel-koch/gitover-rust-tui" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmanuel-koch%2Fgitover-rust-tui", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmanuel-koch%2Fgitover-rust-tui'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 149d37c8e1f63406b83f226c81c94bee1cd24371
[INFO] testing manuel-koch/gitover-rust-tui against 1.98.0-beta.8+cargoflags=--release for beta-release-1.99-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmanuel-koch%2Fgitover-rust-tui" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/manuel-koch/gitover-rust-tui
[INFO] finished tweaking git repo https://github.com/manuel-koch/gitover-rust-tui
[INFO] tweaked toml for git repo https://github.com/manuel-koch/gitover-rust-tui written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/manuel-koch/gitover-rust-tui on toolchain 1.98.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/manuel-koch/gitover-rust-tui 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.98.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tui-textarea-2 v0.11.0
[INFO] [stderr]   Downloaded ratatui-explorer v0.3.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 3a7764638a8786c6af98138d9bfbdb8dea72734776f1938a9e7fdc42fcc9f455
[INFO] running `Command { std: "docker" "start" "3a7764638a8786c6af98138d9bfbdb8dea72734776f1938a9e7fdc42fcc9f455", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3a7764638a8786c6af98138d9bfbdb8dea72734776f1938a9e7fdc42fcc9f455", 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" "3a7764638a8786c6af98138d9bfbdb8dea72734776f1938a9e7fdc42fcc9f455" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3a7764638a8786c6af98138d9bfbdb8dea72734776f1938a9e7fdc42fcc9f455", 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" "3a7764638a8786c6af98138d9bfbdb8dea72734776f1938a9e7fdc42fcc9f455" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling lru v0.16.4
[INFO] [stderr]    Compiling compact_str v0.9.0
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling line-clipping v0.3.7
[INFO] [stderr]    Compiling rustls-pki-types v1.15.0
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling pxfm v0.1.29
[INFO] [stderr]    Compiling rustls v0.23.41
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling http v1.4.2
[INFO] [stderr]    Compiling byteorder-lite v0.1.0
[INFO] [stderr]    Compiling png v0.18.1
[INFO] [stderr]    Compiling bytemuck v1.25.0
[INFO] [stderr]    Compiling x11rb-protocol v0.13.2
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling inotify v0.9.6
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling ureq-proto v0.6.0
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling filetime v0.2.29
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling webpki-roots v1.0.8
[INFO] [stderr]    Compiling gitover v0.8.20 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling openssl-probe v0.1.6
[INFO] [stderr]    Compiling utf8-zero v0.8.1
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling notify v6.1.1
[INFO] [stderr]    Compiling openssl-src v300.6.1+3.6.3
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling openssl-sys v0.9.116
[INFO] [stderr]    Compiling libz-sys v1.1.28
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling libssh2-sys v0.3.1
[INFO] [stderr]    Compiling libgit2-sys v0.18.4+1.9.3
[INFO] [stderr]    Compiling moxcms v0.8.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling darling_macro v0.23.0
[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 darling v0.23.0
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling kasuari v0.4.12
[INFO] [stderr]    Compiling enum-ordinalize-derive v4.3.2
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling enum-ordinalize v4.3.2
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling gethostname v1.1.0
[INFO] [stderr]    Compiling x11rb v0.13.2
[INFO] [stderr]    Compiling educe v0.6.0
[INFO] [stderr]    Compiling image v0.25.10
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling ratatui-core v0.1.0
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling ratatui-widgets v0.3.0
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling arboard v3.6.1
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling ratatui-macros v0.7.0
[INFO] [stderr]    Compiling ratatui v0.30.0
[INFO] [stderr]    Compiling tui-textarea-2 v0.11.0
[INFO] [stderr]    Compiling ratatui-explorer v0.3.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling ureq v3.3.0
[INFO] [stderr]    Compiling git2 v0.20.4
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 08s
[INFO] running `Command { std: "docker" "inspect" "3a7764638a8786c6af98138d9bfbdb8dea72734776f1938a9e7fdc42fcc9f455", 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" "3a7764638a8786c6af98138d9bfbdb8dea72734776f1938a9e7fdc42fcc9f455" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling gethostname v1.1.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling x11rb v0.13.2
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.0
[INFO] [stderr]    Compiling tui-textarea-2 v0.11.0
[INFO] [stderr]    Compiling arboard v3.6.1
[INFO] [stderr]    Compiling ratatui v0.30.0
[INFO] [stderr]    Compiling ratatui-explorer v0.3.0
[INFO] [stderr]    Compiling gitover v0.8.20 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 10.83s
[INFO] running `Command { std: "docker" "inspect" "3a7764638a8786c6af98138d9bfbdb8dea72734776f1938a9e7fdc42fcc9f455", 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" "3a7764638a8786c6af98138d9bfbdb8dea72734776f1938a9e7fdc42fcc9f455" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.18s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/gitover-7c2dc271f100d3f6)
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test state::tests::default_section_returns_immutable_ref_to_first_section ... ok
[INFO] [stdout] test git::tests::truncate_text_short_text_unchanged ... ok
[INFO] [stdout] test state::tests::only_named_sections_false_when_no_named_sections ... ok
[INFO] [stdout] test state::tests::default_section_mut_allows_modifying_first_section ... ok
[INFO] [stdout] test state::tests::only_named_sections_true_when_default_empty_and_named_exists ... ok
[INFO] [stdout] test state::tests::remove_section_idx_zero_is_noop ... ok
[INFO] [stdout] test state::tests::remove_section_out_of_bounds_is_noop ... ok
[INFO] [stdout] test state::tests::rename_section_duplicate_name_returns_none ... ok
[INFO] [stdout] test state::tests::repo_section_default_has_no_name ... ok
[INFO] [stdout] test state::tests::rename_section_invalid_idx_returns_none ... ok
[INFO] [stdout] test state::tests::repo_section_named_is_not_default ... ok
[INFO] [stdout] test state::tests::section_idx_for_flat_repo_idx_finds_correct_section ... ok
[INFO] [stdout] test state::tests::section_idx_for_path_finds_repo_in_named_section ... ok
[INFO] [stdout] test state::tests::sort_section_repos_case_sensitive_uses_ascii_order ... ok
[INFO] [stdout] test state::tests::state_load_from_yaml_inserts_default_section_when_named_is_first ... ok
[INFO] [stdout] test state::tests::state_load_from_yaml_with_empty_content_uses_default_sections ... ok
[INFO] [stdout] test git::tests::truncate_text_at_limit_unchanged ... ok
[INFO] [stdout] test state::tests::state_save_creates_nested_parent_dirs ... ok
[INFO] [stdout] test git::tests::truncate_text_over_limit_appends_marker ... ok
[INFO] [stdout] test state::tests::find_state_path_returns_a_path ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/deps/gitover-a2874ffd9d925943)
[INFO] [stdout] 
[INFO] [stdout] running 306 tests
[INFO] [stdout] test app::tests::app_new_does_not_panic ... ok
[INFO] [stdout] test app::tests::branch_select_next_wraps_to_first ... ok
[INFO] [stdout] test app::tests::branch_select_previous_decrements ... ok
[INFO] [stdout] test app::tests::branch_select_next_advances_selection ... ok
[INFO] [stdout] test app::tests::branch_select_previous_goes_to_last_when_at_start ... ok
[INFO] [stdout] test app::tests::cancel_remove_restores_normal_mode ... ok
[INFO] [stdout] test app::tests::clear_log_empties_log_and_resets_scroll ... ok
[INFO] [stdout] test app::tests::check_popup_timeout_keeps_fresh_popup ... ok
[INFO] [stdout] test app::tests::close_branch_select_restores_mode ... ok
[INFO] [stdout] test app::tests::collapse_current_section_noop_on_default_section ... ok
[INFO] [stdout] test app::tests::commit_message_text_returns_textarea_content ... ok
[INFO] [stdout] test app::tests::confirm_force_push_branch_sets_mode_and_name ... ok
[INFO] [stdout] test app::tests::confirm_force_push_sets_mode ... ok
[INFO] [stdout] test app::tests::collapse_current_section_collapses_named_section ... ok
[INFO] [stdout] test app::tests::collapse_current_section_selects_section_title_when_repo_row_was_selected ... ok
[INFO] [stdout] test app::tests::confirm_section_name_input_empty_restores_mode ... ok
[INFO] [stdout] test app::tests::confirm_remove_section_removes_named_section ... ok
[INFO] [stdout] test app::tests::cycle_focus_single_pane_stays_on_repos ... ok
[INFO] [stdout] test app::tests::confirm_section_name_input_create_adds_section ... ok
[INFO] [stdout] test app::tests::cycle_focus_reverse_goes_backward ... ok
[INFO] [stdout] test app::tests::cycle_focus_advances_to_next_pane ... ok
[INFO] [stdout] test app::tests::cycle_focus_wraps_from_last_to_first ... ok
[INFO] [stdout] test app::tests::details_line_count_commit_mode_counts_fixed_plus_body ... ok
[INFO] [stdout] test app::tests::details_line_count_diff_mode_counts_content_lines ... ok
[INFO] [stdout] test app::tests::cancel_pick_clears_file_explorer_and_restores_mode ... ok
[INFO] [stdout] test app::tests::details_line_count_empty_mode_returns_zero ... ok
[INFO] [stdout] test app::tests::focus_order_with_file_status_and_log ... ok
[INFO] [stdout] test app::tests::focus_order_with_no_panes_is_repos_only ... ok
[INFO] [stdout] test app::tests::execute_move_repo_moves_to_target_section ... ok
[INFO] [stdout] test app::tests::expand_current_section_uncollapses_named_section ... ok
[INFO] [stdout] test app::tests::history_action_menu_includes_amend_and_undo_for_head ... ok
[INFO] [stdout] test app::tests::history_row_at_returns_none_for_empty_history ... ok
[INFO] [stdout] test app::tests::force_full_repaint_starts_false ... ok
[INFO] [stdout] test app::tests::history_row_count_multiple_commits ... ok
[INFO] [stdout] test app::tests::history_row_count_empty_history ... ok
[INFO] [stdout] test app::tests::history_row_count_one_commit_no_files ... ok
[INFO] [stdout] test app::tests::history_row_at_file_sub_rows ... ok
[INFO] [stdout] test app::tests::history_row_at_no_tag_row_when_commit_has_no_tags ... ok
[INFO] [stdout] test app::tests::history_row_count_includes_tag_rows ... ok
[INFO] [stdout] test app::tests::history_row_count_one_commit_with_files ... ok
[INFO] [stdout] test app::tests::menu_item_alt_shift_keeps_alt_shift_prefix ... ok
[INFO] [stdout] test app::tests::log_level_label_all_variants ... ok
[INFO] [stdout] test app::tests::menu_item_lowercase_key_uses_plain_notation ... ok
[INFO] [stdout] test app::tests::log_line_formatted_contains_level_and_text ... ok
[INFO] [stdout] test app::tests::log_debug_appends_debug_entry ... ok
[INFO] [stdout] test app::tests::log_error_appends_error_entry ... ok
[INFO] [stdout] test app::tests::log_warn_appends_warn_entry ... ok
[INFO] [stdout] test app::tests::menu_item_uppercase_key_uses_shift_notation ... ok
[INFO] [stdout] test app::tests::log_appends_info_entry ... ok
[INFO] [stdout] test app::tests::menu_next_advances_to_next_item ... ok
[INFO] [stdout] test app::tests::close_menu_restores_normal_mode ... ok
[INFO] [stdout] test app::tests::menu_next_page_jumps_by_page_step ... ok
[INFO] [stdout] test app::tests::close_new_branch_input_restores_mode ... ok
[INFO] [stdout] test app::tests::log_caps_at_max_log_lines ... ok
[INFO] [stdout] test app::tests::menu_previous_skips_separator ... ok
[INFO] [stdout] test app::tests::menu_previous_stays_at_first_item ... ok
[INFO] [stdout] test app::tests::next_commit_skips_tag_row_and_lands_on_next_header ... ok
[INFO] [stdout] test app::tests::next_details_increments_scroll ... ok
[INFO] [stdout] test app::tests::next_file_status_clamps_at_last ... ok
[INFO] [stdout] test app::tests::next_file_status_increments_selected ... ok
[INFO] [stdout] test app::tests::next_history_clamps_at_last ... ok
[INFO] [stdout] test app::tests::next_history_increments_selected ... ok
[INFO] [stdout] test app::tests::next_log_at_offset_one_enables_follow ... ok
[INFO] [stdout] test app::tests::next_log_decrements_offset_toward_tail ... ok
[INFO] [stdout] test app::tests::next_page_details_jumps_scroll ... ok
[INFO] [stdout] test app::tests::next_page_file_status_jumps_by_page_step ... ok
[INFO] [stdout] test app::tests::next_page_history_jumps_by_page_step ... ok
[INFO] [stdout] test app::tests::next_page_repos_clamps_at_last ... ok
[INFO] [stdout] test app::tests::next_repos_clamps_at_last ... ok
[INFO] [stdout] test app::tests::next_page_repos_jumps_by_page_step ... ok
[INFO] [stdout] test app::tests::next_repos_increments_selected ... ok
[INFO] [stdout] test app::tests::next_repos_resets_file_status_selection ... ok
[INFO] [stdout] test app::tests::history_row_at_commit_headers ... ok
[INFO] [stdout] test app::tests::next_theme_cycles_back_to_start ... ok
[INFO] [stdout] test app::tests::open_commit_input_sets_mode ... ok
[INFO] [stdout] test app::tests::open_confirm_remove_section_noop_for_default_section ... ok
[INFO] [stdout] test app::tests::open_confirm_remove_section_sets_mode ... ok
[INFO] [stdout] test app::tests::open_create_section_input_sets_mode ... ok
[INFO] [stdout] test app::tests::open_file_action_menu_conflict_shows_revert ... ok
[INFO] [stdout] test app::tests::history_row_at_tag_row_present_after_commit_header ... ok
[INFO] [stdout] test app::tests::open_file_action_menu_no_file_is_noop ... ok
[INFO] [stdout] test app::tests::open_file_action_menu_patch_file_adds_apply_item ... ok
[INFO] [stdout] test app::tests::open_file_action_menu_staged_shows_commit_items ... ok
[INFO] [stdout] test app::tests::open_file_action_menu_untracked_shows_stage_and_discard ... ok
[INFO] [stdout] test app::tests::open_history_action_menu_non_full_filter_is_noop ... ok
[INFO] [stdout] test app::tests::open_history_action_menu_non_head_commit_is_noop ... ok
[INFO] [stdout] test app::tests::open_history_action_menu_on_head_commit_opens_menu ... ok
[INFO] [stdout] test app::tests::open_log_action_menu_opens_log_menu ... ok
[INFO] [stdout] test app::tests::open_rename_section_input_is_noop_for_default_section ... ok
[INFO] [stdout] test app::tests::open_log_without_focus_keeps_history_focus ... ok
[INFO] [stdout] test app::tests::open_rename_section_input_sets_mode_for_named_section ... ok
[INFO] [stdout] test app::tests::open_log_without_focus_keeps_repos_focus ... ok
[INFO] [stdout] test app::tests::open_repo_action_menu_out_of_bounds_is_noop ... ok
[INFO] [stdout] test app::tests::open_repo_action_menu_repo_row_opens_repo_menu ... ok
[INFO] [stdout] test app::tests::menu_next_skips_separator ... ok
[INFO] [stdout] test app::tests::menu_next_stays_at_last_item ... ok
[INFO] [stdout] test app::tests::open_repo_action_menu_section_title_opens_section_menu ... ok
[INFO] [stdout] test app::tests::menu_previous_goes_to_prior_item ... ok
[INFO] [stdout] test app::tests::previous_commit_at_first_header_stays ... ok
[INFO] [stdout] test app::tests::next_commit_at_last_commit_stays ... ok
[INFO] [stdout] test app::tests::previous_commit_from_file_row_goes_to_its_commit_header ... ok
[INFO] [stdout] test app::tests::previous_commit_from_header_goes_to_previous_header ... ok
[INFO] [stdout] test app::tests::next_commit_moves_to_next_header ... ok
[INFO] [stdout] test app::tests::focus_order_branches_hides_file_status_entry ... ok
[INFO] [stdout] test app::tests::previous_commit_from_tag_row_goes_to_its_commit_header ... ok
[INFO] [stdout] test app::tests::previous_details_decrements_scroll ... ok
[INFO] [stdout] test app::tests::previous_file_status_decrements_selected ... ok
[INFO] [stdout] test app::tests::previous_log_increments_offset_and_disables_follow ... ok
[INFO] [stdout] test app::tests::previous_page_details_clamps_at_zero ... ok
[INFO] [stdout] test app::tests::previous_page_file_status_clamps_at_zero ... ok
[INFO] [stdout] test app::tests::previous_page_history_clamps_at_zero ... ok
[INFO] [stdout] test app::tests::previous_page_log_increments_offset_away_from_tail ... ok
[INFO] [stdout] test app::tests::previous_page_repos_clamps_at_zero ... ok
[INFO] [stdout] test app::tests::next_page_log_decrements_offset_toward_tail ... ok
[INFO] [stdout] test app::tests::previous_repos_clamps_at_zero ... ok
[INFO] [stdout] test app::tests::previous_repos_decrements_selected ... ok
[INFO] [stdout] test app::tests::open_file_action_menu_deleted_shows_stage_deletion ... ok
[INFO] [stdout] test app::tests::previous_page_repos_jumps_back ... ok
[INFO] [stdout] test app::tests::open_file_action_menu_modified_shows_stage_items ... ok
[INFO] [stdout] test app::tests::reload_history_if_open_clears_history_when_section_title_is_selected ... ok
[INFO] [stdout] test app::tests::reorder_repos_drops_stale_entries ... ok
[INFO] [stdout] test app::tests::repo_operation_label_all_variants ... ok
[INFO] [stdout] test app::tests::request_full_repaint_sets_flag ... ok
[INFO] [stdout] test app::tests::repo_action_menu_includes_amend_commit_for_error_free_repo ... ok
[INFO] [stdout] test app::tests::picker_selected_path_returns_none_when_no_explorer ... ok
[INFO] [stdout] test app::tests::repos_pane_title_default_section ... ok
[INFO] [stdout] test app::tests::repos_pane_title_named_section ... ok
[INFO] [stdout] test app::tests::repos_pane_title_repo_in_named_section ... ok
[INFO] [stdout] test app::tests::repos_pane_title_repo_in_default_section ... ok
[INFO] [stdout] test app::tests::request_remove_selected_on_section_title_is_noop ... ok
[INFO] [stdout] test app::tests::reselect_file_after_refresh_no_op_for_different_repo ... ok
[INFO] [stdout] test app::tests::reselect_file_after_refresh_clamps_when_file_gone ... ok
[INFO] [stdout] test app::tests::restore_base_mode_history_closed_gives_normal_mode ... ok
[INFO] [stdout] test app::tests::restore_base_mode_history_open_gives_history_mode ... ok
[INFO] [stdout] test app::tests::reselect_file_after_refresh_finds_file_at_new_index ... ok
[INFO] [stdout] test app::tests::previous_history_decrements_selected ... ok
[INFO] [stdout] test app::tests::sanitised_branch_name_keeps_allowed_chars ... ok
[INFO] [stdout] test app::tests::sanitised_branch_name_replaces_spaces_with_hyphens ... ok
[INFO] [stdout] test app::tests::sanitised_branch_name_strips_invalid_chars ... ok
[INFO] [stdout] test app::tests::refresh_details_clears_stale_diff_after_revert ... ok
[INFO] [stdout] test app::tests::section_select_previous_stays_at_zero ... ok
[INFO] [stdout] test app::tests::repo_action_menu_includes_remove_repo_entry ... ok
[INFO] [stdout] test app::tests::selected_files_returns_files_for_selected_repo ... ok
[INFO] [stdout] test app::tests::selected_repo_idx_returns_idx_for_repo_row ... ok
[INFO] [stdout] test app::tests::request_remove_selected_on_repo_enters_confirm_mode ... ok
[INFO] [stdout] test app::tests::selected_repo_idx_returns_none_for_section_title ... ok
[INFO] [stdout] test app::tests::selected_section_title_idx_returns_none_on_default_repo_row ... ok
[INFO] [stdout] test app::tests::selected_section_title_idx_returns_none_on_named_section_repo_row ... ok
[INFO] [stdout] test app::tests::selected_section_title_idx_returns_some_on_named_section_title ... ok
[INFO] [stdout] test app::tests::set_header_flash_stores_message ... ok
[INFO] [stdout] test app::tests::spinner_frame_wraps_at_ten ... ok
[INFO] [stdout] test app::tests::spinner_frame_ten_distinct_frames ... ok
[INFO] [stdout] test app::tests::tag_string_not_truncated_when_fits ... ok
[INFO] [stdout] test app::tests::tag_string_truncated_with_ellipsis_when_too_long ... ok
[INFO] [stdout] test app::tests::staged_file_count_no_repo_returns_zero ... ok
[INFO] [stdout] test app::tests::staged_file_count_returns_count_from_selected_repo ... ok
[INFO] [stdout] test app::tests::reselect_file_after_refresh_no_op_when_path_not_set ... ok
[INFO] [stdout] test app::tests::theme_returns_valid_reference ... ok
[INFO] [stdout] test app::tests::tick_header_flash_keeps_recent_flash ... ok
[INFO] [stdout] test app::tests::toggle_details_off_clears_content_and_resets_focus ... ok
[INFO] [stdout] test app::tests::toggle_file_status_off_resets_focus_if_was_file_status ... ok
[INFO] [stdout] test app::tests::toggle_details_on_sets_flag ... ok
[INFO] [stdout] test app::tests::selected_file_entry_returns_file_at_index ... ok
[INFO] [stdout] test app::tests::toggle_file_status_on_sets_focus_and_resets_scroll ... ok
[INFO] [stdout] test app::tests::section_select_next_stays_at_last ... ok
[INFO] [stdout] test app::tests::toggle_section_collapsed_expand_selects_expanded_section_title ... ok
[INFO] [stdout] test app::tests::selected_branch_item_returns_current ... ok
[INFO] [stdout] test app::tests::toggle_section_collapsed_expand_selects_expanded_title_from_repo_below ... ok
[INFO] [stdout] test app::tests::sanitised_branch_name_trims_whitespace ... ok
[INFO] [stdout] test app::tests::section_select_next_increments ... ok
[INFO] [stdout] test app::tests::toggle_section_collapsed_noop_on_default_section ... ok
[INFO] [stdout] test app::tests::toggle_section_collapsed_keeps_selection_on_expand ... ok
[INFO] [stdout] test app::tests::toggle_section_collapsed_keeps_selection_when_repo_in_other_section ... ok
[INFO] [stdout] test app::tests::visible_rows_collapsed_section_hides_repos ... ok
[INFO] [stdout] test app::tests::visible_rows_default_section_repos_only ... ok
[INFO] [stdout] test app::tests::visible_rows_empty_state_returns_empty ... ok
[INFO] [stdout] test app::tests::toggle_section_collapsed_selects_title_row_on_collapse ... ok
[INFO] [stdout] test app::tests::visible_rows_named_section_adds_title_row ... ok
[INFO] [stdout] test git::tests::truncate_text_short_text_unchanged ... ok
[INFO] [stdout] test ops::tests::label_branch_sync_operations ... ok
[INFO] [stdout] test ops::tests::label_commit_and_amend ... ok
[INFO] [stdout] test ops::tests::label_checkout_branch ... ok
[INFO] [stdout] test app::tests::selected_file_entry_returns_none_when_no_files ... ok
[INFO] [stdout] test ops::tests::label_create_branch_variants ... ok
[INFO] [stdout] test app::tests::selected_files_returns_empty_when_no_repo_selected ... ok
[INFO] [stdout] test ops::tests::label_file_operations ... ok
[INFO] [stdout] test app::tests::section_select_previous_decrements ... ok
[INFO] [stdout] test ops::tests::label_simple_variants ... ok
[INFO] [stdout] test ops::tests::label_run_repo_command_uses_name ... ok
[INFO] [stdout] test app::tests::toggle_log_off_resets_focus_if_was_log ... ok
[INFO] [stdout] test app::tests::toggle_log_open_still_grants_focus ... ok
[INFO] [stdout] test app::tests::toggle_log_on_enables_follow_and_sets_focus ... ok
[INFO] [stdout] test app::tests::toggle_section_collapsed_expands_collapsed_named_section ... ok
[INFO] [stdout] test app::tests::toggle_section_collapsed_collapses_expanded_named_section ... ok
[INFO] [stdout] test app::tests::toggle_section_collapsed_keeps_selection_below_collapsed_section ... ok
[INFO] [stdout] test git::tests::truncate_text_at_limit_unchanged ... ok
[INFO] [stdout] test git::tests::truncate_text_over_limit_appends_marker ... ok
[INFO] [stdout] test app::tests::add_repo_path_does_not_close_file_picker ... ok
[INFO] [stdout] test ops::tests::spawn_op_refresh_populates_fresh_status ... ok
[INFO] [stdout] test ops::tests::spawn_op_discard_file_removes_untracked_file ... ok
[INFO] [stdout] test ops::tests::spawn_op_discard_file_fails_for_nonexistent_file ... ok
[INFO] [stdout] test ops::tests::spawn_op_non_refresh_has_no_fresh_status ... ok
[INFO] [stdout] test ops::tests::spawn_op_create_branch_succeeds ... ok
[INFO] [stdout] test ops::tests::spawn_op_create_branch_from_base_creates_at_correct_commit ... ok
[INFO] [stdout] test app::tests::remove_selected_removes_from_repos_immediately ... ok
[INFO] [stdout] test ops::tests::spawn_op_apply_patch_applies_saved_patch ... ok
[INFO] [stdout] test ops::tests::spawn_op_run_repo_command_background_succeeds ... ok
[INFO] [stdout] test state::tests::default_section_mut_allows_modifying_first_section ... ok
[INFO] [stdout] test ops::tests::spawn_op_checkout_branch_switches_head ... ok
[INFO] [stdout] test state::tests::default_section_returns_immutable_ref_to_first_section ... ok
[INFO] [stdout] test state::tests::only_named_sections_false_when_no_named_sections ... ok
[INFO] [stdout] test state::tests::only_named_sections_true_when_default_empty_and_named_exists ... ok
[INFO] [stdout] test state::tests::remove_section_idx_zero_is_noop ... ok
[INFO] [stdout] test state::tests::remove_section_out_of_bounds_is_noop ... ok
[INFO] [stdout] test state::tests::rename_section_duplicate_name_returns_none ... ok
[INFO] [stdout] test ops::tests::spawn_op_rename_branch_no_upstream ... ok
[INFO] [stdout] test state::tests::find_state_path_returns_a_path ... ok
[INFO] [stdout] test state::tests::rename_section_invalid_idx_returns_none ... ok
[INFO] [stdout] test state::tests::repo_section_default_has_no_name ... ok
[INFO] [stdout] test state::tests::repo_section_named_is_not_default ... ok
[INFO] [stdout] test ops::tests::amendment_succeeds_with_empty_index_and_rewrites_head ... ok
[INFO] [stdout] test state::tests::section_idx_for_flat_repo_idx_finds_correct_section ... ok
[INFO] [stdout] test state::tests::sort_section_repos_case_sensitive_uses_ascii_order ... ok
[INFO] [stdout] test state::tests::section_idx_for_path_finds_repo_in_named_section ... ok
[INFO] [stdout] test ops::tests::spawn_op_run_repo_command_foreground_captures_output ... ok
[INFO] [stdout] test tests::a_outside_repos_focus_does_not_trigger_pick_mode ... ok
[INFO] [stdout] test state::tests::state_save_creates_nested_parent_dirs ... ok
[INFO] [stdout] test tests::alt_shift_p_in_repo_menu_enters_force_push_confirmation ... ok
[INFO] [stdout] test ops::tests::spawn_op_revert_file_restores_modified_file ... ok
[INFO] [stdout] test tests::alt_shift_p_macos_pi_char_opens_force_push_confirmation ... ok
[INFO] [stdout] test tests::alt_shift_p_on_repos_pane_does_not_trigger_plain_pull_push ... ok
[INFO] [stdout] test ops::tests::spawn_op_delete_branch_removes_branch ... ok
[INFO] [stdout] test tests::alt_shift_p_on_repos_pane_opens_force_push_confirmation ... ok
[INFO] [stdout] test state::tests::state_load_from_yaml_with_empty_content_uses_default_sections ... ok
[INFO] [stdout] test tests::checkout_does_not_open_branch_select_from_log_focus ... ok
[INFO] [stdout] test state::tests::state_load_from_yaml_inserts_default_section_when_named_is_first ... ok
[INFO] [stdout] test tests::d_outside_repos_focus_does_not_request_remove ... ok
[INFO] [stdout] test ops::tests::spawn_op_commit_creates_new_commit ... ok
[INFO] [stdout] test tests::f_on_repo_row_fetches_only_selected_repo ... ok
[INFO] [stdout] test ops::tests::spawn_op_save_patch_and_revert_fails_when_no_diff ... ok
[INFO] [stdout] test tests::f_on_section_title_fetches_all_repos_in_section ... ok
[INFO] [stdout] test tests::enter_on_details_focus_does_not_open_repo_action_menu ... ok
[INFO] [stdout] test tests::parse_path_flag_missing_value_returns_none ... ok
[INFO] [stdout] test tests::f_does_not_fire_from_file_status_or_history_or_log_focus ... ok
[INFO] [stdout] test tests::parse_path_flag_both_flags_present ... ok
[INFO] [stdout] test tests::launch_section_fetch_fetches_repos_even_with_errors ... ok
[INFO] [stdout] test tests::parse_path_flag_not_present_returns_none ... ok
[INFO] [stdout] test tests::f_on_section_title_when_history_pane_is_open_dispatches_section_fetch ... ok
[INFO] [stdout] test tests::parse_path_flag_returns_first_occurrence ... ok
[INFO] [stdout] test tests::parse_path_flag_returns_value_after_flag ... ok
[INFO] [stdout] test tests::pull_does_not_fire_from_history_focus ... ok
[INFO] [stdout] test tests::pull_on_errored_repo_row_proceeds ... ok
[INFO] [stdout] test tests::launch_all_fetch_fetches_repos_even_with_errors ... ok
[INFO] [stdout] test tests::refresh_repos_drops_stale_and_adds_placeholders_for_new_paths ... ok
[INFO] [stdout] test tests::push_does_not_fire_from_file_status_focus ... ok
[INFO] [stdout] test tests::semver_gt_handles_major_version_bump ... ok
[INFO] [stdout] test tests::r_on_section_title_unified_under_either_mode ... ok
[INFO] [stdout] test tests::semver_gt_handles_patch_version ... ok
[INFO] [stdout] test tests::semver_gt_returns_false_for_equal_versions ... ok
[INFO] [stdout] test ops::tests::spawn_op_revert_conflict_file_unstages_and_restores ... ok
[INFO] [stdout] test utils::tests::expand_path_no_tilde_passes_through ... ok
[INFO] [stdout] test utils::tests::expand_path_tilde_prefix_expands_to_home ... ok
[INFO] [stdout] test tests::semver_gt_returns_false_for_lower_patch ... ok
[INFO] [stdout] test tests::semver_gt_returns_true_when_latest_is_newer ... ok
[INFO] [stdout] test theme::tests::delta_colour_maps_every_kind ... ok
[INFO] [stdout] test theme::tests::file_status_colour_maps_every_kind ... ok
[INFO] [stdout] test utils::tests::expand_env_vars_resolves_existing_var ... ok
[INFO] [stdout] test utils::tests::expand_vars_empty_input ... ok
[INFO] [stdout] test tests::semver_gt_returns_false_when_current_is_newer ... ok
[INFO] [stdout] test utils::tests::expand_path_var_in_path_expanded ... ok
[INFO] [stdout] test utils::tests::expand_vars_empty_braces_left_as_is ... ok
[INFO] [stdout] test utils::tests::truncate_middle_even_split ... ok
[INFO] [stdout] test utils::tests::expand_env_vars_reports_missing_var ... ok
[INFO] [stdout] test utils::tests::truncate_middle_exact_fit_unchanged ... ok
[INFO] [stdout] test utils::tests::expand_vars_multiple_vars ... ok
[INFO] [stdout] test utils::tests::expand_vars_leaves_unknown_var_unexpanded ... ok
[INFO] [stdout] test utils::tests::truncate_middle_unicode_chars ... ok
[INFO] [stdout] test utils::tests::truncate_middle_short_text_unchanged ... ok
[INFO] [stdout] test watcher::tests::git_path_cache_file_is_skipped ... ok
[INFO] [stdout] test watcher::tests::git_path_commit_editmsg_is_skipped ... ok
[INFO] [stdout] test watcher::tests::git_path_config_is_relevant ... ok
[INFO] [stdout] test utils::tests::truncate_middle_max_three_or_less_returns_ellipsis ... ok
[INFO] [stdout] test watcher::tests::git_path_git_dir_itself_is_relevant ... ok
[INFO] [stdout] test utils::tests::expand_vars_substitutes_known_var ... ok
[INFO] [stdout] test watcher::tests::git_path_head_is_relevant ... ok
[INFO] [stdout] test watcher::tests::git_path_lock_file_is_skipped ... ok
[INFO] [stdout] test watcher::tests::git_path_index_is_relevant ... ok
[INFO] [stdout] test watcher::tests::git_path_packed_refs_is_skipped ... ok
[INFO] [stdout] test utils::tests::truncate_middle_odd_split_right_gets_extra ... ok
[INFO] [stdout] test watcher::tests::git_path_hooks_dir_is_skipped ... ok
[INFO] [stdout] test watcher::tests::git_path_modules_dir_is_skipped ... ok
[INFO] [stdout] test watcher::tests::git_path_objects_dir_is_skipped ... ok
[INFO] [stdout] test watcher::tests::git_path_rebase_merge_is_relevant ... ok
[INFO] [stdout] test watcher::tests::git_path_lfs_tmp_is_skipped ... ok
[INFO] [stdout] test ops::tests::spawn_op_amend_commit_updates_message ... ok
[INFO] [stdout] test watcher::tests::worktree_ds_store_is_skipped ... ok
[INFO] [stdout] test watcher::tests::git_path_refs_is_relevant ... ok
[INFO] [stdout] test watcher::tests::worktree_nested_file_is_relevant ... ok
[INFO] [stdout] test watcher::tests::worktree_repo_root_itself_is_not_relevant ... ok
[INFO] [stdout] test watcher::tests::worktree_pycache_is_skipped ... ok
[INFO] [stdout] test watcher::tests::worktree_regular_source_file_is_relevant ... ok
[INFO] [stdout] test ops::tests::spawn_op_save_patch_and_revert_creates_patch_and_restores_file ... ok
[INFO] [stdout] test ops::tests::spawn_op_stage_and_unstage_file ... ok
[INFO] [stdout] test ops::tests::spawn_op_rename_branch_upstream_failure_is_nonfatal ... ok
[INFO] [stdout] test ops::tests::spawn_op_undo_commit_restores_file_as_staged ... ok
[INFO] [stdout] test ops::tests::spawn_op_checkout_with_dirty_state_auto_stashes_and_pops ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 306 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/config_tests.rs (/opt/rustwide/target/release/deps/config_tests-bf891c1546d7e51a)
[INFO] [stdout] 
[INFO] [stdout] running 28 tests
[INFO] [stdout] test config_default_has_no_git_override ... ok
[INFO] [stdout] test config_disable_release_check_with_zero ... ok
[INFO] [stdout] test config_default_release_check_interval_is_24h ... ok
[INFO] [stdout] test config_load_from_nonexistent_explicit_path_returns_default ... ok
[INFO] [stdout] test config_load_empty_file_returns_default ... ok
[INFO] [stdout] test state_add_and_remove_repo ... ok
[INFO] [stdout] test config_load_from_missing_file_returns_default ... ok
[INFO] [stdout] test state_add_section_duplicate_name_is_rejected ... ok
[INFO] [stdout] test state_add_section_and_repos ... ok
[INFO] [stdout] test config_load_from_explicit_path_overrides_defaults ... ok
[INFO] [stdout] test config_load_git_override ... ok
[INFO] [stdout] test state_move_repo_to_section ... ok
[INFO] [stdout] test config_load_invalid_yaml_returns_default ... ok
[INFO] [stdout] test state_named_sections_sorted_alphabetically ... ok
[INFO] [stdout] test state_remove_section_moves_repos_to_default ... ok
[INFO] [stdout] test state_pane_visibility_round_trip ... ok
[INFO] [stdout] test state_remove_nonexistent_is_noop ... ok
[INFO] [stdout] test state_rename_section_updates_name_and_resorts ... ok
[INFO] [stdout] test state_repos_sorted_on_add ... ok
[INFO] [stdout] test state_load_from_path_nonexistent_returns_default_with_given_path ... ok
[INFO] [stdout] test state_section_collapse_persists_in_yaml ... ok
[INFO] [stdout] test state_load_from_path_reads_explicit_file ... ok
[INFO] [stdout] test state_load_from_path_resolves_relative_paths ... ok
[INFO] [stdout] test state_save_and_load_round_trip ... ok
[INFO] [stdout] test state_migrate_legacy_flat_repos_to_default_section ... ok
[INFO] [stdout] test state_load_from_path_absolute_paths_kept_as_is ... ok
[INFO] [stdout] test state_save_to_explicit_path_stores_relative_paths ... ok
[INFO] [stdout] test state_save_load_round_trip_with_explicit_path ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/git_tests.rs (/opt/rustwide/target/release/deps/git_tests-489a3c167a8e6962)
[INFO] [stdout] 
[INFO] [stdout] running 46 tests
[INFO] [stdout] test delta_kind_codes ... ok
[INFO] [stdout] test file_sort_order_alphabetical_within_group ... ok
[INFO] [stdout] test file_sort_order_conflict_first ... ok
[INFO] [stdout] test file_status_kind_codes ... ok
[INFO] [stdout] test file_status_kind_labels ... ok
[INFO] [stdout] test file_status_sort_priority_order ... ok
[INFO] [stdout] test commit_history_invalid_path_returns_error ... ok
[INFO] [stdout] test collect_commit_tags_lightweight_tag ... ok
[INFO] [stdout] test get_branches_with_ahead_behind_returns_current_branch ... ok
[INFO] [stdout] test get_head_commit_file_count_returns_zero_for_invalid_path ... ok
[INFO] [stdout] test get_head_commit_message_returns_none_for_invalid_path ... ok
[INFO] [stdout] test collect_commit_tags_two_tags_on_same_commit_sorted_alphabetically ... ok
[INFO] [stdout] test collect_commit_tags_empty_when_no_tags ... ok
[INFO] [stdout] test commit_history_full_filter_returns_all_commits ... ok
[INFO] [stdout] test commit_history_full_respects_limit ... ok
[INFO] [stdout] test get_file_diff_returns_empty_for_clean_file ... ok
[INFO] [stdout] test commit_history_case_sensitive_sort_exercises_sort_closure ... ok
[INFO] [stdout] test get_commit_history_populates_tags_field ... ok
[INFO] [stdout] test history_filter_label_ahead_of ... ok
[INFO] [stdout] test history_filter_label_branch_ahead_of ... ok
[INFO] [stdout] test history_filter_label_behind_of ... ok
[INFO] [stdout] test get_file_diff_returns_diff_for_modified_file ... ok
[INFO] [stdout] test history_filter_label_branch_behind_of ... ok
[INFO] [stdout] test history_filter_label_full_is_empty ... ok
[INFO] [stdout] test history_filter_label_branch_full ... ok
[INFO] [stdout] test integration_invalid_path_returns_error_entry ... ok
[INFO] [stdout] test get_head_commit_file_count_returns_correct_count ... ok
[INFO] [stdout] test commit_history_branch_full_filter_returns_commits ... ok
[INFO] [stdout] test get_branches_with_ahead_behind_lists_all_local_branches ... ok
[INFO] [stdout] test collect_commit_tags_annotated_tag_peels_to_commit ... ok
[INFO] [stdout] test commit_history_includes_modified_delta ... ok
[INFO] [stdout] test repo_status_is_clean_with_no_changes ... ok
[INFO] [stdout] test repo_status_is_not_clean_with_error ... ok
[INFO] [stdout] test repo_status_is_not_clean_with_modified ... ok
[INFO] [stdout] test get_commit_file_diff_shows_initial_file_addition ... ok
[INFO] [stdout] test get_untracked_file_content_errors_for_missing_file ... ok
[INFO] [stdout] test get_head_commit_message_returns_latest_commit_summary ... ok
[INFO] [stdout] test get_untracked_file_content_reads_text_file ... ok
[INFO] [stdout] test get_untracked_file_content_returns_binary_marker_for_binary ... ok
[INFO] [stdout] test integration_unborn_branch ... ok
[INFO] [stdout] test integration_clean_repo ... ok
[INFO] [stdout] test integration_deleted_file_shows_in_status ... ok
[INFO] [stdout] test integration_modified_file ... ok
[INFO] [stdout] test integration_staged_file ... ok
[INFO] [stdout] test integration_untracked_file ... ok
[INFO] [stdout] test integration_local_branches_listed ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 46 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests gitover
[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" "3a7764638a8786c6af98138d9bfbdb8dea72734776f1938a9e7fdc42fcc9f455", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3a7764638a8786c6af98138d9bfbdb8dea72734776f1938a9e7fdc42fcc9f455", kill_on_drop: false }`
[INFO] [stdout] 3a7764638a8786c6af98138d9bfbdb8dea72734776f1938a9e7fdc42fcc9f455
