[INFO] fetching crate spades 2.0.0...
[INFO] testing spades-2.0.0 against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739-1
[INFO] extracting crate spades 2.0.0 into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate spades 2.0.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate spades 2.0.0
[INFO] tweaked toml for crates.io crate spades 2.0.0 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate spades 2.0.0 on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate spades 2.0.0 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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded sqids v0.4.2
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.28
[INFO] [stderr]   Downloaded oasgen-macro v0.25.1
[INFO] [stderr]   Downloaded ntest v0.9.5
[INFO] [stderr]   Downloaded structmeta-derive v0.3.0
[INFO] [stderr]   Downloaded structmeta v0.3.0
[INFO] [stderr]   Downloaded ntest_test_cases v0.9.5
[INFO] [stderr]   Downloaded oasgen v0.25.0
[INFO] [stderr]   Downloaded ntest_timeout v0.9.5
[INFO] [stderr]   Downloaded inventory v0.3.22
[INFO] [stderr]   Downloaded oasgen-core v0.25.0
[INFO] [stderr]   Downloaded zerocopy v0.8.28
[INFO] [stderr]   Downloaded openapiv3-extended v6.0.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8bcc3b1b7f6750cb7b66762056eaf430b42b69e353c7a165fedde6f2ced24a92
[INFO] running `Command { std: "docker" "start" "-a" "8bcc3b1b7f6750cb7b66762056eaf430b42b69e353c7a165fedde6f2ced24a92", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8bcc3b1b7f6750cb7b66762056eaf430b42b69e353c7a165fedde6f2ced24a92", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8bcc3b1b7f6750cb7b66762056eaf430b42b69e353c7a165fedde6f2ced24a92", kill_on_drop: false }`
[INFO] [stdout] 8bcc3b1b7f6750cb7b66762056eaf430b42b69e353c7a165fedde6f2ced24a92
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 84494b748206fb31880d5fe68e941f73072b06adad9ee3081e87248abefb95eb
[INFO] running `Command { std: "docker" "start" "-a" "84494b748206fb31880d5fe68e941f73072b06adad9ee3081e87248abefb95eb", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling zerocopy v0.8.28
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling itoa v1.0.15
[INFO] [stderr]    Compiling ryu v1.0.20
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]    Compiling uuid v1.18.1
[INFO] [stderr]    Compiling derive_builder v0.20.2
[INFO] [stderr]    Compiling sqids v0.4.2
[INFO] [stderr]    Compiling spades v2.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 25.28s
[INFO] running `Command { std: "docker" "inspect" "84494b748206fb31880d5fe68e941f73072b06adad9ee3081e87248abefb95eb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "84494b748206fb31880d5fe68e941f73072b06adad9ee3081e87248abefb95eb", kill_on_drop: false }`
[INFO] [stdout] 84494b748206fb31880d5fe68e941f73072b06adad9ee3081e87248abefb95eb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1ee4d3f618e19eaece6ef53081eafe10a4d1c35fecbb2c6610b1971170935a3f
[INFO] running `Command { std: "docker" "start" "-a" "1ee4d3f618e19eaece6ef53081eafe10a4d1c35fecbb2c6610b1971170935a3f", kill_on_drop: false }`
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling toml_parser v1.0.9+spec-1.1.0
[INFO] [stderr]    Compiling toml_edit v0.23.10+spec-1.0.0
[INFO] [stderr]    Compiling ntest_test_cases v0.9.5
[INFO] [stderr]    Compiling proc-macro-crate v3.4.0
[INFO] [stderr]    Compiling ntest_timeout v0.9.5
[INFO] [stderr]    Compiling ntest v0.9.5
[INFO] [stderr]    Compiling spades v2.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 12.33s
[INFO] running `Command { std: "docker" "inspect" "1ee4d3f618e19eaece6ef53081eafe10a4d1c35fecbb2c6610b1971170935a3f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1ee4d3f618e19eaece6ef53081eafe10a4d1c35fecbb2c6610b1971170935a3f", kill_on_drop: false }`
[INFO] [stdout] 1ee4d3f618e19eaece6ef53081eafe10a4d1c35fecbb2c6610b1971170935a3f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 16d179582c047cb681c8cb11847ff95c9e28a1bc30a1deeb502c9bd21edadf65
[INFO] running `Command { std: "docker" "start" "-a" "16d179582c047cb681c8cb11847ff95c9e28a1bc30a1deeb502c9bd21edadf65", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.14s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/spades-41e53a63850554e4)
[INFO] [stdout] 
[INFO] [stdout] running 165 tests
[INFO] [stdout] test result::tests::get_error_display_contains_error_GameCompleted ... ok
[INFO] [stdout] test result::tests::get_error_display_contains_error_GameNotCompleted ... ok
[INFO] [stdout] test result::tests::get_error_display_contains_error_InvalidUuid ... ok
[INFO] [stdout] test result::tests::get_error_display_contains_error_GameNotStarted ... ok
[INFO] [stdout] test result::tests::transition_error_display_contains_error_AlreadyStarted ... ok
[INFO] [stdout] test result::tests::transition_error_display_contains_error_BetInTrickStage ... ok
[INFO] [stdout] test result::tests::transition_error_display_contains_error_CardInBettingStage ... ok
[INFO] [stdout] test result::tests::transition_error_display_contains_error_CardNotInHand ... ok
[INFO] [stdout] test result::tests::transition_error_display_contains_error_SpadesNotBroken ... ok
[INFO] [stdout] test result::tests::transition_error_implements_std_error ... ok
[INFO] [stdout] test result::tests::transition_error_display_contains_error_CompletedGame ... ok
[INFO] [stdout] test result::tests::get_error_display_contains_error_Unknown ... ok
[INFO] [stdout] test result::tests::transition_error_display_contains_error_CardIncorrectSuit ... ok
[INFO] [stdout] test scoring::tests::test_is_over_team_a_wins ... ok
[INFO] [stdout] test result::tests::transition_error_display_contains_error_NotStarted ... ok
[INFO] [stdout] test scoring::tests::test_bag_penalty_applies_per_ten_bags ... ok
[INFO] [stdout] test scoring::tests::test_is_over_both_teams_higher_wins ... ok
[INFO] [stdout] test scoring::tests::test_bag_penalty_at_10 ... ok
[INFO] [stdout] test scoring::tests::test_add_bet_and_bet_finalize ... ok
[INFO] [stdout] test scoring::tests::test_nil_check_correct_player_index ... ok
[INFO] [stdout] test scoring::tests::test_scoring_new ... ok
[INFO] [stdout] test scoring::tests::test_second_player_nil_bid_failure ... ok
[INFO] [stdout] test scoring::tests::test_trick_13th_resets_round ... ok
[INFO] [stdout] test tests::ai_unit::test_ai_strategy_is_object_safe ... ok
[INFO] [stdout] test tests::ai_unit::test_random_strategy_bet_in_range ... ok
[INFO] [stdout] test tests::ai_unit::test_random_strategy_card_is_legal ... ok
[INFO] [stdout] test tests::coverage_lib::deprecated_get_hand_0 ... ok
[INFO] [stdout] test tests::coverage_lib::deprecated_get_hand_1 ... ok
[INFO] [stdout] test tests::coverage_lib::deprecated_get_hand_2 ... ok
[INFO] [stdout] test scoring::tests::test_is_over_team_b_wins ... ok
[INFO] [stdout] test tests::coverage_lib::deprecated_get_hand_out_of_range_returns_invalid_uuid ... ok
[INFO] [stdout] test tests::coverage_lib::get_current_trick_cards_error_states_Aborted ... ok
[INFO] [stdout] test tests::coverage_lib::get_current_trick_cards_error_states_Betting ... ok
[INFO] [stdout] test tests::coverage_lib::get_current_trick_cards_error_states_Completed ... ok
[INFO] [stdout] test tests::coverage_lib::get_current_trick_cards_error_states_NotStarted ... ok
[INFO] [stdout] test tests::coverage_lib::test_bet_in_trick_stage ... ok
[INFO] [stdout] test tests::coverage_lib::test_bet_on_completed_game ... ok
[INFO] [stdout] test tests::coverage_lib::test_card_incorrect_suit ... ok
[INFO] [stdout] test tests::coverage_lib::test_card_not_in_hand ... ok
[INFO] [stdout] test tests::coverage_lib::test_card_on_completed_game ... ok
[INFO] [stdout] test tests::coverage_lib::test_get_current_hand_completed ... ok
[INFO] [stdout] test tests::coverage_lib::test_get_current_hand_not_started ... ok
[INFO] [stdout] test tests::coverage_lib::test_get_current_player_id_completed ... ok
[INFO] [stdout] test tests::coverage_lib::test_get_current_player_id_not_started ... ok
[INFO] [stdout] test tests::coverage_lib::test_get_current_player_index_num ... ok
[INFO] [stdout] test scoring::tests::test_is_over_tie_continues ... ok
[INFO] [stdout] test scoring::tests::test_make_bid_exactly ... ok
[INFO] [stdout] test scoring::tests::test_missed_bid_penalty ... ok
[INFO] [stdout] test scoring::tests::test_nil_bid_failure ... ok
[INFO] [stdout] test scoring::tests::test_nil_bid_success ... ok
[INFO] [stdout] test scoring::tests::test_overbid_gains_bags ... ok
[INFO] [stdout] test tests::coverage_lib::deprecated_get_hand_3 ... ok
[INFO] [stdout] test tests::coverage_lib::test_get_current_trick_cards_in_trick ... ok
[INFO] [stdout] test tests::coverage_lib::test_get_hand_by_player_id_all_players ... ok
[INFO] [stdout] test tests::coverage_lib::test_get_hand_by_player_id_invalid ... ok
[INFO] [stdout] test tests::coverage_lib::test_get_leading_suit_completed ... ok
[INFO] [stdout] test tests::coverage_lib::test_get_leading_suit_betting ... ok
[INFO] [stdout] test tests::coverage_lib::test_get_leading_suit_not_started ... ok
[INFO] [stdout] test tests::coverage_lib::test_get_legal_cards_must_follow_suit ... ok
[INFO] [stdout] test tests::coverage_lib::test_get_winner_ids_not_completed ... ok
[INFO] [stdout] test tests::coverage_lib::test_get_leading_suit_trick ... ok
[INFO] [stdout] test tests::coverage_lib::test_get_legal_cards_first_card_excludes_spades_unless_only_spades ... ok
[INFO] [stdout] test tests::coverage_lib::test_get_legal_cards_not_in_trick ... ok
[INFO] [stdout] test tests::coverage_lib::test_get_player_names_default_none ... ok
[INFO] [stdout] test tests::coverage_lib::test_get_winner_ids_team_a_wins ... ok
[INFO] [stdout] test tests::coverage_lib::test_get_winner_ids_tie_returns_error ... ok
[INFO] [stdout] test tests::coverage_lib::test_get_winner_ids_team_b_wins ... ok
[INFO] [stdout] test tests::coverage_lib::test_score_getters_not_started ... ok
[INFO] [stdout] test tests::coverage_lib::test_set_player_name_invalid_id ... ok
[INFO] [stdout] test tests::coverage_lib::test_set_state ... ok
[INFO] [stdout] test tests::coverage_lib::test_player_clocks_mut ... ok
[INFO] [stdout] test tests::coverage_lib::test_timer_config_and_clocks ... ok
[INFO] [stdout] test tests::coverage_lib::test_is_first_round_betting ... ok
[INFO] [stdout] test tests::coverage_lib::test_is_first_round_betting_false_in_trick ... ok
[INFO] [stdout] test tests::coverage_lib::test_timer_config_none ... ok
[INFO] [stdout] test tests::coverage_lib::test_turn_started_at_epoch_ms ... ok
[INFO] [stdout] test tests::spades_deck_unit::test_card_debug_format ... ok
[INFO] [stdout] test tests::spades_deck_unit::test_card_ord_comparison ... ok
[INFO] [stdout] test tests::serialization_unit::test_game_json_deserialize_legacy_player_fields ... ok
[INFO] [stdout] test tests::spades_deck_unit::test_get_trick_winner_multiple_spades ... ok
[INFO] [stdout] test tests::spades_deck_unit::test_get_trick_winner_leader_wins ... ok
[INFO] [stdout] test tests::spades_deck_unit::trick_winner_no_spades_0_3 ... ok
[INFO] [stdout] test tests::spades_deck_unit::trick_winner_no_spades_2_1 ... ok
[INFO] [stdout] test tests::spades_deck_unit::trick_winner_no_spades_3_3 ... ok
[INFO] [stdout] test tests::spades_deck_unit::trick_winner_same_suit_0_1 ... ok
[INFO] [stdout] test tests::spades_deck_unit::trick_winner_same_suit_1_1 ... ok
[INFO] [stdout] test tests::spades_deck_unit::trick_winner_same_suit_2_1 ... ok
[INFO] [stdout] test tests::spades_deck_unit::deal_deck_four_players ... ok
[INFO] [stdout] test tests::spades_deck_unit::trick_winner_spades_0_2 ... ok
[INFO] [stdout] test tests::spades_deck_unit::trick_winner_same_suit_3_1 ... ok
[INFO] [stdout] test tests::spades_deck_unit::trick_winner_spades_1_2 ... ok
[INFO] [stdout] test tests::serialization_unit::test_game_json_roundtrip_after_start ... ok
[INFO] [stdout] test tests::spades_deck_unit::trick_winner_spades_3_2 ... ok
[INFO] [stdout] test tests::spades_deck_unit::trick_winner_no_spades_1_1 ... ok
[INFO] [stdout] test tests::spades_deck_unit::trick_winner_spades_2_2 ... ok
[INFO] [stdout] test tests::serialization_unit::test_game_json_roundtrip_after_bets ... ok
[INFO] [stdout] test tests::spades_game_api_unit::api_main_unit ... ok
[INFO] [stdout] test tests::spades_game_api_unit::lead_spade_allowed_after_spades_broken ... ok
[INFO] [stdout] test tests::spades_game_api_unit::history_preserved_across_round_boundary ... ok
[INFO] [stdout] test tests::spades_game_api_unit::trick_winner_uses_lead_not_last ... ok
[INFO] [stdout] test transcript::decode::tests::decode_header_with_names_and_timer ... ok
[INFO] [stdout] test tests::spades_game_api_unit::get_current_trick_cards_in_betting_returns_unknown_not_completed ... ok
[INFO] [stdout] test transcript::decode::tests::decode_minimal_header ... ok
[INFO] [stdout] test transcript::decode::tests::decode_rejects_bad_card ... ok
[INFO] [stdout] test transcript::decode::tests::decode_partial_bets ... ok
[INFO] [stdout] test transcript::decode::tests::decode_one_round_block ... ok
[INFO] [stdout] test transcript::decode::tests::decode_rejects_bad_result ... ok
[INFO] [stdout] test transcript::decode::tests::decode_rejects_bad_termination ... ok
[INFO] [stdout] test transcript::decode::tests::decode_rejects_bad_escape ... ok
[INFO] [stdout] test transcript::decode::tests::decode_rejects_bad_uuid ... ok
[INFO] [stdout] test transcript::decode::tests::decode_rejects_duplicate_termination ... ok
[INFO] [stdout] test tests::serialization_unit::test_game_json_roundtrip_not_started ... ok
[INFO] [stdout] test transcript::decode::tests::decode_rejects_empty_trick_line ... ok
[INFO] [stdout] test tests::spades_game_api_unit::can_lead_spade_when_hand_is_only_spades ... ok
[INFO] [stdout] test transcript::decode::tests::decode_rejects_duplicate_result ... ok
[INFO] [stdout] test tests::spades_game_api_unit::get_legal_cards_excludes_spades_on_lead_before_broken ... ok
[INFO] [stdout] test transcript::decode::tests::decode_rejects_missing_required_tag ... ok
[INFO] [stdout] test transcript::decode::tests::decode_rejects_non_bracket_line_in_header ... ok
[INFO] [stdout] test transcript::decode::tests::decode_rejects_duplicate_tag ... ok
[INFO] [stdout] test transcript::decode::tests::decode_rejects_missing_result ... ok
[INFO] [stdout] test transcript::decode::tests::decode_rejects_round_zero ... ok
[INFO] [stdout] test transcript::decode::tests::decode_rejects_non_monotonic_round ... ok
[INFO] [stdout] test transcript::decode::tests::decode_rejects_timer_half_specified ... ok
[INFO] [stdout] test transcript::decode::tests::decode_rejects_too_many_bets ... ok
[INFO] [stdout] test transcript::decode::tests::decode_rejects_too_many_cards_in_trick ... ok
[INFO] [stdout] test tests::spades_game_api_unit::cannot_lead_spade_before_broken_when_non_spades_available ... ok
[INFO] [stdout] test transcript::decode::tests::decode_rejects_unexpected_eof_in_header ... ok
[INFO] [stdout] test tests::spades_deck_unit::new_deck ... ok
[INFO] [stdout] test transcript::decode::tests::decode_rejects_unknown_tag ... ok
[INFO] [stdout] test transcript::decode::tests::decode_rejects_too_many_tricks ... ok
[INFO] [stdout] test transcript::decode::tests::decode_rejects_wrong_bets_key ... ok
[INFO] [stdout] test transcript::decode::tests::decode_rejects_out_of_order_trick ... ok
[INFO] [stdout] test transcript::decode::tests::decode_rejects_trailing_content ... ok
[INFO] [stdout] test transcript::decode::tests::decode_rejects_wrong_seat_hand ... ok
[INFO] [stdout] test transcript::display_tests::decode_error_display_prefix ... ok
[INFO] [stdout] test transcript::encode::tests::encode_mid_first_bet ... ok
[INFO] [stdout] test transcript::encode::tests::encode_completed_short_game ... ok
[INFO] [stdout] test transcript::display_tests::replay_error_display_prefix ... ok
[INFO] [stdout] test transcript::display_tests::termination_display_emits_canonical_words ... ok
[INFO] [stdout] test transcript::encode::tests::header_not_started_no_names_no_timer ... ok
[INFO] [stdout] test transcript::encode::tests::aborted_from_not_started_emits_no_rounds ... ok
[INFO] [stdout] test transcript::encode::tests::header_with_names_and_timer ... ok
[INFO] [stdout] test transcript::format::tests::escape_handles_quotes_and_backslash ... ok
[INFO] [stdout] test transcript::format::tests::escape_passthrough_for_safe_strings ... ok
[INFO] [stdout] test transcript::format::tests::escape_unescape_round_trip ... ok
[INFO] [stdout] test transcript::format::tests::every_card_round_trips ... ok
[INFO] [stdout] test transcript::format::tests::known_examples ... ok
[INFO] [stdout] test transcript::format::tests::unescape_rejects_bad_sequences ... ok
[INFO] [stdout] test transcript::format::tests::parse_rejects_bad_input ... ok
[INFO] [stdout] test transcript::encode::tests::hands_are_sorted ... ok
[INFO] [stdout] test transcript::replay::tests::replay_mid_betting ... ok
[INFO] [stdout] test transcript::replay::tests::replay_one_round_round_trip ... ok
[INFO] [stdout] test transcript::replay::tests::replay_mid_trick ... ok
[INFO] [stdout] test transcript::replay::tests::replay_preserves_player_names ... ok
[INFO] [stdout] test transcript::replay::tests::replay_rejects_off_suit_when_player_can_follow ... ok
[INFO] [stdout] test transcript::replay::tests::replay_aborted_from_betting ... ok
[INFO] [stdout] test transcript::replay::tests::replay_rejects_bet_in_trick_stage ... ok
[INFO] [stdout] test transcript::replay::tests::replay_rejects_inconsistent_bet_count ... ok
[INFO] [stdout] test transcript::replay::tests::replay_rejects_illegal_card ... ok
[INFO] [stdout] test transcript::replay::tests::replay_rejects_result_mismatch ... ok
[INFO] [stdout] test transcript::replay::tests::replay_rejects_spade_lead_before_spades_broken ... ok
[INFO] [stdout] test transcript::replay::tests::replay_rejects_termination_mismatch ... ok
[INFO] [stdout] test transcript::replay::tests::replay_rejects_termination_inprogress_when_actually_complete ... ok
[INFO] [stdout] test transcript::replay::tests::round_trip_with_nil_bid_in_first_round ... ok
[INFO] [stdout] test transcript::property_tests::round_trip_is_idempotent_on_many_random_games ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 165 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test drive_a_game_to_completion_with_random_legal_play ... 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/integration_tests.rs (/opt/rustwide/target/debug/deps/integration_tests-20b31fa465cab7bb)
[INFO] [stderr]    Doc-tests spades
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/lib.rs - (line 3) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.71s; merged doctests compilation took 0.70s
[INFO] running `Command { std: "docker" "inspect" "16d179582c047cb681c8cb11847ff95c9e28a1bc30a1deeb502c9bd21edadf65", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "16d179582c047cb681c8cb11847ff95c9e28a1bc30a1deeb502c9bd21edadf65", kill_on_drop: false }`
[INFO] [stdout] 16d179582c047cb681c8cb11847ff95c9e28a1bc30a1deeb502c9bd21edadf65
