[INFO] fetching crate nhl_api 0.8.1...
[INFO] testing nhl_api-0.8.1 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate nhl_api 0.8.1 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate nhl_api 0.8.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate nhl_api 0.8.1
[INFO] tweaked toml for crates.io crate nhl_api 0.8.1 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate nhl_api 0.8.1 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 crates.io crate nhl_api 0.8.1 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] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:46:12
[INFO] [stderr]    |
[INFO] [stderr] 46 | homepage = "https://github.com/sperano/nhl-api"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 50 | repository = "https://github.com/sperano/nhl-api"
[INFO] [stderr]    |              ------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `nhl_api` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 2529d869c27ea42dd23c5a4b1cb06df700a67b9396afbcb745efa350cbd74025
[INFO] running `Command { std: "docker" "start" "2529d869c27ea42dd23c5a4b1cb06df700a67b9396afbcb745efa350cbd74025", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2529d869c27ea42dd23c5a4b1cb06df700a67b9396afbcb745efa350cbd74025", 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" "2529d869c27ea42dd23c5a4b1cb06df700a67b9396afbcb745efa350cbd74025" "/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" "2529d869c27ea42dd23c5a4b1cb06df700a67b9396afbcb745efa350cbd74025", 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" "2529d869c27ea42dd23c5a4b1cb06df700a67b9396afbcb745efa350cbd74025" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:46:12
[INFO] [stderr]    |
[INFO] [stderr] 46 | homepage = "https://github.com/sperano/nhl-api"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 50 | repository = "https://github.com/sperano/nhl-api"
[INFO] [stderr]    |              ------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `nhl_api` (manifest) generated 1 warning
[INFO] [stderr]    Compiling unicode-ident v1.0.20
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling find-msvc-tools v0.1.4
[INFO] [stderr]    Compiling litemap v0.8.0
[INFO] [stderr]    Compiling writeable v0.6.1
[INFO] [stderr]    Compiling icu_properties_data v2.0.1
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling rustls-pki-types v1.12.0
[INFO] [stderr]    Compiling rustls v0.23.34
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling iri-string v0.7.8
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling cc v1.2.41
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling webpki-roots v1.0.4
[INFO] [stderr]    Compiling http v1.3.1
[INFO] [stderr]    Compiling syn v2.0.107
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling mio v1.1.0
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling hyper v1.7.0
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling zerovec v0.11.4
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling tower-http v0.6.6
[INFO] [stderr]    Compiling hyper-util v0.1.17
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.3
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling rustls-webpki v0.103.7
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.24
[INFO] [stderr]    Compiling nhl_api v0.8.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 28.19s
[INFO] running `Command { std: "docker" "inspect" "2529d869c27ea42dd23c5a4b1cb06df700a67b9396afbcb745efa350cbd74025", 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" "2529d869c27ea42dd23c5a4b1cb06df700a67b9396afbcb745efa350cbd74025" "/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] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:46:12
[INFO] [stderr]    |
[INFO] [stderr] 46 | homepage = "https://github.com/sperano/nhl-api"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 50 | repository = "https://github.com/sperano/nhl-api"
[INFO] [stderr]    |              ------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `nhl_api` (manifest) generated 1 warning
[INFO] [stderr]    Compiling hashbrown v0.16.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling colored v3.0.0
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling indexmap v2.12.0
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling h2 v0.4.12
[INFO] [stderr]    Compiling tower-http v0.6.6
[INFO] [stderr]    Compiling hyper v1.7.0
[INFO] [stderr]    Compiling hyper-util v0.1.17
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling mockito v1.7.0
[INFO] [stderr]    Compiling reqwest v0.12.24
[INFO] [stderr]    Compiling nhl_api v0.8.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `super::nhl_string_enum`
[INFO] [stdout]    --> src/types/enums/macros.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 |     use super::nhl_string_enum;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 02s
[INFO] running `Command { std: "docker" "inspect" "2529d869c27ea42dd23c5a4b1cb06df700a67b9396afbcb745efa350cbd74025", 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" "2529d869c27ea42dd23c5a4b1cb06df700a67b9396afbcb745efa350cbd74025" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:46:12
[INFO] [stderr]    |
[INFO] [stderr] 46 | homepage = "https://github.com/sperano/nhl-api"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 50 | repository = "https://github.com/sperano/nhl-api"
[INFO] [stderr]    |              ------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `nhl_api` (manifest) generated 1 warning
[INFO] [stderr] warning: unused import: `super::nhl_string_enum`
[INFO] [stderr]    --> src/types/enums/macros.rs:160:9
[INFO] [stderr]     |
[INFO] [stderr] 160 |     use super::nhl_string_enum;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `nhl_api` (lib test) generated 1 warning (run `cargo fix --lib -p nhl_api --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.15s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/nhl_api/2ac3840cf32e8854/out/nhl_api-2ac3840cf32e8854)
[INFO] [stdout] 
[INFO] [stdout] running 633 tests
[INFO] [stdout] test client::tests::test_client_new ... ok
[INFO] [stdout] test client::tests::test_client_with_default_config ... ok
[INFO] [stdout] test client::tests::test_client_with_custom_config ... ok
[INFO] [stdout] test client::tests::test_extract_daily_schedule_found ... ok
[INFO] [stdout] test client::tests::test_extract_daily_schedule_empty_game_week ... ok
[INFO] [stdout] test client::tests::test_extract_daily_schedule_with_games ... ok
[INFO] [stdout] test client::tests::test_extract_daily_schedule_not_found ... ok
[INFO] [stdout] test client::tests::test_game_id_from_i64 ... ok
[INFO] [stdout] test client::tests::test_into_game_id_accepts_i64 ... ok
[INFO] [stdout] test client::tests::test_resolve_date_or_with_none_default_now ... ok
[INFO] [stdout] test client::tests::test_resolve_date_or_with_none_default_today ... ok
[INFO] [stdout] test client::tests::test_resolve_date_or_with_some ... ok
[INFO] [stdout] test client::tests::test_club_schedule_season_requests_exact_path ... ok
[INFO] [stdout] test client::tests::test_resolve_date_or_with_some_today ... ok
[INFO] [stdout] test config::tests::test_client_config_builder_methods ... ok
[INFO] [stdout] test config::tests::test_client_config_default ... ok
[INFO] [stdout] test client::tests::test_club_schedule_season_deserializes_fixture ... ok
[INFO] [stdout] test config::tests::test_client_config_default_user_agent_const ... ok
[INFO] [stdout] test config::tests::test_client_config_with_http_client_sets_field ... ok
[INFO] [stdout] test date::tests::test_add_days_across_month_boundary ... ok
[INFO] [stdout] test date::tests::test_add_days_across_year_boundary ... ok
[INFO] [stdout] test date::tests::test_add_days_chaining ... ok
[INFO] [stdout] test date::tests::test_add_days_large_values ... ok
[INFO] [stdout] test client::tests::test_search_player_defaults_limit_to_twenty ... ok
[INFO] [stdout] test date::tests::test_add_days_leap_year ... ok
[INFO] [stdout] test date::tests::test_add_days_with_now ... ok
[INFO] [stdout] test date::tests::test_add_days_with_specific_date ... ok
[INFO] [stdout] test date::tests::test_game_date_as_date_now_variant ... ok
[INFO] [stdout] test date::tests::test_game_date_clone ... ok
[INFO] [stdout] test date::tests::test_game_date_default ... ok
[INFO] [stdout] test date::tests::test_game_date_debug ... ok
[INFO] [stdout] test date::tests::test_game_date_display ... ok
[INFO] [stdout] test date::tests::test_game_date_equality ... ok
[INFO] [stdout] test date::tests::test_game_date_from_date ... ok
[INFO] [stdout] test date::tests::test_game_date_from_naive_date ... ok
[INFO] [stdout] test date::tests::test_game_date_from_str ... ok
[INFO] [stdout] test date::tests::test_game_date_from_str_invalid ... ok
[INFO] [stdout] test date::tests::test_game_date_from_str_trait ... ok
[INFO] [stdout] test date::tests::test_game_date_from_ymd_invalid ... ok
[INFO] [stdout] test date::tests::test_game_date_now ... ok
[INFO] [stdout] test date::tests::test_game_date_serde_rejects_garbage_string ... ok
[INFO] [stdout] test date::tests::test_game_date_serde_rejects_non_string ... ok
[INFO] [stdout] test date::tests::test_game_date_serde_rejects_zero_month_and_day ... ok
[INFO] [stdout] test date::tests::test_game_date_serde_round_trip_date ... ok
[INFO] [stdout] test date::tests::test_game_date_serde_round_trip_now ... ok
[INFO] [stdout] test date::tests::test_game_date_specific ... ok
[INFO] [stdout] test date::tests::test_game_date_today ... ok
[INFO] [stdout] test date::tests::test_game_date_today_no_panic ... ok
[INFO] [stdout] test date::tests::test_game_date_serde_rejects_invalid_month ... ok
[INFO] [stdout] test date::tests::test_season_clone ... ok
[INFO] [stdout] test date::tests::test_season_copy ... ok
[INFO] [stdout] test date::tests::test_season_covid_20202021 ... ok
[INFO] [stdout] test date::tests::test_season_current ... ok
[INFO] [stdout] test date::tests::test_season_current_no_panic ... ok
[INFO] [stdout] test date::tests::test_season_debug ... ok
[INFO] [stdout] test date::tests::test_season_display ... ok
[INFO] [stdout] test date::tests::test_season_display_vs_api_string ... ok
[INFO] [stdout] test date::tests::test_season_eq ... ok
[INFO] [stdout] test date::tests::test_season_from_str_edge_cases ... ok
[INFO] [stdout] test date::tests::test_season_from_str_valid ... ok
[INFO] [stdout] test date::tests::test_season_from_str_hyphenated ... ok
[INFO] [stdout] test date::tests::test_season_from_u16 ... ok
[INFO] [stdout] test date::tests::test_season_from_years_equivalence ... ok
[INFO] [stdout] test date::tests::test_season_from_years_rejects_gap ... ok
[INFO] [stdout] test date::tests::test_season_from_years_valid ... ok
[INFO] [stdout] test date::tests::test_season_hash ... ok
[INFO] [stdout] test date::tests::test_season_id_and_conversions ... ok
[INFO] [stdout] test date::tests::test_season_parse_boundary_years ... ok
[INFO] [stdout] test date::tests::test_season_parse_non_numeric ... ok
[INFO] [stdout] test date::tests::test_season_serde_integer ... ok
[INFO] [stdout] test date::tests::test_season_serde_rejects_invalid ... ok
[INFO] [stdout] test date::tests::test_season_serde_round_trip ... ok
[INFO] [stdout] test date::tests::test_season_serde_string_api_form ... ok
[INFO] [stdout] test date::tests::test_season_serde_string_hyphenated_form ... ok
[INFO] [stdout] test date::tests::test_season_single_year_construction ... ok
[INFO] [stdout] test date::tests::test_season_to_string ... ok
[INFO] [stdout] test date::tests::test_season_short_label ... ok
[INFO] [stdout] test date::tests::test_season_try_from_range_rejection ... ok
[INFO] [stdout] test date::tests::test_season_try_from_i64 ... ok
[INFO] [stdout] test http_client::tests::test_build_url_base_has_slash_only ... ok
[INFO] [stdout] test http_client::tests::test_build_url_both_have_slash ... ok
[INFO] [stdout] test http_client::tests::test_build_url_empty_resource ... ok
[INFO] [stdout] test date::tests::test_season_try_from_i32 ... ok
[INFO] [stdout] test http_client::tests::test_build_url_neither_has_slash ... ok
[INFO] [stdout] test http_client::tests::test_build_url_with_path_segments ... ok
[INFO] [stdout] test http_client::tests::test_endpoint_base_url_api_core ... ok
[INFO] [stdout] test http_client::tests::test_build_url_resource_has_slash_only ... ok
[INFO] [stdout] test http_client::tests::test_endpoint_base_url_api_stats ... ok
[INFO] [stdout] test http_client::tests::test_endpoint_base_url_api_web_v1 ... ok
[INFO] [stdout] test http_client::tests::test_endpoint_base_url_search_v1 ... ok
[INFO] [stdout] test http_client::tests::test_endpoint_clone ... ok
[INFO] [stdout] test http_client::tests::test_endpoint_custom ... ok
[INFO] [stdout] test http_client::tests::test_endpoint_custom_clone ... ok
[INFO] [stdout] test http_client::tests::test_endpoint_debug_format ... ok
[INFO] [stdout] test http_client::tests::test_error_from_status_mapping ... ok
[INFO] [stdout] test http_client::tests::test_get_json_404_not_found ... ok
[INFO] [stdout] test http_client::tests::test_get_json_404_with_error_body_included_in_message ... ok
[INFO] [stdout] test http_client::tests::test_get_json_deserialization_error ... ok
[INFO] [stdout] test http_client::tests::test_get_json_error_body_truncated_to_cap ... ok
[INFO] [stdout] test http_client::tests::test_get_json_sends_accept_json_header ... ok
[INFO] [stdout] test http_client::tests::test_get_json_sends_custom_user_agent ... ok
[INFO] [stdout] test http_client::tests::test_get_json_sends_default_user_agent ... ok
[INFO] [stdout] test http_client::tests::test_get_json_rate_limit ... ok
[INFO] [stdout] test http_client::tests::test_get_json_success_with_mock ... ok
[INFO] [stdout] test http_client::tests::test_get_json_uses_injected_http_client ... ok
[INFO] [stdout] test http_client::tests::test_get_json_with_query_params_mock ... ok
[INFO] [stdout] test http_client::tests::test_get_json_server_error ... ok
[INFO] [stdout] test http_client::tests::test_http_client_new_with_all_options ... ok
[INFO] [stdout] test http_client::tests::test_http_client_new_default_config ... ok
[INFO] [stdout] test http_client::tests::test_http_client_new_with_redirects_disabled ... ok
[INFO] [stdout] test http_client::tests::test_http_client_new_with_custom_timeout ... ok
[INFO] [stdout] test http_client::tests::test_handle_response_success ... ok
[INFO] [stdout] test http_client::tests::test_handle_response_error_delegation ... ok
[INFO] [stdout] test http_client::tests::test_http_client_new_with_ssl_verify_disabled ... ok
[INFO] [stdout] test http_client::tests::test_http_client_new_with_very_short_timeout ... ok
[INFO] [stdout] test ids::tests::test_game_id_as_i64 ... ok
[INFO] [stdout] test http_client::tests::test_http_client_new_with_zero_timeout ... ok
[INFO] [stdout] test ids::tests::test_game_id_as_map_key ... ok
[INFO] [stdout] test ids::tests::test_game_id_const ... ok
[INFO] [stdout] test ids::tests::test_game_id_copy_clone ... ok
[INFO] [stdout] test ids::tests::test_game_id_default ... ok
[INFO] [stdout] test ids::tests::test_game_id_display ... ok
[INFO] [stdout] test ids::tests::test_game_id_equality ... ok
[INFO] [stdout] test ids::tests::test_game_id_from_i64 ... ok
[INFO] [stdout] test client::tests::test_edge_all_client_methods_404_propagates_error ... ok
[INFO] [stdout] test ids::tests::test_game_id_from_str ... ok
[INFO] [stdout] test ids::tests::test_game_id_from_str_invalid ... ok
[INFO] [stdout] test ids::tests::test_game_id_hash ... ok
[INFO] [stdout] test ids::tests::test_game_id_new ... ok
[INFO] [stdout] test ids::tests::test_game_id_new_negative ... ok
[INFO] [stdout] test ids::tests::test_game_id_new_zero ... ok
[INFO] [stdout] test ids::tests::test_game_id_ordering ... ok
[INFO] [stdout] test ids::tests::test_game_id_ordering_negative ... ok
[INFO] [stdout] test ids::tests::test_game_id_player_id_team_id_are_distinct_types ... ok
[INFO] [stdout] test ids::tests::test_game_id_serde_from_int ... ok
[INFO] [stdout] test client::tests::test_edge_all_client_methods_path_contract ... ok
[INFO] [stdout] test ids::tests::test_game_id_serde_from_string ... ok
[INFO] [stdout] test ids::tests::test_game_id_serde_rejects_non_numeric_string ... ok
[INFO] [stdout] test ids::tests::test_game_id_to_string ... ok
[INFO] [stdout] test ids::tests::test_game_id_serialize_emits_integer ... ok
[INFO] [stdout] test ids::tests::test_i64_from_game_id ... ok
[INFO] [stdout] test ids::tests::test_player_id_display ... ok
[INFO] [stdout] test ids::tests::test_player_id_from_str_invalid ... ok
[INFO] [stdout] test ids::tests::test_player_id_from_str_valid ... ok
[INFO] [stdout] test ids::tests::test_player_id_new ... ok
[INFO] [stdout] test ids::tests::test_player_id_ordering_and_hashing ... ok
[INFO] [stdout] test ids::tests::test_player_id_serde_from_int ... ok
[INFO] [stdout] test ids::tests::test_player_id_serde_from_string ... ok
[INFO] [stdout] test ids::tests::test_player_id_serde_rejects_non_numeric_string ... ok
[INFO] [stdout] test ids::tests::test_player_id_serialize_emits_integer ... ok
[INFO] [stdout] test ids::tests::test_team_id_from_str_invalid ... ok
[INFO] [stdout] test ids::tests::test_team_id_display ... ok
[INFO] [stdout] test ids::tests::test_team_id_from_str_valid ... ok
[INFO] [stdout] test ids::tests::test_team_id_new ... ok
[INFO] [stdout] test ids::tests::test_team_id_ordering_and_hashing ... ok
[INFO] [stdout] test ids::tests::test_team_id_serde_from_int ... ok
[INFO] [stdout] test ids::tests::test_team_id_serde_from_string ... ok
[INFO] [stdout] test ids::tests::test_team_id_serde_rejects_non_numeric_string ... ok
[INFO] [stdout] test ids::tests::test_team_id_serialize_emits_integer ... ok
[INFO] [stdout] test types::boxscore::tests::test_boxscore_deserialization ... ok
[INFO] [stdout] test types::boxscore::tests::test_boxscore_deserialization_cancelled_game ... ok
[INFO] [stdout] test types::boxscore::tests::test_boxscore_ids_and_season_deserialize_from_numeric_strings ... ok
[INFO] [stdout] test types::boxscore::tests::test_boxscore_team_deserialization ... ok
[INFO] [stdout] test types::boxscore::tests::test_boxscore_with_special_event ... ok
[INFO] [stdout] test types::boxscore::tests::test_boxscore_with_tv_broadcasts ... ok
[INFO] [stdout] test types::boxscore::tests::test_game_clock_deserialization ... ok
[INFO] [stdout] test types::boxscore::tests::test_game_clock_end_of_period ... ok
[INFO] [stdout] test types::boxscore::tests::test_goalie_stats_deserialization ... ok
[INFO] [stdout] test types::boxscore::tests::test_goalie_stats_empty_position ... ok
[INFO] [stdout] test types::boxscore::tests::test_goalie_stats_missing_optional_fields ... ok
[INFO] [stdout] test types::boxscore::tests::test_period_descriptor_deserialization ... ok
[INFO] [stdout] test types::boxscore::tests::test_period_descriptor_empty_period_type ... ok
[INFO] [stdout] test types::boxscore::tests::test_period_descriptor_fully_empty_object ... ok
[INFO] [stdout] test types::boxscore::tests::test_period_descriptor_missing_period_type ... ok
[INFO] [stdout] test types::boxscore::tests::test_period_descriptor_overtime ... ok
[INFO] [stdout] test types::boxscore::tests::test_period_descriptor_serialize_omits_none_period_type ... ok
[INFO] [stdout] test types::boxscore::tests::test_skater_and_goalie_stats_player_id_deserializes_from_numeric_string ... ok
[INFO] [stdout] test types::boxscore::tests::test_skater_stats_deserialization ... ok
[INFO] [stdout] test types::boxscore::tests::test_skater_stats_empty_position ... ok
[INFO] [stdout] test types::boxscore::tests::test_skater_stats_missing_position ... ok
[INFO] [stdout] test types::boxscore::tests::test_skater_stats_negative_plus_minus ... ok
[INFO] [stdout] test types::boxscore::tests::test_skater_stats_position_serialize_omits_none ... ok
[INFO] [stdout] test types::boxscore::tests::test_skater_stats_zero_values ... ok
[INFO] [stdout] test types::boxscore::tests::test_special_event_deserialization ... ok
[INFO] [stdout] test types::boxscore::tests::test_team_game_stats_faceoff_percentage ... ok
[INFO] [stdout] test types::boxscore::tests::test_team_game_stats_faceoff_percentage_zero_faceoffs ... ok
[INFO] [stdout] test types::boxscore::tests::test_team_game_stats_from_empty_team ... ok
[INFO] [stdout] test types::boxscore::tests::test_team_game_stats_from_skaters ... ok
[INFO] [stdout] test types::boxscore::tests::test_team_game_stats_with_goalies ... ok
[INFO] [stdout] test types::boxscore::tests::test_team_player_stats_deserialization ... ok
[INFO] [stdout] test types::boxscore::tests::test_team_player_stats_empty_arrays ... ok
[INFO] [stdout] test types::boxscore::tests::test_team_player_stats_missing_arrays ... ok
[INFO] [stdout] test types::boxscore::tests::test_tv_broadcast_deserialization ... ok
[INFO] [stdout] test types::club_stats::tests::test_club_goalie_stats_clone ... ok
[INFO] [stdout] test types::club_stats::tests::test_club_goalie_stats_debug ... ok
[INFO] [stdout] test types::club_stats::tests::test_club_skater_stats_clone ... ok
[INFO] [stdout] test types::club_stats::tests::test_club_goalie_stats_serialization_roundtrip ... ok
[INFO] [stdout] test types::club_stats::tests::test_club_skater_stats_debug ... ok
[INFO] [stdout] test types::club_stats::tests::test_club_skater_stats_empty_position ... ok
[INFO] [stdout] test types::club_stats::tests::test_club_skater_stats_missing_position ... ok
[INFO] [stdout] test types::club_stats::tests::test_club_skater_stats_serialization_roundtrip ... ok
[INFO] [stdout] test types::club_stats::tests::test_club_stats_clone ... ok
[INFO] [stdout] test types::club_stats::tests::test_club_stats_debug ... ok
[INFO] [stdout] test types::club_stats::tests::test_club_stats_deserialization ... ok
[INFO] [stdout] test types::club_stats::tests::test_club_stats_empty_lists ... ok
[INFO] [stdout] test types::club_stats::tests::test_club_stats_equality ... ok
[INFO] [stdout] test types::club_stats::tests::test_club_stats_player_id_deserializes_from_numeric_string ... ok
[INFO] [stdout] test types::club_stats::tests::test_club_stats_season_deserializes_from_string_and_int_forms ... ok
[INFO] [stdout] test types::club_stats::tests::test_club_stats_serialization_roundtrip ... ok
[INFO] [stdout] test types::club_stats::tests::test_club_stats_with_all_game_types ... ok
[INFO] [stdout] test types::club_stats::tests::test_goalie_stats_deserialization ... ok
[INFO] [stdout] test types::club_stats::tests::test_goalie_stats_display ... ok
[INFO] [stdout] test types::club_stats::tests::test_goalie_stats_equality ... ok
[INFO] [stdout] test types::club_stats::tests::test_season_game_types_clone ... ok
[INFO] [stdout] test types::club_stats::tests::test_season_game_types_debug ... ok
[INFO] [stdout] test types::club_stats::tests::test_season_game_types_deserialization ... ok
[INFO] [stdout] test types::club_stats::tests::test_season_game_types_display ... ok
[INFO] [stdout] test types::club_stats::tests::test_season_game_types_display_all_star ... ok
[INFO] [stdout] test types::club_stats::tests::test_season_game_types_display_empty ... ok
[INFO] [stdout] test types::club_stats::tests::test_season_game_types_display_mixed_order ... ok
[INFO] [stdout] test types::club_stats::tests::test_season_game_types_display_preseason ... ok
[INFO] [stdout] test types::club_stats::tests::test_season_game_types_display_regular_only ... ok
[INFO] [stdout] test types::club_stats::tests::test_season_game_types_display_with_all_star ... ok
[INFO] [stdout] test types::club_stats::tests::test_season_game_types_equality ... ok
[INFO] [stdout] test types::club_stats::tests::test_season_game_types_hash ... ok
[INFO] [stdout] test types::club_stats::tests::test_season_game_types_season_deserializes_from_string_form ... ok
[INFO] [stdout] test types::club_stats::tests::test_season_game_types_serialization_roundtrip ... ok
[INFO] [stdout] test types::club_stats::tests::test_skater_stats_deserialization ... ok
[INFO] [stdout] test types::club_stats::tests::test_skater_stats_display ... ok
[INFO] [stdout] test types::club_stats::tests::test_season_game_types_unknown_game_type ... ok
[INFO] [stdout] test types::club_stats::tests::test_skater_stats_equality ... ok
[INFO] [stdout] test types::common::tests::test_franchise_clone ... ok
[INFO] [stdout] test types::common::tests::test_franchise_deserialization ... ok
[INFO] [stdout] test types::common::tests::test_franchise_display ... ok
[INFO] [stdout] test types::common::tests::test_franchise_empty_response ... ok
[INFO] [stdout] test types::common::tests::test_franchise_equality ... ok
[INFO] [stdout] test types::common::tests::test_franchise_inequality ... ok
[INFO] [stdout] test types::common::tests::test_franchise_response_deserialization ... ok
[INFO] [stdout] test types::common::tests::test_roster_player_age_after_birthday_this_year ... ok
[INFO] [stdout] test types::common::tests::test_roster_player_age_before_birthday_this_year ... ok
[INFO] [stdout] test types::common::tests::test_roster_player_age_on_birthday ... ok
[INFO] [stdout] test types::common::tests::test_roster_player_birth_place_all_parts ... ok
[INFO] [stdout] test types::common::tests::test_roster_player_age_unparseable_birth_date ... ok
[INFO] [stdout] test types::common::tests::test_roster_player_birth_place_city_only ... ok
[INFO] [stdout] test types::common::tests::test_roster_player_birth_place_empty_state_string_treated_as_absent ... ok
[INFO] [stdout] test types::common::tests::test_roster_player_birth_place_missing_state ... ok
[INFO] [stdout] test types::common::tests::test_roster_player_birth_place_none ... ok
[INFO] [stdout] test types::common::tests::test_roster_player_full_name ... ok
[INFO] [stdout] test types::common::tests::test_roster_player_empty_position_and_handedness ... ok
[INFO] [stdout] test types::common::tests::test_roster_player_height_feet_inches ... ok
[INFO] [stdout] test types::common::tests::test_roster_player_id_deserializes_from_numeric_string ... ok
[INFO] [stdout] test types::common::tests::test_roster_player_missing_position_and_handedness ... ok
[INFO] [stdout] test types::common::tests::test_roster_player_real_position_and_handedness ... ok
[INFO] [stdout] test types::common::tests::test_roster_player_serialize_omits_none_position_and_handedness ... ok
[INFO] [stdout] test types::common::tests::test_team_deserialization_without_place_name ... ok
[INFO] [stdout] test types::common::tests::test_team_display ... ok
[INFO] [stdout] test types::common::tests::test_team_serialization ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_comparison_distance_last10_dual_key_shapes ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_comparison_distance_last10_entry_empty_object ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_comparison_distance_last10_entry_skater_round_trip ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_comparison_shot_speed_details_round_trip ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_comparison_skating_distance_details_empty_object ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_comparison_shot_location_detail_empty_object ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_comparison_shot_location_total_empty_object ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_comparison_shot_location_detail_round_trip ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_comparison_skating_distance_details_round_trip ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_comparison_shot_location_total_round_trip ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_comparison_zone_starts_round_trip ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_comparison_zone_time_details_empty_object ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_comparison_skating_speed_details_empty_object ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_comparison_zone_time_details_round_trip ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_comparison_zone_starts_empty_object ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_count_league_avg_empty_object ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_count_league_avg_round_trip ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_comparison_shot_speed_details_empty_object ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_count_percentile_stat_round_trip ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_comparison_skating_speed_details_round_trip ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_goalie_player_empty_object ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_leader_shot_location_skater_round_trip ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_count_percentile_stat_empty_object ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_leader_shot_location_empty_object ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_measurement_round_trip ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_measurement_empty_object ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_measurement_with_overlay_round_trip ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_goalie_player_round_trip ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_optional_overlay_omitted_when_none ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_overlay_empty_object ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_measurement_with_overlay_empty_object ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_overlay_player_empty_object ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_overlay_player_round_trip ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_overlay_round_trip ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_overlay_team_empty_object ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_overlay_team_round_trip ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_percentile_stat_with_overlay_empty_object ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_percentile_stat_with_overlay_round_trip ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_percentile_stat_empty_object ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_percentile_stat_round_trip ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_rank_stat_optional_league_avg ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_rank_stat_empty_object ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_rank_stat_with_overlay_empty_object ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_rank_stat_round_trip ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_rank_stat_with_overlay_round_trip ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_season_availability_empty_object ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_scalar_zero_value_round_trips ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_season_availability_round_trip ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_skater_player_empty_object ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_skater_player_round_trip ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_team_info_empty_object ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_team_logo_empty_object ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_team_info_round_trip ... ok
[INFO] [stdout] test types::edge::common::tests::test_edge_team_logo_round_trip ... ok
[INFO] [stdout] test types::edge::goalie::tests::test_edge_goalie_5v5_detail_deserializes_fixture ... ok
[INFO] [stdout] test types::edge::goalie::tests::test_edge_goalie_5v5_detail_empty_object ... ok
[INFO] [stdout] test types::edge::goalie::tests::test_edge_goalie_5v5_entry_empty_object ... ok
[INFO] [stdout] test types::edge::goalie::tests::test_edge_goalie_comparison_deserializes_fixture ... ok
[INFO] [stdout] test types::edge::goalie::tests::test_edge_goalie_comparison_empty_object ... ok
[INFO] [stdout] test types::edge::goalie::tests::test_edge_goalie_comparison_last10_entry_empty_object ... ok
[INFO] [stdout] test types::edge::goalie::tests::test_edge_goalie_comparison_save_pctg_5v5_details_empty_object ... ok
[INFO] [stdout] test types::edge::goalie::tests::test_edge_goalie_comparison_save_pctg_details_empty_object ... ok
[INFO] [stdout] test types::edge::goalie::tests::test_edge_goalie_comparison_shot_detail_empty_object ... ok
[INFO] [stdout] test types::edge::goalie::tests::test_edge_goalie_comparison_shot_summary_empty_object ... ok
[INFO] [stdout] test types::edge::goalie::tests::test_edge_goalie_detail_deserializes_fixture ... ok
[INFO] [stdout] test types::edge::goalie::tests::test_edge_goalie_detail_empty_object ... ok
[INFO] [stdout] test types::edge::goalie::tests::test_edge_goalie_landing_empty_object ... ok
[INFO] [stdout] test types::edge::goalie::tests::test_edge_goalie_landing_deserializes_fixture ... ok
[INFO] [stdout] test types::edge::goalie::tests::test_edge_goalie_leader_empty_object ... ok
[INFO] [stdout] test types::edge::goalie::tests::test_edge_goalie_leader_mutually_exclusive_stat_fields ... ok
[INFO] [stdout] test types::edge::goalie::tests::test_edge_goalie_save_pctg_detail_empty_object ... ok
[INFO] [stdout] test types::edge::goalie::tests::test_edge_goalie_save_pctg_detail_deserializes_fixture_gotcha_a ... ok
[INFO] [stdout] test types::edge::goalie::tests::test_edge_goalie_save_pctg_detail_missing_details_is_none ... ok
[INFO] [stdout] test types::edge::goalie::tests::test_edge_goalie_save_pctg_entry_empty_object ... ok
[INFO] [stdout] test types::edge::goalie::tests::test_edge_goalie_save_pctg_stat_detail_empty_object ... ok
[INFO] [stdout] test types::edge::goalie::tests::test_edge_goalie_shot_location_area_empty_object ... ok
[INFO] [stdout] test types::edge::goalie::tests::test_edge_goalie_shot_location_detail_deserializes_fixture ... ok
[INFO] [stdout] test types::edge::goalie::tests::test_edge_goalie_shot_location_detail_empty_object ... ok
[INFO] [stdout] test types::edge::goalie::tests::test_edge_goalie_shot_location_entry_empty_object ... ok
[INFO] [stdout] test types::edge::goalie::tests::test_edge_goalie_shot_location_summary_empty_object ... ok
[INFO] [stdout] test types::edge::goalie::tests::test_edge_goalie_stat_entry_empty_object ... ok
[INFO] [stdout] test types::edge::goalie::tests::test_edge_goalie_stats_summary_empty_object ... ok
[INFO] [stdout] test types::edge::skater::tests::test_edge_distance_entry_empty_object ... ok
[INFO] [stdout] test types::edge::skater::tests::test_edge_shot_location_entry_empty_object ... ok
[INFO] [stdout] test types::edge::skater::tests::test_edge_shot_speed_entry_empty_object ... ok
[INFO] [stdout] test types::edge::skater::tests::test_edge_skater_comparison_deserializes_fixture ... ok
[INFO] [stdout] test types::edge::skater::tests::test_edge_skater_comparison_empty_object ... ok
[INFO] [stdout] test types::edge::skater::tests::test_edge_skater_detail_empty_object ... ok
[INFO] [stdout] test types::edge::skater::tests::test_edge_skater_detail_deserializes_fixture ... ok
[INFO] [stdout] test types::edge::skater::tests::test_edge_skater_distance_detail_deserializes_fixture ... ok
[INFO] [stdout] test types::edge::skater::tests::test_edge_skater_distance_detail_empty_object ... ok
[INFO] [stdout] test types::edge::skater::tests::test_edge_skater_landing_deserializes_fixture ... ok
[INFO] [stdout] test types::edge::skater::tests::test_edge_skater_landing_empty_object ... ok
[INFO] [stdout] test types::edge::skater::tests::test_edge_skater_leader_empty_object ... ok
[INFO] [stdout] test types::edge::skater::tests::test_edge_skater_leader_mutually_exclusive_stat_fields ... ok
[INFO] [stdout] test types::edge::skater::tests::test_edge_skater_player_localized_name_round_trip ... ok
[INFO] [stdout] test types::edge::skater::tests::test_edge_skater_shot_location_detail_deserializes_fixture ... ok
[INFO] [stdout] test types::edge::skater::tests::test_edge_skater_shot_location_detail_empty_object ... ok
[INFO] [stdout] test types::edge::skater::tests::test_edge_skater_shot_speed_detail_deserializes_fixture ... ok
[INFO] [stdout] test types::edge::skater::tests::test_edge_skater_sog_summary_empty_object ... ok
[INFO] [stdout] test types::edge::skater::tests::test_edge_skater_shot_speed_detail_empty_object ... ok
[INFO] [stdout] test types::edge::skater::tests::test_edge_skater_speed_detail_deserializes_fixture ... ok
[INFO] [stdout] test types::edge::skater::tests::test_edge_skater_speed_detail_empty_object ... ok
[INFO] [stdout] test types::edge::skater::tests::test_edge_skater_zone_time_detail_deserializes_fixture ... ok
[INFO] [stdout] test types::edge::skater::tests::test_edge_skater_zone_time_detail_empty_object ... ok
[INFO] [stdout] test types::edge::skater::tests::test_edge_skater_zone_time_summary_empty_object ... ok
[INFO] [stdout] test types::edge::skater::tests::test_edge_skater_speed_empty_object ... ok
[INFO] [stdout] test types::edge::skater::tests::test_edge_sog_area_detail_empty_object ... ok
[INFO] [stdout] test types::edge::skater::tests::test_edge_speed_entry_empty_object ... ok
[INFO] [stdout] test types::edge::skater::tests::test_edge_zone_time_entry_empty_object ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_comparison_deserializes_fixture ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_comparison_empty_object ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_detail_deserializes_fixture ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_detail_empty_object ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_distance_detail_deserializes_fixture ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_distance_detail_empty_object ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_distance_empty_object ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_distance_entry_empty_object ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_landing_empty_object ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_landing_deserializes_fixture ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_leader_empty_object ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_leader_mutually_exclusive_stat_fields ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_shot_differential_empty_object ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_shot_location_detail_deserializes_fixture ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_shot_location_detail_empty_object ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_shot_location_entry_empty_object ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_shot_speed_detail_deserializes_fixture ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_shot_speed_detail_empty_object ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_shot_speed_empty_object ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_shot_speed_entry_empty_object ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_skating_speed_empty_object ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_sog_summary_empty_object ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_sog_area_detail_empty_object ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_speed_detail_deserializes_fixture ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_speed_entry_empty_object ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_speed_detail_empty_object ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_zone_time_by_strength_empty_object ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_zone_time_by_strength_missing_league_avgs_is_none ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_zone_time_details_deserializes_fixture_gotcha_b ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_zone_time_details_empty_object ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_zone_time_details_with_team_present ... ok
[INFO] [stdout] test types::edge::team::tests::test_edge_team_zone_time_empty_object ... ok
[INFO] [stdout] test types::enums::empty_string_as_none_tests::test_empty_string_as_none_empty_string ... ok
[INFO] [stdout] test types::enums::empty_string_as_none_tests::test_empty_string_as_none_missing_field ... ok
[INFO] [stdout] test types::enums::empty_string_as_none_tests::test_empty_string_as_none_real_value ... ok
[INFO] [stdout] test types::enums::empty_string_as_none_tests::test_empty_string_as_none_serialize_emits_value ... ok
[INFO] [stdout] test types::enums::empty_string_as_none_tests::test_empty_string_as_none_serialize_skips_none ... ok
[INFO] [stdout] test types::enums::empty_string_as_none_tests::test_empty_string_as_none_unknown_value_still_errors ... ok
[INFO] [stdout] test types::enums::game_enums::tests::defending_side_tests::test_defending_side_deserialize ... ok
[INFO] [stdout] test types::enums::game_enums::tests::defending_side_tests::test_defending_side_display ... ok
[INFO] [stdout] test types::enums::game_enums::tests::defending_side_tests::test_defending_side_from_str ... ok
[INFO] [stdout] test types::enums::game_enums::tests::defending_side_tests::test_defending_side_from_str_invalid ... ok
[INFO] [stdout] test types::enums::game_enums::tests::defending_side_tests::test_defending_side_hash ... ok
[INFO] [stdout] test types::enums::game_enums::tests::defending_side_tests::test_defending_side_name ... ok
[INFO] [stdout] test types::enums::game_enums::tests::defending_side_tests::test_defending_side_roundtrip ... ok
[INFO] [stdout] test types::enums::game_enums::tests::defending_side_tests::test_defending_side_serialize ... ok
[INFO] [stdout] test types::enums::game_enums::tests::game_schedule_state_tests::test_game_schedule_state_code ... ok
[INFO] [stdout] test types::enums::game_enums::tests::game_schedule_state_tests::test_game_schedule_state_deserialize ... ok
[INFO] [stdout] test types::enums::game_enums::tests::game_schedule_state_tests::test_game_schedule_state_display ... ok
[INFO] [stdout] test types::enums::game_enums::tests::game_schedule_state_tests::test_game_schedule_state_from_str ... ok
[INFO] [stdout] test types::enums::game_enums::tests::game_schedule_state_tests::test_game_schedule_state_deserialize_historical_fixture ... ok
[INFO] [stdout] test types::enums::game_enums::tests::game_schedule_state_tests::test_game_schedule_state_from_str_invalid ... ok
[INFO] [stdout] test types::enums::game_enums::tests::game_schedule_state_tests::test_game_schedule_state_hash ... ok
[INFO] [stdout] test types::enums::game_enums::tests::game_schedule_state_tests::test_game_schedule_state_is_playable ... ok
[INFO] [stdout] test types::enums::game_enums::tests::game_schedule_state_tests::test_game_schedule_state_name ... ok
[INFO] [stdout] test types::enums::game_enums::tests::game_schedule_state_tests::test_game_schedule_state_roundtrip ... ok
[INFO] [stdout] test types::enums::game_enums::tests::game_schedule_state_tests::test_game_schedule_state_serialize ... ok
[INFO] [stdout] test types::enums::game_enums::tests::home_road_tests::test_home_road_code ... ok
[INFO] [stdout] test types::enums::game_enums::tests::home_road_tests::test_home_road_deserialize ... ok
[INFO] [stdout] test types::enums::game_enums::tests::home_road_tests::test_home_road_display ... ok
[INFO] [stdout] test types::enums::game_enums::tests::home_road_tests::test_home_road_from_str ... ok
[INFO] [stdout] test types::enums::game_enums::tests::home_road_tests::test_home_road_from_str_invalid ... ok
[INFO] [stdout] test types::enums::game_enums::tests::home_road_tests::test_home_road_hash ... ok
[INFO] [stdout] test types::enums::game_enums::tests::home_road_tests::test_home_road_name ... ok
[INFO] [stdout] test types::enums::game_enums::tests::home_road_tests::test_home_road_roundtrip ... ok
[INFO] [stdout] test types::enums::game_enums::tests::home_road_tests::test_home_road_serialize ... ok
[INFO] [stdout] test types::enums::game_enums::tests::period_type_tests::test_period_type_code ... ok
[INFO] [stdout] test types::enums::game_enums::tests::period_type_tests::test_period_type_deserialize ... ok
[INFO] [stdout] test types::enums::game_enums::tests::period_type_tests::test_period_type_deserialize_unknown_error_message ... ok
[INFO] [stdout] test types::enums::game_enums::tests::period_type_tests::test_period_type_from_str ... ok
[INFO] [stdout] test types::enums::game_enums::tests::period_type_tests::test_period_type_from_str_invalid ... ok
[INFO] [stdout] test types::enums::game_enums::tests::period_type_tests::test_period_type_from_str_unknown_enum_value ... ok
[INFO] [stdout] test types::enums::game_enums::tests::period_type_tests::test_period_type_hash ... ok
[INFO] [stdout] test types::enums::game_enums::tests::period_type_tests::test_period_type_is_overtime ... ok
[INFO] [stdout] test types::enums::game_enums::tests::period_type_tests::test_period_type_name ... ok
[INFO] [stdout] test types::enums::game_enums::tests::period_type_tests::test_period_type_roundtrip ... ok
[INFO] [stdout] test types::enums::game_enums::tests::period_type_tests::test_period_type_serialize ... ok
[INFO] [stdout] test types::enums::game_enums::tests::period_type_tests::test_period_type_display ... ok
[INFO] [stdout] test types::enums::game_enums::tests::zone_code_tests::test_zone_code_code ... ok
[INFO] [stdout] test types::enums::game_enums::tests::zone_code_tests::test_zone_code_deserialize ... ok
[INFO] [stdout] test types::enums::game_enums::tests::zone_code_tests::test_zone_code_display ... ok
[INFO] [stdout] test types::enums::game_enums::tests::zone_code_tests::test_zone_code_from_str ... ok
[INFO] [stdout] test types::enums::game_enums::tests::zone_code_tests::test_zone_code_from_str_invalid ... ok
[INFO] [stdout] test types::enums::game_enums::tests::zone_code_tests::test_zone_code_hash ... ok
[INFO] [stdout] test types::enums::game_enums::tests::zone_code_tests::test_zone_code_name ... ok
[INFO] [stdout] test types::enums::game_enums::tests::zone_code_tests::test_zone_code_roundtrip ... ok
[INFO] [stdout] test types::enums::game_enums::tests::zone_code_tests::test_zone_code_serialize ... ok
[INFO] [stdout] test types::enums::macros::tests::test_macro_code_and_name ... ok
[INFO] [stdout] test types::enums::macros::tests::test_macro_deserialize_canonical_and_alias ... ok
[INFO] [stdout] test types::enums::macros::tests::test_macro_display_name_mode ... ok
[INFO] [stdout] test types::enums::macros::tests::test_macro_from_str_canonical ... ok
[INFO] [stdout] test types::enums::macros::tests::test_macro_from_str_alias ... ok
[INFO] [stdout] test types::enums::macros::tests::test_macro_from_str_unknown_value ... ok
[INFO] [stdout] test types::enums::macros::tests::test_macro_serialize_uses_canonical ... ok
[INFO] [stdout] test types::enums::macros::tests::test_macro_deserialize_unknown_error_message ... ok
[INFO] [stdout] test types::enums::macros::tests::test_macro_serde_roundtrip ... ok
[INFO] [stdout] test types::enums::player_enums::tests::error_display_tests::test_unknown_position_error_display ... ok
[INFO] [stdout] test types::enums::player_enums::tests::goalie_decision_tests::test_goalie_decision_code ... ok
[INFO] [stdout] test types::enums::player_enums::tests::error_display_tests::test_unknown_goalie_decision_error_display ... ok
[INFO] [stdout] test types::enums::player_enums::tests::goalie_decision_tests::test_goalie_decision_deserialize ... ok
[INFO] [stdout] test types::enums::player_enums::tests::goalie_decision_tests::test_goalie_decision_display ... ok
[INFO] [stdout] test types::enums::player_enums::tests::goalie_decision_tests::test_goalie_decision_deserialize_otl_alias ... ok
[INFO] [stdout] test types::enums::player_enums::tests::goalie_decision_tests::test_goalie_decision_deserialize_historical_tie ... ok
[INFO] [stdout] test types::enums::player_enums::tests::goalie_decision_tests::test_goalie_decision_from_str_invalid ... ok
[INFO] [stdout] test types::enums::player_enums::tests::goalie_decision_tests::test_goalie_decision_hash ... ok
[INFO] [stdout] test types::enums::player_enums::tests::goalie_decision_tests::test_goalie_decision_roundtrip ... ok
[INFO] [stdout] test types::enums::player_enums::tests::goalie_decision_tests::test_goalie_decision_from_str ... ok
[INFO] [stdout] test types::enums::player_enums::tests::goalie_decision_tests::test_goalie_decision_serialize ... ok
[INFO] [stdout] test types::enums::player_enums::tests::goalie_decision_tests::test_goalie_decision_name ... ok
[INFO] [stdout] test types::enums::player_enums::tests::handedness_tests::test_handedness_code ... ok
[INFO] [stdout] test types::enums::player_enums::tests::handedness_tests::test_handedness_deserialize ... ok
[INFO] [stdout] test types::enums::player_enums::tests::handedness_tests::test_handedness_from_str ... ok
[INFO] [stdout] test types::enums::player_enums::tests::handedness_tests::test_handedness_from_str_invalid ... ok
[INFO] [stdout] test types::enums::player_enums::tests::handedness_tests::test_handedness_display ... ok
[INFO] [stdout] test types::enums::player_enums::tests::handedness_tests::test_handedness_hash ... ok
[INFO] [stdout] test types::enums::player_enums::tests::handedness_tests::test_handedness_name ... ok
[INFO] [stdout] test types::enums::player_enums::tests::handedness_tests::test_handedness_roundtrip ... ok
[INFO] [stdout] test types::enums::player_enums::tests::handedness_tests::test_handedness_serialize ... ok
[INFO] [stdout] test types::enums::player_enums::tests::position_tests::test_position_deserialize_alias ... ok
[INFO] [stdout] test types::enums::player_enums::tests::position_tests::test_position_deserialize ... ok
[INFO] [stdout] test types::enums::player_enums::tests::position_tests::test_position_deserialize_historical_forward ... ok
[INFO] [stdout] test types::enums::player_enums::tests::position_tests::test_position_display ... ok
[INFO] [stdout] test types::enums::player_enums::tests::position_tests::test_position_code ... ok
[INFO] [stdout] test types::enums::player_enums::tests::position_tests::test_position_hash ... ok
[INFO] [stdout] test types::enums::player_enums::tests::position_tests::test_position_is_forward ... ok
[INFO] [stdout] test types::enums::player_enums::tests::position_tests::test_position_from_str ... ok
[INFO] [stdout] test types::enums::player_enums::tests::position_tests::test_position_is_skater ... ok
[INFO] [stdout] test types::enums::player_enums::tests::position_tests::test_position_name ... ok
[INFO] [stdout] test types::enums::player_enums::tests::position_tests::test_position_from_str_invalid ... ok
[INFO] [stdout] test types::enums::player_enums::tests::position_tests::test_position_roundtrip ... ok
[INFO] [stdout] test types::enums::player_enums::tests::position_tests::test_position_serialize ... ok
[INFO] [stdout] test types::game_center::tests::test_game_outcome_deserialization ... ok
[INFO] [stdout] test types::game_center::tests::test_game_outcome_empty_last_period_type ... ok
[INFO] [stdout] test types::game_center::tests::test_game_outcome_missing_last_period_type ... ok
[INFO] [stdout] test types::game_center::tests::test_game_outcome_serialize_omits_none ... ok
[INFO] [stdout] test types::game_center::tests::test_game_situation_display ... ok
[INFO] [stdout] test types::game_center::tests::test_game_situation_empty_net ... ok
[INFO] [stdout] test types::game_center::tests::test_game_situation_from_code ... ok
[INFO] [stdout] test types::game_center::tests::test_game_situation_from_code_invalid_goalie_flag ... ok
[INFO] [stdout] test types::game_center::tests::test_game_situation_from_code_non_digit_chars ... ok
[INFO] [stdout] test types::game_center::tests::test_game_situation_from_code_skaters_out_of_range ... ok
[INFO] [stdout] test types::game_center::tests::test_game_situation_from_code_three_on_three_ot ... ok
[INFO] [stdout] test types::game_center::tests::test_game_situation_power_play ... ok
[INFO] [stdout] test types::game_center::tests::test_game_situation_invalid_code ... ok
[INFO] [stdout] test types::game_center::tests::test_game_summary_missing_shootout_and_three_stars ... ok
[INFO] [stdout] test types::game_center::tests::test_game_summary_with_shootout_and_three_stars ... ok
[INFO] [stdout] test types::game_center::tests::test_goal_summary_empty_defending_side ... ok
[INFO] [stdout] test types::game_center::tests::test_goal_summary_missing_defending_side ... ok
[INFO] [stdout] test types::game_center::tests::test_goal_summary_real_defending_side ... ok
[INFO] [stdout] test types::game_center::tests::test_play_by_play_id_and_season_deserialize_from_numeric_strings ... ok
[INFO] [stdout] test types::game_center::tests::test_play_by_play_missing_reg_periods_defaults_to_zero ... ok
[INFO] [stdout] test types::game_center::tests::test_play_by_play_reg_periods_present ... ok
[INFO] [stdout] test types::game_center::tests::test_play_event_details_empty_zone_code ... ok
[INFO] [stdout] test types::game_center::tests::test_play_event_details_missing_zone_code ... ok
[INFO] [stdout] test types::game_center::tests::test_play_event_blocked_shot_deserialization ... ok
[INFO] [stdout] test types::game_center::tests::test_play_event_details_serialize_omits_none_zone_code ... ok
[INFO] [stdout] test types::game_center::tests::test_play_event_empty_defending_side ... ok
[INFO] [stdout] test types::game_center::tests::test_play_event_faceoff_deserialization ... ok
[INFO] [stdout] test types::game_center::tests::test_play_event_goal_deserialization ... ok
[INFO] [stdout] test types::game_center::tests::test_play_event_missing_defending_side ... ok
[INFO] [stdout] test types::game_center::tests::test_play_event_penalty_deserialization ... ok
[INFO] [stdout] test types::game_center::tests::test_play_event_shot_deserialization ... ok
[INFO] [stdout] test types::game_center::tests::test_play_event_type_display ... ok
[INFO] [stdout] test types::game_center::tests::test_play_event_type_helper_methods ... ok
[INFO] [stdout] test types::game_center::tests::test_play_event_type_serialization ... ok
[INFO] [stdout] test types::game_center::tests::test_roster_spot_empty_position ... ok
[INFO] [stdout] test types::game_center::tests::test_roster_spot_deserialization ... ok
[INFO] [stdout] test types::game_center::tests::test_roster_spot_missing_position ... ok
[INFO] [stdout] test types::game_center::tests::test_roster_spot_ids_deserialize_from_numeric_strings ... ok
[INFO] [stdout] test types::game_center::tests::test_shift_chart_deserialization ... ok
[INFO] [stdout] test types::game_center::tests::test_season_series_matchup_unplayed_game_deserialization ... ok
[INFO] [stdout] test types::game_center::tests::test_shift_entry_deserialization ... ok
[INFO] [stdout] test types::game_center::tests::test_three_star_position_real_empty_and_missing ... ok
[INFO] [stdout] test types::game_state::tests::test_game_state_display ... ok
[INFO] [stdout] test types::game_state::tests::test_game_state_display_all_variants ... ok
[INFO] [stdout] test types::game_state::tests::test_game_state_equality ... ok
[INFO] [stdout] test types::game_state::tests::test_game_state_from_str ... ok
[INFO] [stdout] test types::game_state::tests::test_game_state_from_str_all_variants ... ok
[INFO] [stdout] test types::game_state::tests::test_game_state_from_str_invalid ... ok
[INFO] [stdout] test types::game_state::tests::test_game_state_from_str_lowercase ... ok
[INFO] [stdout] test types::game_state::tests::test_game_state_hash ... ok
[INFO] [stdout] test types::game_state::tests::test_has_started ... ok
[INFO] [stdout] test types::game_state::tests::test_has_started_critical ... ok
[INFO] [stdout] test types::game_state::tests::test_has_started_postponed_suspended ... ok
[INFO] [stdout] test types::game_state::tests::test_is_final ... ok
[INFO] [stdout] test types::game_state::tests::test_is_live ... ok
[INFO] [stdout] test types::game_state::tests::test_is_live_with_postponed_suspended ... ok
[INFO] [stdout] test types::game_state::tests::test_is_scheduled ... ok
[INFO] [stdout] test types::game_state::tests::test_serde_deserialization ... ok
[INFO] [stdout] test types::game_state::tests::test_serde_deserialization_all_variants ... ok
[INFO] [stdout] test types::game_state::tests::test_serde_serialization ... ok
[INFO] [stdout] test types::game_state::tests::test_serde_serialization_all_variants ... ok
[INFO] [stdout] test types::game_type::tests::test_deserialize_int_all_variants ... ok
[INFO] [stdout] test types::game_type::tests::test_deserialize_string_display_name ... ok
[INFO] [stdout] test types::game_type::tests::test_deserialize_string_label ... ok
[INFO] [stdout] test types::game_type::tests::test_deserialize_string_numeric ... ok
[INFO] [stdout] test types::game_type::tests::test_deserialize_unknown_int ... ok
[INFO] [stdout] test types::game_type::tests::test_deserialize_unknown_string ... ok
[INFO] [stdout] test types::game_type::tests::test_display_all_variants ... ok
[INFO] [stdout] test types::game_type::tests::test_from_int_all_variants ... ok
[INFO] [stdout] test types::game_type::tests::test_from_int_unknown ... ok
[INFO] [stdout] test types::game_type::tests::test_from_str_alternate_aliases ... ok
[INFO] [stdout] test types::game_type::tests::test_from_str_display_name ... ok
[INFO] [stdout] test types::game_type::tests::test_from_str_label ... ok
[INFO] [stdout] test types::game_type::tests::test_from_str_numeric ... ok
[INFO] [stdout] test types::game_type::tests::test_from_str_unknown ... ok
[INFO] [stdout] test types::game_type::tests::test_int_round_trip_all_variants ... ok
[INFO] [stdout] test types::game_type::tests::test_label_all_variants ... ok
[INFO] [stdout] test types::game_type::tests::test_roundtrip ... ok
[INFO] [stdout] test types::game_type::tests::test_serialize_all_variants ... ok
[INFO] [stdout] test types::game_type::tests::test_to_int_all_variants ... ok
[INFO] [stdout] test types::player::tests::test_award_deserialization ... ok
[INFO] [stdout] test types::player::tests::test_award_season_deserialization ... ok
[INFO] [stdout] test types::player::tests::test_award_season_id_deserializes_from_string_form ... ok
[INFO] [stdout] test types::player::tests::test_draft_details_deserialization ... ok
[INFO] [stdout] test types::player::tests::test_featured_stats_deserialization ... ok
[INFO] [stdout] test types::player::tests::test_featured_stats_season_deserializes_from_string_form ... ok
[INFO] [stdout] test types::player::tests::test_game_log_deserialization ... ok
[INFO] [stdout] test types::player::tests::test_game_log_game_id_deserializes_from_numeric_string ... ok
[INFO] [stdout] test types::player::tests::test_player_game_log_deserialization ... ok
[INFO] [stdout] test types::player::tests::test_player_landing_empty_position_and_handedness ... ok
[INFO] [stdout] test types::player::tests::test_player_landing_real_position_and_handedness ... ok
[INFO] [stdout] test types::player::tests::test_player_landing_serialize_omits_none_position_and_handedness ... ok
[INFO] [stdout] test types::player::tests::test_player_search_result_deserialization ... ok
[INFO] [stdout] test types::player::tests::test_player_search_result_empty_position ... ok
[INFO] [stdout] test types::player::tests::test_player_search_result_ids_deserialize_from_integer_form ... ok
[INFO] [stdout] test types::player::tests::test_player_search_result_missing_position ... ok
[INFO] [stdout] test types::player::tests::test_player_stats_deserialization ... ok
[INFO] [stdout] test types::player::tests::test_season_total_deserialization ... ok
[INFO] [stdout] test types::player::tests::test_player_landing_missing_position_and_handedness ... ok
[INFO] [stdout] test types::schedule::tests::test_daily_schedule_with_no_games ... ok
[INFO] [stdout] test types::schedule::tests::test_daily_scores_deserialization ... ok
[INFO] [stdout] test types::schedule::tests::test_game_score_display ... ok
[INFO] [stdout] test types::schedule::tests::test_game_score_display_with_partial_score ... ok
[INFO] [stdout] test types::schedule::tests::test_game_score_display_with_zero_scores ... ok
[INFO] [stdout] test types::schedule::tests::test_game_score_display_with_no_scores ... ok
[INFO] [stdout] test types::schedule::tests::test_schedule_game_display ... ok
[INFO] [stdout] test types::schedule::tests::test_schedule_game_deserialization_without_game_date ... ok
[INFO] [stdout] test types::schedule::tests::test_schedule_game_display_without_date ... ok
[INFO] [stdout] test types::schedule::tests::test_schedule_game_ids_deserialize_from_numeric_strings ... ok
[INFO] [stdout] test types::standings::tests::place_name_tests::test_place_name_common_name_at_end ... ok
[INFO] [stdout] test types::standings::tests::place_name_tests::test_place_name_common_name_at_start ... ok
[INFO] [stdout] test types::standings::tests::place_name_tests::test_place_name_empty_common_name_falls_back_to_full_name ... ok
[INFO] [stdout] test types::standings::tests::place_name_tests::test_place_name_full_name_equals_common_name_yields_empty ... ok
[INFO] [stdout] test types::standings::tests::place_name_tests::test_place_name_common_name_not_found_falls_back_to_full_name ... ok
[INFO] [stdout] test types::standings::tests::place_name_tests::test_place_name_interior_whitespace_is_collapsed ... ok
[INFO] [stdout] test types::standings::tests::place_name_tests::test_place_name_single_word_place ... ok
[INFO] [stdout] test types::standings::tests::place_name_tests::test_place_name_multi_word_place ... ok
[INFO] [stdout] test types::standings::tests::test_games_played_full_season ... ok
[INFO] [stdout] test types::standings::tests::test_games_played_only_ot_losses ... ok
[INFO] [stdout] test types::standings::tests::test_games_played_only_losses ... ok
[INFO] [stdout] test types::standings::tests::test_games_played_only_wins ... ok
[INFO] [stdout] test types::standings::tests::test_games_played_typical_season ... ok
[INFO] [stdout] test types::standings::tests::test_games_played_with_existing_standings ... ok
[INFO] [stdout] test types::standings::tests::test_games_played_zero_games ... ok
[INFO] [stdout] test types::standings::tests::test_season_info_deserialization ... ok
[INFO] [stdout] test types::standings::tests::test_season_info_id_deserializes_from_string_form ... ok
[INFO] [stdout] test types::standings::tests::test_standing_display ... ok
[INFO] [stdout] test types::standings::tests::test_seasons_response_deserialization ... ok
[INFO] [stdout] test types::standings::tests::test_standing_to_team_conversion ... ok
[INFO] [stdout] test types::standings::tests::test_standing_to_team_place_name_fallback_when_common_name_not_found ... ok
[INFO] [stdout] test types::standings::tests::test_standing_to_team_without_conference ... ok
[INFO] [stdout] test types::standings::tests::test_standings_response_deserialization ... ok
[INFO] [stdout] test types::standings::tests::test_standings_response_empty ... ok
[INFO] [stdout] test types::standings::tests::test_standings_response_with_extra_fields ... ok
[INFO] [stdout] test types::standings::tests::test_standings_without_conference_fields ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 633 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/play_by_play_integration.rs (/opt/rustwide/target/release/build/nhl_api/3981617d621ce0ae/out/play_by_play_integration-3981617d621ce0ae)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test test_play_by_play_helper_methods ... FAILED
[INFO] [stdout] test test_recent_plays ... FAILED
[INFO] [stdout] test test_play_by_play_real_game ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test_play_by_play_helper_methods stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_play_by_play_helper_methods' (2778) panicked at tests/play_by_play_integration.rs:48:53:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: RequestError(reqwest::Error { kind: Request, url: "https://api-web.nhle.com/v1/gamecenter/2024020444/play-by-play", source: hyper_util::client::legacy::Error(Connect, ConnectError("dns error", Custom { kind: Uncategorized, error: "failed to lookup address information: Temporary failure in name resolution" })) })
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5561d5af0cd1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5561d5b06e9a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5561d5af563c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5561d5acc056 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5561d5ae8bc9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5561d58383a0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5561d5ae8ef2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5561d5acc102 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5561d5ac4d39 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5561d5accefd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5561d5b075fc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5561d5b073d2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5561d581a051 - play_by_play_integration[52ce2070648da558]::test_play_by_play_helper_methods::{closure#0}
[INFO] [stdout]   13:     0x5561d58281b8 - <tokio[73fa50012ab503e]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>
[INFO] [stdout]   14:     0x5561d5826c87 - tokio[73fa50012ab503e]::runtime::context::runtime::enter_runtime::<<tokio[73fa50012ab503e]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]   15:     0x5561d5825bea - <tokio[73fa50012ab503e]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   16:     0x5561d581ad7e - <play_by_play_integration[52ce2070648da558]::test_play_by_play_helper_methods::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   17:     0x5561d582b7eb - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   18:     0x5561d58389c5 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   19:     0x5561d58322b4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   20:     0x5561d583ba52 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   21:     0x5561d5af017f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   22:     0x7ef6f3ae1dfa - <unknown>
[INFO] [stdout]   23:     0x7ef6f3b753d4 - clone
[INFO] [stdout]   24:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_recent_plays stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_recent_plays' (2780) panicked at tests/play_by_play_integration.rs:36:53:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: RequestError(reqwest::Error { kind: Request, url: "https://api-web.nhle.com/v1/gamecenter/2024020444/play-by-play", source: hyper_util::client::legacy::Error(Connect, ConnectError("dns error", Custom { kind: Uncategorized, error: "failed to lookup address information: Temporary failure in name resolution" })) })
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5561d5af0cd1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5561d5b06e9a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5561d5af563c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5561d5acc056 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5561d5ae8bc9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5561d58383a0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5561d5ae8ef2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5561d5acc102 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5561d5ac4d39 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stderr] error: test failed, to rerun pass `--test play_by_play_integration`
[INFO] [stdout]    9:     0x5561d5accefd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5561d5b075fc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5561d5b073d2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5561d5819285 - play_by_play_integration[52ce2070648da558]::test_recent_plays::{closure#0}
[INFO] [stdout]   13:     0x5561d58281b8 - <tokio[73fa50012ab503e]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>
[INFO] [stdout]   14:     0x5561d5826c87 - tokio[73fa50012ab503e]::runtime::context::runtime::enter_runtime::<<tokio[73fa50012ab503e]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]   15:     0x5561d5825bea - <tokio[73fa50012ab503e]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   16:     0x5561d581a97e - <play_by_play_integration[52ce2070648da558]::test_recent_plays::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   17:     0x5561d582b7eb - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   18:     0x5561d58389c5 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   19:     0x5561d58322b4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   20:     0x5561d583ba52 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   21:     0x5561d5af017f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   22:     0x7ef6f3ae1dfa - <unknown>
[INFO] [stdout]   23:     0x7ef6f3b753d4 - clone
[INFO] [stdout]   24:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_play_by_play_real_game stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_play_by_play_real_game' (2779) panicked at tests/play_by_play_integration.rs:8:53:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: RequestError(reqwest::Error { kind: Request, url: "https://api-web.nhle.com/v1/gamecenter/2024020444/play-by-play", source: hyper_util::client::legacy::Error(Connect, ConnectError("dns error", Custom { kind: Uncategorized, error: "failed to lookup address information: Temporary failure in name resolution" })) })
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5561d5af0cd1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5561d5b06e9a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5561d5af563c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5561d5acc056 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5561d5ae8bc9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5561d58383a0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5561d5ae8ef2 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5561d5acc102 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5561d5ac4d39 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5561d5accefd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5561d5b075fc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5561d5b073d2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5561d581975b - play_by_play_integration[52ce2070648da558]::test_play_by_play_real_game::{closure#0}
[INFO] [stdout]   13:     0x5561d58281b8 - <tokio[73fa50012ab503e]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>
[INFO] [stdout]   14:     0x5561d5826c87 - tokio[73fa50012ab503e]::runtime::context::runtime::enter_runtime::<<tokio[73fa50012ab503e]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]   15:     0x5561d5825bea - <tokio[73fa50012ab503e]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   16:     0x5561d581ab7e - <play_by_play_integration[52ce2070648da558]::test_play_by_play_real_game::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   17:     0x5561d582b7eb - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   18:     0x5561d58389c5 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   19:     0x5561d58322b4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   20:     0x5561d583ba52 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   21:     0x5561d5af017f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   22:     0x7ef6f3ae1dfa - <unknown>
[INFO] [stdout]   23:     0x7ef6f3b753d4 - clone
[INFO] [stdout]   24:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     test_play_by_play_helper_methods
[INFO] [stdout]     test_play_by_play_real_game
[INFO] [stdout]     test_recent_plays
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "2529d869c27ea42dd23c5a4b1cb06df700a67b9396afbcb745efa350cbd74025", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2529d869c27ea42dd23c5a4b1cb06df700a67b9396afbcb745efa350cbd74025", kill_on_drop: false }`
[INFO] [stdout] 2529d869c27ea42dd23c5a4b1cb06df700a67b9396afbcb745efa350cbd74025
