[INFO] cloning repository https://github.com/FreyjaNellora/Project-Odin
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/FreyjaNellora/Project-Odin" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFreyjaNellora%2FProject-Odin", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFreyjaNellora%2FProject-Odin'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e3297d2dcef2bc3e56079c3377d25781e6acf1d3
[INFO] testing FreyjaNellora/Project-Odin against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFreyjaNellora%2FProject-Odin" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/FreyjaNellora/Project-Odin
[INFO] finished tweaking git repo https://github.com/FreyjaNellora/Project-Odin
[INFO] tweaked toml for git repo https://github.com/FreyjaNellora/Project-Odin written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/FreyjaNellora/Project-Odin on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/FreyjaNellora/Project-Odin 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" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8f99159ba5e8858ae514837fd7e6c6755274cff871f2293987e16affb2831ec8
[INFO] running `Command { std: "docker" "start" "-a" "8f99159ba5e8858ae514837fd7e6c6755274cff871f2293987e16affb2831ec8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8f99159ba5e8858ae514837fd7e6c6755274cff871f2293987e16affb2831ec8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8f99159ba5e8858ae514837fd7e6c6755274cff871f2293987e16affb2831ec8", kill_on_drop: false }`
[INFO] [stdout] 8f99159ba5e8858ae514837fd7e6c6755274cff871f2293987e16affb2831ec8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7abcd90e56ad60ccc9e0906223c2a6f80d9c89608c058c48af18b257dd22895d
[INFO] running `Command { std: "docker" "start" "-a" "7abcd90e56ad60ccc9e0906223c2a6f80d9c89608c058c48af18b257dd22895d", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling odin-engine v0.1.0 (/opt/rustwide/workdir/odin-engine)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.91s
[INFO] running `Command { std: "docker" "inspect" "7abcd90e56ad60ccc9e0906223c2a6f80d9c89608c058c48af18b257dd22895d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7abcd90e56ad60ccc9e0906223c2a6f80d9c89608c058c48af18b257dd22895d", kill_on_drop: false }`
[INFO] [stdout] 7abcd90e56ad60ccc9e0906223c2a6f80d9c89608c058c48af18b257dd22895d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 69df5b7fe558ec4f92fbc4d345a3100556dd8951b393dc40748379c232b2081d
[INFO] running `Command { std: "docker" "start" "-a" "69df5b7fe558ec4f92fbc4d345a3100556dd8951b393dc40748379c232b2081d", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.40
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerocopy-derive v0.8.40
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling odin-engine v0.1.0 (/opt/rustwide/workdir/odin-engine)
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stdout] warning: unused variable: `push_from`
[INFO] [stdout]    --> odin-engine/src/movegen/generate.rs:943:17
[INFO] [stdout]     |
[INFO] [stdout] 943 |             let push_from = match square_from(case.pusher_from.0, case.pusher_from.1) {
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_push_from`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 36.78s
[INFO] running `Command { std: "docker" "inspect" "69df5b7fe558ec4f92fbc4d345a3100556dd8951b393dc40748379c232b2081d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "69df5b7fe558ec4f92fbc4d345a3100556dd8951b393dc40748379c232b2081d", kill_on_drop: false }`
[INFO] [stdout] 69df5b7fe558ec4f92fbc4d345a3100556dd8951b393dc40748379c232b2081d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] ad190eccea12d9c2ad2fe004a4deda5db51175477b083ccaa8b68f24c97008d8
[INFO] running `Command { std: "docker" "start" "-a" "ad190eccea12d9c2ad2fe004a4deda5db51175477b083ccaa8b68f24c97008d8", kill_on_drop: false }`
[INFO] [stderr] warning: unused variable: `push_from`
[INFO] [stderr]    --> odin-engine/src/movegen/generate.rs:943:17
[INFO] [stderr]     |
[INFO] [stderr] 943 |             let push_from = match square_from(case.pusher_from.0, case.pusher_from.1) {
[INFO] [stderr]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_push_from`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `odin-engine` (lib test) generated 1 warning (run `cargo fix --lib -p odin-engine --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.15s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/odin_engine-6786252fbcb323cc)
[INFO] [stdout] 
[INFO] [stdout] running 329 tests
[INFO] [stdout] test board::board_struct::tests::test_move_piece_updates_correctly ... ok
[INFO] [stdout] test board::board_struct::tests::test_empty_board ... ok
[INFO] [stdout] test board::board_struct::tests::test_red_back_rank_pieces ... ok
[INFO] [stdout] test board::board_struct::tests::test_starting_position_piece_count ... ok
[INFO] [stdout] test board::board_struct::tests::test_starting_position_zobrist_valid ... ok
[INFO] [stdout] test board::fen4::tests::test_empty_board_fen4_roundtrip ... ok
[INFO] [stdout] test board::fen4::tests::test_fen4_invalid_input ... ok
[INFO] [stdout] test board::board_struct::tests::test_starting_position_castling ... ok
[INFO] [stdout] test board::board_struct::tests::test_place_remove_piece ... ok
[INFO] [stdout] test board::board_struct::tests::test_starting_position_piece_lists_valid ... ok
[INFO] [stdout] test board::board_struct::tests::test_zobrist_changes_on_en_passant ... ok
[INFO] [stdout] test board::board_struct::tests::test_zobrist_changes_on_side_to_move ... ok
[INFO] [stdout] test board::fen4::tests::test_fen4_en_passant ... ok
[INFO] [stdout] test board::fen4::tests::test_starting_position_fen4_piece_count ... ok
[INFO] [stdout] test board::fen4::tests::test_starting_position_fen4_zobrist_roundtrip ... ok
[INFO] [stdout] test board::fen4::tests::test_fen4_side_to_move ... ok
[INFO] [stdout] test board::fen4::tests::test_starting_position_fen4_roundtrip ... ok
[INFO] [stdout] test board::square::tests::test_parse_square_valid ... ok
[INFO] [stdout] test board::square::tests::test_square_out_of_bounds ... ok
[INFO] [stdout] test board::square::tests::test_file_rank_roundtrip ... ok
[INFO] [stdout] test board::board_struct::tests::test_zobrist_changes_on_castling ... ok
[INFO] [stdout] test board::square::tests::test_invalid_corner_count ... ok
[INFO] [stdout] test board::square::tests::test_parse_square_invalid_corner ... ok
[INFO] [stdout] test board::square::tests::test_valid_square_count ... ok
[INFO] [stdout] test board::square::tests::test_edge_adjacent_to_corner_valid ... ok
[INFO] [stdout] test board::square::tests::test_center_squares_valid ... ok
[INFO] [stdout] test board::square::tests::test_square_name_roundtrip ... ok
[INFO] [stdout] test board::square::tests::test_bottom_left_corner_invalid ... ok
[INFO] [stdout] test board::types::tests::test_piece_type_fen_roundtrip ... ok
[INFO] [stdout] test board::types::tests::test_player_index_roundtrip ... ok
[INFO] [stdout] test board::types::tests::test_player_prev_next_roundtrip ... ok
[INFO] [stdout] test board::types::tests::test_piece_creation ... ok
[INFO] [stdout] test board::zobrist::tests::test_xorshift_no_zero_output ... ok
[INFO] [stdout] test board::zobrist::tests::test_side_to_move_keys_all_different ... ok
[INFO] [stdout] test board::square::tests::test_top_right_corner_invalid ... ok
[INFO] [stdout] test eval::development::tests::test_max_development_value ... ok
[INFO] [stdout] test board::zobrist::tests::test_zobrist_keys_are_nonzero ... ok
[INFO] [stdout] test board::zobrist::tests::test_zobrist_keys_are_deterministic ... ok
[INFO] [stdout] test board::board_struct::tests::test_per_player_piece_lists ... ok
[INFO] [stdout] test eval::development::tests::test_starting_position_zero_development ... ok
[INFO] [stdout] test board::types::tests::test_player_turn_order ... ok
[INFO] [stdout] test board::types::tests::test_player_prev_order ... ok
[INFO] [stdout] test board::zobrist::tests::test_zobrist_keys_are_distinct ... ok
[INFO] [stdout] test board::zobrist::tests::test_castling_key_zero_for_no_rights ... ok
[INFO] [stdout] test board::types::tests::test_promoted_queen_is_distinct ... ok
[INFO] [stdout] test eval::development::tests::test_back_rank_detection ... ok
[INFO] [stdout] test board::square::tests::test_bottom_right_corner_invalid ... ok
[INFO] [stdout] test eval::king_safety::tests::test_king_displacement_penalty ... ok
[INFO] [stdout] test eval::material::tests::test_empty_board_zero_material ... ok
[INFO] [stdout] test eval::material::tests::test_material_after_piece_removal ... ok
[INFO] [stdout] test eval::material::tests::test_relative_material_advantage_negative ... ok
[INFO] [stdout] test eval::material::tests::test_relative_material_advantage_equal ... ok
[INFO] [stdout] test eval::material::tests::test_starting_position_all_players_equal_material ... ok
[INFO] [stdout] test board::square::tests::test_top_left_corner_invalid ... ok
[INFO] [stdout] test eval::multi_player::tests::test_ffa_points_eval_aggressive_weight ... ok
[INFO] [stdout] test eval::material::tests::test_starting_position_material_value ... ok
[INFO] [stdout] test eval::multi_player::tests::test_ffa_points_eval_positive ... ok
[INFO] [stdout] test eval::multi_player::tests::test_ffa_points_eval_zero ... ok
[INFO] [stdout] test eval::multi_player::tests::test_lead_penalty_eliminated_ignored ... ok
[INFO] [stdout] test eval::multi_player::tests::test_lead_penalty_capped ... ok
[INFO] [stdout] test eval::multi_player::tests::test_lead_penalty_includes_ffa ... ok
[INFO] [stdout] test eval::multi_player::tests::test_lead_penalty_when_leading ... ok
[INFO] [stdout] test eval::multi_player::tests::test_lead_penalty_disabled_returns_zero ... ok
[INFO] [stdout] test eval::multi_player::tests::test_lead_penalty_not_leading ... ok
[INFO] [stdout] test eval::nnue::features::tests::test_dense_to_square_roundtrip ... ok
[INFO] [stdout] test eval::nnue::features::tests::test_invalid_squares_get_sentinel ... ok
[INFO] [stdout] test eval::nnue::features::tests::test_feature_index_invalid_square ... ok
[INFO] [stdout] test eval::nnue::features::tests::test_relative_owner_rotation ... ok
[INFO] [stdout] test eval::nnue::features::tests::test_square_to_dense_count ... ok
[INFO] [stdout] test eval::nnue::features::tests::test_relative_owner_self ... ok
[INFO] [stdout] test eval::nnue::features::tests::test_square_to_dense_range ... ok
[INFO] [stdout] test eval::king_safety::tests::test_shield_squares_direction ... ok
[INFO] [stdout] test eval::material::tests::test_relative_material_advantage_positive ... ok
[INFO] [stdout] test eval::king_safety::tests::test_eliminated_opponents_dont_threaten ... ok
[INFO] [stdout] test eval::king_safety::tests::test_starting_position_king_safety_reasonable ... ok
[INFO] [stdout] test eval::king_safety::tests::test_open_file_penalty_starting_position ... ok
[INFO] [stdout] test eval::multi_player::tests::test_threat_penalty_starting_position ... ok
[INFO] [stdout] test eval::nnue::simd::tests::test_accumulator_add_saturation ... ok
[INFO] [stdout] test eval::nnue::simd::tests::test_accumulator_add_simd_matches_scalar ... ok
[INFO] [stdout] test eval::multi_player::tests::test_ffa_points_eval_clamped ... ok
[INFO] [stdout] test eval::nnue::simd::tests::test_accumulator_sub_simd_matches_scalar ... ok
[INFO] [stdout] test eval::nnue::simd::tests::test_screlu_clamping ... ok
[INFO] [stdout] test eval::nnue::simd::tests::test_screlu_simd_matches_scalar ... ok
[INFO] [stdout] test eval::nnue::weights::tests::test_architecture_hash_stable ... ok
[INFO] [stdout] test eval::nnue::simd::tests::test_accumulator_sub_saturation ... ok
[INFO] [stdout] test eval::nnue::weights::tests::test_crc32_known ... ok
[INFO] [stdout] test eval::nnue::simd::tests::test_hidden_layer_simd_matches_scalar ... ok
[INFO] [stdout] test eval::nnue::simd::tests::test_hidden_layer_clipped_relu ... ok
[INFO] [stdout] test eval::nnue::features::tests::test_feature_index_range ... ok
[INFO] [stdout] test eval::pawn_structure::tests::test_defender_squares_green ... ok
[INFO] [stdout] test eval::pawn_structure::tests::test_defender_squares_yellow ... ok
[INFO] [stdout] test eval::pawn_structure::tests::test_starting_position_no_connected_pawns ... ok
[INFO] [stdout] test eval::pawn_structure::tests::test_symmetry_all_players ... ok
[INFO] [stdout] test eval::pawn_structure::tests::test_connected_pawn_bonus_value ... ok
[INFO] [stdout] test eval::pawn_structure::tests::test_defender_squares_blue ... ok
[INFO] [stdout] test eval::pawn_structure::tests::test_defender_squares_red ... ok
[INFO] [stdout] test eval::pawn_structure::tests::test_edge_pawn_no_wrap ... ok
[INFO] [stdout] test eval::pst::tests::test_pst_knight_center_bonus ... ok
[INFO] [stdout] test board::board_struct::tests::test_starting_position_kings ... ok
[INFO] [stdout] test eval::pst::tests::test_pst_pawn_advancement_bonus ... ok
[INFO] [stdout] test eval::pst::tests::test_pst_symmetry_red_yellow ... ok
[INFO] [stdout] test eval::pst::tests::test_rotation_roundtrip_180 ... ok
[INFO] [stdout] test eval::pst::tests::test_positional_score_starting_position_symmetric ... ok
[INFO] [stdout] test eval::tests::test_eval_weights_debug ... ok
[INFO] [stdout] test eval::tests::test_aggressive_no_lead_penalty ... ok
[INFO] [stdout] test eval::pst::tests::test_rotation_red_identity ... ok
[INFO] [stdout] test eval::tests::test_aggressive_profile_valid_scores ... ok
[INFO] [stdout] test eval::tests::test_bootstrap_evaluator_implements_trait ... ok
[INFO] [stdout] test eval::pst::tests::test_pst_values_bounded ... ok
[INFO] [stdout] test eval::pst::tests::test_rotation_blue_green_complement ... ok
[INFO] [stdout] test eval::pst::tests::test_rotation_known_squares ... ok
[INFO] [stdout] test eval::tests::test_aggressive_higher_ffa_weight ... ok
[INFO] [stdout] test eval::tests::test_sigmoid_bounded_01 ... ok
[INFO] [stdout] test eval::tests::test_sigmoid_at_zero_is_half ... ok
[INFO] [stdout] test eval::tests::test_sigmoid_monotonic ... ok
[INFO] [stdout] test eval::tests::test_standard_has_lead_penalty ... ok
[INFO] [stdout] test eval::pst::tests::test_pst_king_back_rank_preferred ... ok
[INFO] [stdout] test eval::tests::test_standard_profile_matches_original_behavior ... ok
[INFO] [stdout] test gamestate::rules::tests::test_convert_to_terrain ... ok
[INFO] [stdout] test gamestate::rules::tests::test_determine_status_has_moves ... ok
[INFO] [stdout] test gamestate::rules::tests::test_draw_by_repetition ... ok
[INFO] [stdout] test gamestate::rules::tests::test_kings_checked_none_at_start ... ok
[INFO] [stdout] test gamestate::scoring::tests::test_capture_points_alive ... ok
[INFO] [stdout] test gamestate::rules::tests::test_draw_by_fifty_moves ... ok
[INFO] [stdout] test eval::values::tests::test_piece_ordering ... ok
[INFO] [stdout] test eval::values::tests::test_promoted_queen_eval_equals_queen ... ok
[INFO] [stdout] test eval::values::tests::test_king_eval_is_zero ... ok
[INFO] [stdout] test gamestate::rules::tests::test_check_bonus_for_checked_kings ... ok
[INFO] [stdout] test gamestate::rules::tests::test_claim_win ... ok
[INFO] [stdout] test gamestate::scoring::tests::test_capture_points_dead ... ok
[INFO] [stdout] test gamestate::scoring::tests::test_check_bonus ... ok
[INFO] [stdout] test eval::values::tests::test_piece_eval_values_match_constants ... ok
[INFO] [stdout] test gamestate::rules::tests::test_convert_to_dead ... ok
[INFO] [stdout] test gamestate::tests::test_next_active_player_none_active ... ok
[INFO] [stdout] test gamestate::tests::test_terrain_mode_flag ... ok
[INFO] [stdout] test gamestate::tests::test_next_active_player_skip_two_eliminated ... ok
[INFO] [stdout] test gamestate::tests::test_handle_no_legal_moves_checkmate ... ok
[INFO] [stdout] test movegen::attacks::tests::test_attackers_of_finds_multiple ... ok
[INFO] [stdout] test movegen::attacks::tests::test_bishop_attacks_across_top_left_corner ... ok
[INFO] [stdout] test gamestate::tests::test_next_active_player_all_active ... ok
[INFO] [stdout] test gamestate::tests::test_scoring_on_capture ... ok
[INFO] [stdout] test gamestate::tests::test_next_active_player_skip_eliminated ... ok
[INFO] [stdout] test movegen::attacks::tests::test_bishop_attacks_across_bottom_left_corner ... ok
[INFO] [stdout] test gamestate::tests::test_apply_move_basic ... ok
[INFO] [stdout] test gamestate::tests::test_new_standard_ffa ... ok
[INFO] [stdout] test gamestate::tests::test_handle_no_legal_moves_stalemate ... ok
[INFO] [stdout] test movegen::attacks::tests::test_bishop_attacks_across_bottom_right_corner ... ok
[INFO] [stdout] test gamestate::scoring::tests::test_capture_points_terrain ... ok
[INFO] [stdout] test movegen::attacks::tests::test_bishop_blocked_before_corner_does_not_cross ... ok
[INFO] [stdout] test movegen::attacks::tests::test_king_attacks_adjacent ... ok
[INFO] [stdout] test movegen::attacks::tests::test_knight_attacks ... ok
[INFO] [stdout] test movegen::attacks::tests::test_pawn_attacks_red_forward ... ok
[INFO] [stdout] test movegen::attacks::tests::test_promoted_queen_attacks_like_queen ... ok
[INFO] [stdout] test movegen::attacks::tests::test_queen_attacks_across_corner_diagonally ... ok
[INFO] [stdout] test movegen::attacks::tests::test_queen_attacks_all_directions ... ok
[INFO] [stdout] test movegen::attacks::tests::test_rook_attacks_along_rank ... ok
[INFO] [stdout] test movegen::attacks::tests::test_sliding_piece_blocked ... ok
[INFO] [stdout] test movegen::generate::tests::test_blue_pawn_forward ... ok
[INFO] [stdout] test movegen::generate::tests::test_green_pawn_forward ... ok
[INFO] [stdout] test gamestate::tests::test_apply_move_advances_turns ... ok
[INFO] [stdout] test movegen::generate::tests::test_en_passant_move_generated ... ok
[INFO] [stdout] test movegen::generate::tests::test_ep_near_all_corners_exhaustive ... ok
[INFO] [stdout] test movegen::generate::tests::test_pawn_promotion_red ... ok
[INFO] [stdout] test movegen::generate::tests::test_pawn_single_step_red ... ok
[INFO] [stdout] test movegen::attacks::tests::test_bishop_attacks_diagonal ... ok
[INFO] [stdout] test movegen::generate::tests::test_knight_moves_from_center ... ok
[INFO] [stdout] test movegen::generate::tests::test_pawn_blocked ... ok
[INFO] [stdout] test movegen::generate::tests::test_legal_moves_starting_position ... ok
[INFO] [stdout] test movegen::generate::tests::test_perft_depth_1 ... ok
[INFO] [stdout] test movegen::generate::tests::test_perft_depth_0 ... ok
[INFO] [stdout] test movegen::attacks::tests::test_is_in_check_starting_position ... ok
[INFO] [stdout] test movegen::generate::tests::test_rook_moves_empty_board ... ok
[INFO] [stdout] test movegen::moves::tests::test_castling_king_path_red_kingside ... ok
[INFO] [stdout] test movegen::moves::tests::test_castling_empty_squares_red_kingside ... ok
[INFO] [stdout] test movegen::generate::tests::test_zobrist_restored_after_legal_gen ... ok
[INFO] [stdout] test movegen::generate::tests::test_starting_position_move_count ... ok
[INFO] [stdout] test movegen::moves::tests::test_make_unmake_simple_move ... ok
[INFO] [stdout] test movegen::moves::tests::test_castling_empty_squares_red_queenside ... ok
[INFO] [stdout] test movegen::moves::tests::test_move_encoding_roundtrip ... ok
[INFO] [stdout] test movegen::moves::tests::test_move_promotion_encoding ... ok
[INFO] [stdout] test movegen::tables::tests::test_center_square_has_8_king_moves ... ok
[INFO] [stdout] test movegen::tables::tests::test_knight_moves_center ... ok
[INFO] [stdout] test movegen::tables::tests::test_pawn_attacks_red ... ok
[INFO] [stdout] test movegen::tables::tests::test_corner_adjacent_has_fewer_king_moves ... ok
[INFO] [stdout] test movegen::tables::tests::test_all_valid_squares_have_king_moves ... ok
[INFO] [stdout] test movegen::moves::tests::test_make_unmake_capture ... ok
[INFO] [stdout] test movegen::moves::tests::test_move_capture_encoding ... ok
[INFO] [stdout] test movegen::tables::tests::test_pawn_attacks_yellow ... ok
[INFO] [stdout] test movegen::tables::tests::test_ray_along_south_edge ... ok
[INFO] [stdout] test movegen::tables::tests::test_pawn_attacks_blue ... ok
[INFO] [stdout] test movegen::tables::tests::test_pawn_attacks_green ... ok
[INFO] [stdout] test movegen::attacks::tests::test_bishop_attacks_across_top_right_corner ... ok
[INFO] [stdout] test movegen::attacks::tests::test_rook_does_not_attack_across_corner ... ok
[INFO] [stdout] test movegen::tables::tests::test_orthogonal_ray_does_not_cross_corner ... ok
[INFO] [stdout] test movegen::tables::tests::test_ray_crosses_bottom_right_corner ... ok
[INFO] [stdout] test movegen::tables::tests::test_ray_crosses_corner_diagonally ... ok
[INFO] [stdout] test protocol::emitter::tests::test_format_id ... ok
[INFO] [stdout] test movegen::tables::tests::test_ray_crosses_top_left_corner ... ok
[INFO] [stdout] test movegen::tables::tests::test_knight_moves_near_corner ... ok
[INFO] [stdout] test protocol::emitter::tests::test_format_bestmove_with_ponder ... ok
[INFO] [stdout] test movegen::tables::tests::test_ray_north_from_bottom_edge ... ok
[INFO] [stdout] test movegen::tables::tests::test_ray_crosses_top_right_corner ... ok
[INFO] [stdout] test protocol::emitter::tests::test_format_error ... ok
[INFO] [stdout] test protocol::emitter::tests::test_format_info_minimal ... ok
[INFO] [stdout] test protocol::parser::tests::test_parse_go_infinite ... ok
[INFO] [stdout] test protocol::parser::tests::test_parse_go_with_depth ... ok
[INFO] [stdout] test protocol::parser::tests::test_parse_go_with_increments ... ok
[INFO] [stdout] test protocol::parser::tests::test_parse_go_with_nodes ... ok
[INFO] [stdout] test protocol::parser::tests::test_parse_go_with_times ... ok
[INFO] [stdout] test protocol::parser::tests::test_parse_isready ... ok
[INFO] [stdout] test protocol::emitter::tests::test_format_info_full ... ok
[INFO] [stdout] test protocol::parser::tests::test_parse_position_fen4 ... ok
[INFO] [stdout] test protocol::parser::tests::test_parse_go_empty ... ok
[INFO] [stdout] test protocol::parser::tests::test_parse_position_invalid_subcommand ... ok
[INFO] [stdout] test protocol::parser::tests::test_parse_position_fen4_with_moves ... ok
[INFO] [stdout] test protocol::parser::tests::test_parse_position_startpos_with_moves ... ok
[INFO] [stdout] test protocol::emitter::tests::test_format_readyok ... ok
[INFO] [stdout] test protocol::parser::tests::test_parse_odin ... ok
[INFO] [stdout] test protocol::parser::tests::test_parse_position_missing_subcommand ... ok
[INFO] [stdout] test protocol::parser::tests::test_parse_setoption_missing_name ... ok
[INFO] [stdout] test protocol::parser::tests::test_parse_position_startpos ... ok
[INFO] [stdout] test protocol::parser::tests::test_parse_quit ... ok
[INFO] [stdout] test protocol::parser::tests::test_parse_empty_input ... ok
[INFO] [stdout] test protocol::parser::tests::test_parse_setoption_multi_word_name ... ok
[INFO] [stdout] test protocol::parser::tests::test_parse_setoption_no_value ... ok
[INFO] [stdout] test protocol::parser::tests::test_parse_stop ... ok
[INFO] [stdout] test protocol::parser::tests::test_parse_whitespace_only ... ok
[INFO] [stdout] test protocol::parser::tests::test_parse_unknown_command ... ok
[INFO] [stdout] test protocol::tests::test_go_without_position ... ok
[INFO] [stdout] test protocol::tests::test_isready_sends_readyok ... ok
[INFO] [stdout] test protocol::emitter::tests::test_format_info_empty ... ok
[INFO] [stdout] test protocol::parser::tests::test_parse_go_with_movestogo ... ok
[INFO] [stdout] test protocol::tests::test_empty_unknown_is_silent ... ok
[INFO] [stdout] test protocol::tests::test_position_fen4_starting ... ok
[INFO] [stdout] test protocol::tests::test_odin_command_sends_id ... ok
[INFO] [stdout] test protocol::tests::test_position_invalid_fen4 ... ok
[INFO] [stdout] test protocol::tests::test_position_startpos ... ok
[INFO] [stdout] test protocol::tests::test_setoption_debug ... ok
[INFO] [stdout] test protocol::tests::test_position_startpos_with_moves ... ok
[INFO] [stdout] test protocol::tests::test_position_with_illegal_move ... ok
[INFO] [stdout] test protocol::tests::test_setoption_terrain ... ok
[INFO] [stdout] test protocol::tests::test_stop_is_noop ... ok
[INFO] [stdout] test protocol::types::tests::test_resolved_profile_auto_ffa ... ok
[INFO] [stdout] test protocol::types::tests::test_resolved_profile_auto_lks ... ok
[INFO] [stdout] test protocol::types::tests::test_resolved_profile_explicit_override ... ok
[INFO] [stdout] test search::board_scanner::tests::test_blend_weights_exposed_opponent ... ok
[INFO] [stdout] test search::board_scanner::tests::test_blend_weights_normalize ... ok
[INFO] [stdout] test protocol::parser::tests::test_parse_setoption ... ok
[INFO] [stdout] test protocol::types::tests::test_default_options ... ok
[INFO] [stdout] test search::board_scanner::tests::test_cheap_presort_orders_by_capture_value ... ok
[INFO] [stdout] test search::board_scanner::tests::test_classify_capture_is_relevant ... ok
[INFO] [stdout] test search::board_scanner::tests::test_classify_moves_starting_position ... ok
[INFO] [stdout] test protocol::tests::test_unknown_command_sends_error ... ok
[INFO] [stdout] test search::board_scanner::tests::test_compute_harm_to_player_capture ... ok
[INFO] [stdout] test search::board_scanner::tests::test_find_leader_material_gap ... ok
[INFO] [stdout] test search::board_scanner::tests::test_high_value_targets_empty_at_start ... ok
[INFO] [stdout] test search::board_scanner::tests::test_classify_near_king_is_relevant ... ok
[INFO] [stdout] test search::board_scanner::tests::test_narrowing_limit_deep ... ok
[INFO] [stdout] test search::board_scanner::tests::test_narrowing_limit_depth_zero ... ok
[INFO] [stdout] test search::board_scanner::tests::test_find_leader_starting_position ... ok
[INFO] [stdout] test movegen::tables::tests::test_ray_skips_corner_no_valid_squares_beyond ... ok
[INFO] [stdout] test protocol::emitter::tests::test_format_bestmove_simple ... ok
[INFO] [stdout] test protocol::tests::test_go_mated_player_emits_eliminated_and_advances ... ok
[INFO] [stdout] test protocol::parser::tests::test_parse_go_with_movetime ... ok
[INFO] [stdout] test protocol::tests::test_quit_returns_true ... ok
[INFO] [stdout] test search::board_scanner::tests::test_narrowing_limit_mid ... ok
[INFO] [stdout] test search::board_scanner::tests::test_scan_danger_level_bounded ... ok
[INFO] [stdout] test search::board_scanner::tests::test_scan_aggression_bounded ... ok
[INFO] [stdout] test search::board_scanner::tests::test_scan_has_three_opponents ... ok
[INFO] [stdout] test search::board_scanner::tests::test_scan_lks_mode ... ok
[INFO] [stdout] test search::board_scanner::tests::test_scan_most_dangerous_contains_three_opponents ... ok
[INFO] [stdout] test search::board_scanner::tests::test_scan_starting_position_symmetric ... ok
[INFO] [stdout] test search::board_scanner::tests::test_narrowing_limit_shallow ... ok
[INFO] [stdout] test search::board_scanner::tests::test_scan_no_convergence_at_start ... ok
[INFO] [stdout] test search::board_scanner::tests::test_blend_weights_root_is_leader ... ok
[INFO] [stdout] test search::board_scanner::tests::test_scan_vulnerability_bounded ... ok
[INFO] [stdout] test search::board_scanner::tests::test_score_reply_uses_blend ... ok
[INFO] [stdout] test search::board_scanner::tests::test_scan_weakest_player_is_valid ... ok
[INFO] [stdout] test search::board_scanner::tests::test_scan_starting_position_completes ... ok
[INFO] [stdout] test search::mcts::tests::test_all_priors_positive ... ok
[INFO] [stdout] test search::mcts::tests::test_gumbel_samples_are_finite ... ok
[INFO] [stdout] test search::mcts::tests::test_higher_q_preferred_equal_visits ... ok
[INFO] [stdout] test search::mcts::tests::test_pw_limit_grows_with_visits ... ok
[INFO] [stdout] test search::mcts::tests::test_priors_sum_to_approximately_one ... ok
[INFO] [stdout] test search::mcts::tests::test_q_value_after_updates ... ok
[INFO] [stdout] test search::mcts::tests::test_node_creation_defaults ... ok
[INFO] [stdout] test search::mcts::tests::test_extract_pv_follows_most_visited ... ok
[INFO] [stdout] test search::mcts::tests::test_q_value_zero_visits_returns_zero ... ok
[INFO] [stdout] test search::mcts::tests::test_q_to_centipawns ... ok
[INFO] [stdout] test search::mcts::tests::test_softmax_uniform_input ... ok
[INFO] [stdout] test search::mcts::tests::test_unvisited_child_selected_first ... ok
[INFO] [stdout] test search::time_manager::tests::test_basic_allocation ... ok
[INFO] [stdout] test search::mcts::tests::test_splitmix64_f64_in_range ... ok
[INFO] [stdout] test search::time_manager::tests::test_forced_move_returns_zero ... ok
[INFO] [stdout] test search::mcts::tests::test_splitmix64_produces_different_values ... ok
[INFO] [stdout] test search::time_manager::tests::test_increment_increases_allocation ... ok
[INFO] [stdout] test search::time_manager::tests::test_late_game_allocates_more_per_move ... ok
[INFO] [stdout] test search::time_manager::tests::test_safety_cap_25_percent ... ok
[INFO] [stdout] test search::time_manager::tests::test_tactical_gets_more_than_quiet ... ok
[INFO] [stdout] test search::time_manager::tests::test_near_elimination_bonus ... ok
[INFO] [stdout] test search::time_manager::tests::test_no_remaining_returns_zero ... ok
[INFO] [stdout] test search::time_manager::tests::test_panic_mode ... ok
[INFO] [stdout] test search::tt::tests::test_tt_decompress_no_match_returns_none ... ok
[INFO] [stdout] test search::tt::tests::test_tt_depth_preferred_no_replacement_shallower ... ok
[INFO] [stdout] test search::tt::tests::test_tt_generation_age_replacement ... ok
[INFO] [stdout] test search::tt::tests::test_tt_exact_store_and_probe ... ok
[INFO] [stdout] test search::tt::tests::test_tt_lower_bound_cutoff_when_score_exceeds_beta ... ok
[INFO] [stdout] test search::tt::tests::test_tt_lower_bound_adjusts_alpha ... ok
[INFO] [stdout] test search::tt::tests::test_tt_move_hint_returned_for_shallow_entry ... ok
[INFO] [stdout] test search::tt::tests::test_tt_upper_bound_cutoff_when_score_below_alpha ... ok
[INFO] [stdout] test search::tt::tests::test_tt_compress_decompress_round_trip ... ok
[INFO] [stdout] test variants::chess960::tests::test_deterministic_seed ... ok
[INFO] [stdout] test variants::chess960::tests::test_different_seeds_produce_variety ... ok
[INFO] [stdout] test variants::chess960::tests::test_generate_back_rank_is_valid ... ok
[INFO] [stdout] test search::tt::tests::test_tt_empty_probe_returns_nothing ... ok
[INFO] [stdout] test search::tt::tests::test_tt_mate_score_ply_adjustment ... ok
[INFO] [stdout] test search::tt::tests::test_tt_with_mb_creates_valid_table ... ok
[INFO] [stdout] test search::brs::tests::test_brs_searcher_returns_legal_move_from_start ... ok
[INFO] [stdout] test search::board_scanner::tests::test_scan_performance_under_1ms ... ok
[INFO] [stdout] test search::brs::tests::test_brs_search_result_score_in_valid_range ... ok
[INFO] [stdout] test search::brs::tests::test_brs_original_position_not_modified ... ok
[INFO] [stdout] test search::brs::tests::test_brs_depth_limit_respected ... ok
[INFO] [stdout] test search::brs::tests::test_brs_pv_starts_with_best_move ... ok
[INFO] [stdout] test eval::nnue::weights::tests::test_param_count ... ok
[INFO] [stdout] test eval::nnue::weights::tests::test_random_deterministic ... ok
[INFO] [stdout] test eval::nnue::weights::tests::test_random_different_seeds ... ok
[INFO] [stdout] test protocol::tests::test_go_returns_bestmove ... ok
[INFO] [stdout] test protocol::tests::test_go_bestmove_is_legal ... ok
[INFO] [stdout] test protocol::tests::test_go_info_contains_scores ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 329 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 8.44s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/odin_engine-e9d8bc1544091875)
[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/stage_00_proof_of_life.rs (/opt/rustwide/target/debug/deps/stage_00_proof_of_life-cc950778fa4f3bc7)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_engine_crate_links ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/stage_01_board.rs (/opt/rustwide/target/debug/deps/stage_01_board-e69ec8c870b7446c)
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test test_exactly_160_valid_squares ... ok
[INFO] [stdout] test test_exactly_36_invalid_corners ... ok
[INFO] [stdout] test test_starting_position_16_pieces_per_player ... ok
[INFO] [stdout] test test_starting_position_all_castling_rights ... ok
[INFO] [stdout] test test_fen4_roundtrip_preserves_zobrist ... ok
[INFO] [stdout] test test_all_corner_squares_are_correctly_identified ... ok
[INFO] [stdout] test test_fen4_roundtrip_preserves_all_pieces ... ok
[INFO] [stdout] test test_fen4_roundtrip_starting_position ... ok
[INFO] [stdout] test test_starting_position_all_kings_on_correct_squares ... ok
[INFO] [stdout] test test_piece_lists_sync_after_mutations ... ok
[INFO] [stdout] test test_starting_position_no_en_passant ... ok
[INFO] [stdout] test test_starting_position_piece_lists_synchronized ... ok
[INFO] [stdout] test test_starting_position_has_64_pieces ... ok
[INFO] [stdout] test test_zobrist_changes_on_piece_placement ... ok
[INFO] [stderr]      Running tests/stage_02_movegen.rs (/opt/rustwide/target/debug/deps/stage_02_movegen-4af38cba50ea36f8)
[INFO] [stdout] test test_zobrist_place_remove_restores_hash ... ok
[INFO] [stdout] test test_starting_position_red_to_move ... ok
[INFO] [stdout] test test_starting_position_zobrist_is_valid ... ok
[INFO] [stdout] test test_zobrist_different_pieces_different_hashes ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test test_check_detection_simple ... ok
[INFO] [stdout] test test_en_passant_capture ... ok
[INFO] [stdout] test test_castling_available_in_starting_position ... ok
[INFO] [stdout] test test_all_four_player_pawn_directions ... ok
[INFO] [stdout] test test_four_player_move_sequence ... ok
[INFO] [stdout] test test_no_check_at_start ... ok
[INFO] [stdout] test test_perft_depth_2_starting_position ... ok
[INFO] [stdout] test test_castling_blocked_by_check ... ok
[INFO] [stdout] test test_make_unmake_preserves_zobrist_all_depth1_moves ... ok
[INFO] [stdout] test test_perft_depth_1_starting_position ... ok
[INFO] [stdout] test test_make_unmake_preserves_zobrist_depth2 ... ok
[INFO] [stdout] test test_promotion_generates_4_options ... ok
[INFO] [stdout] test test_perft_divide_depth_1 ... ok
[INFO] [stdout] test test_promotion_make_unmake ... ok
[INFO] [stdout] test test_perft_depth_3_starting_position ... ok
[INFO] [stdout] test test_board_fully_restored_after_perft ... ok
[INFO] [stdout] test test_perft_depth_4_starting_position ... ok
[INFO] [stdout] test test_random_playouts_no_crash ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 19.89s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/stage_03_gamestate.rs (/opt/rustwide/target/debug/deps/stage_03_gamestate-88dba3d25683ab09)
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test test_claim_win_21_point_lead ... ok
[INFO] [stdout] test test_capture_awards_points ... ok
[INFO] [stdout] test test_draw_by_repetition ... ok
[INFO] [stdout] test test_no_check_at_start ... ok
[INFO] [stdout] test test_game_state_clone_independent ... ok
[INFO] [stdout] test test_resign_triggers_dkw_in_normal_mode ... ok
[INFO] [stdout] test test_scoring_all_capture_types ... ok
[INFO] [stdout] test test_resign_converts_terrain_in_terrain_mode ... ok
[INFO] [stdout] test test_terrain_blocks_movement ... ok
[INFO] [stdout] test test_terrain_no_check ... ok
[INFO] [stdout] test test_turn_skips_eliminated_player ... ok
[INFO] [stdout] test test_turn_rotation_all_four_players ... ok
[INFO] [stdout] test test_stalemate_detection ... ok
[INFO] [stdout] test test_starting_scores_zero ... ok
[INFO] [stdout] test test_perft_values_unchanged_after_terrain_changes ... ok
[INFO] [stdout] test test_random_playouts_scores_non_negative ... ok
[INFO] [stdout] test test_random_game_playouts_no_crash has been running for over 60 seconds
[INFO] [stdout] test test_random_game_playouts_terrain_mode has been running for over 60 seconds
[INFO] [stdout] test test_random_game_playouts_terrain_mode ... ok
[INFO] [stdout] test test_random_game_playouts_no_crash ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 134.54s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/stage_04_protocol.rs (/opt/rustwide/target/debug/deps/stage_04_protocol-d3e8ca4a9c2c457e)
[INFO] [stdout] 
[INFO] [stdout] running 17 tests
[INFO] [stdout] test test_command_parsing_roundtrip ... ok
[INFO] [stdout] test test_unknown_command_produces_error ... ok
[INFO] [stdout] test test_setoption_accepted ... ok
[INFO] [stdout] test test_go_without_position_reports_error ... ok
[INFO] [stdout] test test_quit_stops_engine ... ok
[INFO] [stdout] test test_odin_responds_with_id ... ok
[INFO] [stdout] test test_illegal_move_in_position_reports_error ... ok
[INFO] [stdout] test test_position_set_via_startpos ... ok
[INFO] [stdout] test test_position_set_via_fen4 ... ok
[INFO] [stdout] test test_isready_responds_readyok ... ok
[INFO] [stdout] test test_perft_values_unchanged ... ok
[INFO] [stdout] test test_full_session_sequence ... ok
[INFO] [stdout] test test_go_returns_legal_move ... ok
[INFO] [stdout] test test_malformed_input_no_crash ... ok
[INFO] [stdout] test test_protocol_roundtrip_fen4 ... ok
[INFO] [stdout] test test_protocol_roundtrip_with_moves ... ok
[INFO] [stdout] test test_protocol_roundtrip_startpos ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 18.94s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/stage_06_eval.rs (/opt/rustwide/target/debug/deps/stage_06_eval-dcf069fdfdf8ca8b)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test test_eliminated_player_low_score ... ok
[INFO] [stdout] test test_4vec_bounded_01 ... ok
[INFO] [stdout] test test_evaluator_trait_compiles ... ok
[INFO] [stdout] test test_evaluation_is_perspective_dependent ... ok
[INFO] [stdout] test test_eval_values_sanity ... ok
[INFO] [stdout] test test_eval_scalar_and_4vec_consistent ... ok
[INFO] [stdout] test test_starting_position_approximate_symmetry ... ok
[INFO] [stdout] test test_materially_different_positions_get_different_scores ... ok
[INFO] [stdout] test test_perft_values_unchanged ... ok
[INFO] [stdout] test test_eval_performance_under_10us ... FAILED
[INFO] [stdout] test test_eval_during_random_games_no_panic ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test_eval_performance_under_10us stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_eval_performance_under_10us' (428) panicked at odin-engine/tests/stage_06_eval.rs:88:5:
[INFO] [stdout] Eval took 60.33µs per call, exceeds 50us target
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5dd507fd704a - std[f92b4c606f291077]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5dd507fd704a - std[f92b4c606f291077]::backtrace_rs::backtrace::trace_unsynchronized::<std[f92b4c606f291077]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5dd507fd704a - std[f92b4c606f291077]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5dd507fd704a - <<std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[786f478f706679df]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5dd507fead1a - <core[786f478f706679df]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5dd507fead1a - core[786f478f706679df]::fmt::write
[INFO] [stdout]    6:     0x5dd507fdb8d2 - std[f92b4c606f291077]::io::default_write_fmt::<alloc[64763625b5a07cdb]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5dd507fdb8d2 - <alloc[64763625b5a07cdb]::vec::Vec<u8> as std[f92b4c606f291077]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5dd507fb626f - <std[f92b4c606f291077]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5dd507fb626f - std[f92b4c606f291077]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5dd507fcf609 - std[f92b4c606f291077]::panicking::default_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5dd507f498cc - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x5dd507f498cc - test[20e1f0ae6cad7a17]::test_main_with_exit_callback::<test[20e1f0ae6cad7a17]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5dd507fcf7c2 - <alloc[64763625b5a07cdb]::boxed::Box<dyn for<'a, 'b> core[786f478f706679df]::ops::function::Fn<(&'a std[f92b4c606f291077]::panic::PanicHookInfo<'b>,), Output = ()> + core[786f478f706679df]::marker::Sync + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::Fn<(&std[f92b4c606f291077]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5dd507fcf7c2 - std[f92b4c606f291077]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5dd507fb6328 - std[f92b4c606f291077]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5dd507fadcc9 - std[f92b4c606f291077]::sys::backtrace::__rust_end_short_backtrace::<std[f92b4c606f291077]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5dd507fb703d - __rustc[8241495c18a89d70]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5dd507feb46c - core[786f478f706679df]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5dd507f3b08d - stage_06_eval[7c62f0dc61505318]::test_eval_performance_under_10us
[INFO] [stdout]                                at /opt/rustwide/workdir/odin-engine/tests/stage_06_eval.rs:88:5
[INFO] [stdout]   20:     0x5dd507f3a3e7 - stage_06_eval[7c62f0dc61505318]::test_eval_performance_under_10us::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/odin-engine/tests/stage_06_eval.rs:73:38
[INFO] [stdout]   21:     0x5dd507f3d736 - <stage_06_eval[7c62f0dc61505318]::test_eval_performance_under_10us::{closure#0} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5dd507f3d9ab - <fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5dd507f3d9ab - test[20e1f0ae6cad7a17]::__rust_begin_short_backtrace::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, fn() -> core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:663:18
[INFO] [stdout]   24:     0x5dd507f4a39b - test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:74
[INFO] [stdout]   25:     0x5dd507f4a39b - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   26:     0x5dd507f4a39b - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x5dd507f4a39b - std[f92b4c606f291077]::panicking::catch_unwind::<core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>, core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x5dd507f4a39b - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<test[20e1f0ae6cad7a17]::run_test_in_process::{closure#0}>, core[786f478f706679df]::result::Result<(), alloc[64763625b5a07cdb]::string::String>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x5dd507f4a39b - test[20e1f0ae6cad7a17]::run_test_in_process
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:686:27
[INFO] [stdout]   30:     0x5dd507f4a39b - test[20e1f0ae6cad7a17]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:607:43
[INFO] [stdout]   31:     0x5dd507f45ab4 - test[20e1f0ae6cad7a17]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/test/src/lib.rs:637:41
[INFO] [stdout]   32:     0x5dd507f45ab4 - std[f92b4c606f291077]::sys::backtrace::__rust_begin_short_backtrace::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x5dd507f4cfa2 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   34:     0x5dd507f4cfa2 - <core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x5dd507f4cfa2 - std[f92b4c606f291077]::panicking::catch_unwind::do_call::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x5dd507f4cfa2 - std[f92b4c606f291077]::panicking::catch_unwind::<(), core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x5dd507f4cfa2 - std[f92b4c606f291077]::panic::catch_unwind::<core[786f478f706679df]::panic::unwind_safe::AssertUnwindSafe<std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x5dd507f4cfa2 - std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked::<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   39:     0x5dd507f4cfa2 - <std[f92b4c606f291077]::thread::lifecycle::spawn_unchecked<test[20e1f0ae6cad7a17]::run_test::{closure#1}, ()>::{closure#1} as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x5dd507fd695f - <alloc[64763625b5a07cdb]::boxed::Box<dyn core[786f478f706679df]::ops::function::FnOnce<(), Output = ()> + core[786f478f706679df]::marker::Send> as core[786f478f706679df]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   41:     0x5dd507fd695f - <std[f92b4c606f291077]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/1f7f8ea0721a3b1eb73e6c6d25cccb371434b320/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x701fb9389aa4 - <unknown>
[INFO] [stdout]   43:     0x701fb9416a64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     test_eval_performance_under_10us
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 10 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.20s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test stage_06_eval`
[INFO] running `Command { std: "docker" "inspect" "ad190eccea12d9c2ad2fe004a4deda5db51175477b083ccaa8b68f24c97008d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ad190eccea12d9c2ad2fe004a4deda5db51175477b083ccaa8b68f24c97008d8", kill_on_drop: false }`
[INFO] [stdout] ad190eccea12d9c2ad2fe004a4deda5db51175477b083ccaa8b68f24c97008d8
