[INFO] cloning repository https://github.com/diegoglozano/gambit [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/diegoglozano/gambit" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdiegoglozano%2Fgambit", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdiegoglozano%2Fgambit'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 743dd89740990085a404a371128d2b38a30849fb [INFO] testing diegoglozano/gambit against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdiegoglozano%2Fgambit" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/diegoglozano/gambit [INFO] finished tweaking git repo https://github.com/diegoglozano/gambit [INFO] tweaked toml for git repo https://github.com/diegoglozano/gambit written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/diegoglozano/gambit on toolchain 1.100.0-beta.1 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/diegoglozano/gambit 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.100.0-beta.1" "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-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] dce54424293c548a8db268defe1d13f140f1f6d3d674fae7a47c4d31ee908ccd [INFO] running `Command { std: "docker" "start" "dce54424293c548a8db268defe1d13f140f1f6d3d674fae7a47c4d31ee908ccd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "dce54424293c548a8db268defe1d13f140f1f6d3d674fae7a47c4d31ee908ccd", 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" "dce54424293c548a8db268defe1d13f140f1f6d3d674fae7a47c4d31ee908ccd" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "dce54424293c548a8db268defe1d13f140f1f6d3d674fae7a47c4d31ee908ccd", 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" "dce54424293c548a8db268defe1d13f140f1f6d3d674fae7a47c4d31ee908ccd" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.189 [INFO] [stderr] Compiling find-msvc-tools v0.1.11 [INFO] [stderr] Compiling shlex v2.0.1 [INFO] [stderr] Compiling pkg-config v0.3.34 [INFO] [stderr] Compiling cfg-if v1.0.4 [INFO] [stderr] Compiling proc-macro2 v1.0.107 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling quote v1.0.47 [INFO] [stderr] Compiling serde_core v1.0.229 [INFO] [stderr] Compiling zeroize v1.9.0 [INFO] [stderr] Compiling itoa v1.0.18 [INFO] [stderr] Compiling bitflags v2.13.1 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Compiling serde v1.0.229 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling zmij v1.0.23 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling rustls-pki-types v1.15.1 [INFO] [stderr] Compiling log v0.4.34 [INFO] [stderr] Compiling foldhash v0.2.0 [INFO] [stderr] Compiling zstd-safe v7.2.4 [INFO] [stderr] Compiling rustls v0.23.43 [INFO] [stderr] Compiling serde_json v1.0.151 [INFO] [stderr] Compiling bytes v1.12.1 [INFO] [stderr] Compiling cpufeatures v0.3.1 [INFO] [stderr] Compiling gambit-chess v0.18.0 (/opt/rustwide/workdir/crates/gambit-chess) [INFO] [stderr] Compiling arrayvec v0.7.8 [INFO] [stderr] Compiling memchr v2.8.3 [INFO] [stderr] Compiling hashbrown v0.17.1 [INFO] [stderr] Compiling getrandom v0.4.3 [INFO] [stderr] Compiling constant_time_eq v0.4.2 [INFO] [stderr] Compiling base64 v0.23.1 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling webpki-roots v1.0.9 [INFO] [stderr] Compiling smallvec v1.16.0 [INFO] [stderr] Compiling fallible-iterator v0.3.0 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling utf8-zero v0.8.1 [INFO] [stderr] Compiling http v1.5.0 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling fallible-streaming-iterator v0.1.9 [INFO] [stderr] Compiling gambit-pgn v0.18.0 (/opt/rustwide/workdir/crates/gambit-pgn) [INFO] [stderr] Compiling fastrand v2.5.0 [INFO] [stderr] Compiling syn v3.0.4 [INFO] [stderr] Compiling hashlink v0.12.1 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling jobserver v0.1.35 [INFO] [stderr] Compiling ureq-proto v0.6.1 [INFO] [stderr] Compiling cc v1.4.4 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling zstd-sys v2.0.16+zstd.1.5.7 [INFO] [stderr] Compiling libsqlite3-sys v0.38.2 [INFO] [stderr] Compiling blake3 v1.8.7 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling serde_derive v1.0.229 [INFO] [stderr] Compiling gambit-engine v0.1.0 (/opt/rustwide/workdir/crates/gambit-engine) [INFO] [stderr] Compiling gambit-coaching v0.1.0 (/opt/rustwide/workdir/crates/gambit-coaching) [INFO] [stderr] Compiling rustls-webpki v0.103.15 [INFO] [stderr] Compiling ureq v3.4.0 [INFO] [stderr] Compiling zstd v0.13.3 [INFO] [stderr] Compiling rusqlite v0.40.2 [INFO] [stderr] Compiling gambit v0.18.0 (/opt/rustwide/workdir/crates/gambit-cli) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 3m 03s [INFO] running `Command { std: "docker" "inspect" "dce54424293c548a8db268defe1d13f140f1f6d3d674fae7a47c4d31ee908ccd", 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" "dce54424293c548a8db268defe1d13f140f1f6d3d674fae7a47c4d31ee908ccd" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling gambit-pgn v0.18.0 (/opt/rustwide/workdir/crates/gambit-pgn) [INFO] [stderr] Compiling gambit-chess v0.18.0 (/opt/rustwide/workdir/crates/gambit-chess) [INFO] [stderr] Compiling gambit-engine v0.1.0 (/opt/rustwide/workdir/crates/gambit-engine) [INFO] [stderr] Compiling gambit-coaching v0.1.0 (/opt/rustwide/workdir/crates/gambit-coaching) [INFO] [stderr] Compiling gambit v0.18.0 (/opt/rustwide/workdir/crates/gambit-cli) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 26.64s [INFO] running `Command { std: "docker" "inspect" "dce54424293c548a8db268defe1d13f140f1f6d3d674fae7a47c4d31ee908ccd", 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" "dce54424293c548a8db268defe1d13f140f1f6d3d674fae7a47c4d31ee908ccd" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }` [INFO] [stderr] Finished `release` profile [optimized] target(s) in 0.13s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/build/gambit/0a3dbaf289f313c9/out/gambit-0a3dbaf289f313c9) [INFO] [stdout] [INFO] [stdout] running 30 tests [INFO] [stdout] test index::tests::folds_only_ascii_case ... ok [INFO] [stdout] test index::tests::fingerprints_framed_games_deterministically ... ok [INFO] [stdout] test lichess::tests::streaming_agent_does_not_deadline_the_response_or_body ... ok [INFO] [stdout] test query::tests::applies_player_relative_filters ... ok [INFO] [stdout] test index::tests::preserves_first_tag_semantics_for_invalid_ratings ... ok [INFO] [stdout] test index::tests::builds_player_relative_sql_without_losing_shared_parameters ... ok [INFO] [stdout] test query::tests::matches_a_mainline_position_and_reports_its_first_ply ... ok [INFO] [stdout] test lichess::tests::converts_inclusive_date_bounds_to_unix_milliseconds ... ok [INFO] [stdout] test query::tests::position_search_skips_explicit_non_standard_variants ... ok [INFO] [stdout] test query::tests::metadata_only_queries_remain_lexical ... ok [INFO] [stdout] test sync::tests::filenames_preserve_case_sensitive_game_ids_portably ... ok [INFO] [stdout] test query::tests::includes_the_starting_position_and_ignores_variations ... ok [INFO] [stdout] test lichess::tests::streams_pgn_and_pushes_safe_filters_to_lichess ... ok [INFO] [stdout] test sync::tests::refuses_to_claim_a_nonempty_unmanaged_directory ... ok [INFO] [stdout] test query::tests::position_search_reports_invalid_fen_and_san ... ok [INFO] [stdout] test query::tests::filters_dates_and_opponents ... ok [INFO] [stdout] test sync::tests::rejects_games_without_a_lichess_id ... ok [INFO] [stdout] test sync::tests::counts_created_results_from_the_synced_players_perspective ... ok [INFO] [stdout] test index::tests::library_api_pages_games_and_returns_mainline_boards ... ok [INFO] [stdout] test sync::tests::reports_stored_game_count_and_best_available_date ... ok [INFO] [stdout] test lichess::tests::exports_one_game_with_minimal_pgn_options ... ok [INFO] [stdout] test index::tests::library_api_builds_player_scoped_explore_report ... ok [INFO] [stdout] test index::tests::library_api_builds_unscoped_explore_outcomes ... ok [INFO] [stdout] test sync::tests::stores_games_by_id_and_resumes_with_an_overlap ... ok [INFO] [stdout] test collection::tests::recent_preview_is_usable_without_committing_or_skipping_initial_history ... ok [INFO] [stdout] test index::tests::builds_database_from_plain_and_compressed_files ... ok [INFO] [stdout] test collection::tests::managed_database_builds_then_updates_incrementally ... ok [INFO] [stdout] test query::tests::reports_syntax_errors_with_the_game_number ... ok [INFO] [stdout] test index::tests::library_api_sorts_games ... ok [INFO] [stdout] test index::tests::updater_migrates_schema_one_and_recovers_source_fingerprints ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 30 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/release/build/gambit/9480c136f83b8541/out/gambit-9480c136f83b8541) [INFO] [stdout] [INFO] [stdout] running 37 tests [INFO] [stdout] test doctor::tests::complete_scan_recovers_at_game_boundaries ... ok [INFO] [stdout] test doctor::tests::semantic_error_before_later_parse_error_wins ... ok [INFO] [stdout] test doctor::tests::requires_fen_when_setup_is_enabled ... ok [INFO] [stdout] test doctor::tests::requires_setup_for_a_fen_start ... ok [INFO] [stdout] test doctor::tests::source_tracker_reports_lines_columns_and_excerpts ... ok [INFO] [stdout] test doctor::tests::complete_scan_stops_at_the_error_limit ... ok [INFO] [stdout] test doctor::tests::rejects_a_result_that_disagrees_with_movetext ... ok [INFO] [stdout] test doctor::tests::source_tracker_retains_locations_after_compaction ... ok [INFO] [stdout] test doctor::tests::rejects_an_unknown_result_tag_value ... ok [INFO] [stdout] test doctor::tests::result_check_ignores_outcomes_inside_variations ... ok [INFO] [stdout] test doctor::tests::validates_move_numbers_against_the_position ... ok [INFO] [stdout] test stats::tests::assigns_distribution_boundaries_exactly_once ... ok [INFO] [stdout] test doctor::tests::syntax_mode_ignores_cross_field_consistency ... ok [INFO] [stdout] test tests::double_dash_allows_a_path_that_starts_with_a_dash ... ok [INFO] [stdout] test stats::tests::classifies_pgn_time_control_forms ... ok [INFO] [stdout] test tests::parses_database_info_options ... ok [INFO] [stdout] test tests::parses_doctor_options_around_the_path ... ok [INFO] [stdout] test tests::parses_multiple_paths ... ok [INFO] [stdout] test tests::rejects_ambiguous_or_inapplicable_lichess_source_options ... ok [INFO] [stdout] test stats::tests::counts_only_mainline_plies_and_outcomes ... ok [INFO] [stdout] test stats::tests::summarizes_metadata_only_for_complete_games ... ok [INFO] [stdout] test tests::escapes_github_workflow_commands ... ok [INFO] [stdout] test doctor::tests::syntax_mode_does_not_execute_moves ... ok [INFO] [stdout] test stats::tests::uses_utc_date_only_when_roster_date_is_absent ... ok [INFO] [stdout] test tests::parses_a_lichess_sync_command ... ok [INFO] [stdout] test doctor::tests::validates_move_number_dots_against_the_side_to_move ... ok [INFO] [stdout] test tests::parses_an_index_command ... ok [INFO] [stdout] test stats::tests::validates_complete_calendar_dates ... ok [INFO] [stdout] test tests::parses_github_output_format ... ok [INFO] [stdout] test tests::parses_lichess_as_a_query_source_and_selects_that_player ... ok [INFO] [stdout] test tests::parses_index_update_and_rejects_stdin ... ok [INFO] [stdout] test tests::sync_requires_a_user_and_destination ... ok [INFO] [stdout] test tests::rejects_quiet_json_output ... ok [INFO] [stdout] test tests::rejects_stdin_among_multiple_paths ... ok [INFO] [stdout] test stats::tests::preserves_completed_counts_on_a_syntax_error ... ok [INFO] [stdout] test tests::synced_database_builds_empty_then_updates_and_skips ... ok [INFO] [stdout] test doctor::tests::fen_move_numbers_and_variations_follow_live_positions ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 37 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s [INFO] [stdout] [INFO] [stderr] Running tests/cli.rs (/opt/rustwide/target/release/build/gambit/d5d4cff5097ccd80/out/cli-d5d4cff5097ccd80) [INFO] [stdout] [INFO] [stdout] running 53 tests [INFO] [stdout] test diagnoses_illegal_moves_as_json ... ok [INFO] [stdout] test github_format_emits_an_annotation_and_summary ... ok [INFO] [stdout] test complete_lenient_scan_accepts_a_final_game_without_an_outcome ... ok [INFO] [stdout] test info_rejects_a_non_gambit_database ... ok [INFO] [stdout] test input_errors_respect_json_output ... ok [INFO] [stdout] test diagnoses_pgn_syntax_errors ... ok [INFO] [stdout] test jsonl_emits_diagnostics_followed_by_a_summary ... ok [INFO] [stdout] test help_describes_commands ... ok [INFO] [stdout] test count_query_does_not_emit_a_partial_total_on_failure ... ok [INFO] [stdout] test github_format_summarizes_valid_input_without_an_annotation ... ok [INFO] [stdout] test max_errors_limits_a_complete_scan ... ok [INFO] [stdout] test keep_going_reports_errors_from_multiple_games ... ok [INFO] [stdout] test compatibility_form_still_validates ... ok [INFO] [stdout] test emits_a_json_success_report ... ok [INFO] [stdout] test human_diagnostics_include_game_and_source_context ... ok [INFO] [stdout] test missing_file_uses_the_input_exit_code ... ok [INFO] [stdout] test missing_input_uses_the_usage_exit_code ... ok [INFO] [stdout] test diagnoses_invalid_fen ... ok [INFO] [stdout] test query_rejects_player_relative_filters_without_a_player ... ok [INFO] [stdout] test query_counts_plain_and_zstd_games_in_a_directory ... ok [INFO] [stdout] test position_query_reports_an_illegal_mainline_move ... ok [INFO] [stdout] test query_rejects_a_non_gambit_database ... ok [INFO] [stdout] test query_counts_player_relative_matches ... ok [INFO] [stdout] test quiet_mode_suppresses_valid_reports ... ok [INFO] [stdout] test query_jsonl_identifies_each_matching_game ... ok [INFO] [stdout] test multi_file_scan_continues_after_an_input_error ... ok [INFO] [stdout] test query_rejects_an_invalid_position_argument ... ok [INFO] [stdout] test multi_file_jsonl_ends_with_a_batch_summary ... ok [INFO] [stdout] test reports_cross_field_consistency_errors ... ok [INFO] [stdout] test reports_the_release_version ... ok [INFO] [stdout] test multi_file_json_aggregates_reports_and_exit_status ... ok [INFO] [stdout] test stats_aggregates_a_directory_batch ... ok [INFO] [stdout] test stats_is_lexical_and_does_not_reject_illegal_chess_moves ... ok [INFO] [stdout] test stats_rejects_streaming_jsonl_until_it_has_a_record_contract ... ok [INFO] [stdout] test rejects_zero_as_an_error_limit ... ok [INFO] [stdout] test stats_lenient_mode_counts_a_final_game_without_an_outcome ... ok [INFO] [stdout] test index_refuses_overwrite_and_cleans_up_failed_builds ... ok [INFO] [stdout] test recursively_scans_pgn_files_in_deterministic_order ... ok [INFO] [stdout] test stats_batch_preserves_counts_and_most_severe_status ... ok [INFO] [stdout] test stats_reads_zstd_files ... ok [INFO] [stdout] test stats_human_output_is_a_compact_summary ... ok [INFO] [stdout] test stats_returns_partial_counts_for_invalid_pgn ... ok [INFO] [stdout] test reports_an_empty_directory_as_an_input_error ... ok [INFO] [stdout] test validates_pgn_from_standard_input ... ok [INFO] [stdout] test reports_corrupt_zstd_as_an_input_error ... ok [INFO] [stdout] test query_emits_matching_pgn_that_can_be_validated ... ok [INFO] [stdout] test supports_syntax_only_and_lenient_modes ... ok [INFO] [stdout] test stats_summarizes_mainlines_and_results_as_json ... ok [INFO] [stdout] test index_round_trips_queries_and_pgn ... ok [INFO] [stdout] test reads_zstd_files_without_an_external_decompressor ... ok [INFO] [stdout] test query_counts_games_reaching_a_position_and_composes_filters ... ok [INFO] [stdout] test info_summarizes_and_checks_a_gambit_database ... ok [INFO] [stdout] test index_updates_only_new_and_changed_sources_and_rolls_back_failures ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 53 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/build/gambit-chess/4870e82846366a60/out/gambit_chess-4870e82846366a60) [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test position::tests::sliding_rays_match_coordinate_walks ... ok [INFO] [stdout] test san::tests::rejects_ambiguous_san_and_accepts_disambiguation ... ok [INFO] [stdout] test san::tests::handles_en_passant_and_promotion_mate ... ok [INFO] [stdout] test san::tests::recognizes_fools_mate ... ok [INFO] [stdout] test position::tests::compares_effective_en_passant_availability ... ok [INFO] [stdout] test san::tests::plays_opening_castles_and_tracks_state ... ok [INFO] [stdout] test position::tests::parses_fen_and_generates_castling ... ok [INFO] [stdout] test position::tests::compares_playable_positions_without_move_counters ... ok [INFO] [stdout] test position::tests::initial_position_has_twenty_legal_moves ... ok [INFO] [stdout] test position::tests::tactical_perft_positions_cover_special_rules ... ok [INFO] [stdout] test position::tests::initial_position_perft ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stderr] Running tests/notation.rs (/opt/rustwide/target/release/build/gambit-chess/3495d693014a62e0/out/notation-3495d693014a62e0) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test replay_exports_special_moves_and_clocks ... ok [INFO] [stdout] test every_generated_move_roundtrips_through_san ... ok [INFO] [stdout] test formats_legal_moves_with_minimal_disambiguation_and_check_suffixes ... ok [INFO] [stdout] test fen_roundtrips_complete_state ... 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 unittests src/lib.rs (/opt/rustwide/target/release/build/gambit-coaching/9dbb4aee341251b8/out/gambit_coaching-9dbb4aee341251b8) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test worker::tests::cancelling_one_job_does_not_cancel_another ... ok [INFO] [stdout] test worker::tests::failure_releases_slot_but_panic_closes_admission ... ok [INFO] [stdout] test worker::tests::concurrent_sessions_never_overlap ... ok [INFO] [stderr] Running tests/cache.rs (/opt/rustwide/target/release/build/gambit-coaching/255d14e48dcd386c/out/cache-255d14e48dcd386c) [INFO] [stdout] test worker::tests::library_switch_cancels_active_and_waiting_old_work ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test keys_invalidate_only_when_analysis_inputs_change ... ok [INFO] [stdout] test invalid_updates_and_corrupt_files_preserve_existing_data ... ok [INFO] [stdout] test concurrent_readers_see_whole_records_during_atomic_updates ... ok [INFO] [stdout] test interruption_is_durable_without_results_and_invalidates_with_inputs ... ok [INFO] [stdout] test libraries_are_isolated_and_stale_results_are_not_reused ... ok [INFO] [stdout] test roundtrip_preserves_practice_and_never_changes_library_metadata ... ok [INFO] [stdout] test explicit_corrupt_recovery_preserves_bytes_and_refuses_valid_records ... ok [INFO] [stderr] Running tests/diagnosis.rs (/opt/rustwide/target/release/build/gambit-coaching/f81d521333b57dec/out/diagnosis-f81d521333b57dec) [INFO] [stdout] test turning_point_progress_roundtrips_and_illegal_cached_notation_is_rejected ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.28s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test bounds_must_prove_the_loss_and_eligibility ... ok [INFO] [stdout] test exact_thresholds_and_already_lost_boundary ... ok [INFO] [stdout] test mates_remain_typed_and_terminal_zero_keeps_its_direction ... ok [INFO] [stdout] test chooses_first_supported_player_error_and_stops_before_later_blunders ... ok [INFO] [stdout] test does_not_label_the_preferred_move_an_error_from_search_noise ... ok [INFO] [stdout] test cancellation_failure_and_changed_settings_never_return_partial_success ... ok [INFO] [stdout] test no_result_and_uncertainty_are_honest ... ok [INFO] [stderr] Running tests/practice.rs (/opt/rustwide/target/release/build/gambit-coaching/d4ffcf17547132cf/out/practice-d4ffcf17547132cf) [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test tolerance_and_bounds_accept_equivalence_without_exact_move_matching ... ok [INFO] [stdout] test illegal_moves_do_not_search_and_the_preferred_move_still_does ... ok [INFO] [stdout] test engine_failures_cancellation_and_changed_settings_do_not_complete_attempts ... ok [INFO] [stdout] test alternative_moves_pass_for_both_colors_and_feedback_has_no_answer ... ok [INFO] [stdout] test mate_outcomes_never_become_fake_centipawns ... ok [INFO] [stdout] test skipping_persists_without_attempts_or_independent_solves ... ok [INFO] [stderr] Running tests/real_engine.rs (/opt/rustwide/target/release/build/gambit-coaching/a388ea0362e94001/out/real_engine-a388ea0362e94001) [INFO] [stdout] test attempts_and_explicit_outcomes_survive_reopening_and_history_is_bounded ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.98s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test packaged_practice ... ignored, set GAMBIT_ENGINE_PATH to packaged Stockfish [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/replay.rs (/opt/rustwide/target/release/build/gambit-coaching/d01350b8bcc21ba1/out/replay-d01350b8bcc21ba1) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test empty_and_short_games_have_no_forced_lesson ... ok [INFO] [stdout] test setup_games_count_mainline_plies_not_fen_move_numbers ... ok [INFO] [stdout] test shared_ply_and_both_player_perspectives_are_explicit ... ok [INFO] [stdout] test repeats_are_preserved_and_variations_are_excluded ... ok [INFO] [stdout] test rejects_unsafe_or_ambiguous_inputs_without_an_engine ... ok [INFO] [stderr] Running tests/summary.rs (/opt/rustwide/target/release/build/gambit-coaching/ffa219a868647a92/out/summary-ffa219a868647a92) [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test aggregates_only_objective_facts_and_preserves_bounded_statistics ... ok [INFO] [stdout] test duplicate_or_oversized_review_sets_are_not_double_counted ... ok [INFO] [stdout] test empty_no_result_and_mate_cases_do_not_manufacture_numeric_losses ... ok [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/build/gambit-engine/3d5b5262ab3dfe7e/out/gambit_engine-3d5b5262ab3dfe7e) [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test tests::bounded_input ... ok [INFO] [stdout] test tests::perspective_preserves_mate ... ok [INFO] [stdout] test tests::scores_and_bounds ... ok [INFO] [stdout] test position::tests::legal_special_moves_replay_exactly ... ok [INFO] [stdout] test tests::recorded_stockfish_transcript ... ok [INFO] [stdout] test position::tests::repetition_history_survives_returning_to_the_same_board ... ok [INFO] [stdout] test position::tests::invalid_moves_are_atomic_and_input_is_bounded ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/process.rs (/opt/rustwide/target/release/build/gambit-engine/83fe6b218d68378f/out/process-83fe6b218d68378f) [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test packaged_stockfish ... ignored, set GAMBIT_ENGINE_PATH to the packaged Stockfish executable [INFO] [stdout] test handshake_fixed_nodes_and_exact_result ... ok [INFO] [stdout] test sends_starting_position_and_history_instead_of_only_the_final_board ... ok [INFO] [stdout] test node_limit_preserves_the_chosen_moves_bound_instead_of_a_different_moves_score ... ok [INFO] [stdout] test previous_completed_iteration_is_explicit_and_cannot_be_stale ... ok [INFO] [stdout] test watchdog_and_input_validation ... ok [INFO] [stdout] test crash_and_malformed_output_fail_only_this_request ... ok [INFO] [stdout] test cancellation_during_search_and_flood_is_bounded ... ok [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/build/gambit-pgn/3532965140f8e9f2/out/gambit_pgn-3532965140f8e9f2) [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.61s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 20 tests [INFO] [stdout] test incremental::tests::accepts_empty_input_and_split_bom ... ok [INFO] [stdout] test incremental::tests::matches_slice_parser_errors_and_offsets ... ok [INFO] [stdout] test incremental::tests::matches_slice_parser_at_every_small_chunk_size ... ok [INFO] [stdout] test incremental::tests::exposes_bytes_read_after_a_parse_error ... ok [INFO] [stdout] test incremental::tests::enforces_partial_token_limit ... ok [INFO] [stdout] test parser::tests::lenient_mode_accepts_missing_outcomes_and_finds_next_header ... ok [INFO] [stdout] test parser::tests::parser_is_fused_after_an_error ... ok [INFO] [stdout] test parser::tests::parses_complete_game_without_allocating_tokens ... ok [INFO] [stdout] test parser::tests::rejects_malformed_move_numbers_and_numeric_nags ... ok [INFO] [stdout] test stream::tests::reports_incomplete_and_oversized_games ... ok [INFO] [stdout] test parser::tests::reports_structural_errors_with_offsets ... ok [INFO] [stdout] test parser::tests::arbitrary_short_inputs_do_not_panic ... ok [INFO] [stdout] test parser::tests::parses_multiple_games_and_utf8_bom ... ok [INFO] [stdout] test stream::tests::frames_games_across_tiny_reads ... ok [INFO] [stdout] test parser::tests::parses_variations_comments_and_nags ... ok [INFO] [stdout] test parser::tests::san_boundary_table_matches_the_grammar ... ok [INFO] [stdout] test stream::tests::accepts_outcome_at_eof_and_trailing_whitespace ... ok [INFO] [stdout] test parser::tests::retains_raw_tag_value_and_decodes_on_demand ... ok [INFO] [stdout] test stream::tests::ignores_outcomes_in_tags_comments_and_variations ... ok [INFO] [stdout] test incremental::tests::matches_slice_parser_for_arbitrary_short_inputs ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stderr] Doc-tests gambit [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] Doc-tests gambit_chess [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] Doc-tests gambit_coaching [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] Doc-tests gambit_engine [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stderr] Doc-tests gambit_pgn [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 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" "dce54424293c548a8db268defe1d13f140f1f6d3d674fae7a47c4d31ee908ccd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dce54424293c548a8db268defe1d13f140f1f6d3d674fae7a47c4d31ee908ccd", kill_on_drop: false }` [INFO] [stdout] dce54424293c548a8db268defe1d13f140f1f6d3d674fae7a47c4d31ee908ccd