[INFO] cloning repository https://github.com/chubbyk-uu/rust-gomoku [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/chubbyk-uu/rust-gomoku" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchubbyk-uu%2Frust-gomoku", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchubbyk-uu%2Frust-gomoku'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f4d42f55a57da7853e59655a0831a67b3ee4a8b6 [INFO] testing chubbyk-uu/rust-gomoku/f4d42f55a57da7853e59655a0831a67b3ee4a8b6 against 1.97.0-beta.6 for beta-1.98-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchubbyk-uu%2Frust-gomoku" "/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/chubbyk-uu/rust-gomoku [INFO] finished tweaking git repo https://github.com/chubbyk-uu/rust-gomoku [INFO] tweaked toml for git repo https://github.com/chubbyk-uu/rust-gomoku written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/chubbyk-uu/rust-gomoku on toolchain 1.97.0-beta.6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/chubbyk-uu/rust-gomoku 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.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [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:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] dcec95991529a8e7aae667c59f7c6dee469bb31b004588934c784299a2a7351f [INFO] running `Command { std: "docker" "start" "dcec95991529a8e7aae667c59f7c6dee469bb31b004588934c784299a2a7351f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "dcec95991529a8e7aae667c59f7c6dee469bb31b004588934c784299a2a7351f", 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" "dcec95991529a8e7aae667c59f7c6dee469bb31b004588934c784299a2a7351f" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "dcec95991529a8e7aae667c59f7c6dee469bb31b004588934c784299a2a7351f", 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" "dcec95991529a8e7aae667c59f7c6dee469bb31b004588934c784299a2a7351f" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling rust_gomoku v0.1.11 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.14s [INFO] running `Command { std: "docker" "inspect" "dcec95991529a8e7aae667c59f7c6dee469bb31b004588934c784299a2a7351f", 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" "dcec95991529a8e7aae667c59f7c6dee469bb31b004588934c784299a2a7351f" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling itoa v1.0.18 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling rust_gomoku v0.1.11 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [optimized + debuginfo] target(s) in 48.32s [INFO] running `Command { std: "docker" "inspect" "dcec95991529a8e7aae667c59f7c6dee469bb31b004588934c784299a2a7351f", 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" "dcec95991529a8e7aae667c59f7c6dee469bb31b004588934c784299a2a7351f" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [optimized + debuginfo] target(s) in 0.09s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rust_gomoku-67de8c2cf25cfc87) [INFO] [stdout] [INFO] [stdout] running 55 tests [INFO] [stdout] test app::tests::difficulty_switch_is_rejected_while_searching ... ok [INFO] [stdout] test app::tests::freestyle_and_white_turn_do_not_expose_forbidden_points ... ok [INFO] [stdout] test app::tests::invalid_human_side_does_not_reset_the_game ... ok [INFO] [stdout] test app::tests::difficulty_presets_update_search_and_tactical_settings ... ok [INFO] [stdout] test app::tests::two_player_alternates_without_engine_and_reports_mode ... ok [INFO] [stdout] test app::tests::two_player_undo_reverts_single_ply ... ok [INFO] [stdout] test board::tests::assumed_rule_legal_play_skips_forbidden_check_but_keeps_renju_winner_semantics ... ok [INFO] [stdout] test app::tests::two_player_renju_exposes_and_rejects_black_forbidden_points ... ok [INFO] [stdout] test app::tests::two_player_declares_the_winning_side ... ok [INFO] [stdout] test board::tests::freestyle_black_overline_still_wins ... ok [INFO] [stdout] test eval::local::tests::renju_black_eval_keeps_exact_five_priority ... ok [INFO] [stdout] test board::tests::renju_black_exact_five_wins ... ok [INFO] [stdout] test eval::local::tests::renju_black_eval_suppresses_forbidden_points ... ok [INFO] [stdout] test board::tests::renju_white_overline_wins ... ok [INFO] [stdout] test eval::global_eval::tests::renju_cached_eval_matches_scan_with_forbidden_suppression ... ok [INFO] [stdout] test eval::local::tests::renju_eval_does_not_suppress_white_forbidden_like_shapes ... ok [INFO] [stdout] test eval::global_eval::tests::cached_matches_scan_after_direct_grid_mutation_and_snapshot_restore ... ok [INFO] [stdout] test eval::global_eval::tests::renju_white_wins_when_black_block_is_forbidden ... ok [INFO] [stdout] test eval::local::tests::renju_eval_suppression_matches_detector_on_env_case_file ... ignored, set RENJU_EVAL_SUPPRESSION_CASE_FILE to a JSONL fixture file [INFO] [stdout] test rules::forbidden::tests::invalid_side_is_rejected ... ok [INFO] [stdout] test search::movegen::tests::best_forcing_candidate_ignores_scan_order ... ok [INFO] [stdout] test eval::local::tests::renju_eval_suppression_matches_detector_on_hand_fixtures ... ok [INFO] [stdout] test search::movegen::tests::coverage_tracker_matches_covered_moves_after_play_and_undo ... ok [INFO] [stdout] test rules::forbidden::tests::freestyle_and_white_moves_are_never_forbidden ... ok [INFO] [stdout] test eval::local::tests::renju_incremental_eval_matches_full_recompute_with_suppression ... ok [INFO] [stdout] test board::tests::renju_black_overline_is_illegal_not_win ... ok [INFO] [stdout] test patterns::line::tests::point_shape_reader_matches_full_line_extraction_on_varied_boards ... ok [INFO] [stdout] test rules::forbidden::tests::hand_fixtures_match_oracle_expectations ... ok [INFO] [stdout] test search::ordering::tests::hostile_threat_disables_quiet_history_reordering ... ok [INFO] [stdout] test search::movegen::tests::renju_candidate_diagnostics_match_incremental_and_full_caches ... ok [INFO] [stdout] test search::ordering::tests::fast_history_ordering_uses_quiet_bonus_inside_static_ties ... ok [INFO] [stdout] test threats::threat_board::tests::b4p_does_not_report_incomplete_jump_four_second_five ... ok [INFO] [stdout] test threats::threat_board::tests::renju_fake_black_four_does_not_trigger_vct ... ok [INFO] [stdout] test threats::threat_board::tests::renju_fake_black_four_is_not_a_forcing_threat ... ok [INFO] [stdout] test search::root::tests::renju_fallback_scoring_matches_slowrenju_for_forbidden_and_recursive_cases ... ok [INFO] [stdout] test threats::vcf::tests::renju_vcf_finds_win_through_four_whose_only_block_is_forbidden ... ok [INFO] [stdout] test threats::vct::tests::and_memo_context_diagnostic_detects_same_key_different_attack ... ok [INFO] [stdout] test threats::vct::tests::and_memo_context_diagnostic_detects_shallow_key_reuse_risk ... ok [INFO] [stdout] test threats::vct::tests::vct_four_attack_is_not_refuted_by_defender_counter_open_four ... ok [INFO] [stdout] test threats::vct::tests::vct_open_four_is_not_instant_win_when_defender_answers_with_five ... ok [INFO] [stdout] test app::tests::renju_black_turn_exposes_and_rejects_forbidden_points ... ok [INFO] [stdout] test app::tests::undo_and_profile_switch_keep_controller_consistent ... ok [INFO] [stdout] test search::movegen::tests::forbidden_fixtures_drive_rule_aware_legality_and_movegen ... ok [INFO] [stdout] test app::tests::stale_search_completion_does_not_mutate_new_game ... ok [INFO] [stdout] test rules::forbidden::tests::line_exhaustion_width_9_matches_slow_reference ... ok [INFO] [stdout] test patterns::line::tests::hypothetical_reader_matches_full_line_on_random_and_edge_boards ... ok [INFO] [stdout] test app::tests::engine_search_round_trip_plays_center_for_white_human ... ok [INFO] [stdout] test search::root::tests::renju_vct_verification_ignores_fake_black_forcing ... ok [INFO] [stdout] test threats::threat_board::tests::broken_four_replies_are_real_five_completions ... ok [INFO] [stdout] test search::root::tests::root_search_handles_no_legal_fallback_move_without_panicking ... ok [INFO] [stdout] test threats::threat_board::tests::threat_line_matches_pattern_line_on_random_lines ... ok [INFO] [stdout] test eval::local::tests::renju_snapshot_restore_reverts_caches_including_dt3 ... ok [INFO] [stdout] test search::root::tests::root_win_priority_selects_actual_winning_move_without_vcf_or_vct ... ok [INFO] [stdout] test eval::local::tests::renju_incremental_eval_matches_full_recompute_over_random_sequences ... ok [INFO] [stdout] test rules::forbidden::tests::line_exhaustion_width_11_matches_slow_reference ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 54 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.45s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/case_probe.rs (/opt/rustwide/target/debug/deps/case_probe-6a5a33940d645b53) [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] [stdout] [INFO] [stderr] Running unittests src/bin/diff_probe.rs (/opt/rustwide/target/debug/deps/diff_probe-98d526c0c64ec247) [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] [stderr] Running unittests src/bin/gomocup_engine.rs (/opt/rustwide/target/debug/deps/gomocup_engine-3c4b49aae9822711) [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] [stderr] Running unittests src/bin/gomoku_gui.rs (/opt/rustwide/target/debug/deps/gomoku_gui-f84a734b9cf8ee3e) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test tests::browser_url_rewrites_unspecified_bind_addresses ... ok [INFO] [stdout] test tests::desktop_gui_contains_difficulty_controls_and_result_dialog ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/renju_candidate_probe.rs (/opt/rustwide/target/debug/deps/renju_candidate_probe-bdb6ed542bcee7e9) [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] [stderr] Running unittests src/bin/renju_referee.rs (/opt/rustwide/target/debug/deps/renju_referee-450e388ff88171dd) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test tests::black_exact_five_wins_but_overline_loses ... ok [INFO] [stdout] test tests::cross_double_three_is_illegal_and_white_overline_wins ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/renju_rule_probe.rs (/opt/rustwide/target/debug/deps/renju_rule_probe-7ebef5ddfe4de72e) [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] [stderr] Running tests/alphabeta_alignment.rs (/opt/rustwide/target/debug/deps/alphabeta_alignment-9306af476b1c56fc) [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test rootbonus_corner_mode_still_rewards_near_edge_moves ... ok [INFO] [stdout] test rootbonus_prefers_low_height_moves ... ok [INFO] [stdout] test compute_corner_state_matches_expected_half_corner_cases ... ok [INFO] [stdout] test terminal_score_uses_side_relative_inf_values ... ok [INFO] [stdout] test alphabeta_leaf_matches_expected_sign_convention_on_simple_child_board ... ok [INFO] [stdout] test alphabeta_returns_zero_when_node_limit_stops_at_entry ... ok [INFO] [stdout] test alphabeta_finds_immediate_tactical_win_without_vcf_branch ... ok [INFO] [stderr] Running tests/board_zobrist_alignment.rs (/opt/rustwide/target/debug/deps/board_zobrist_alignment-e82589e7c705a880) [INFO] [stdout] test alphabeta_returns_zero_when_deadline_expires_on_periodic_check ... ok [INFO] [stdout] test alphabeta_matches_expected_mid_ladder_nonroot_score ... ok [INFO] [stdout] test alphabeta_returns_zero_when_deadline_expired_at_entry ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 16 tests [INFO] [stdout] test coordinate_conversion_round_trip ... ok [INFO] [stdout] test diagonal_win_detection ... ok [INFO] [stdout] test horizontal_win_detection ... ok [INFO] [stdout] test play_rejects_occupied_point ... ok [INFO] [stdout] test play_rejects_wrong_side ... ok [INFO] [stdout] test move_encoding_rejects_out_of_range_values ... ok [INFO] [stdout] test full_board_without_five_is_a_draw ... ok [INFO] [stdout] test row_col_helpers_match_xy_helpers ... ok [INFO] [stdout] test same_position_same_hash ... ok [INFO] [stdout] test zobrist_restores_after_undo ... ok [INFO] [stdout] test play_and_undo_restore_state ... ok [INFO] [stdout] test board_replay_reconstructs_position ... ok [INFO] [stdout] test zobrist_changes_after_move ... ok [INFO] [stdout] test hash_tracks_partial_undo_correctly ... ok [INFO] [stdout] test side_to_move_does_not_change_hash_on_same_grid ... ok [INFO] [stderr] Running tests/config_patterns_alignment.rs (/opt/rustwide/target/debug/deps/config_patterns_alignment-acd310f58c42822c) [INFO] [stdout] test board_starts_empty ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 21 tests [INFO] [stdout] test board_size_stays_reference_aligned ... ok [INFO] [stdout] test default_parameter_count ... ok [INFO] [stdout] test engine_profile_parser_accepts_expected_names ... ok [INFO] [stdout] test fast_profile_enables_only_fast_runtime_defaults ... ok [INFO] [stdout] test fixed_search_limits_from_config_match_engine_defaults ... ok [INFO] [stdout] test line_backend_name_is_supported ... ok [INFO] [stdout] test line_a3pb_returns_expected_encoded_targets ... ok [INFO] [stdout] test line_extraction_direction_zero ... ok [INFO] [stdout] test double_shape_table_covers_expected_bucket_range ... ok [INFO] [stdout] test line_shape_raw_matches_shape_wrapper ... ok [INFO] [stdout] test line_shape_returns_nonzero_for_simple_stone ... ok [INFO] [stdout] test packed_shape_decodes_label_and_aux ... ok [INFO] [stdout] test loaded_parameter_adjustments_match_reference ... ok [INFO] [stdout] test parameter_boundaries_match_expected_offsets ... ok [INFO] [stdout] test parameter_slices_have_expected_lengths ... ok [INFO] [stdout] test root_search_defaults_match_engine_defaults ... ok [INFO] [stdout] test shape_labels_match_expected_values ... ok [INFO] [stdout] test runtime_defaults_match_rust_policy ... ok [INFO] [stdout] test timed_search_limits_from_config_match_engine_caps ... ok [INFO] [stdout] test direction_ids_match_expected_order ... ok [INFO] [stdout] test bucket_for_lines_orders_inputs ... ok [INFO] [stderr] Running tests/eval_caches_alignment.rs (/opt/rustwide/target/debug/deps/eval_caches_alignment-017d0ff3f0a9f55a) [INFO] [stdout] [INFO] [stderr] Running tests/eval_global_alignment.rs (/opt/rustwide/target/debug/deps/eval_global_alignment-618db6326b2e17e8) [INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test caches_backend_name_is_supported ... ok [INFO] [stdout] test eval_caches_snapshot_restore_roundtrip ... ok [INFO] [stdout] test eval_caches_reset_restores_zero_state ... ok [INFO] [stdout] test eval_caches_start_with_zeroed_storage ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test global_eval_backend_name_is_supported ... ok [INFO] [stdout] test find_last5_target_preserves_expected_scan_order ... ok [INFO] [stdout] test cached_global_eval_matches_scan_after_incremental_updates ... ok [INFO] [stdout] test global_eval_matches_expected_on_handpicked_positions ... ok [INFO] [stdout] test global_evaluation_prefers_side_with_immediate_five ... ok [INFO] [stdout] test last5_branch_returns_positive_value_for_open_four ... ok [INFO] [stderr] Running tests/eval_local_alignment.rs (/opt/rustwide/target/debug/deps/eval_local_alignment-4caebdc000f4e4fe) [INFO] [stdout] test next43_branch_is_false_on_non_forcing_shape ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 22 tests [INFO] [stdout] test compute_bucket_and_attack_returns_expected_attack_for_five ... ok [INFO] [stdout] test local_backend_name_is_supported ... ok [INFO] [stdout] test compute_direction_shape_matches_cached_horizontal_shape ... ok [INFO] [stdout] test incremental_value_wide_matches_full_recompute ... ok [INFO] [stdout] test recompute_all_does_not_write_value_log ... ok [INFO] [stdout] test recompute_point_caches_finds_black_five_threat ... ok [INFO] [stdout] test shape_cache_contains_valid_labels_for_empty_point ... ok [INFO] [stderr] Running tests/movegen_alignment.rs (/opt/rustwide/target/debug/deps/movegen_alignment-119b3a551d097aba) [INFO] [stdout] test global_eval_cache_invariants_survive_play_undo_and_snapshots ... ok [INFO] [stdout] test nested_snapshots_restore_shape_cache_in_lifo_order ... ok [INFO] [stdout] test double_snapshot_restores_independently ... ok [INFO] [stdout] test restore_snapshot_reverts_value_and_attack_caches ... ok [INFO] [stdout] test snapshot_value_log_len_field_is_recorded ... ok [INFO] [stdout] test value_log_cleared_on_reset ... ok [INFO] [stdout] test value_log_empty_on_fresh_caches ... ok [INFO] [stdout] test value_log_grows_after_snapshot_and_play ... ok [INFO] [stdout] test value_log_not_written_without_active_snapshot ... ok [INFO] [stdout] test value_wide_matches_expected_on_handpicked_points ... ok [INFO] [stdout] test value_wide_compute_matches_full_recompute_after_multiple_steps ... ok [INFO] [stdout] test value_wide_compute_roundtrip_after_play_and_undo ... ok [INFO] [stdout] test value_wide_incremental_snapshots_match_expected_sequence ... ok [INFO] [stdout] test move_value_uses_attack_and_defend_tables ... ok [INFO] [stdout] test recompute_all_populates_board_shadow_from_board ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test covered_moves_returns_center_on_empty_board ... ok [INFO] [stdout] test covered_moves_uses_expected_template ... ok [INFO] [stdout] test generate_candidates_hard_filters_root_allowed_moves ... ok [INFO] [stdout] test generate_candidates_injects_preferred_move_score ... ok [INFO] [stdout] test generate_candidates_matches_expected_casen_on_known_fallback_position ... ok [INFO] [stdout] test hostile_three_extension_matches_expected_bonus_on_known_fallback_position ... ok [INFO] [stdout] test movegen_backend_name_is_supported ... ok [INFO] [stderr] Running tests/ordering_alignment.rs (/opt/rustwide/target/debug/deps/ordering_alignment-03b7d83ed23d0e80) [INFO] [stdout] test generate_candidates_collapses_single_forcing_class ... 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 5 tests [INFO] [stdout] test getmi_matches_reference_blocking_pattern ... ok [INFO] [stdout] test order_candidates_matches_eager_getmi_reference_across_ties ... ok [INFO] [stdout] test order_candidates_matches_reference_tuple_sort ... ok [INFO] [stdout] test order_candidates_root_classic_matches_reference_selection_sort ... ok [INFO] [stdout] test ordering_backend_name_is_supported ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Running tests/protocol_alignment.rs (/opt/rustwide/target/debug/deps/protocol_alignment-b1668513a04840dc) [INFO] [stdout] running 51 tests [INFO] [stdout] test protocol_accepts_valid_info_after_correcting_a_rejected_value ... ok [INFO] [stdout] test protocol_about_returns_metadata ... ok [INFO] [stdout] test protocol_board_mode_rejects_non_numeric_triplet ... ok [INFO] [stdout] test protocol_board_mode_rejects_out_of_range_coordinates ... ok [INFO] [stdout] test protocol_end_marks_protocol_ended ... ok [INFO] [stdout] test protocol_info_compute_vcf_updates_runtime ... ok [INFO] [stdout] test protocol_info_dynamic_board_margin_negative_clamps_to_zero ... ok [INFO] [stdout] test protocol_info_compute_vct_updates_runtime ... ok [INFO] [stdout] test protocol_info_dynamic_board_margin_updates_runtime ... ok [INFO] [stdout] test protocol_explicit_search_limits_keep_depth_width_under_time_control ... ok [INFO] [stdout] test protocol_info_non_finite_time_values_are_ignored ... ok [INFO] [stdout] test protocol_info_overlap_vct_alphabeta_updates_runtime ... ok [INFO] [stdout] test protocol_info_profile_updates_config_profile ... ok [INFO] [stdout] test protocol_info_root_profile_updates_runtime ... ok [INFO] [stdout] test protocol_info_root_vct_depth_negative_clamps_to_zero ... ok [INFO] [stdout] test protocol_info_invalid_numeric_values_are_ignored ... ok [INFO] [stdout] test protocol_info_tt_bits_updates_engine_option ... ok [INFO] [stdout] test protocol_info_max_node_zero_means_unlimited ... ok [INFO] [stdout] test protocol_info_negative_time_values_are_ignored ... ok [INFO] [stdout] test protocol_info_root_vct_depth_updates_runtime ... ok [INFO] [stdout] test protocol_info_static_updates_runtime ... ok [INFO] [stdout] test protocol_info_timeout_match_zero_matches_expected_large_default ... ok [INFO] [stdout] test protocol_info_timeout_turn_zero_matches_expected_floor ... ok [INFO] [stdout] test protocol_info_vcf_multi_reply_updates_runtime ... ok [INFO] [stdout] test protocol_rectstart_rejects_non_numeric_size ... ok [INFO] [stdout] test protocol_rejects_unsafe_tt_bits_and_time_limits_without_panicking ... ok [INFO] [stdout] test protocol_start_rejects_other_sizes ... ok [INFO] [stdout] test protocol_start_accepts_15 ... ok [INFO] [stdout] test protocol_time_control_uses_timed_search_caps ... ok [INFO] [stdout] test protocol_reports_a_full_draw_board_without_entering_search ... ok [INFO] [stdout] test protocol_info_nonroot_vcf_updates_runtime ... ok [INFO] [stdout] test protocol_start_rejects_non_numeric_size ... ok [INFO] [stdout] test protocol_turn_rejects_non_numeric_coordinates ... ok [INFO] [stdout] test protocol_info_fast_history_ordering_updates_runtime ... ok [INFO] [stdout] test protocol_unknown_command_returns_unknown ... ok [INFO] [stdout] test protocol_turn_rejects_renju_forbidden_black_move ... ok [INFO] [stdout] test protocol_without_time_control_uses_fixed_search_defaults ... ok [INFO] [stdout] test protocol_info_vcf_depths_update_runtime ... ok [INFO] [stdout] test protocol_turn_rejects_out_of_range_coordinates ... ok [INFO] [stdout] test protocol_info_vct_strict_and_memo_key_updates_runtime ... ok [INFO] [stdout] test protocol_board_sfn_equals_opn_minus_one_plays_as_white ... ok [INFO] [stdout] test protocol_takeback_rejects_empty_or_mismatched_coordinates ... ok [INFO] [stdout] test protocol_board_mode_reconstructs_interleaved_color_order_as_expected ... ok [INFO] [stdout] test protocol_begin_returns_center_move ... ok [INFO] [stdout] test protocol_info_rule_updates_only_before_game_start ... ok [INFO] [stdout] test protocol_board_mode_reconstructs_position ... ok [INFO] [stdout] test protocol_info_rule_accepts_standard_start_then_rule_flow ... ok [INFO] [stdout] test protocol_takeback_undoes_last_move ... ok [INFO] [stdout] test protocol_root_profile_emits_messages_before_move_when_enabled ... ok [INFO] [stdout] test protocol_turn_rejects_illegal_repeat_move ... ok [INFO] [stdout] test protocol_turn_returns_move ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 51 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s [INFO] [stdout] [INFO] [stderr] Running tests/renju_perf.rs (/opt/rustwide/target/debug/deps/renju_perf-fc806afce6632d82) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test perf_legality_gate ... ignored, performance probe; run with --ignored --release [INFO] [stdout] test perf_movegen_node ... ignored, performance probe; run with --ignored --release [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/renju_rule_integration.rs (/opt/rustwide/target/debug/deps/renju_rule_integration-f6e001b9ea04226e) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test rule_aware_legal_move_keeps_freestyle_default_and_filters_renju_black ... ok [INFO] [stdout] test movegen_filters_renju_black_forbidden_moves ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/renju_search_bench.rs (/opt/rustwide/target/debug/deps/renju_search_bench-5520b2b599fb0c2b) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test search_baseline_fixed_positions ... ignored, performance baseline; run with --ignored --release [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/root_alignment.rs (/opt/rustwide/target/debug/deps/root_alignment-7b4dec16d096de65) [INFO] [stdout] [INFO] [stdout] running 28 tests [INFO] [stdout] test classic_fallback_rng_matches_white_10_10_sequence ... ok [INFO] [stdout] test root_search_matches_expected_one_move_reply ... ok [INFO] [stdout] test checked_root_search_rejects_terminal_positions ... ok [INFO] [stdout] test root_search_returns_center_on_empty_board ... ok [INFO] [stdout] test root_search_reports_completed_depth_without_overshooting_limit ... ok [INFO] [stdout] test renju_root_vcf_rejects_overline_completion ... ok [INFO] [stdout] test root_search_invalid_library_time_limit_fails_closed_without_panicking ... ok [INFO] [stdout] test root_allowed_moves_expand_to_square_window_like_current_engine ... ok [INFO] [stdout] test root_search_prefers_vcf_first_when_available ... ok [INFO] [stdout] test root_search_finds_immediate_winning_completion ... ok [INFO] [stdout] test root_allowed_moves_use_dynamic_board_margin_when_enabled ... ok [INFO] [stdout] test root_search_returns_legal_move_under_node_limit ... ok [INFO] [stdout] test root_search_matches_expected_value_on_simple_tt_alpha_seed ... ok [INFO] [stdout] test root_overlap_vct_alphabeta_keeps_accepted_vct_priority ... ok [INFO] [stdout] test root_search_with_none_time_limit_matches_limit_free_search ... ok [INFO] [stdout] test root_vct_not_triggered_on_quiet_position ... ok [INFO] [stdout] test root_searcher_and_alphabeta_share_tt_storage ... ok [INFO] [stdout] test root_vct_not_triggered_when_disabled ... ok [INFO] [stdout] test root_vct_triggered_and_accepted_on_dual_a3_win ... ok [INFO] [stdout] test root_search_uses_classic_ais_fallback_when_root_move_is_missing ... ok [INFO] [stdout] test root_vct_verification_accepts_explicit_side_without_panic ... ok [INFO] [stdout] test root_vct_verification_rejects_opponent_counter ... ok [INFO] [stdout] test root_vct_verification_rejects_invalid_side_without_panic ... ok [INFO] [stdout] test root_search_matches_classic_opening_10_4_depth6_width15 ... ok [INFO] [stdout] test root_vct_triggered_but_finds_no_win ... ok [INFO] [stdout] test root_overlap_vct_alphabeta_matches_serial_when_vct_misses ... ok [INFO] [stdout] test root_search_handles_vcf_reply_that_decodes_to_occupied_point ... ok [INFO] [stdout] test renju_root_vct_engages_and_avoids_forbidden_double_four ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.56s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 19 tests [INFO] [stdout] test tt_alpha_entry_returns_unknown_with_best_move_when_no_cut ... ok [INFO] [stdout] test tt_beta_entry_alpha_already_above_value_keeps_alpha ... ok [INFO] [stdout] test tt_alpha_entry_can_shrink_window ... ok [INFO] [stdout] test tt_bucket_returns_stored_entries_for_masked_slot ... ok [INFO] [stdout] test tt_fork_snapshot_copies_entries_without_sharing_storage ... ok [INFO] [stdout] test tt_beta_entry_narrows_alpha_window_when_no_cut ... ok [INFO] [stdout] test tt_prefers_second_slot_when_first_has_higher_priority ... ok [INFO] [stdout] test tt_higher_priority_third_store_replaces_first_slot ... ok [INFO] [stdout] test tt_probe_leaves_empty_bucket_unchanged ... ok [INFO] [stdout] test tt_exact_hit_returns_value_and_best_move ... ok [INFO] [stdout] test tt_rejects_unsafe_bucket_bits ... ok [INFO] [stdout] test tt_second_slot_checked_when_first_has_insufficient_depth ... ok [INFO] [stdout] test tt_clone_shares_storage ... ok [INFO] [stdout] test tt_third_store_in_same_slot_replaces_second_slot_only ... ok [INFO] [stderr] Running tests/tt_alignment.rs (/opt/rustwide/target/debug/deps/tt_alignment-f32830a4ebaa529a) [INFO] [stdout] test tt_probe_reports_best_move_generation_metadata ... ok [INFO] [stdout] test tt_beta_entry_cuts_when_value_exceeds_beta ... ok [INFO] [stdout] test tt_probe_does_not_create_bucket_for_miss_in_existing_slot ... ok [INFO] [stdout] test tt_default_bucket_bits_match_reference ... ok [INFO] [stdout] test tt_allocates_fixed_bucket_count ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s [INFO] [stdout] [INFO] [stderr] Running tests/vcf_alignment.rs (/opt/rustwide/target/debug/deps/vcf_alignment-0b530a3476193149) [INFO] [stdout] [INFO] [stdout] running 22 tests [INFO] [stdout] test broken_four_legal_replies_collects_both_open_four_ends ... ok [INFO] [stdout] test broken_four_legal_replies_collects_split_bridge_completions ... ok [INFO] [stdout] test broken_four_reply_ignores_occupied_bridge_point ... ok [INFO] [stdout] test forcing_threat_moves_detect_broken_four_continuations ... ok [INFO] [stdout] test broken_four_reply_skips_occupied_composite_primary ... ok [INFO] [stdout] test renju_vcf_rejects_overline_attacker_win ... ok [INFO] [stdout] test threat_board_view_reports_direct_b4_point_for_side ... ok [INFO] [stdout] test renju_vcf_does_not_return_double_four_attacker_move ... ok [INFO] [stdout] test renju_vcf_white_wins_when_black_only_reply_is_forbidden ... ok [INFO] [stdout] test threat_moves_follow_expected_xy_scan_order ... ok [INFO] [stdout] test threat_moves_only_expand_from_current_side_stones ... ok [INFO] [stdout] test threat_moves_use_expected_vcf_offsets ... ok [INFO] [stdout] test vcf_begin_depth_is_capped_as_expected ... ok [INFO] [stdout] test vcf_begin_result_mapping_matches_expected_on_found_position ... ok [INFO] [stdout] test vcf_search_can_report_solved_negative ... ok [INFO] [stdout] test vcf_search_finds_immediate_forcing_threat ... ok [INFO] [stdout] test vcf_search_reports_inconclusive_at_zero_depth ... ok [INFO] [stdout] test vcf_search_with_multi_reply_restores_previous_mode ... ok [INFO] [stdout] test broken_four_reply_wrapper_matches_view ... ok [INFO] [stdout] test vcf_sequence_key_is_order_invariant_within_side_lists ... ok [INFO] [stdout] test winning_threat_moves_detect_open_four_creation ... ok [INFO] [stdout] test renju_vcf_does_not_return_double_three_attacker_move ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/vct_alignment.rs (/opt/rustwide/target/debug/deps/vct_alignment-04fcf467f4f4809a) [INFO] [stdout] [INFO] [stdout] running 20 tests [INFO] [stdout] test has_vct_trigger_is_true_on_b4_position ... ok [INFO] [stdout] test has_vct_trigger_is_false_on_quiet_position ... ok [INFO] [stdout] test has_vct_trigger_is_true_on_dual_a3 ... ok [INFO] [stdout] test a3_defenses_include_future_open_four_endpoints ... ok [INFO] [stdout] test nested_a3r_count_restores_threat_board_view_state ... ok [INFO] [stdout] test renju_classify_demotes_black_overline_four ... ok [INFO] [stdout] test renju_classify_rejects_fake_open_three ... ok [INFO] [stdout] test renju_classify_promotes_white_four_when_black_block_forbidden ... ok [INFO] [stdout] test renju_forcing_threats_filter_forbidden_black_moves ... ok [INFO] [stdout] test renju_vct_white_wins_when_black_block_forbidden ... ok [INFO] [stdout] test renju_white_a3_with_all_black_defenses_forbidden_stays_a3 ... ok [INFO] [stdout] test vct_returns_solved_on_terminal_board ... ok [INFO] [stdout] test vct_returns_not_found_on_depth_zero ... ok [INFO] [stdout] test dual_a3_win_is_found_by_vct_but_not_vcf ... ok [INFO] [stdout] test vct_iterative_deepening_returns_early_on_find ... ok [INFO] [stdout] test vct_memo_is_cleared_between_calls ... ok [INFO] [stdout] test vct_reports_no_win_when_defender_survives ... ok [INFO] [stdout] test renju_vct6_fails_after_quiet_endpoint_refutation ... ok [INFO] [stdout] test renju_vct_does_not_return_forbidden_double_four ... ok [INFO] [stdout] test renju_vct6_rejects_a3_quiet_endpoint_false_positive ... ok [INFO] [stderr] Running tests/vct_stats_baseline.rs (/opt/rustwide/target/debug/deps/vct_stats_baseline-8508dc9db2cbe0b7) [INFO] [stdout] [INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.39s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test vct_stats_baseline ... ignored, VCT stats baseline; run with --ignored --nocapture and VCT_STATS_CASES set [INFO] [stderr] Doc-tests rust_gomoku [INFO] [stdout] test threat_moves_incremental_matches_full_rescan ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 1.23s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "dcec95991529a8e7aae667c59f7c6dee469bb31b004588934c784299a2a7351f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dcec95991529a8e7aae667c59f7c6dee469bb31b004588934c784299a2a7351f", kill_on_drop: false }` [INFO] [stdout] dcec95991529a8e7aae667c59f7c6dee469bb31b004588934c784299a2a7351f