[INFO] cloning repository https://github.com/fromloltocode/gitcactus [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/fromloltocode/gitcactus" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffromloltocode%2Fgitcactus", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffromloltocode%2Fgitcactus'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 4d53b82e7f1d4c6f102181dd909369e24d61ad42 [INFO] testing fromloltocode/gitcactus against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffromloltocode%2Fgitcactus" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/fromloltocode/gitcactus [INFO] finished tweaking git repo https://github.com/fromloltocode/gitcactus [INFO] tweaked toml for git repo https://github.com/fromloltocode/gitcactus written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/fromloltocode/gitcactus on toolchain 1.99.0-beta.8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/fromloltocode/gitcactus already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded instability v0.3.7 [INFO] [stderr] Downloaded openssl-sys v0.9.113 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] d8736c3eb633970300f8d48e19fa3ec6538c4812348f6b96ebebc2ee853b2b80 [INFO] running `Command { std: "docker" "start" "d8736c3eb633970300f8d48e19fa3ec6538c4812348f6b96ebebc2ee853b2b80", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d8736c3eb633970300f8d48e19fa3ec6538c4812348f6b96ebebc2ee853b2b80", 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" "d8736c3eb633970300f8d48e19fa3ec6538c4812348f6b96ebebc2ee853b2b80" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d8736c3eb633970300f8d48e19fa3ec6538c4812348f6b96ebebc2ee853b2b80", 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" "d8736c3eb633970300f8d48e19fa3ec6538c4812348f6b96ebebc2ee853b2b80" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.185 [INFO] [stderr] Compiling pkg-config v0.3.33 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling writeable v0.6.3 [INFO] [stderr] Compiling litemap v0.8.2 [INFO] [stderr] Compiling icu_properties_data v2.2.0 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling icu_normalizer_data v2.2.0 [INFO] [stderr] Compiling utf8_iter v1.0.4 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling foldhash v0.1.5 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling hashbrown v0.15.5 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling castaway v0.2.4 [INFO] [stderr] Compiling unicode-width v0.1.14 [INFO] [stderr] Compiling unicode-segmentation v1.13.2 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling compact_str v0.8.1 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling cc v1.2.60 [INFO] [stderr] Compiling mio v1.2.0 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling lru v0.12.5 [INFO] [stderr] Compiling cassowary v0.3.0 [INFO] [stderr] Compiling openssl-probe v0.1.6 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling crossterm v0.28.1 [INFO] [stderr] Compiling unicode-truncate v1.1.0 [INFO] [stderr] Compiling libz-sys v1.1.28 [INFO] [stderr] Compiling openssl-sys v0.9.113 [INFO] [stderr] Compiling libssh2-sys v0.3.1 [INFO] [stderr] Compiling libgit2-sys v0.17.0+1.8.1 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling darling_core v0.20.11 [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 strum_macros v0.26.4 [INFO] [stderr] Compiling zerofrom v0.1.7 [INFO] [stderr] Compiling yoke v0.8.2 [INFO] [stderr] Compiling zerovec v0.11.6 [INFO] [stderr] Compiling zerotrie v0.2.4 [INFO] [stderr] Compiling darling_macro v0.20.11 [INFO] [stderr] Compiling darling v0.20.11 [INFO] [stderr] Compiling instability v0.3.7 [INFO] [stderr] Compiling strum v0.26.3 [INFO] [stderr] Compiling ratatui v0.28.1 [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 icu_collections v2.2.0 [INFO] [stderr] Compiling icu_provider v2.2.0 [INFO] [stderr] Compiling icu_properties v2.2.0 [INFO] [stderr] Compiling icu_normalizer v2.2.0 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling git2 v0.19.0 [INFO] [stderr] Compiling gitcactus v0.5.4 (/opt/rustwide/workdir) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 3m 02s [INFO] running `Command { std: "docker" "inspect" "d8736c3eb633970300f8d48e19fa3ec6538c4812348f6b96ebebc2ee853b2b80", 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" "d8736c3eb633970300f8d48e19fa3ec6538c4812348f6b96ebebc2ee853b2b80" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling gitcactus v0.5.4 (/opt/rustwide/workdir) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 21.11s [INFO] running `Command { std: "docker" "inspect" "d8736c3eb633970300f8d48e19fa3ec6538c4812348f6b96ebebc2ee853b2b80", 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" "d8736c3eb633970300f8d48e19fa3ec6538c4812348f6b96ebebc2ee853b2b80" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }` [INFO] [stderr] Finished `release` profile [optimized] target(s) in 0.19s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/deps/gitcactus-79fccffe25789c9a) [INFO] [stdout] [INFO] [stdout] running 32 tests [INFO] [stdout] test mouse::tests::resolve_click_returns_matching_action ... ok [INFO] [stdout] test mouse::tests::later_targets_win_over_earlier_ones ... ok [INFO] [stdout] test mouse::tests::contains_is_half_open ... ok [INFO] [stdout] test pricklings::discovery::tests::discovery_does_not_mutate_filesystem ... ok [INFO] [stdout] test pricklings::discovery::tests::dedupes_repos_found_via_overlapping_roots ... ok [INFO] [stdout] test pricklings::discovery::tests::does_not_descend_into_repos ... ok [INFO] [stdout] test pricklings::discovery::tests::finds_repo_at_shallow_depth ... ok [INFO] [stdout] test pricklings::discovery::tests::ignores_non_git_directories ... ok [INFO] [stdout] test pricklings::roots::tests::candidates_list_is_non_empty_per_platform ... ok [INFO] [stdout] test pricklings::discovery::tests::records_error_for_nonexistent_root ... ok [INFO] [stdout] test mouse::tests::resolve_click_returns_none_when_no_hit ... ok [INFO] [stdout] test pricklings::tests::parse_round_trip_preserves_order_and_dedups ... ok [INFO] [stdout] test pricklings::discovery::tests::results_are_sorted_by_display_name ... ok [INFO] [stdout] test pricklings::tests::remove_saved_is_bounds_safe ... ok [INFO] [stdout] test pricklings::discovery::tests::respects_depth_cap ... ok [INFO] [stdout] test pricklings::discovery::tests::detects_worktree_git_file ... ok [INFO] [stdout] test pricklings::discovery::tests::skips_noise_directories ... ok [INFO] [stdout] test pricklings::tests::save_prickling_dedupes ... ok [INFO] [stdout] test pricklings::tests::saved_without_display_name_falls_back_to_basename ... ok [INFO] [stdout] test pricklings::roots::tests::returns_only_existing_directories ... ok [INFO] [stdout] test pricklings::tests::shorten_home_collapses_home_prefix ... ok [INFO] [stdout] test pricklings::tests::to_text_parses_back_into_same_store ... ok [INFO] [stdout] test self_update::tests::classifies_from_source_debug_build ... ok [INFO] [stdout] test self_update::tests::classifies_from_source_release_build ... ok [INFO] [stdout] test self_update::tests::classifies_homebrew_arm64_prefix ... ok [INFO] [stdout] test self_update::tests::classifies_homebrew_linuxbrew_prefix ... ok [INFO] [stdout] test self_update::tests::classifies_homebrew_x86_prefix ... ok [INFO] [stdout] test self_update::tests::classifies_manual_binary_fallback ... ok [INFO] [stdout] test self_update::tests::render_reconstructs_shell_form ... ok [INFO] [stdout] test self_update::tests::homebrew_plan_has_upgrade_command_and_requires_relaunch ... ok [INFO] [stdout] test self_update::tests::non_homebrew_plans_have_no_command ... ok [INFO] [stdout] test self_update::tests::manual_instructions_non_empty_for_every_kind ... ok [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/release/deps/gitcactus-507f0ca70a0b04e4) [INFO] [stdout] test result: ok. 32 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 32 tests [INFO] [stdout] test mouse::tests::resolve_click_returns_none_when_no_hit ... ok [INFO] [stdout] test mouse::tests::resolve_click_returns_matching_action ... ok [INFO] [stdout] test pricklings::discovery::tests::detects_worktree_git_file ... ok [INFO] [stdout] test pricklings::discovery::tests::finds_repo_at_shallow_depth ... ok [INFO] [stdout] test mouse::tests::contains_is_half_open ... ok [INFO] [stdout] test mouse::tests::later_targets_win_over_earlier_ones ... ok [INFO] [stdout] test pricklings::discovery::tests::dedupes_repos_found_via_overlapping_roots ... ok [INFO] [stdout] test pricklings::discovery::tests::ignores_non_git_directories ... ok [INFO] [stdout] test pricklings::discovery::tests::records_error_for_nonexistent_root ... ok [INFO] [stdout] test pricklings::roots::tests::candidates_list_is_non_empty_per_platform ... ok [INFO] [stdout] test pricklings::discovery::tests::results_are_sorted_by_display_name ... ok [INFO] [stdout] test pricklings::tests::save_prickling_dedupes ... ok [INFO] [stdout] test pricklings::tests::saved_without_display_name_falls_back_to_basename ... ok [INFO] [stdout] test pricklings::tests::shorten_home_collapses_home_prefix ... ok [INFO] [stdout] test pricklings::tests::to_text_parses_back_into_same_store ... ok [INFO] [stdout] test self_update::tests::classifies_from_source_debug_build ... ok [INFO] [stdout] test self_update::tests::classifies_from_source_release_build ... ok [INFO] [stdout] test self_update::tests::classifies_homebrew_arm64_prefix ... ok [INFO] [stdout] test pricklings::discovery::tests::skips_noise_directories ... ok [INFO] [stdout] test pricklings::roots::tests::returns_only_existing_directories ... ok [INFO] [stdout] test pricklings::discovery::tests::respects_depth_cap ... ok [INFO] [stdout] test pricklings::tests::parse_round_trip_preserves_order_and_dedups ... ok [INFO] [stdout] test self_update::tests::classifies_homebrew_linuxbrew_prefix ... ok [INFO] [stdout] test pricklings::tests::remove_saved_is_bounds_safe ... ok [INFO] [stdout] test self_update::tests::classifies_manual_binary_fallback ... ok [INFO] [stdout] test self_update::tests::homebrew_plan_has_upgrade_command_and_requires_relaunch ... ok [INFO] [stdout] test self_update::tests::non_homebrew_plans_have_no_command ... ok [INFO] [stdout] test self_update::tests::manual_instructions_non_empty_for_every_kind ... ok [INFO] [stdout] test self_update::tests::render_reconstructs_shell_form ... ok [INFO] [stdout] test self_update::tests::classifies_homebrew_x86_prefix ... ok [INFO] [stderr] Running tests/animations.rs (/opt/rustwide/target/release/deps/animations-d22359aaabc111d3) [INFO] [stdout] test pricklings::discovery::tests::does_not_descend_into_repos ... ok [INFO] [stdout] test pricklings::discovery::tests::discovery_does_not_mutate_filesystem ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 32 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 13 tests [INFO] [stdout] test animation_does_not_change_screen ... ok [INFO] [stdout] test animation_never_triggers_from_action_handling ... ok [INFO] [stdout] test any_action_during_playing_skips_to_teaching ... ok [INFO] [stdout] test any_action_during_teaching_dismisses_animation ... ok [INFO] [stdout] test current_art_is_non_empty_for_every_frame ... ok [INFO] [stdout] test play_when_disabled_preserves_existing_animation ... ok [INFO] [stdout] test teaching_lines_cover_every_terminology_mode ... ok [INFO] [stdout] test play_when_enabled_sets_the_state ... ok [INFO] [stdout] test new_app_has_no_animation ... ok [INFO] [stderr] Running tests/branches.rs (/opt/rustwide/target/release/deps/branches-e162e3dbae2629b2) [INFO] [stdout] test play_when_disabled_is_a_no_op ... ok [INFO] [stdout] test new_state_starts_on_frame_zero_playing ... ok [INFO] [stdout] test skip_to_teaching_jumps_to_final_frame ... ok [INFO] [stdout] test tick_advances_frame_until_final_then_flips_to_teaching ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 17 tests [INFO] [stdout] test branches_navigate_with_entries ... ok [INFO] [stdout] test branches_select_current_shows_friendly_result ... ok [INFO] [stdout] test branches_screen_never_returns_stage_or_commit_effects ... ok [INFO] [stdout] test branches_move_down_clamps_when_empty ... ok [INFO] [stdout] test branches_move_up_clamps ... ok [INFO] [stdout] test branches_screen_quit ... ok [INFO] [stdout] test branches_screen_refresh ... ok [INFO] [stdout] test branches_screen_back_returns_to_menu ... ok [INFO] [stdout] test branches_select_non_current_opens_confirm ... ok [INFO] [stdout] test branches_selected_name_and_current ... ok [INFO] [stdout] test confirm_switch_esc_returns_to_browse ... ok [INFO] [stdout] test result_mode_any_key_refreshes_and_returns_to_browse ... ok [INFO] [stderr] Running tests/cli.rs (/opt/rustwide/target/release/deps/cli-ea3adc413e95072c) [INFO] [stdout] test menu_enters_branches_with_load_effect ... ok [INFO] [stdout] test branches_selected_name_empty_list ... ok [INFO] [stdout] test confirm_switch_deny_returns_to_browse ... ok [INFO] [stdout] test branches_state_starts_empty ... ok [INFO] [stdout] test confirm_switch_confirm_triggers_switch_effect ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test help_flag_prints_usage_and_exits_successfully ... ok [INFO] [stdout] test help_short_flag_works ... ok [INFO] [stdout] test version_short_flag_works ... ok [INFO] [stdout] test version_flag_prints_name_and_semver ... ok [INFO] [stderr] Running tests/commit_details.rs (/opt/rustwide/target/release/deps/commit_details-a89e592f7bde3e06) [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 16 tests [INFO] [stdout] test commit_details_d_no_op_when_no_source_hash ... ok [INFO] [stdout] test commit_details_scroll_keys ... ok [INFO] [stdout] test commit_details_scroll_with_content ... ok [INFO] [stdout] test commit_details_never_returns_mutating_effects ... ok [INFO] [stdout] test commit_details_state_starts_empty ... ok [INFO] [stdout] test diff_back_returns_to_history_when_set ... ok [INFO] [stdout] test diff_back_returns_to_stage_by_default ... ok [INFO] [stdout] test history_d_opens_commit_diff ... ok [INFO] [stdout] test history_enter_no_op_when_empty ... ok [INFO] [stdout] test history_enter_opens_commit_details ... ok [INFO] [stdout] test diff_back_returns_to_commit_details_when_set ... ok [INFO] [stdout] test commit_details_quit_works ... ok [INFO] [stdout] test commit_details_back_returns_to_history ... ok [INFO] [stdout] test commit_details_empty_has_no_error ... ok [INFO] [stdout] test commit_details_scroll_up_clamps ... ok [INFO] [stdout] test commit_details_d_opens_commit_diff_returns_to_details ... ok [INFO] [stderr] Running tests/editor_feature.rs (/opt/rustwide/target/release/deps/editor_feature-48ffe932176963ae) [INFO] [stdout] [INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stdout] test app_starts_with_no_editor_msg ... ok [INFO] [stdout] test commit_details_o_noop_when_no_files ... ok [INFO] [stdout] test open_text_file_with_no_editor_returns_no_editor ... ok [INFO] [stdout] test result_message_all_variants_human_readable ... ok [INFO] [stdout] test stage_o_noop_when_empty ... ok [INFO] [stdout] test open_editor_effect_is_not_a_repo_mutation ... ok [INFO] [stdout] test commit_details_o_opens_first_file ... ok [INFO] [stdout] test open_binary_file_is_refused ... ok [INFO] [stdout] test stage_o_opens_highlighted_file ... ok [INFO] [stdout] test o_maps_to_open_in_command_mode ... ok [INFO] [stdout] test o_types_as_char_in_text_mode ... ok [INFO] [stderr] Running tests/help_screen.rs (/opt/rustwide/target/release/deps/help_screen-80554b31769a53dd) [INFO] [stdout] test open_nonexistent_file_returns_file_not_found ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 13 tests [INFO] [stdout] test help_next_page_increments ... ok [INFO] [stdout] test help_page_round_trip ... ok [INFO] [stdout] test app_menu_selects_help_and_resets_page ... ok [INFO] [stdout] test help_next_page_clamps_at_max ... ok [INFO] [stdout] test app_help_screen_ignores_irrelevant_actions ... ok [INFO] [stdout] test app_help_screen_navigation ... ok [INFO] [stdout] test app_help_screen_back_returns_to_menu ... ok [INFO] [stdout] test app_help_screen_quit ... ok [INFO] [stdout] test help_prev_page_clamps_at_zero ... ok [INFO] [stdout] test help_prev_page_decrements ... ok [INFO] [stdout] test app_help_screen_select_advances_page ... ok [INFO] [stdout] test help_screen_never_returns_destructive_effects ... ok [INFO] [stdout] test help_state_starts_at_page_zero ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Running tests/history.rs (/opt/rustwide/target/release/deps/history-483aba25852a63cf) [INFO] [stdout] running 11 tests [INFO] [stdout] test history_entry_fields_accessible ... ok [INFO] [stdout] test history_screen_back_returns_to_menu ... ok [INFO] [stdout] test history_move_up_clamps_at_zero ... ok [INFO] [stdout] test history_navigate_with_entries ... ok [INFO] [stdout] test history_screen_never_returns_mutating_effects ... ok [INFO] [stdout] test menu_enters_history_with_load_effect ... ok [INFO] [stdout] test history_screen_navigation ... ok [INFO] [stdout] test history_move_down_clamps_when_empty ... ok [INFO] [stdout] test history_state_starts_empty ... ok [INFO] [stdout] test history_screen_refresh ... ok [INFO] [stdout] test history_screen_quit ... ok [INFO] [stdout] [INFO] [stderr] Running tests/input_mapping.rs (/opt/rustwide/target/release/deps/input_mapping-691286e094f67b2f) [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 24 tests [INFO] [stdout] test all_printable_ascii_handled_in_text_mode ... ok [INFO] [stdout] test enter_maps_to_select ... ok [INFO] [stdout] test esc_maps_to_back ... ok [INFO] [stdout] test a_maps_to_toggle_all ... ok [INFO] [stdout] test arrow_up_maps_to_move_up ... ok [INFO] [stdout] test r_maps_to_refresh ... ok [INFO] [stdout] test s_maps_to_move_down ... ok [INFO] [stdout] test space_maps_to_toggle ... ok [INFO] [stdout] test text_mode_arrows_still_navigate ... ok [INFO] [stdout] test arrow_down_maps_to_move_down ... ok [INFO] [stdout] test j_maps_to_move_down ... ok [INFO] [stdout] test s_types_char_in_text_mode ... ok [INFO] [stdout] test k_maps_to_move_up ... ok [INFO] [stdout] test text_mode_esc_is_back ... ok [INFO] [stdout] test text_mode_special_chars_type_normally ... ok [INFO] [stdout] test w_maps_to_move_up ... ok [INFO] [stdout] test unknown_key_maps_to_other ... ok [INFO] [stdout] test y_maps_to_confirm ... ok [INFO] [stdout] test w_types_char_in_text_mode ... ok [INFO] [stdout] test text_mode_backspace_is_backspace ... ok [INFO] [stdout] test n_maps_to_deny ... ok [INFO] [stdout] test q_maps_to_quit ... ok [INFO] [stdout] test text_mode_enter_is_select ... ok [INFO] [stderr] Running tests/intro_and_diff.rs (/opt/rustwide/target/release/deps/intro_and_diff-b984f458d32d493d) [INFO] [stdout] test text_mode_q_types_q_not_quit ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 24 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 21 tests [INFO] [stdout] test app_starts_on_intro_screen ... ok [INFO] [stdout] test d_types_char_in_text_mode ... ok [INFO] [stdout] test d_maps_to_preview ... ok [INFO] [stdout] test diff_result_truncation_flag ... ok [INFO] [stdout] test diff_scroll_down_clamps_at_max ... ok [INFO] [stdout] test diff_state_starts_empty ... ok [INFO] [stdout] test diff_result_error_preserves_message ... ok [INFO] [stdout] test intro_screen_any_key_skips ... ok [INFO] [stdout] test intro_screen_quit_also_skips ... ok [INFO] [stdout] test diff_result_binary_has_no_lines ... ok [INFO] [stdout] test diff_preview_back_returns_to_stage ... ok [INFO] [stdout] test diff_scroll_up_clamps_at_zero ... ok [INFO] [stdout] test intro_skip_sets_done_immediately ... ok [INFO] [stdout] test stage_preview_does_nothing_when_empty ... ok [INFO] [stdout] test diff_scroll_works_with_content ... ok [INFO] [stdout] test stage_preview_opens_diff_for_highlighted_file ... ok [INFO] [stdout] test intro_starts_at_frame_zero ... ok [INFO] [stdout] test diff_preview_never_returns_mutating_effects ... ok [INFO] [stdout] test intro_tick_advances_frame ... ok [INFO] [stdout] test intro_tick_finishes_at_total_frames ... ok [INFO] [stderr] Running tests/mouse.rs (/opt/rustwide/target/release/deps/mouse-634ef498bb79a6f7) [INFO] [stdout] test intro_tick_after_done_stays_done ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 16 tests [INFO] [stdout] test clicking_confirm_in_dialog_is_the_same_as_pressing_y ... ok [INFO] [stdout] test clicking_out_of_range_stage_row_is_a_no_op ... ok [INFO] [stdout] test clicking_menu_status_selects_and_activates_it ... ok [INFO] [stdout] test clicking_a_settings_theme_row_applies_that_preset ... ok [INFO] [stdout] test animation_overlay_consumes_any_click ... ok [INFO] [stdout] test clicking_cancel_in_dialog_returns_to_browse_without_staging ... ok [INFO] [stdout] test click_cannot_bypass_confirm_dialog ... ok [INFO] [stdout] test clicking_menu_quit_behaves_like_keyboard_quit ... ok [INFO] [stdout] test clicking_settings_terminology_row_applies_that_mode ... ok [INFO] [stdout] test clicking_stage_row_toggles_that_entry_only ... ok [INFO] [stdout] test menu_click_on_empty_space_returns_no_action ... ok [INFO] [stdout] test keyboard_still_works_on_mouse_enabled_screens ... ok [INFO] [stdout] test menu_exposes_one_click_target_per_item ... ok [INFO] [stdout] test menu_footer_exposes_enter_as_clickable ... ok [INFO] [stdout] test menu_footer_exposes_quit_as_clickable ... ok [INFO] [stdout] test returning_empty_click_targets_means_mouse_is_silently_ignored ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/new_game.rs (/opt/rustwide/target/release/deps/new_game-848c51ff87892ee7) [INFO] [stdout] [INFO] [stdout] running 17 tests [INFO] [stdout] test creating_mode_backspace_deletes ... ok [INFO] [stdout] test creating_mode_esc_cancels_and_clears ... ok [INFO] [stdout] test creating_mode_needs_text_input ... ok [INFO] [stdout] test creating_mode_enter_trims_whitespace ... ok [INFO] [stdout] test creating_mode_typing_builds_name ... ok [INFO] [stdout] test beginner_title_is_start_a_new_game ... ok [INFO] [stdout] test create_result_invalid_name_rejects_empty ... ok [INFO] [stdout] test creating_mode_enter_triggers_create_effect ... ok [INFO] [stdout] test creating_mode_enter_with_empty_name_is_noop ... ok [INFO] [stdout] test name_buffer_bounded ... ok [INFO] [stdout] test browse_mode_does_not_need_text_input ... ok [INFO] [stdout] test create_result_invalid_name_rejects_bad_chars ... ok [INFO] [stdout] test new_branch_action_git ... ok [INFO] [stderr] Running tests/platform.rs (/opt/rustwide/target/release/deps/platform-ab37111a495423c8) [INFO] [stdout] test n_from_browse_enters_creating_mode ... ok [INFO] [stdout] test new_branch_action_beginner ... ok [INFO] [stdout] test new_branch_action_hybrid_mentions_both ... ok [INFO] [stdout] test new_branch_title_non_empty_all_modes ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test config_dir_display_for_known_names_is_non_empty ... ok [INFO] [stdout] test config_file_path_ends_in_requested_name ... ok [INFO] [stdout] test config_file_path_has_gitcactus_component ... ok [INFO] [stdout] test editor_candidates_is_non_empty ... ok [INFO] [stdout] test unix_only::unix_fallback_includes_vim_family ... ok [INFO] [stdout] test unix_only::unix_settings_display_uses_home_tilde ... ok [INFO] [stdout] test editor_suggestion_mentions_editor_env_var ... ok [INFO] [stderr] Running tests/pricklings.rs (/opt/rustwide/target/release/deps/pricklings-00de27a3b5dfd1ee) [INFO] [stdout] test unix_only::unix_config_file_follows_xdg_layout ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 33 tests [INFO] [stdout] test hub_back_returns_to_menu ... ok [INFO] [stdout] test hub_cursor_move_up_clamps_at_zero ... ok [INFO] [stdout] test hub_clamp_cursor_shrinks_with_saved_list ... ok [INFO] [stdout] test hub_enter_on_saved_emits_open_prickling ... ok [INFO] [stdout] test hub_cursor_walks_saved_then_actions ... ok [INFO] [stdout] test hub_enter_on_find_emits_scan_when_roots_exist ... ok [INFO] [stdout] test hub_d_on_action_row_is_a_noop ... ok [INFO] [stdout] test hub_enter_on_find_without_roots_redirects_to_scan_locations ... ok [INFO] [stdout] test hub_d_on_saved_emits_remove ... ok [INFO] [stdout] test hub_with_no_saved_lands_on_find ... ok [INFO] [stdout] test launchpad_q_quits ... ok [INFO] [stdout] test launchpad_select_exit_quits ... ok [INFO] [stdout] test launchpad_select_pricklings_enters_hub_and_loads ... ok [INFO] [stdout] test results_cursor_is_bounds_safe_when_empty ... ok [INFO] [stdout] test results_refresh_emits_rescan ... ok [INFO] [stdout] test scan_adding_mode_backspace_pops_char ... ok [INFO] [stdout] test scan_adding_mode_empty_submit_does_nothing ... ok [INFO] [stdout] test results_s_saves_selected_prickling ... ok [INFO] [stdout] test scan_adding_mode_esc_cancels ... ok [INFO] [stdout] test scan_adding_mode_types_path_and_submits ... ok [INFO] [stdout] test scan_cursor_with_no_roots_lands_on_add_path ... ok [INFO] [stdout] test scan_d_on_root_emits_remove ... ok [INFO] [stdout] test scan_enter_on_add_path_opens_adding_mode ... ok [INFO] [stdout] test scan_now_with_no_roots_shows_error_instead_of_scanning ... ok [INFO] [stdout] test scan_now_with_roots_emits_scan_pricklings ... ok [INFO] [stdout] test store_round_trip_through_parse_and_to_text ... ok [INFO] [stdout] test results_empty_list_ignores_open_and_save ... ok [INFO] [stdout] test launchpad_select_settings_transitions ... ok [INFO] [stdout] test results_enter_opens_selected_prickling ... ok [INFO] [stdout] test pricklings_screens_never_emit_git_mutations ... ok [INFO] [stdout] test scan_cursor_walks_roots_then_actions ... ok [INFO] [stdout] test results_back_returns_to_hub ... ok [INFO] [stderr] Running tests/progression.rs (/opt/rustwide/target/release/deps/progression-52f395591d5b1ef5) [INFO] [stdout] test hub_enter_on_manage_locations_transitions_and_copies_roots ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 33 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 30 tests [INFO] [stdout] test apply_event_does_not_touch_network ... ok [INFO] [stdout] test combo_chain_grants_25_xp ... ok [INFO] [stdout] test cactus_hat_unlocks_at_level_three ... ok [INFO] [stdout] test basic_moves_node_is_always_unlocked ... ok [INFO] [stdout] test branch_created_grants_10_xp ... ok [INFO] [stdout] test combo_chainer_unlocks_after_five_combos ... ok [INFO] [stdout] test branch_switched_grants_only_3_xp ... ok [INFO] [stdout] test default_profile_starts_level_one_no_xp ... ok [INFO] [stdout] test files_staged_xp_caps_at_ten ... ok [INFO] [stdout] test commit_event_awards_15_xp_and_counts ... ok [INFO] [stdout] test level_advances_on_threshold_crossing ... ok [INFO] [stdout] test commit_flow_node_unlocks_after_first_commit ... ok [INFO] [stdout] test level_for_xp_roundtrips_with_xp_for_level ... ok [INFO] [stdout] test profile_from_empty_text_equals_default ... ok [INFO] [stdout] test path_surveyor_unlocks_after_three_branches_created ... ok [INFO] [stdout] test profile_ignores_unknown_keys ... ok [INFO] [stdout] test rebase_completed_grants_20_xp ... ok [INFO] [stdout] test rebase_portal_node_requires_completed_rebase ... ok [INFO] [stdout] test profile_level_zero_is_clamped_to_one ... ok [INFO] [stdout] test reserved_nodes_never_auto_unlock ... ok [INFO] [stdout] test requirement_label_non_empty_for_all_unlock_kinds ... ok [INFO] [stdout] test unlocks_catalog_is_non_empty_and_labels_non_empty ... ok [INFO] [stdout] test unlocks_never_duplicate_or_regress ... ok [INFO] [stdout] test xp_for_level_grows_quadratically ... ok [INFO] [stdout] test xp_for_level_is_zero_at_level_one ... ok [INFO] [stdout] test xp_window_reports_correct_bounds ... ok [INFO] [stderr] Running tests/rebase_portal.rs (/opt/rustwide/target/release/deps/rebase_portal-296b37aa38906850) [INFO] [stdout] test profile_unlocks_parsed_sorted_and_deduped ... ok [INFO] [stdout] test profile_round_trip_text ... ok [INFO] [stdout] test profile_malformed_numbers_fall_back_silently ... ok [INFO] [stdout] test rank_apprentice_unlocks_at_level_two ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 30 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 43 tests [INFO] [stdout] test animation_tick_is_noop_in_non_animating_mode ... ok [INFO] [stdout] test c_maps_to_continue_action ... ok [INFO] [stdout] test branches_p_on_non_current_opens_portal ... ok [INFO] [stdout] test animation_advances_one_step_at_a_time ... ok [INFO] [stdout] test branches_p_on_current_branch_is_noop ... ok [INFO] [stdout] test animation_skip_jumps_to_end ... ok [INFO] [stdout] test animating_mode_any_input_just_skips_never_mutates ... ok [INFO] [stdout] test dirty_tree_blocks_execute_even_with_ready_kind ... ok [INFO] [stdout] test conflict_screen_a_still_fires_abort_rebase_effect ... ok [INFO] [stdout] test conflict_screen_c_fires_continue_rebase_effect ... ok [INFO] [stdout] test execute_animating_any_key_skips_not_exits ... ok [INFO] [stdout] test conflict_screen_esc_leaves_without_aborting_or_continuing ... ok [INFO] [stdout] test conflict_mode_only_fires_abort_or_continue_on_right_keys ... ok [INFO] [stdout] test execute_conflict_a_fires_abort_effect ... ok [INFO] [stdout] test execute_animating_mode_never_fires_any_mutation ... ok [INFO] [stdout] test execute_conflict_esc_returns_without_aborting ... ok [INFO] [stdout] test execute_state_blocked_surfaces_reason_as_failure ... ok [INFO] [stdout] test execute_state_conflict_sets_fell_and_captures_stderr ... ok [INFO] [stdout] test execute_screen_never_fires_execute_rebase_from_any_mode ... ok [INFO] [stdout] test execute_state_failure_is_non_animating ... ok [INFO] [stdout] test execute_state_success_starts_in_animating_mode_when_commits_present ... ok [INFO] [stdout] test execute_failure_enter_returns_to_branches ... ok [INFO] [stdout] test no_preview_kind_lets_preview_mode_execute ... ok [INFO] [stdout] test p_maps_to_portal_action ... ok [INFO] [stdout] test portal_back_from_preview_returns_to_source_screen ... ok [INFO] [stdout] test portal_cancel_from_confirm_returns_to_preview ... ok [INFO] [stdout] test portal_confirm_fires_execute_effect_and_switches_screen ... ok [INFO] [stdout] test portal_enter_advances_to_confirm_when_executable ... ok [INFO] [stdout] test portal_never_produces_execute_rebase_from_preview_mode ... ok [INFO] [stdout] test portal_preview_mode_never_mutates_repo ... ok [INFO] [stdout] test portal_starts_in_preview_mode ... ok [INFO] [stdout] test portal_enter_does_not_confirm_when_not_executable ... ok [INFO] [stdout] test portal_execute_title_non_empty_all_modes ... ok [INFO] [stdout] test portal_terminology_three_modes ... ok [INFO] [stdout] test preview_is_executable_requires_ready_and_clean_tree ... ok [INFO] [stdout] test success_and_aborted_modes_never_fire_continue ... ok [INFO] [stdout] test execute_success_enter_returns_to_branches ... ok [INFO] [stdout] test preview_on_nonexistent_path_returns_not_a_repo ... ok [INFO] [stdout] test preflight_rejects_nonexistent_path ... ok [INFO] [stdout] test execute_on_nonexistent_path_fails_cleanly ... ok [INFO] [stdout] test abort_on_nonexistent_path_returns_error ... ok [INFO] [stderr] Running tests/remote_sync.rs (/opt/rustwide/target/release/deps/remote_sync-ef33afbd6d7e3593) [INFO] [stdout] test continue_refuses_when_not_in_rebase ... ok [INFO] [stdout] test preflight_returns_blocked_for_detached_head_or_missing_target_etc ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 43 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 23 tests [INFO] [stdout] test confirm_mode_only_fetches_on_explicit_yes ... ok [INFO] [stdout] test deny_in_confirm_returns_to_browse_without_effect ... ok [INFO] [stdout] test browse_mode_never_emits_mutating_effect ... ok [INFO] [stdout] test escape_in_confirm_returns_to_browse_without_effect ... ok [INFO] [stdout] test fetch_result_variants_are_user_facing ... ok [INFO] [stdout] test fetch_target_falls_back_to_cursor_when_untracked ... ok [INFO] [stdout] test fetch_target_none_when_no_remotes ... ok [INFO] [stdout] test move_down_clamps_when_empty ... ok [INFO] [stdout] test move_up_clamps_to_zero_when_empty ... ok [INFO] [stdout] test navigate_with_entries_respects_bounds ... ok [INFO] [stdout] test remote_sync_back_returns_to_menu ... ok [INFO] [stdout] test remote_sync_quit_requests_quit ... ok [INFO] [stdout] test result_mode_dismisses_with_reload ... ok [INFO] [stdout] test select_with_target_opens_confirm_without_effect ... ok [INFO] [stdout] test select_without_target_stays_in_browse ... ok [INFO] [stdout] test state_starts_empty_and_browse_mode ... ok [INFO] [stdout] test clamp_cursor_handles_shrinking_list ... ok [INFO] [stdout] test fetch_target_prefers_tracked_remote ... ok [INFO] [stdout] test confirm_fetch_emits_fetch_effect ... ok [INFO] [stdout] test remote_sync_refresh_reloads ... ok [INFO] [stdout] test menu_enters_remote_sync_with_load_effect ... ok [INFO] [stdout] test load_remote_info_on_non_repo_returns_safe_default ... ok [INFO] [stdout] test load_remote_info_on_current_repo_is_read_only ... ok [INFO] [stderr] Running tests/search_filter.rs (/opt/rustwide/target/release/deps/search_filter-5a9eaced3a1a49a8) [INFO] [stdout] [INFO] [stdout] test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 35 tests [INFO] [stdout] test branches_enter_in_search_applies_filter ... ok [INFO] [stdout] test branches_cursor_clamped_after_filter_shrink ... ok [INFO] [stdout] test branches_esc_in_search_clears_filter ... ok [INFO] [stdout] test branches_filter_no_matches ... ok [INFO] [stdout] test branches_search_mode_never_mutates_repo ... ok [INFO] [stdout] test branches_empty_filter_shows_all ... ok [INFO] [stdout] test branches_filter_case_insensitive ... ok [INFO] [stdout] test branches_filter_matches_summary ... ok [INFO] [stdout] test branches_filter_matches_name ... ok [INFO] [stdout] test branches_no_results_any_action_is_safe ... ok [INFO] [stdout] test branches_slash_enters_search_mode ... ok [INFO] [stdout] test branches_typing_updates_filter ... ok [INFO] [stdout] test history_backspace_edits_filter ... ok [INFO] [stdout] test history_empty_filter_shows_all ... ok [INFO] [stdout] test history_enter_in_search_keeps_filter_exits_search ... ok [INFO] [stdout] test history_esc_in_browse_without_filter_goes_to_menu ... ok [INFO] [stdout] test history_esc_in_search_clears_filter ... ok [INFO] [stdout] test history_filter_case_insensitive_summary ... ok [INFO] [stdout] test history_filter_matches_author ... ok [INFO] [stdout] test history_filter_matches_hash ... ok [INFO] [stdout] test history_filter_no_matches ... ok [INFO] [stdout] test history_no_results_any_action_is_safe ... ok [INFO] [stdout] test history_search_mode_needs_text_input ... ok [INFO] [stdout] test branches_switch_uses_filtered_selection ... ok [INFO] [stdout] test history_enter_uses_filtered_entry_not_raw_index ... ok [INFO] [stdout] test history_esc_in_browse_with_filter_clears_first ... ok [INFO] [stdout] test history_d_uses_filtered_entry ... ok [INFO] [stdout] test history_typing_updates_filter_and_resets_cursor ... ok [INFO] [stdout] test history_cursor_stays_in_bounds_after_filter ... ok [INFO] [stdout] test slash_maps_to_search ... ok [INFO] [stdout] test branches_new_game_still_works_with_filter ... ok [INFO] [stdout] test branches_search_mode_needs_text_input ... ok [INFO] [stdout] test slash_types_as_char_in_text_mode ... ok [INFO] [stdout] test history_search_mode_never_mutates_repo ... ok [INFO] [stderr] Running tests/security.rs (/opt/rustwide/target/release/deps/security-0fd58c5888105c4b) [INFO] [stdout] test history_slash_enters_search_mode ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test commit_screen_cannot_commit_with_no_staged_files ... ok [INFO] [stdout] test commit_screen_cannot_commit_with_whitespace_only_message ... ok [INFO] [stdout] test menu_never_stages_or_commits ... ok [INFO] [stdout] test read_only_screens_never_return_mutating_effects ... ok [INFO] [stdout] test stage_screen_cannot_stage_with_no_selection ... ok [INFO] [stdout] test commit_message_length_bounded ... ok [INFO] [stdout] test status_screen_never_stages_or_commits ... ok [INFO] [stdout] test update_screen_never_stages_or_commits ... ok [INFO] [stdout] test commit_screen_cannot_commit_with_empty_message ... ok [INFO] [stdout] test help_page_bounds_never_overflow ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/settings_screen.rs (/opt/rustwide/target/release/deps/settings_screen-bcc4e3c7f0b7738b) [INFO] [stdout] [INFO] [stdout] running 18 tests [INFO] [stdout] test moving_back_up_crosses_into_terminology_section ... ok [INFO] [stdout] test cursor_crosses_cleanly_into_theme_section ... ok [INFO] [stdout] test menu_enters_settings_with_correct_cursor ... ok [INFO] [stdout] test selecting_every_theme_preset_applies_it ... ok [INFO] [stdout] test settings_screen_never_returns_repo_mutating_effects ... ok [INFO] [stdout] test settings_screen_quit_works ... ok [INFO] [stdout] test settings_screen_back_returns_to_menu ... ok [INFO] [stdout] test settings_navigate_through_terminology_section ... ok [INFO] [stdout] test settings_move_up_clamps_at_zero ... ok [INFO] [stdout] test settings_state_starts_at_zero ... ok [INFO] [stdout] test terminology_select_does_not_touch_theme ... ok [INFO] [stdout] test theme_select_does_not_touch_terminology ... ok [INFO] [stdout] test selecting_theme_applies_palette_and_requests_save ... ok [INFO] [stdout] test settings_from_active_matches_mode ... ok [INFO] [stdout] test settings_screen_select_applies_term_mode_and_saves ... ok [INFO] [stdout] test settings_screen_select_beginner ... ok [INFO] [stdout] test total_rows_is_terminology_plus_theme_rows ... ok [INFO] [stderr] Running tests/terminology.rs (/opt/rustwide/target/release/deps/terminology-00fab5a7388809f5) [INFO] [stdout] test settings_move_down_clamps_at_total_rows ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 18 tests [INFO] [stdout] test commit_is_not_branch ... ok [INFO] [stdout] test branch_is_not_checkpoint ... ok [INFO] [stdout] test mode_label_is_human_readable ... ok [INFO] [stdout] test parse_beginner ... ok [INFO] [stdout] test parse_case_insensitive ... ok [INFO] [stdout] test parse_hybrid ... ok [INFO] [stdout] test parse_git ... ok [INFO] [stdout] test beginner_menu_labels_differ_from_git ... ok [INFO] [stdout] test parse_trims_whitespace ... ok [INFO] [stdout] test parse_unknown_returns_none ... ok [INFO] [stdout] test screen_titles_non_empty_in_all_modes ... ok [INFO] [stdout] test git_mode_uses_standard_terms ... ok [INFO] [stdout] test hybrid_includes_both_terms ... ok [INFO] [stdout] test working_changes_same_in_all_modes ... ok [INFO] [stdout] test sync_same_in_all_modes ... ok [INFO] [stdout] test as_str_round_trips ... ok [INFO] [stdout] test beginner_uses_friendly_labels ... ok [INFO] [stdout] test menu_label_covers_all_items ... ok [INFO] [stderr] Running tests/theme_config.rs (/opt/rustwide/target/release/deps/theme_config-af8dbb24030642e2) [INFO] [stdout] [INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 17 tests [INFO] [stdout] test malformed_preset_falls_back_to_default ... ok [INFO] [stdout] test parse_color_case_insensitive_and_trimmed ... ok [INFO] [stdout] test default_theme_matches_default_preset ... ok [INFO] [stdout] test empty_config_yields_default ... ok [INFO] [stdout] test has_overrides_is_false_for_bare_preset ... ok [INFO] [stdout] test parse_color_happy_path ... ok [INFO] [stdout] test garbage_lines_do_not_crash ... ok [INFO] [stdout] test invalid_color_override_is_silently_ignored ... ok [INFO] [stdout] test preset_parse_known_names ... ok [INFO] [stdout] test preset_parse_accepts_aliases ... ok [INFO] [stdout] test parse_color_invalid_returns_none ... ok [INFO] [stdout] test preset_parse_case_insensitive ... ok [INFO] [stdout] test preset_parse_unknown_returns_none ... ok [INFO] [stdout] test per_role_override_on_top_of_preset ... ok [INFO] [stdout] test preset_only_applies_full_palette ... ok [INFO] [stdout] test preset_round_trip ... ok [INFO] [stdout] test theme_loading_is_purely_local_no_std_net_touched ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/update_check.rs (/opt/rustwide/target/release/deps/update_check-10466eb13697590f) [INFO] [stdout] [INFO] [stdout] running 21 tests [INFO] [stdout] test identifies_newer_latest_correctly ... ok [INFO] [stdout] test empty_output_yields_no_tags ... ok [INFO] [stdout] test empty_tag_list_falls_back_to_current ... ok [INFO] [stdout] test latest_never_has_leading_v ... ok [INFO] [stdout] test major_beats_minor_beats_patch ... ok [INFO] [stdout] test parses_standard_ls_remote_output ... ok [INFO] [stdout] test parses_trims_whitespace ... ok [INFO] [stdout] test numeric_ordering_not_string_ordering ... ok [INFO] [stdout] test parses_v_prefix ... ok [INFO] [stdout] test prerelease_core_only ... ok [INFO] [stdout] test rejects_garbage ... ok [INFO] [stdout] test strips_peeled_tag_suffix ... ok [INFO] [stdout] test version_constant_matches_cargo_pkg_version ... ok [INFO] [stdout] test identifies_up_to_date_when_we_are_newest ... ok [INFO] [stdout] test picks_highest_tag_regardless_of_input_order ... ok [INFO] [stdout] test ignores_malformed_tag_names ... ok [INFO] [stdout] test parses_plain_triple ... ok [INFO] [stdout] test version_is_at_least_0_4_0 ... ok [INFO] [stdout] test identifies_up_to_date_when_latest_equals_current ... ok [INFO] [stdout] test network_error_is_recorded_and_never_panics ... ok [INFO] [stdout] test ignores_non_tag_lines ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests gitcactus [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" "d8736c3eb633970300f8d48e19fa3ec6538c4812348f6b96ebebc2ee853b2b80", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d8736c3eb633970300f8d48e19fa3ec6538c4812348f6b96ebebc2ee853b2b80", kill_on_drop: false }` [INFO] [stdout] d8736c3eb633970300f8d48e19fa3ec6538c4812348f6b96ebebc2ee853b2b80