[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
