[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] 74e22f899f24a0a1c5e9c18af1471f8068d7eddd
[INFO] testing chubbyk-uu/rust-gomoku against 1.98.0-beta.1 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchubbyk-uu%2Frust-gomoku" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/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-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/chubbyk-uu/rust-gomoku on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "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.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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] 70ce4864208f7a3ad7acad28dba7f8baf63cf2fa1abc58c9c43377f16194a6da
[INFO] running `Command { std: "docker" "start" "70ce4864208f7a3ad7acad28dba7f8baf63cf2fa1abc58c9c43377f16194a6da", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "70ce4864208f7a3ad7acad28dba7f8baf63cf2fa1abc58c9c43377f16194a6da", 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" "70ce4864208f7a3ad7acad28dba7f8baf63cf2fa1abc58c9c43377f16194a6da" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "70ce4864208f7a3ad7acad28dba7f8baf63cf2fa1abc58c9c43377f16194a6da", 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" "70ce4864208f7a3ad7acad28dba7f8baf63cf2fa1abc58c9c43377f16194a6da" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "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 itoa v1.0.18
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling serde_json v1.0.149
[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.9 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.89s
[INFO] running `Command { std: "docker" "inspect" "70ce4864208f7a3ad7acad28dba7f8baf63cf2fa1abc58c9c43377f16194a6da", 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" "70ce4864208f7a3ad7acad28dba7f8baf63cf2fa1abc58c9c43377f16194a6da" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling rust_gomoku v0.1.9 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [optimized + debuginfo] target(s) in 40.07s
[INFO] running `Command { std: "docker" "inspect" "70ce4864208f7a3ad7acad28dba7f8baf63cf2fa1abc58c9c43377f16194a6da", 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" "70ce4864208f7a3ad7acad28dba7f8baf63cf2fa1abc58c9c43377f16194a6da" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [optimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rust_gomoku-6a0caf09ca70edfc)
[INFO] [stdout] 
[INFO] [stdout] running 55 tests
[INFO] [stdout] test app::tests::difficulty_presets_update_search_and_tactical_settings ... ok
[INFO] [stdout] test app::tests::invalid_human_side_does_not_reset_the_game ... ok
[INFO] [stdout] test app::tests::two_player_alternates_without_engine_and_reports_mode ... ok
[INFO] [stdout] test app::tests::two_player_declares_the_winning_side ... ok
[INFO] [stdout] test app::tests::renju_black_turn_exposes_and_rejects_forbidden_points ... ok
[INFO] [stdout] test app::tests::stale_search_completion_does_not_mutate_new_game ... ok
[INFO] [stdout] test app::tests::two_player_undo_reverts_single_ply ... ok
[INFO] [stdout] test app::tests::two_player_renju_exposes_and_rejects_black_forbidden_points ... ok
[INFO] [stdout] test board::tests::assumed_rule_legal_play_skips_forbidden_check_but_keeps_renju_winner_semantics ... ok
[INFO] [stdout] test board::tests::renju_black_exact_five_wins ... ok
[INFO] [stdout] test board::tests::renju_black_overline_is_illegal_not_win ... ok
[INFO] [stdout] test board::tests::freestyle_black_overline_still_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_black_eval_keeps_exact_five_priority ... 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 eval::local::tests::renju_eval_does_not_suppress_white_forbidden_like_shapes ... ok
[INFO] [stdout] test app::tests::undo_and_profile_switch_keep_controller_consistent ... ok
[INFO] [stdout] test eval::global_eval::tests::cached_matches_scan_after_direct_grid_mutation_and_snapshot_restore ... ok
[INFO] [stdout] test eval::local::tests::renju_eval_suppression_matches_detector_on_hand_fixtures ... ok
[INFO] [stdout] test eval::global_eval::tests::renju_white_wins_when_black_block_is_forbidden ... ok
[INFO] [stdout] test eval::local::tests::renju_black_eval_suppresses_forbidden_points ... ok
[INFO] [stdout] test app::tests::freestyle_and_white_turn_do_not_expose_forbidden_points ... ok
[INFO] [stdout] test board::tests::renju_white_overline_wins ... ok
[INFO] [stdout] test search::movegen::tests::coverage_tracker_matches_covered_moves_after_play_and_undo ... ok
[INFO] [stdout] test eval::local::tests::renju_incremental_eval_matches_full_recompute_with_suppression ... ok
[INFO] [stdout] test app::tests::engine_search_round_trip_plays_center_for_white_human ... ok
[INFO] [stdout] test rules::forbidden::tests::invalid_side_is_rejected ... ok
[INFO] [stdout] test rules::forbidden::tests::freestyle_and_white_moves_are_never_forbidden ... ok
[INFO] [stdout] test patterns::line::tests::point_shape_reader_matches_full_line_extraction_on_varied_boards ... ok
[INFO] [stdout] test app::tests::difficulty_switch_is_rejected_while_searching ... ok
[INFO] [stdout] test rules::forbidden::tests::hand_fixtures_match_oracle_expectations ... ok
[INFO] [stdout] test search::ordering::tests::fast_history_ordering_uses_quiet_bonus_inside_static_ties ... ok
[INFO] [stdout] test search::ordering::tests::hostile_threat_disables_quiet_history_reordering ... ok
[INFO] [stdout] test search::root::tests::root_win_priority_selects_actual_winning_move_without_vcf_or_vct ... ok
[INFO] [stdout] test search::root::tests::renju_fallback_scoring_matches_slowrenju_for_forbidden_and_recursive_cases ... ok
[INFO] [stdout] test search::movegen::tests::renju_candidate_diagnostics_match_incremental_and_full_caches ... 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 threats::vct::tests::and_memo_context_diagnostic_detects_same_key_different_attack ... ok
[INFO] [stdout] test threats::vct::tests::vct_open_four_is_not_instant_win_when_defender_answers_with_five ... 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::vct_four_attack_is_not_refuted_by_defender_counter_open_four ... ok
[INFO] [stdout] test search::movegen::tests::forbidden_fixtures_drive_rule_aware_legality_and_movegen ... ok
[INFO] [stdout] test search::root::tests::renju_vct_verification_ignores_fake_black_forcing ... ok
[INFO] [stdout] test threats::threat_board::tests::b4p_does_not_report_incomplete_jump_four_second_five ... ok
[INFO] [stdout] test search::root::tests::root_search_handles_no_legal_fallback_move_without_panicking ... ok
[INFO] [stdout] test eval::local::tests::renju_snapshot_restore_reverts_caches_including_dt3 ... ok
[INFO] [stdout] test patterns::line::tests::hypothetical_reader_matches_full_line_on_random_and_edge_boards ... ok
[INFO] [stdout] test rules::forbidden::tests::line_exhaustion_width_9_matches_slow_reference ... ok
[INFO] [stdout] test search::movegen::tests::best_forcing_candidate_ignores_scan_order ... ok
[INFO] [stdout] test threats::vct::tests::and_memo_context_diagnostic_detects_shallow_key_reuse_risk ... ok
[INFO] [stdout] test threats::threat_board::tests::broken_four_replies_are_real_five_completions ... ok
[INFO] [stdout] test threats::threat_board::tests::threat_line_matches_pattern_line_on_random_lines ... ok
[INFO] [stdout] test rules::forbidden::tests::line_exhaustion_width_11_matches_slow_reference ... ok
[INFO] [stdout] test eval::local::tests::renju_incremental_eval_matches_full_recompute_over_random_sequences ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 54 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.34s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/case_probe.rs (/opt/rustwide/target/debug/deps/case_probe-3521a86707698f37)
[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/diff_probe.rs (/opt/rustwide/target/debug/deps/diff_probe-b9523ce697461d56)
[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/gomocup_engine.rs (/opt/rustwide/target/debug/deps/gomocup_engine-d6bb1f69fe77856d)
[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-5a116cea1c577d6b)
[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-f75daef1b415f85d)
[INFO] [stderr]      Running unittests src/bin/renju_referee.rs (/opt/rustwide/target/debug/deps/renju_referee-e6293ae7dede87cb)
[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] [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-44f12e06413eb7ad)
[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-1a44a76eb728256b)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test alphabeta_returns_zero_when_deadline_expired_at_entry ... ok
[INFO] [stdout] test alphabeta_finds_immediate_tactical_win_without_vcf_branch ... ok
[INFO] [stdout] test terminal_score_uses_side_relative_inf_values ... ok
[INFO] [stdout] test alphabeta_returns_zero_when_deadline_expires_on_periodic_check ... ok
[INFO] [stdout] test alphabeta_leaf_matches_expected_sign_convention_on_simple_child_board ... ok
[INFO] [stdout] test rootbonus_corner_mode_still_rewards_near_edge_moves ... ok
[INFO] [stdout] test compute_corner_state_matches_expected_half_corner_cases ... ok
[INFO] [stdout] test rootbonus_prefers_low_height_moves ... ok
[INFO] [stdout] test alphabeta_returns_zero_when_node_limit_stops_at_entry ... ok
[INFO] [stdout] test alphabeta_matches_expected_mid_ladder_nonroot_score ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/board_zobrist_alignment.rs (/opt/rustwide/target/debug/deps/board_zobrist_alignment-391b5e374e06d0c8)
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test board_replay_reconstructs_position ... ok
[INFO] [stdout] test board_starts_empty ... ok
[INFO] [stdout] test diagonal_win_detection ... ok
[INFO] [stdout] test hash_tracks_partial_undo_correctly ... ok
[INFO] [stdout] test horizontal_win_detection ... ok
[INFO] [stdout] test coordinate_conversion_round_trip ... ok
[INFO] [stdout] test play_and_undo_restore_state ... ok
[INFO] [stdout] test play_rejects_occupied_point ... ok
[INFO] [stdout] test move_encoding_rejects_out_of_range_values ... ok
[INFO] [stdout] test row_col_helpers_match_xy_helpers ... ok
[INFO] [stdout] test play_rejects_wrong_side ... ok
[INFO] [stdout] test same_position_same_hash ... ok
[INFO] [stdout] test side_to_move_does_not_change_hash_on_same_grid ... ok
[INFO] [stdout] test zobrist_changes_after_move ... ok
[INFO] [stdout] test zobrist_restores_after_undo ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/config_patterns_alignment.rs (/opt/rustwide/target/debug/deps/config_patterns_alignment-5e559e1afe64d5ea)
[INFO] [stdout] 
[INFO] [stdout] running 21 tests
[INFO] [stdout] test board_size_stays_reference_aligned ... ok
[INFO] [stdout] test bucket_for_lines_orders_inputs ... ok
[INFO] [stdout] test default_parameter_count ... ok
[INFO] [stdout] test direction_ids_match_expected_order ... ok
[INFO] [stdout] test engine_profile_parser_accepts_expected_names ... ok
[INFO] [stdout] test double_shape_table_covers_expected_bucket_range ... 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_a3pb_returns_expected_encoded_targets ... ok
[INFO] [stdout] test line_backend_name_is_supported ... ok
[INFO] [stdout] test loaded_parameter_adjustments_match_reference ... ok
[INFO] [stdout] test line_extraction_direction_zero ... ok
[INFO] [stdout] test parameter_slices_have_expected_lengths ... ok
[INFO] [stdout] test parameter_boundaries_match_expected_offsets ... ok
[INFO] [stdout] test packed_shape_decodes_label_and_aux ... ok
[INFO] [stdout] test root_search_defaults_match_engine_defaults ... ok
[INFO] [stdout] test runtime_defaults_match_rust_policy ... ok
[INFO] [stderr]      Running tests/eval_caches_alignment.rs (/opt/rustwide/target/debug/deps/eval_caches_alignment-bef99a030872f0e6)
[INFO] [stdout] test line_shape_returns_nonzero_for_simple_stone ... ok
[INFO] [stdout] test line_shape_raw_matches_shape_wrapper ... ok
[INFO] [stdout] test shape_labels_match_expected_values ... ok
[INFO] [stdout] test timed_search_limits_from_config_match_engine_caps ... 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 4 tests
[INFO] [stdout] test caches_backend_name_is_supported ... ok
[INFO] [stdout] test eval_caches_start_with_zeroed_storage ... ok
[INFO] [stdout] test eval_caches_reset_restores_zero_state ... ok
[INFO] [stdout] test eval_caches_snapshot_restore_roundtrip ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/eval_global_alignment.rs (/opt/rustwide/target/debug/deps/eval_global_alignment-8b2b3db12edeb3a0)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test global_eval_backend_name_is_supported ... ok
[INFO] [stdout] test next43_branch_is_false_on_non_forcing_shape ... ok
[INFO] [stdout] test cached_global_eval_matches_scan_after_incremental_updates ... ok
[INFO] [stdout] test find_last5_target_preserves_expected_scan_order ... ok
[INFO] [stdout] test global_evaluation_prefers_side_with_immediate_five ... ok
[INFO] [stdout] test global_eval_matches_expected_on_handpicked_positions ... ok
[INFO] [stdout] test last5_branch_returns_positive_value_for_open_four ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/eval_local_alignment.rs (/opt/rustwide/target/debug/deps/eval_local_alignment-8888e5410a3b7f07)
[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 incremental_value_wide_matches_full_recompute ... ok
[INFO] [stdout] test global_eval_cache_invariants_survive_play_undo_and_snapshots ... ok
[INFO] [stdout] test recompute_all_does_not_write_value_log ... 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] test nested_snapshots_restore_shape_cache_in_lifo_order ... ok
[INFO] [stdout] test recompute_point_caches_finds_black_five_threat ... 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_empty_on_fresh_caches ... 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 value_wide_matches_expected_on_handpicked_points ... ok
[INFO] [stdout] test value_log_not_written_without_active_snapshot ... ok
[INFO] [stdout] test value_log_cleared_on_reset ... ok
[INFO] [stdout] test shape_cache_contains_valid_labels_for_empty_point ... ok
[INFO] [stdout] test value_log_grows_after_snapshot_and_play ... ok
[INFO] [stdout] test value_wide_compute_matches_full_recompute_after_multiple_steps ... ok
[INFO] [stdout] test compute_direction_shape_matches_cached_horizontal_shape ... ok
[INFO] [stdout] test double_snapshot_restores_independently ... 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/movegen_alignment.rs (/opt/rustwide/target/debug/deps/movegen_alignment-e2d0649bd3f66cba)
[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 movegen_backend_name_is_supported ... ok
[INFO] [stdout] test generate_candidates_injects_preferred_move_score ... ok
[INFO] [stdout] test generate_candidates_collapses_single_forcing_class ... ok
[INFO] [stdout] test generate_candidates_hard_filters_root_allowed_moves ... ok
[INFO] [stdout] test hostile_three_extension_matches_expected_bonus_on_known_fallback_position ... ok
[INFO] [stdout] test generate_candidates_matches_expected_casen_on_known_fallback_position ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/ordering_alignment.rs (/opt/rustwide/target/debug/deps/ordering_alignment-5f314423f2e12a4c)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test getmi_matches_reference_blocking_pattern ... 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 order_candidates_matches_eager_getmi_reference_across_ties ... 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.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/protocol_alignment.rs (/opt/rustwide/target/debug/deps/protocol_alignment-1f5893c46e79472e)
[INFO] [stdout] 
[INFO] [stdout] running 48 tests
[INFO] [stdout] test protocol_about_returns_metadata ... ok
[INFO] [stdout] test protocol_begin_returns_center_move ... ok
[INFO] [stdout] test protocol_board_mode_rejects_non_numeric_triplet ... ok
[INFO] [stdout] test protocol_end_marks_protocol_ended ... ok
[INFO] [stdout] test protocol_board_mode_rejects_out_of_range_coordinates ... ok
[INFO] [stdout] test protocol_explicit_search_limits_keep_depth_width_under_time_control ... ok
[INFO] [stdout] test protocol_info_compute_vct_updates_runtime ... ok
[INFO] [stdout] test protocol_board_mode_reconstructs_position ... ok
[INFO] [stdout] test protocol_board_sfn_equals_opn_minus_one_plays_as_white ... ok
[INFO] [stdout] test protocol_board_mode_reconstructs_interleaved_color_order_as_expected ... ok
[INFO] [stdout] test protocol_info_fast_history_ordering_updates_runtime ... ok
[INFO] [stdout] test protocol_info_dynamic_board_margin_updates_runtime ... ok
[INFO] [stdout] test protocol_info_dynamic_board_margin_negative_clamps_to_zero ... ok
[INFO] [stdout] test protocol_info_invalid_numeric_values_are_ignored ... ok
[INFO] [stdout] test protocol_info_compute_vcf_updates_runtime ... 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_overlap_vct_alphabeta_updates_runtime ... ok
[INFO] [stdout] test protocol_info_profile_updates_config_profile ... ok
[INFO] [stdout] test protocol_info_root_vct_depth_negative_clamps_to_zero ... 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_rule_updates_only_before_game_start ... ok
[INFO] [stdout] test protocol_info_non_finite_time_values_are_ignored ... ok
[INFO] [stdout] test protocol_info_rule_accepts_standard_start_then_rule_flow ... ok
[INFO] [stdout] test protocol_info_timeout_turn_zero_matches_expected_floor ... ok
[INFO] [stdout] test protocol_info_root_profile_updates_runtime ... ok
[INFO] [stdout] test protocol_info_tt_bits_updates_engine_option ... ok
[INFO] [stdout] test protocol_info_timeout_match_zero_matches_expected_large_default ... ok
[INFO] [stdout] test protocol_info_vcf_multi_reply_updates_runtime ... ok
[INFO] [stdout] test protocol_info_vct_strict_and_memo_key_updates_runtime ... ok
[INFO] [stdout] test protocol_info_nonroot_vcf_updates_runtime ... ok
[INFO] [stdout] test protocol_info_vcf_depths_update_runtime ... ok
[INFO] [stdout] test protocol_start_accepts_15 ... ok
[INFO] [stdout] test protocol_rectstart_rejects_non_numeric_size ... ok
[INFO] [stdout] test protocol_start_rejects_non_numeric_size ... ok
[INFO] [stdout] test protocol_takeback_on_empty_board_returns_ok ... ok
[INFO] [stdout] test protocol_time_control_uses_timed_search_caps ... ok
[INFO] [stdout] test protocol_start_rejects_other_sizes ... ok
[INFO] [stdout] test protocol_turn_rejects_non_numeric_coordinates ... ok
[INFO] [stderr]      Running tests/renju_perf.rs (/opt/rustwide/target/debug/deps/renju_perf-9295f085c884b69b)
[INFO] [stdout] test protocol_turn_rejects_out_of_range_coordinates ... ok
[INFO] [stderr]      Running tests/renju_rule_integration.rs (/opt/rustwide/target/debug/deps/renju_rule_integration-57df734f34f47bc6)
[INFO] [stdout] test protocol_root_profile_emits_messages_before_move_when_enabled ... ok
[INFO] [stdout] test protocol_turn_rejects_renju_forbidden_black_move ... ok
[INFO] [stdout] test protocol_unknown_command_silently_ignored_as_expected ... ok
[INFO] [stdout] test protocol_turn_returns_move ... ok
[INFO] [stdout] test protocol_without_time_control_uses_fixed_search_defaults ... ok
[INFO] [stdout] test protocol_turn_rejects_illegal_repeat_move ... ok
[INFO] [stdout] test protocol_takeback_undoes_last_move ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 48 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[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] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test rule_aware_legal_move_keeps_freestyle_default_and_filters_renju_black ... ok
[INFO] [stderr]      Running tests/renju_search_bench.rs (/opt/rustwide/target/debug/deps/renju_search_bench-b28af442e716be57)
[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] [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-9e636a507ce4c692)
[INFO] [stdout] 
[INFO] [stdout] running 26 tests
[INFO] [stdout] test root_allowed_moves_expand_to_square_window_like_current_engine ... ok
[INFO] [stdout] test classic_fallback_rng_matches_white_10_10_sequence ... ok
[INFO] [stdout] test root_allowed_moves_use_dynamic_board_margin_when_enabled ... ok
[INFO] [stdout] test root_searcher_and_alphabeta_share_tt_storage ... ok
[INFO] [stdout] test root_search_returns_center_on_empty_board ... ok
[INFO] [stdout] test root_search_returns_legal_move_under_node_limit ... 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 renju_root_vcf_rejects_overline_completion ... ok
[INFO] [stdout] test root_search_matches_expected_value_on_simple_tt_alpha_seed ... ok
[INFO] [stdout] test root_search_uses_classic_ais_fallback_when_root_move_is_missing ... ok
[INFO] [stdout] test root_vct_verification_rejects_invalid_side_without_panic ... ok
[INFO] [stdout] test root_vct_triggered_and_accepted_on_dual_a3_win ... ok
[INFO] [stdout] test root_search_with_none_time_limit_matches_limit_free_search ... ok
[INFO] [stdout] test root_vct_verification_accepts_explicit_side_without_panic ... ok
[INFO] [stdout] test root_vct_not_triggered_on_quiet_position ... ok
[INFO] [stdout] test root_vct_not_triggered_when_disabled ... ok
[INFO] [stdout] test root_search_matches_expected_one_move_reply ... ok
[INFO] [stdout] test root_overlap_vct_alphabeta_keeps_accepted_vct_priority ... ok
[INFO] [stdout] test root_search_reports_completed_depth_without_overshooting_limit ... ok
[INFO] [stdout] test root_vct_verification_rejects_opponent_counter ... 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_matches_classic_opening_10_4_depth6_width15 ... 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] [stderr]      Running tests/tt_alignment.rs (/opt/rustwide/target/debug/deps/tt_alignment-9cf43756bd65619f)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.30s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test tt_allocates_fixed_bucket_count ... ok
[INFO] [stdout] test tt_alpha_entry_can_shrink_window ... ok
[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_beta_entry_narrows_alpha_window_when_no_cut ... ok
[INFO] [stdout] test tt_clone_shares_storage ... ok
[INFO] [stdout] test tt_exact_hit_returns_value_and_best_move ... ok
[INFO] [stdout] test tt_beta_entry_cuts_when_value_exceeds_beta ... ok
[INFO] [stdout] test tt_bucket_returns_stored_entries_for_masked_slot ... ok
[INFO] [stdout] test tt_default_bucket_bits_match_reference ... ok
[INFO] [stdout] test tt_prefers_second_slot_when_first_has_higher_priority ... ok
[INFO] [stdout] test tt_probe_does_not_create_bucket_for_miss_in_existing_slot ... ok
[INFO] [stdout] test tt_probe_leaves_empty_bucket_unchanged ... ok
[INFO] [stdout] test tt_second_slot_checked_when_first_has_insufficient_depth ... ok
[INFO] [stdout] test tt_third_store_in_same_slot_replaces_second_slot_only ... ok
[INFO] [stdout] test tt_probe_reports_best_move_generation_metadata ... ok
[INFO] [stdout] test tt_fork_snapshot_copies_entries_without_sharing_storage ... ok
[INFO] [stdout] test tt_higher_priority_third_store_replaces_first_slot ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/vcf_alignment.rs (/opt/rustwide/target/debug/deps/vcf_alignment-6c1acaa097359509)
[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_wrapper_matches_view ... 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 threat_board_view_reports_direct_b4_point_for_side ... ok
[INFO] [stdout] test threat_moves_use_expected_vcf_offsets ... ok
[INFO] [stdout] test broken_four_reply_skips_occupied_composite_primary ... ok
[INFO] [stdout] test renju_vcf_does_not_return_double_four_attacker_move ... ok
[INFO] [stdout] test renju_vcf_rejects_overline_attacker_win ... ok
[INFO] [stdout] test threat_moves_follow_expected_xy_scan_order ... ok
[INFO] [stdout] test renju_vcf_does_not_return_double_three_attacker_move ... ok
[INFO] [stdout] test vcf_begin_depth_is_capped_as_expected ... ok
[INFO] [stdout] test threat_moves_only_expand_from_current_side_stones ... 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_sequence_key_is_order_invariant_within_side_lists ... ok
[INFO] [stdout] test renju_vcf_white_wins_when_black_only_reply_is_forbidden ... ok
[INFO] [stdout] test vcf_search_can_report_solved_negative ... ok
[INFO] [stdout] test vcf_search_with_multi_reply_restores_previous_mode ... ok
[INFO] [stdout] test winning_threat_moves_detect_open_four_creation ... ok
[INFO] [stdout] test vcf_begin_result_mapping_matches_expected_on_found_position ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/vct_alignment.rs (/opt/rustwide/target/debug/deps/vct_alignment-48c227f0ed93faea)
[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_true_on_dual_a3 ... ok
[INFO] [stdout] test nested_a3r_count_restores_threat_board_view_state ... ok
[INFO] [stdout] test a3_defenses_include_future_open_four_endpoints ... ok
[INFO] [stdout] test renju_classify_promotes_white_four_when_black_block_forbidden ... ok
[INFO] [stdout] test renju_classify_demotes_black_overline_four ... ok
[INFO] [stdout] test renju_forcing_threats_filter_forbidden_black_moves ... ok
[INFO] [stdout] test has_vct_trigger_is_false_on_quiet_position ... ok
[INFO] [stdout] test renju_classify_rejects_fake_open_three ... ok
[INFO] [stdout] test renju_white_a3_with_all_black_defenses_forbidden_stays_a3 ... ok
[INFO] [stdout] test renju_vct_white_wins_when_black_block_forbidden ... ok
[INFO] [stdout] test vct_reports_no_win_when_defender_survives ... ok
[INFO] [stdout] test vct_returns_not_found_on_depth_zero ... ok
[INFO] [stdout] test vct_returns_solved_on_terminal_board ... 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 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] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.32s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/vct_stats_baseline.rs (/opt/rustwide/target/debug/deps/vct_stats_baseline-eb0f12697e8773da)
[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.16s
[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" "70ce4864208f7a3ad7acad28dba7f8baf63cf2fa1abc58c9c43377f16194a6da", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "70ce4864208f7a3ad7acad28dba7f8baf63cf2fa1abc58c9c43377f16194a6da", kill_on_drop: false }`
[INFO] [stdout] 70ce4864208f7a3ad7acad28dba7f8baf63cf2fa1abc58c9c43377f16194a6da
