[INFO] cloning repository https://github.com/nikosalonen/liiga_teletext
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nikosalonen/liiga_teletext" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnikosalonen%2Fliiga_teletext", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnikosalonen%2Fliiga_teletext'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 142b685d727751aab8ba8af1049b276bedfc61da
[INFO] testing nikosalonen/liiga_teletext against 1.90.0 for beta-1.91-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnikosalonen%2Fliiga_teletext" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/nikosalonen/liiga_teletext
[INFO] finished tweaking git repo https://github.com/nikosalonen/liiga_teletext
[INFO] tweaked toml for git repo https://github.com/nikosalonen/liiga_teletext written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/nikosalonen/liiga_teletext on toolchain 1.90.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/nikosalonen/liiga_teletext 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.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded deadpool v0.12.3
[INFO] [stderr]   Downloaded lru v0.16.1
[INFO] [stderr]   Downloaded serial_test_derive v3.2.0
[INFO] [stderr]   Downloaded serial_test v3.2.0
[INFO] [stderr]   Downloaded litrs v0.4.2
[INFO] [stderr]   Downloaded convert_case v0.7.1
[INFO] [stderr]   Downloaded sdd v3.0.10
[INFO] [stderr]   Downloaded wiremock v0.6.5
[INFO] [stderr]   Downloaded crossterm v0.29.0
[INFO] [stderr]   Downloaded scc v2.4.0
[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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 48b914378e196d10d90890fad6bf485b244b54b26c6f790c76e649a4d4605092
[INFO] running `Command { std: "docker" "start" "-a" "48b914378e196d10d90890fad6bf485b244b54b26c6f790c76e649a4d4605092", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "48b914378e196d10d90890fad6bf485b244b54b26c6f790c76e649a4d4605092", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "48b914378e196d10d90890fad6bf485b244b54b26c6f790c76e649a4d4605092", kill_on_drop: false }`
[INFO] [stdout] 48b914378e196d10d90890fad6bf485b244b54b26c6f790c76e649a4d4605092
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4260e06a3391e011e8427d4e029e3d6d68954bac023d5d539c148e3d6f366f50
[INFO] running `Command { std: "docker" "start" "-a" "4260e06a3391e011e8427d4e029e3d6d68954bac023d5d539c148e3d6f366f50", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling regex-syntax v0.8.6
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling convert_case v0.7.1
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling anstyle-query v1.1.4
[INFO] [stderr]    Compiling deranged v0.5.3
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]    Compiling anstream v0.6.20
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling regex-automata v0.4.10
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling socket2 v0.6.0
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling litrs v0.4.2
[INFO] [stderr]    Compiling nu-ansi-term v0.50.1
[INFO] [stderr]    Compiling iri-string v0.7.8
[INFO] [stderr]    Compiling clap_derive v4.5.47
[INFO] [stderr]    Compiling rustls-pki-types v1.12.0
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling clap_builder v4.5.48
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling tracing-subscriber v0.3.20
[INFO] [stderr]    Compiling document-features v0.2.11
[INFO] [stderr]    Compiling time v0.3.44
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling signal-hook-mio v0.2.4
[INFO] [stderr]    Compiling derive_more v2.0.1
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling liiga_teletext v0.15.10 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling tracing-appender v0.2.3
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling clap v4.5.48
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling h2 v0.4.12
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling lru v0.16.1
[INFO] [stderr]    Compiling tower-http v0.6.6
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling hyper v1.7.0
[INFO] [stderr]    Compiling hyper-util v0.1.17
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.23
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 35s
[INFO] running `Command { std: "docker" "inspect" "4260e06a3391e011e8427d4e029e3d6d68954bac023d5d539c148e3d6f366f50", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4260e06a3391e011e8427d4e029e3d6d68954bac023d5d539c148e3d6f366f50", kill_on_drop: false }`
[INFO] [stdout] 4260e06a3391e011e8427d4e029e3d6d68954bac023d5d539c148e3d6f366f50
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6f6dc71e69b7f0316be8b90bc149b9250c764911a5d7b7a3e9bf7dd62bac50ec
[INFO] running `Command { std: "docker" "start" "-a" "6f6dc71e69b7f0316be8b90bc149b9250c764911a5d7b7a3e9bf7dd62bac50ec", kill_on_drop: false }`
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling regex-syntax v0.8.6
[INFO] [stderr]    Compiling hyper v1.7.0
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling sdd v3.0.10
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling scc v2.4.0
[INFO] [stderr]    Compiling deadpool v0.12.3
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling serial_test_derive v3.2.0
[INFO] [stderr]    Compiling unicode-width v0.2.1
[INFO] [stderr]    Compiling hyper-util v0.1.17
[INFO] [stderr]    Compiling serial_test v3.2.0
[INFO] [stderr]    Compiling regex-automata v0.4.10
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling tempfile v3.22.0
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.23
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling regex v1.11.2
[INFO] [stderr]    Compiling tracing-subscriber v0.3.20
[INFO] [stderr]    Compiling wiremock v0.6.5
[INFO] [stderr]    Compiling tracing-appender v0.2.3
[INFO] [stderr]    Compiling liiga_teletext v0.15.10 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 32s
[INFO] running `Command { std: "docker" "inspect" "6f6dc71e69b7f0316be8b90bc149b9250c764911a5d7b7a3e9bf7dd62bac50ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6f6dc71e69b7f0316be8b90bc149b9250c764911a5d7b7a3e9bf7dd62bac50ec", kill_on_drop: false }`
[INFO] [stdout] 6f6dc71e69b7f0316be8b90bc149b9250c764911a5d7b7a3e9bf7dd62bac50ec
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] f186e382bd67c784125c1920b64a2425772ee1537a8db3d516f8390fbd4a910c
[INFO] running `Command { std: "docker" "start" "-a" "f186e382bd67c784125c1920b64a2425772ee1537a8db3d516f8390fbd4a910c", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.39s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/liiga_teletext-d424f75a9e13bff8)
[INFO] [stdout] 
[INFO] [stdout] running 364 tests
[INFO] [stdout] test config::tests::test_config_load_invalid_toml ... ok
[INFO] [stdout] test config::tests::test_config_default_log_file_path ... ok
[INFO] [stdout] test config::tests::test_config_display_without_config_file ... ok
[INFO] [stdout] test config::tests::test_config_path_generation ... ok
[INFO] [stdout] test config::tests::test_config_load_from_nonexistent_path ... ok
[INFO] [stdout] test config::tests::test_config_load_existing_file ... ok
[INFO] [stdout] test config::tests::test_config_malformed_toml_file ... ok
[INFO] [stdout] test config::tests::test_config_load_without_log_file_path ... ok
[INFO] [stdout] test config::tests::test_config_save_creates_directory ... ok
[INFO] [stdout] test config::tests::test_config_save_and_load_roundtrip ... ok
[INFO] [stdout] test config::tests::test_config_save_to_readonly_directory ... ok
[INFO] [stdout] test config::tests::test_config_serialization_deserialization ... ok
[INFO] [stdout] test config::tests::test_config_missing_required_field ... ok
[INFO] [stdout] test config::tests::test_config_save_with_http_prefix ... ok
[INFO] [stdout] test config::tests::test_config_save_creates_nested_directories ... ok
[INFO] [stdout] test config::tests::test_config_validation_invalid_configs ... ok
[INFO] [stdout] test config::tests::test_config_save_without_https_prefix ... ok
[INFO] [stdout] test config::tests::test_config_validation_valid_configs ... ok
[INFO] [stdout] test config::tests::test_config_without_log_file_path_serialization ... ok
[INFO] [stdout] test config::tests::test_config_empty_file ... ok
[INFO] [stdout] test config::tests::test_config_serialization_with_special_characters ... ok
[INFO] [stdout] test config::tests::test_log_dir_path_generation ... ok
[INFO] [stdout] test constants::tests::test_env_var_names_are_not_empty ... ok
[INFO] [stdout] test constants::tests::test_polling_constants_are_reasonable ... ok
[INFO] [stdout] test constants::tests::test_retry_constants_are_reasonable ... ok
[INFO] [stdout] test constants::tests::test_tournament_constants_are_valid_months ... ok
[INFO] [stdout] test config::tests::test_get_config_path ... ok
[INFO] [stdout] test config::tests::test_get_log_dir_path ... ok
[INFO] [stdout] test constants::tests::test_ttl_constants_are_reasonable ... ok
[INFO] [stdout] test constants::tests::test_validation_constants_are_reasonable ... ok
[INFO] [stdout] test constants::tests::test_ui_constants_are_reasonable ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_build_tournament_list_playoffs ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_build_tournament_list_preseason ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_build_tournament_list_regular_season ... ok
[INFO] [stdout] test config::tests::test_config_with_various_api_domain_formats ... ok
[INFO] [stdout] test config::tests::test_environment_variable_override ... ok
[INFO] [stdout] test config::tests::test_config_with_extra_fields ... ok
[INFO] [stdout] test config::tests::test_config_display_with_existing_config ... ok
[INFO] [stdout] test config::tests::test_config_save_new_file ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_determine_fetch_date_custom_date ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_determine_fetch_date_no_custom_date ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_determine_fetch_date_with_time_deterministic ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_determine_fetch_date_custom_date_none ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_determine_fetch_date_with_time_edge_cases ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_fetch_day_data_no_games ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_determine_active_tournaments_api_errors_handled ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_fetch_day_data_success ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_fetch_game_data_no_goals ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_fetch_game_data_success ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_fetch_regular_season_start_date_not_found ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_fetch_regular_season_start_date_success ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_fetch_tournament_data_no_games ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_fetch_tournament_data_not_found ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_determine_active_tournaments_future_games_same_date ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_fetch_tournament_data_success ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_determine_active_tournaments_concurrent_tournaments ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_find_future_games_fallback ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_find_future_games_fallback_invalid_date ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_get_team_name_unknown ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_get_team_name_with_placeholder ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_get_team_name_with_team_name ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_has_actual_goals_no_goals ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_has_actual_goals_with_goals ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_is_historical_date_august_transition ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_is_historical_date_complex_scenarios ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_is_historical_date_edge_cases ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_is_historical_date_off_season_months ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_is_historical_date_regular_season_months ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_is_historical_date_year_boundary ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_process_goal_events_for_historical_game_with_players ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_process_goal_events_with_missing_player ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_should_fetch_detailed_data_finished_game ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_should_fetch_detailed_data_finished_with_score ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_should_fetch_detailed_data_not_finished ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_api_integration_disambiguation_flow ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_find_future_games_fallback_no_games ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_determine_active_tournaments_priority_order ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_determine_active_tournaments_single_tournament_with_games ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_fetch_game_data_server_error ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_fetch_game_data_cache_fallback ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_cache_players_with_disambiguation_empty_first_names ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_cache_players_with_disambiguation_empty_teams ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_cache_players_with_disambiguation_mixed_scenario ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_cache_key_generation ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_cache_players_with_disambiguation_no_conflicts ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_cache_players_with_disambiguation_cross_team_same_names ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_cache_debugging_functions ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_cache_stats ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_cache_players_with_disambiguation_basic ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_cache_players_with_disambiguation_three_players_same_name ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_cache_players_with_disambiguation_unicode_names ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_detailed_game_cache_basic ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_cache_players_with_formatting ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_goal_events_cache_debug_methods ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_has_live_games_detection ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_get_cached_disambiguated_players ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_get_cached_player_name ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_goal_events_cache_basic ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_cache_expiration ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_has_cached_disambiguated_players ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_determine_active_tournaments_no_active_tournaments ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_has_live_games_from_game_data ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_has_live_games_from_game_data_all_completed ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_has_live_games_from_game_data_all_ongoing ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_has_live_games_from_game_data_mixed_without_ongoing ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_has_live_games_from_game_data_complex_mixed_scenario ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_has_live_games_from_game_data_single_ongoing ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_has_live_games_from_game_data_mixed_with_ongoing ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_has_live_games_from_game_data_multiple_ongoing ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_has_live_games_from_game_data_playoffs_ongoing ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_lru_simple ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_has_live_games_from_game_data_single_completed ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_has_live_games_from_game_data_single_scheduled ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_http_response_cache_basic ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_clone_implementations ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_complex_goal_event_deserialization ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_debug_implementations ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_detailed_game_response_serialization ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_detailed_game_serialization ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_detailed_team_serialization ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_game_data_creation ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_goal_event_data_creation ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_goal_event_data_get_goal_type_display ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_goal_event_default_fields ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_goal_event_serialization ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_has_goal_events_trait_detailed_team ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_has_goal_events_trait_schedule_team ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_has_teams_trait_detailed_game ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_has_teams_trait_schedule_game ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_penalty_event_serialization ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_period_serialization ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_player_serialization ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_schedule_api_game_serialization ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_schedule_game_default_fields ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_schedule_game_serialization ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_schedule_response_serialization ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_schedule_team_default ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_schedule_team_serialization ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_build_full_name ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_build_full_name_with_empty_strings ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_comprehensive_basic_two_player_disambiguation ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_comprehensive_case_insensitive_disambiguation ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_comprehensive_cross_team_scenarios_no_disambiguation ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_comprehensive_edge_cases_in_disambiguation ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_comprehensive_empty_and_single_player_scenarios ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_comprehensive_mixed_team_scenario_with_cross_team_same_names ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_comprehensive_multiple_players_same_name_three_plus ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_comprehensive_no_disambiguation_needed_unique_names ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_comprehensive_unicode_character_disambiguation ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_create_fallback_name ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_create_fallback_name_negative ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_disambiguation_context_empty ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_disambiguation_context_get_disambiguated_name ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_disambiguation_context_needs_disambiguation ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_disambiguation_context_new ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_disambiguation_context_single_player ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_edge_case_empty_and_missing_first_names ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_edge_case_extreme_unicode_and_special_characters ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_edge_case_incomplete_player_data ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_edge_case_multiple_words_and_hyphens ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_edge_case_non_alphabetic_first_characters ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_edge_case_performance_with_large_datasets ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_edge_case_unicode_finnish_characters ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_extended_disambiguation_same_initial ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_extended_disambiguation_three_characters ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_extract_first_chars ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_extract_first_initial_basic ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_extract_first_initial_case_handling ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_extract_first_initial_empty_and_whitespace ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_extract_first_initial_multiple_words ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_extract_first_initial_non_alphabetic ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_extract_first_initial_unicode ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_extract_first_initial_with_leading_whitespace ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_fast_path_case_insensitive_matching ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_fast_path_empty_players ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_fast_path_single_player ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_fast_path_two_different_players ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_fast_path_two_same_players_falls_through ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_fast_path_unicode_last_names ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_fast_path_vs_full_algorithm_consistency ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_for_display_capitalization ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_for_display_empty ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_for_display_multiple_names ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_for_display_simple ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_for_display_single_name ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_for_display_whitespace ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_for_display_with_first_initial_basic ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_for_display_with_first_initial_case_handling ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_for_display_with_first_initial_empty_first_name ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_for_display_with_first_initial_multiple_words ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_for_display_with_first_initial_unicode ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_for_display_with_hyphens ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_with_disambiguation_basic_two_players ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_with_disambiguation_case_insensitive ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_with_disambiguation_empty_first_names ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_with_disambiguation_empty_input ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_with_disambiguation_mixed_scenario ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_with_disambiguation_no_disambiguation_needed ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_with_disambiguation_three_players_same_name ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_with_disambiguation_unicode_names ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_get_players_needing_disambiguation_all_same ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_get_players_needing_disambiguation_all_unique ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_get_players_needing_disambiguation_case_insensitive ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_get_players_needing_disambiguation_consistency_with_format_function ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_get_players_needing_disambiguation_empty ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_get_players_needing_disambiguation_large_dataset ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_get_players_needing_disambiguation_mixed_scenario ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_get_players_needing_disambiguation_single_player ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_get_players_needing_disambiguation_two_different ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_get_players_needing_disambiguation_two_same ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_get_players_needing_disambiguation_unicode ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_group_players_by_last_name_all_unique ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_group_players_by_last_name_basic ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_group_players_by_last_name_case_insensitive ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_group_players_by_last_name_complex_scenario ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_group_players_by_last_name_empty ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_group_players_by_last_name_preserves_original_case ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_group_players_by_last_name_single_player ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_group_players_by_last_name_unicode ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_is_disambiguation_needed_basic ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_is_disambiguation_needed_case_insensitive ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_is_disambiguation_needed_empty_players ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_is_disambiguation_needed_single_player ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_is_disambiguation_needed_three_players_same_name ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_is_disambiguation_needed_unicode_names ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_mixed_disambiguation_levels ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_fetch_tournament_data_server_error ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_create_basic_goal_events_empty_game ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_create_basic_goal_events_with_scores_but_no_events ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_determine_game_status_finished_regular ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_determine_game_status_ongoing ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_determine_game_status_overtime ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_determine_game_status_scheduled ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_determine_game_status_shootout ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_edge_cases_large_game_time ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_edge_cases_zero_game_time ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_format_time_empty_string ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_format_time_invalid_date ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_create_basic_goal_events ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_format_time_valid_utc ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_format_time_valid_with_timezone ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_goal_event_data_fields ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_noon_cutoff_behavior ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_goal_events_empty_game ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_goal_events_multiple_goal_types ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_goal_events_no_video_url ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_goal_events_preserves_winning_goal_flag ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_goal_events_with_disambiguation_basic ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_goal_events_with_disambiguation_empty_teams ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_format_time_invalid_format ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_goal_events_with_disambiguation_missing_player ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_goal_events_with_disambiguation_mixed_scenario ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_goal_events_with_disambiguation_team_scoped ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_goal_events_with_disambiguation_unicode_names ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_goal_events_with_disambiguation_multiple_same_name ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_goal_events_with_fallback_names ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_goal_events_with_goals ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_team_goals_filters_cancelled_goals ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_team_goals_with_disambiguation_filters_cancelled ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_team_goals_with_disambiguation ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_team_goals_with_disambiguation_missing_player ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_should_show_todays_games_deterministic_examples ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_should_show_todays_games_consistency ... ok
[INFO] [stdout] test error::tests::test_api_client_error_helper ... ok
[INFO] [stdout] test error::tests::test_api_game_not_found_helper ... ok
[INFO] [stdout] test error::tests::test_api_malformed_json_helper ... ok
[INFO] [stdout] test error::tests::test_api_not_found_helper ... ok
[INFO] [stdout] test error::tests::test_api_no_data_helper ... ok
[INFO] [stdout] test error::tests::test_api_rate_limit_helper ... ok
[INFO] [stdout] test error::tests::test_api_server_error_helper ... ok
[INFO] [stdout] test error::tests::test_api_service_unavailable_helper ... ok
[INFO] [stdout] test error::tests::test_api_tournament_not_found_helper ... ok
[INFO] [stdout] test error::tests::test_api_unexpected_structure_helper ... ok
[INFO] [stdout] test error::tests::test_config_error_helper ... ok
[INFO] [stdout] test error::tests::test_custom_error ... ok
[INFO] [stdout] test error::tests::test_datetime_parse_error_helper ... ok
[INFO] [stdout] test error::tests::test_error_display_formats ... ok
[INFO] [stdout] test error::tests::test_error_from_io ... ok
[INFO] [stdout] test error::tests::test_api_season_not_found_helper ... ok
[INFO] [stdout] test error::tests::test_error_from_semver ... ok
[INFO] [stdout] test error::tests::test_error_from_serde_json ... ok
[INFO] [stdout] test error::tests::test_error_from_toml_deserialize ... ok
[INFO] [stdout] test error::tests::test_error_from_toml_serialize ... ok
[INFO] [stdout] test error::tests::test_is_not_found ... ok
[INFO] [stdout] test error::tests::test_is_retryable ... ok
[INFO] [stdout] test error::tests::test_log_setup_error_helper ... ok
[INFO] [stdout] test error::tests::test_network_connection_helper ... ok
[INFO] [stdout] test error::tests::test_network_timeout_helper ... ok
[INFO] [stdout] test error::tests::test_retry_delay_constants_consistency ... ok
[INFO] [stdout] test error::tests::test_retry_delay_seconds_for_non_retryable_errors ... ok
[INFO] [stdout] test error::tests::test_retry_delay_seconds_for_retryable_errors ... ok
[INFO] [stdout] test error::tests::test_retry_delay_seconds_uses_constants ... ok
[INFO] [stdout] test performance::tests::test_performance_metrics ... ok
[INFO] [stdout] test performance::tests::test_request_deduplicator ... ok
[INFO] [stdout] test teletext_ui::tests::test_buffer_size_calculation ... ok
[INFO] [stdout] test teletext_ui::tests::test_can_fit_two_pages_false_when_wide_mode_disabled ... ok
[INFO] [stdout] test teletext_ui::tests::test_can_fit_two_pages_with_insufficient_width ... ok
[INFO] [stdout] test teletext_ui::tests::test_can_fit_two_pages_with_sufficient_width ... ok
[INFO] [stdout] test teletext_ui::tests::test_compact_display_config ... ok
[INFO] [stdout] test teletext_ui::tests::test_compact_display_config_comprehensive ... ok
[INFO] [stdout] test teletext_ui::tests::test_compact_formatting_various_game_states ... ok
[INFO] [stdout] test teletext_ui::tests::test_compact_mode_compatibility_validation ... ok
[INFO] [stdout] test teletext_ui::tests::test_compact_mode_getter_setter ... ok
[INFO] [stdout] test teletext_ui::tests::test_compact_mode_spacing ... ok
[INFO] [stdout] test teletext_ui::tests::test_distribute_games_for_wide_display_disabled ... ok
[INFO] [stdout] test teletext_ui::tests::test_distribute_games_for_wide_display_enabled ... ok
[INFO] [stdout] test teletext_ui::tests::test_distribute_games_for_wide_display_insufficient_width ... ok
[INFO] [stdout] test teletext_ui::tests::test_distribute_games_for_wide_display_odd_number ... ok
[INFO] [stdout] test teletext_ui::tests::test_error_message_display ... ok
[INFO] [stdout] test teletext_ui::tests::test_format_compact_game ... ok
[INFO] [stdout] test teletext_ui::tests::test_from_config_returns_error_with_invalid_config ... ok
[INFO] [stdout] test teletext_ui::tests::test_from_config_succeeds_with_valid_config ... ok
[INFO] [stdout] test teletext_ui::tests::test_game_height_calculation ... ok
[INFO] [stdout] test teletext_ui::tests::test_game_result_display ... ok
[INFO] [stdout] test teletext_ui::tests::test_get_ansi_code_helper ... ok
[INFO] [stdout] test teletext_ui::tests::test_group_games_for_compact_display ... ok
[INFO] [stdout] test teletext_ui::tests::test_header_truncation_logic ... ok
[INFO] [stdout] test teletext_ui::tests::test_loading_indicator ... ok
[INFO] [stdout] test teletext_ui::tests::test_multi_column_compact_layout ... ok
[INFO] [stdout] test teletext_ui::tests::test_page_navigation ... ok
[INFO] [stdout] test teletext_ui::tests::test_page_preservation ... ok
[INFO] [stdout] test teletext_ui::tests::test_page_wrapping ... ok
[INFO] [stdout] test teletext_ui::tests::test_setter_validation_conflicts ... ok
[INFO] [stdout] test teletext_ui::tests::test_team_abbreviation ... ok
[INFO] [stdout] test teletext_ui::tests::test_team_abbreviation_comprehensive ... ok
[INFO] [stdout] test teletext_ui::tests::test_teletext_page_config_mode_exclusivity ... ok
[INFO] [stdout] test teletext_ui::tests::test_teletext_page_config_validation ... ok
[INFO] [stdout] test teletext_ui::tests::test_teletext_page_mode_exclusivity ... ok
[INFO] [stdout] test teletext_ui::tests::test_teletext_page_validation ... ok
[INFO] [stdout] test teletext_ui::tests::test_terminal_width_adaptation ... ok
[INFO] [stdout] test teletext_ui::tests::test_terminal_width_validation ... ok
[INFO] [stdout] test teletext_ui::tests::test_video_link_display ... ok
[INFO] [stdout] test teletext_ui::tests::test_wide_mode_getter_setter ... ok
[INFO] [stdout] test error::tests::test_error_from_reqwest ... ok
[INFO] [stdout] test testing_utils::tests::test_create_basic_game ... ok
[INFO] [stdout] test teletext_ui::tests::test_wide_mode_with_test_games ... ok
[INFO] [stdout] test testing_utils::tests::test_create_goal_event ... ok
[INFO] [stdout] test testing_utils::tests::test_create_live_game ... ok
[INFO] [stdout] test testing_utils::tests::test_create_multiple_games ... ok
[INFO] [stdout] test testing_utils::tests::test_create_overtime_game ... ok
[INFO] [stdout] test testing_utils::tests::test_create_powerplay_goal ... ok
[INFO] [stdout] test testing_utils::tests::test_create_tournament_games ... ok
[INFO] [stdout] test testing_utils::tests::test_create_shootout_game ... ok
[INFO] [stdout] test testing_utils::tests::test_validate_game_data_invalid_empty_team ... ok
[INFO] [stdout] test testing_utils::tests::test_validate_game_data_invalid_overtime_and_shootout ... ok
[INFO] [stdout] test testing_utils::tests::test_create_winning_goal ... ok
[INFO] [stdout] test testing_utils::tests::test_validate_game_data_valid ... ok
[INFO] [stdout] test testing_utils::tests::test_validate_goal_events_invalid_empty_scorer ... ok
[INFO] [stdout] test testing_utils::tests::test_validate_goal_events_invalid_minute ... ok
[INFO] [stdout] test testing_utils::tests::test_validate_goal_events_valid ... ok
[INFO] [stdout] test ui::interactive::tests::test_calculate_games_hash ... ok
[INFO] [stdout] test ui::interactive::tests::test_calculate_games_hash_empty ... ok
[INFO] [stdout] test ui::interactive::tests::test_format_date_for_display ... ok
[INFO] [stdout] test ui::interactive::tests::test_get_subheader_with_series_types ... ok
[INFO] [stdout] test ui::interactive::tests::test_series_type_display ... ok
[INFO] [stdout] test ui::interactive::tests::test_is_future_game ... ok
[INFO] [stdout] test ui::interactive::tests::test_series_type_priority_ordering ... ok
[INFO] [stdout] test ui::interactive::tests::test_series_type_from_string ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_has_live_games_from_game_data_empty_list ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_lru_access_order ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_lru_simple_access_order ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_tournament_cache_ttl ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_has_live_games_from_game_data_all_scheduled ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_tournament_cache_basic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 364 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.75s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/liiga_teletext-023c992b7085d549)
[INFO] [stdout] 
[INFO] [stdout] running 347 tests
[INFO] [stdout] test config::tests::test_config_default_log_file_path ... ok
[INFO] [stdout] test config::tests::test_config_display_with_existing_config ... ok
[INFO] [stdout] test config::tests::test_config_load_invalid_toml ... ok
[INFO] [stdout] test config::tests::test_config_load_existing_file ... ok
[INFO] [stdout] test config::tests::test_config_malformed_toml_file ... ok
[INFO] [stdout] test config::tests::test_config_display_without_config_file ... ok
[INFO] [stdout] test config::tests::test_config_path_generation ... ok
[INFO] [stdout] test config::tests::test_config_empty_file ... ok
[INFO] [stdout] test config::tests::test_config_missing_required_field ... ok
[INFO] [stdout] test config::tests::test_config_load_without_log_file_path ... ok
[INFO] [stdout] test config::tests::test_config_save_creates_directory ... ok
[INFO] [stdout] test config::tests::test_config_save_to_readonly_directory ... ok
[INFO] [stdout] test config::tests::test_config_save_and_load_roundtrip ... ok
[INFO] [stdout] test config::tests::test_config_serialization_deserialization ... ok
[INFO] [stdout] test config::tests::test_config_save_with_http_prefix ... ok
[INFO] [stdout] test config::tests::test_config_validation_invalid_configs ... ok
[INFO] [stdout] test config::tests::test_config_save_without_https_prefix ... ok
[INFO] [stdout] test config::tests::test_config_without_log_file_path_serialization ... ok
[INFO] [stdout] test config::tests::test_config_validation_valid_configs ... ok
[INFO] [stdout] test config::tests::test_config_with_various_api_domain_formats ... ok
[INFO] [stdout] test config::tests::test_get_config_path ... ok
[INFO] [stdout] test config::tests::test_get_log_dir_path ... ok
[INFO] [stdout] test constants::tests::test_env_var_names_are_not_empty ... ok
[INFO] [stdout] test constants::tests::test_polling_constants_are_reasonable ... ok
[INFO] [stdout] test constants::tests::test_retry_constants_are_reasonable ... ok
[INFO] [stdout] test config::tests::test_config_serialization_with_special_characters ... ok
[INFO] [stdout] test config::tests::test_environment_variable_override ... ok
[INFO] [stdout] test constants::tests::test_tournament_constants_are_valid_months ... ok
[INFO] [stdout] test constants::tests::test_ttl_constants_are_reasonable ... ok
[INFO] [stdout] test constants::tests::test_ui_constants_are_reasonable ... ok
[INFO] [stdout] test constants::tests::test_validation_constants_are_reasonable ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_build_tournament_list_playoffs ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_build_tournament_list_preseason ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_build_tournament_list_regular_season ... ok
[INFO] [stdout] test config::tests::test_config_save_new_file ... ok
[INFO] [stdout] test config::tests::test_config_save_creates_nested_directories ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_determine_active_tournaments_api_errors_handled ... ok
[INFO] [stdout] test config::tests::test_log_dir_path_generation ... ok
[INFO] [stdout] test config::tests::test_config_with_extra_fields ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_determine_fetch_date_custom_date ... ok
[INFO] [stdout] test config::tests::test_config_load_from_nonexistent_path ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_determine_fetch_date_custom_date_none ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_determine_fetch_date_no_custom_date ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_determine_fetch_date_with_time_deterministic ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_determine_fetch_date_with_time_edge_cases ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_fetch_day_data_success ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_determine_active_tournaments_single_tournament_with_games ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_fetch_day_data_no_games ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_fetch_game_data_success ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_fetch_game_data_no_goals ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_determine_active_tournaments_future_games_same_date ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_fetch_regular_season_start_date_success ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_fetch_regular_season_start_date_not_found ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_fetch_tournament_data_no_games ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_determine_active_tournaments_no_active_tournaments ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_fetch_tournament_data_not_found ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_fetch_tournament_data_success ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_find_future_games_fallback ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_get_team_name_unknown ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_get_team_name_with_placeholder ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_get_team_name_with_team_name ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_has_actual_goals_no_goals ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_has_actual_goals_with_goals ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_is_historical_date_august_transition ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_is_historical_date_complex_scenarios ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_is_historical_date_edge_cases ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_is_historical_date_off_season_months ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_is_historical_date_regular_season_months ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_is_historical_date_year_boundary ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_process_goal_events_for_historical_game_with_players ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_process_goal_events_with_missing_player ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_should_fetch_detailed_data_finished_game ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_should_fetch_detailed_data_finished_with_score ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_should_fetch_detailed_data_not_finished ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_api_integration_disambiguation_flow ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_cache_debugging_functions ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_cache_expiration ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_find_future_games_fallback_invalid_date ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_find_future_games_fallback_no_games ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_determine_active_tournaments_priority_order ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_cache_players_with_disambiguation_cross_team_same_names ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_fetch_game_data_cache_fallback ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_cache_players_with_disambiguation_mixed_scenario ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_cache_players_with_disambiguation_basic ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_cache_players_with_disambiguation_three_players_same_name ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_cache_players_with_disambiguation_unicode_names ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_cache_players_with_disambiguation_empty_first_names ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_cache_players_with_formatting ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_cache_players_with_disambiguation_no_conflicts ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_detailed_game_cache_basic ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_cache_players_with_disambiguation_empty_teams ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_determine_active_tournaments_concurrent_tournaments ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_get_cached_disambiguated_players ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_fetch_game_data_server_error ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_cache_stats ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_cache_key_generation ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_goal_events_cache_basic ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_get_cached_player_name ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_has_cached_disambiguated_players ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_goal_events_cache_debug_methods ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_has_live_games_detection ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_has_live_games_from_game_data ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_has_live_games_from_game_data_all_scheduled ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_has_live_games_from_game_data_complex_mixed_scenario ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_has_live_games_from_game_data_all_completed ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_has_live_games_from_game_data_all_ongoing ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_has_live_games_from_game_data_empty_list ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_has_live_games_from_game_data_mixed_without_ongoing ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_has_live_games_from_game_data_mixed_with_ongoing ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_has_live_games_from_game_data_multiple_ongoing ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_has_live_games_from_game_data_single_completed ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_has_live_games_from_game_data_playoffs_ongoing ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_has_live_games_from_game_data_single_ongoing ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_has_live_games_from_game_data_single_scheduled ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_clone_implementations ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_complex_goal_event_deserialization ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_debug_implementations ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_http_response_cache_basic ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_detailed_game_serialization ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_detailed_team_serialization ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_game_data_creation ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_goal_event_data_creation ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_lru_access_order ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_goal_event_data_get_goal_type_display ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_goal_event_default_fields ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_goal_event_serialization ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_detailed_game_response_serialization ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_has_goal_events_trait_schedule_team ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_has_teams_trait_detailed_game ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_has_teams_trait_schedule_game ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_penalty_event_serialization ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_player_serialization ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_has_goal_events_trait_detailed_team ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_schedule_api_game_serialization ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_period_serialization ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_lru_simple ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_schedule_team_default ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_schedule_game_serialization ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_schedule_response_serialization ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_schedule_team_serialization ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_build_full_name ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_comprehensive_basic_two_player_disambiguation ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_comprehensive_case_insensitive_disambiguation ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_comprehensive_cross_team_scenarios_no_disambiguation ... ok
[INFO] [stdout] test data_fetcher::models::tests::test_schedule_game_default_fields ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_build_full_name_with_empty_strings ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_comprehensive_empty_and_single_player_scenarios ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_comprehensive_no_disambiguation_needed_unique_names ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_comprehensive_multiple_players_same_name_three_plus ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_comprehensive_mixed_team_scenario_with_cross_team_same_names ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_lru_simple_access_order ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_create_fallback_name ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_disambiguation_context_empty ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_comprehensive_unicode_character_disambiguation ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_tournament_cache_ttl ... ok
[INFO] [stdout] test data_fetcher::cache::tests::test_tournament_cache_basic ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_create_fallback_name_negative ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_disambiguation_context_get_disambiguated_name ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_comprehensive_edge_cases_in_disambiguation ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_disambiguation_context_new ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_disambiguation_context_needs_disambiguation ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_disambiguation_context_single_player ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_edge_case_non_alphabetic_first_characters ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_edge_case_multiple_words_and_hyphens ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_edge_case_extreme_unicode_and_special_characters ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_extended_disambiguation_same_initial ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_extended_disambiguation_three_characters ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_edge_case_incomplete_player_data ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_extract_first_initial_case_handling ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_extract_first_initial_empty_and_whitespace ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_edge_case_empty_and_missing_first_names ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_edge_case_unicode_finnish_characters ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_extract_first_chars ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_extract_first_initial_multiple_words ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_extract_first_initial_basic ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_extract_first_initial_unicode ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_extract_first_initial_non_alphabetic ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_fast_path_empty_players ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_fast_path_case_insensitive_matching ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_extract_first_initial_with_leading_whitespace ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_fast_path_two_different_players ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_fast_path_unicode_last_names ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_fast_path_single_player ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_fast_path_two_same_players_falls_through ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_for_display_capitalization ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_fast_path_vs_full_algorithm_consistency ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_for_display_whitespace ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_for_display_with_first_initial_basic ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_for_display_simple ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_for_display_with_first_initial_case_handling ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_for_display_empty ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_for_display_with_first_initial_empty_first_name ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_for_display_multiple_names ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_for_display_with_first_initial_unicode ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_for_display_with_hyphens ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_with_disambiguation_empty_first_names ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_with_disambiguation_empty_input ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_with_disambiguation_case_insensitive ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_with_disambiguation_no_disambiguation_needed ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_with_disambiguation_three_players_same_name ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_edge_case_performance_with_large_datasets ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_with_disambiguation_mixed_scenario ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_for_display_single_name ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_for_display_with_first_initial_multiple_words ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_with_disambiguation_basic_two_players ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_format_with_disambiguation_unicode_names ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_get_players_needing_disambiguation_all_same ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_get_players_needing_disambiguation_large_dataset ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_get_players_needing_disambiguation_mixed_scenario ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_get_players_needing_disambiguation_two_different ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_get_players_needing_disambiguation_two_same ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_get_players_needing_disambiguation_unicode ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_group_players_by_last_name_all_unique ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_group_players_by_last_name_basic ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_group_players_by_last_name_case_insensitive ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_group_players_by_last_name_complex_scenario ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_group_players_by_last_name_empty ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_group_players_by_last_name_preserves_original_case ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_group_players_by_last_name_single_player ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_group_players_by_last_name_unicode ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_is_disambiguation_needed_basic ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_is_disambiguation_needed_case_insensitive ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_is_disambiguation_needed_empty_players ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_is_disambiguation_needed_single_player ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_is_disambiguation_needed_three_players_same_name ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_get_players_needing_disambiguation_empty ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_is_disambiguation_needed_unicode_names ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_get_players_needing_disambiguation_single_player ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_mixed_disambiguation_levels ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_create_basic_goal_events_empty_game ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_get_players_needing_disambiguation_all_unique ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_get_players_needing_disambiguation_case_insensitive ... ok
[INFO] [stdout] test data_fetcher::player_names::tests::test_get_players_needing_disambiguation_consistency_with_format_function ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_determine_game_status_overtime ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_determine_game_status_shootout ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_create_basic_goal_events_with_scores_but_no_events ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_edge_cases_large_game_time ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_determine_game_status_finished_regular ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_edge_cases_zero_game_time ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_format_time_empty_string ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_format_time_invalid_format ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_format_time_valid_with_timezone ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_format_time_valid_utc ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_format_time_invalid_date ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_goal_event_data_fields ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_noon_cutoff_behavior ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_goal_events_empty_game ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_goal_events_preserves_winning_goal_flag ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_goal_events_no_video_url ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_goal_events_with_disambiguation_basic ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_goal_events_with_disambiguation_empty_teams ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_goal_events_with_disambiguation_missing_player ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_goal_events_with_disambiguation_team_scoped ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_goal_events_with_disambiguation_mixed_scenario ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_goal_events_with_disambiguation_multiple_same_name ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_goal_events_with_disambiguation_unicode_names ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_goal_events_with_fallback_names ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_goal_events_with_goals ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_team_goals_with_disambiguation ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_team_goals_with_disambiguation_filters_cancelled ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_team_goals_with_disambiguation_missing_player ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_determine_game_status_ongoing ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_determine_game_status_scheduled ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_goal_events_multiple_goal_types ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_process_team_goals_filters_cancelled_goals ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_should_show_todays_games_consistency ... ok
[INFO] [stdout] test error::tests::test_api_client_error_helper ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_should_show_todays_games_deterministic_examples ... ok
[INFO] [stdout] test error::tests::test_api_no_data_helper ... ok
[INFO] [stdout] test error::tests::test_api_not_found_helper ... ok
[INFO] [stdout] test error::tests::test_api_rate_limit_helper ... ok
[INFO] [stdout] test error::tests::test_api_season_not_found_helper ... ok
[INFO] [stdout] test error::tests::test_api_server_error_helper ... ok
[INFO] [stdout] test error::tests::test_api_service_unavailable_helper ... ok
[INFO] [stdout] test error::tests::test_custom_error ... ok
[INFO] [stdout] test error::tests::test_api_tournament_not_found_helper ... ok
[INFO] [stdout] test error::tests::test_api_unexpected_structure_helper ... ok
[INFO] [stdout] test error::tests::test_config_error_helper ... ok
[INFO] [stdout] test error::tests::test_datetime_parse_error_helper ... ok
[INFO] [stdout] test error::tests::test_error_from_io ... ok
[INFO] [stdout] test error::tests::test_error_display_formats ... ok
[INFO] [stdout] test error::tests::test_error_from_semver ... ok
[INFO] [stdout] test error::tests::test_error_from_toml_serialize ... ok
[INFO] [stdout] test error::tests::test_is_not_found ... ok
[INFO] [stdout] test error::tests::test_is_retryable ... ok
[INFO] [stdout] test error::tests::test_log_setup_error_helper ... ok
[INFO] [stdout] test error::tests::test_network_connection_helper ... ok
[INFO] [stdout] test error::tests::test_api_game_not_found_helper ... ok
[INFO] [stdout] test error::tests::test_api_malformed_json_helper ... ok
[INFO] [stdout] test error::tests::test_network_timeout_helper ... ok
[INFO] [stdout] test error::tests::test_retry_delay_constants_consistency ... ok
[INFO] [stdout] test error::tests::test_retry_delay_seconds_for_non_retryable_errors ... ok
[INFO] [stdout] test error::tests::test_retry_delay_seconds_for_retryable_errors ... ok
[INFO] [stdout] test error::tests::test_retry_delay_seconds_uses_constants ... ok
[INFO] [stdout] test error::tests::test_error_from_serde_json ... ok
[INFO] [stdout] test error::tests::test_error_from_toml_deserialize ... ok
[INFO] [stdout] test teletext_ui::tests::test_can_fit_two_pages_with_sufficient_width ... ok
[INFO] [stdout] test teletext_ui::tests::test_compact_display_config ... ok
[INFO] [stdout] test teletext_ui::tests::test_compact_display_config_comprehensive ... ok
[INFO] [stdout] test teletext_ui::tests::test_can_fit_two_pages_false_when_wide_mode_disabled ... ok
[INFO] [stdout] test teletext_ui::tests::test_can_fit_two_pages_with_insufficient_width ... ok
[INFO] [stdout] test teletext_ui::tests::test_compact_mode_compatibility_validation ... ok
[INFO] [stdout] test teletext_ui::tests::test_compact_mode_getter_setter ... ok
[INFO] [stdout] test teletext_ui::tests::test_compact_mode_spacing ... ok
[INFO] [stdout] test teletext_ui::tests::test_distribute_games_for_wide_display_enabled ... ok
[INFO] [stdout] test teletext_ui::tests::test_distribute_games_for_wide_display_odd_number ... ok
[INFO] [stdout] test teletext_ui::tests::test_error_message_display ... ok
[INFO] [stdout] test teletext_ui::tests::test_distribute_games_for_wide_display_insufficient_width ... ok
[INFO] [stdout] test teletext_ui::tests::test_from_config_returns_error_with_invalid_config ... ok
[INFO] [stdout] test teletext_ui::tests::test_buffer_size_calculation ... ok
[INFO] [stdout] test teletext_ui::tests::test_compact_formatting_various_game_states ... ok
[INFO] [stdout] test teletext_ui::tests::test_game_height_calculation ... ok
[INFO] [stdout] test teletext_ui::tests::test_format_compact_game ... ok
[INFO] [stdout] test teletext_ui::tests::test_distribute_games_for_wide_display_disabled ... ok
[INFO] [stdout] test teletext_ui::tests::test_game_result_display ... ok
[INFO] [stdout] test teletext_ui::tests::test_get_ansi_code_helper ... ok
[INFO] [stdout] test teletext_ui::tests::test_from_config_succeeds_with_valid_config ... ok
[INFO] [stdout] test teletext_ui::tests::test_page_navigation ... ok
[INFO] [stdout] test teletext_ui::tests::test_multi_column_compact_layout ... ok
[INFO] [stdout] test teletext_ui::tests::test_header_truncation_logic ... ok
[INFO] [stdout] test teletext_ui::tests::test_loading_indicator ... ok
[INFO] [stdout] test teletext_ui::tests::test_team_abbreviation ... ok
[INFO] [stdout] test teletext_ui::tests::test_team_abbreviation_comprehensive ... ok
[INFO] [stdout] test teletext_ui::tests::test_teletext_page_config_mode_exclusivity ... ok
[INFO] [stdout] test teletext_ui::tests::test_group_games_for_compact_display ... ok
[INFO] [stdout] test teletext_ui::tests::test_page_preservation ... ok
[INFO] [stdout] test teletext_ui::tests::test_teletext_page_config_validation ... ok
[INFO] [stdout] test teletext_ui::tests::test_page_wrapping ... ok
[INFO] [stdout] test teletext_ui::tests::test_terminal_width_validation ... ok
[INFO] [stdout] test teletext_ui::tests::test_setter_validation_conflicts ... ok
[INFO] [stdout] test teletext_ui::tests::test_terminal_width_adaptation ... ok
[INFO] [stdout] test teletext_ui::tests::test_teletext_page_mode_exclusivity ... ok
[INFO] [stdout] test ui::interactive::tests::test_calculate_games_hash ... ok
[INFO] [stdout] test ui::interactive::tests::test_calculate_games_hash_empty ... ok
[INFO] [stdout] test ui::interactive::tests::test_format_date_for_display ... ok
[INFO] [stdout] test teletext_ui::tests::test_teletext_page_validation ... ok
[INFO] [stdout] test ui::interactive::tests::test_get_subheader_with_series_types ... ok
[INFO] [stdout] test ui::interactive::tests::test_series_type_display ... ok
[INFO] [stdout] test ui::interactive::tests::test_series_type_from_string ... ok
[INFO] [stdout] test ui::interactive::tests::test_is_future_game ... ok
[INFO] [stdout] test teletext_ui::tests::test_wide_mode_with_test_games ... ok
[INFO] [stdout] test ui::interactive::tests::test_series_type_priority_ordering ... ok
[INFO] [stdout] test teletext_ui::tests::test_wide_mode_getter_setter ... ok
[INFO] [stdout] test teletext_ui::tests::test_video_link_display ... ok
[INFO] [stdout] test data_fetcher::processors::tests::test_create_basic_goal_events ... ok
[INFO] [stdout] test error::tests::test_error_from_reqwest ... ok
[INFO] [stdout] test data_fetcher::api::tests::test_fetch_tournament_data_server_error ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 347 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.34s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/disambiguation_display_tests.rs (/opt/rustwide/target/debug/deps/disambiguation_display_tests-3c2d4bdc8704c94d)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test test_all_modes_handle_unicode_disambiguated_names ... ok
[INFO] [stdout] test test_disambiguation_error_scenarios_in_display ... ok
[INFO] [stdout] test test_compact_mode_handles_disambiguated_names_within_space_constraints ... ok
[INFO] [stdout] test test_wide_mode_maintains_consistent_disambiguation_logic ... ok
[INFO] [stdout] test test_disambiguation_scoped_per_team_no_cross_team_escalation ... ok
[INFO] [stdout] test test_normal_mode_displays_disambiguated_names_correctly ... ok
[INFO] [stdout] test test_disambiguation_performance_with_many_players ... ok
[INFO] [stderr]      Running tests/disambiguation_integration_tests.rs (/opt/rustwide/target/debug/deps/disambiguation_integration_tests-942a767682ecf6ac)
[INFO] [stdout] test test_name_truncation_works_properly_with_disambiguated_names ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test test_performance_impact_with_large_datasets ... ok
[INFO] [stdout] test test_goal_events_show_correct_disambiguated_scorer_names ... ok
[INFO] [stdout] test test_unicode_character_handling_in_disambiguation ... ok
[INFO] [stdout] test test_cross_team_disambiguation_isolation ... ok
[INFO] [stdout] test test_edge_cases_and_error_resilience ... ok
[INFO] [stdout] test test_end_to_end_disambiguation_with_real_world_names ... ok
[INFO] [stderr]      Running tests/integration_tests.rs (/opt/rustwide/target/debug/deps/integration_tests-63e5784a9570d3d2)
[INFO] [stdout] test test_complete_data_flow_api_to_display ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 25 tests
[INFO] [stdout] test test_compact_mode_preserves_styling ... ok
[INFO] [stdout] test test_compact_mode_non_interactive ... ok
[INFO] [stdout] test test_compact_mode_with_dates ... ok
[INFO] [stdout] test test_compact_mode_terminal_width_constraints ... ok
[INFO] [stdout] test test_error_handling ... ok
[INFO] [stdout] test test_game_result_data_creation ... ok
[INFO] [stdout] test test_goal_event_processing ... ok
[INFO] [stdout] test test_ongoing_games ... ok
[INFO] [stdout] test test_special_situations ... ok
[INFO] [stdout] test test_end_to_end_multiple_games ... ok
[INFO] [stdout] test test_wide_mode_cli_integration ... ok
[INFO] [stdout] test test_config_validation ... ok
[INFO] [stdout] test test_wide_mode_game_distribution_integration ... ok
[INFO] [stdout] test test_different_tournament_types ... ok
[INFO] [stdout] test test_wide_mode_mutual_exclusivity ... ok
[INFO] [stdout] test test_wide_mode_performance_edge_cases ... ok
[INFO] [stdout] test test_compact_mode_various_terminal_sizes ... ok
[INFO] [stdout] test test_wide_mode_with_different_game_states ... ok
[INFO] [stdout] test test_wide_mode_with_goal_scorers ... ok
[INFO] [stdout] test test_compact_mode_basic_functionality ... ok
[INFO] [stdout] test test_wide_mode_fallback_behavior ... ok
[INFO] [stdout] test test_config_integration ... ok
[INFO] [stdout] test test_teletext_ui_generation ... ok
[INFO] [stdout] test test_page_navigation ... ok
[INFO] [stdout] test test_wide_mode_terminal_widths ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/no_games_message_test.rs (/opt/rustwide/target/debug/deps/no_games_message_test-dd77212850fa91af)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test test_create_error_page_includes_navigation_hint_for_specific_date ... ok
[INFO] [stdout] test test_create_error_page_includes_navigation_hint_for_today ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/simple_disambiguation_test.rs (/opt/rustwide/target/debug/deps/simple_disambiguation_test-0dbcc493b6085c26)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test test_disambiguation_consistency_across_modes ... ok
[INFO] [stdout] test test_disambiguation_context_functionality ... ok
[INFO] [stdout] test test_disambiguation_edge_cases ... ok
[INFO] [stdout] test test_disambiguation_error_scenarios ... ok
[INFO] [stdout] test test_disambiguation_logic_works_correctly ... ok
[INFO] [stdout] test test_name_truncation_with_disambiguation ... ok
[INFO] [stderr]    Doc-tests liiga_teletext
[INFO] [stdout] test test_ui_modes_with_verified_disambiguation ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 40 tests
[INFO] [stdout] test src/data_fetcher/api.rs - data_fetcher::api::build_schedule_url (line 112) ... ok
[INFO] [stdout] test src/data_fetcher/cache.rs - data_fetcher::cache::cache_players (line 650) ... ok
[INFO] [stdout] test src/data_fetcher/cache.rs - data_fetcher::cache::cache_players_with_formatting (line 687) ... ok
[INFO] [stdout] test src/data_fetcher/cache.rs - data_fetcher::cache::get_cached_player_name (line 846) ... ok
[INFO] [stdout] test src/data_fetcher/cache.rs - data_fetcher::cache::has_cached_disambiguated_players (line 897) ... ok
[INFO] [stdout] test src/data_fetcher/api.rs - data_fetcher::api::build_game_url (line 91) ... ok
[INFO] [stdout] test src/data_fetcher/cache.rs - data_fetcher::cache::get_cached_players (line 609) ... ok
[INFO] [stdout] test src/data_fetcher/api.rs - data_fetcher::api::build_tournament_url (line 69) ... ok
[INFO] [stdout] test src/data_fetcher/cache.rs - data_fetcher::cache::get_cached_disambiguated_players (line 799) ... ok
[INFO] [stdout] test src/data_fetcher/api.rs - data_fetcher::api::build_tournament_schedule_url (line 134) ... ok
[INFO] [stdout] test src/data_fetcher/player_names.rs - data_fetcher::player_names::DisambiguationContext::new (line 630) ... ok
[INFO] [stdout] test src/data_fetcher/player_names.rs - data_fetcher::player_names::create_fallback_name (line 692) ... ok
[INFO] [stdout] test src/data_fetcher/player_names.rs - data_fetcher::player_names::build_full_name (line 23) ... ok
[INFO] [stdout] test src/data_fetcher/api.rs - data_fetcher::api::create_tournament_key (line 155) ... ok
[INFO] [stdout] test src/data_fetcher/player_names.rs - data_fetcher::player_names::get_players_needing_disambiguation (line 205) ... ok
[INFO] [stdout] test src/data_fetcher/player_names.rs - data_fetcher::player_names::format_with_disambiguation (line 120) ... ok
[INFO] [stdout] test src/data_fetcher/player_names.rs - data_fetcher::player_names::format_for_display_with_first_initial (line 89) ... ok
[INFO] [stdout] test src/data_fetcher/player_names.rs - data_fetcher::player_names::extract_first_chars (line 453) ... ok
[INFO] [stdout] test src/data_fetcher/player_names.rs - data_fetcher::player_names::group_players_by_last_name_indices (line 580) ... ok
[INFO] [stdout] test src/data_fetcher/processors.rs - data_fetcher::processors::process_team_goals (line 199) ... ok
[INFO] [stdout] test src/data_fetcher/player_names.rs - data_fetcher::player_names::group_players_by_last_name (line 538) ... ok
[INFO] [stdout] test src/data_fetcher/player_names.rs - data_fetcher::player_names::format_for_display (line 43) ... ok
[INFO] [stdout] test src/data_fetcher/processors.rs - data_fetcher::processors::should_show_todays_games (line 262) ... ok
[INFO] [stdout] test src/data_fetcher/player_names.rs - data_fetcher::player_names::is_disambiguation_needed (line 504) ... ok
[INFO] [stdout] test src/lib.rs - (line 8) - compile ... ok
[INFO] [stdout] test src/data_fetcher/cache.rs - data_fetcher::cache::cache_players_with_disambiguation (line 719) ... ok
[INFO] [stdout] test src/data_fetcher/player_names.rs - data_fetcher::player_names::extract_first_initial (line 424) ... ok
[INFO] [stdout] test src/teletext_ui.rs - teletext_ui::TeletextPage::add_error_message (line 812) ... ok
[INFO] [stdout] test src/data_fetcher/processors.rs - data_fetcher::processors::process_goal_events (line 80) ... ok
[INFO] [stdout] test src/data_fetcher/processors.rs - data_fetcher::processors::process_team_goals_with_disambiguation (line 140) ... ok
[INFO] [stdout] test src/teletext_ui.rs - teletext_ui::TeletextPage::next_page (line 2208) ... ok
[INFO] [stdout] test src/teletext_ui.rs - teletext_ui::TeletextPage::previous_page (line 2240) ... ok
[INFO] [stdout] test src/data_fetcher/processors.rs - data_fetcher::processors::should_show_todays_games_with_time (line 294) ... ok
[INFO] [stdout] test src/teletext_ui.rs - teletext_ui::TeletextPage::new (line 599) ... ok
[INFO] [stdout] test src/teletext_ui.rs - teletext_ui::get_team_abbreviation (line 67) ... ok
[INFO] [stdout] test src/teletext_ui.rs - teletext_ui::GameResultData::new (line 552) ... ok
[INFO] [stdout] test src/teletext_ui.rs - teletext_ui::TeletextPage::add_game_result (line 760) ... ok
[INFO] [stdout] test src/teletext_ui.rs - teletext_ui::TeletextPage::from_config (line 660) ... ok
[INFO] [stdout] test src/teletext_ui.rs - teletext_ui::TeletextPage::calculate_buffer_size (line 2283) ... FAILED
[INFO] [stdout] test src/teletext_ui.rs - teletext_ui::TeletextPage::handle_resize (line 699) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/teletext_ui.rs - teletext_ui::TeletextPage::calculate_buffer_size (line 2283) stdout ----
[INFO] [stdout] Test executable failed (exit status: 1).
[INFO] [stdout] 
[INFO] [stdout] stdout:
[INFO] [stdout] [?25l
[INFO] [stdout] stderr:
[INFO] [stdout] Error: Io(Os { code: 2, kind: NotFound, message: "No such file or directory" })
[INFO] [stdout] Error: "the test returned a termination value with a non-zero status code (1) which indicates a failure"
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] ---- src/teletext_ui.rs - teletext_ui::TeletextPage::handle_resize (line 699) stdout ----
[INFO] [stdout] Test executable failed (exit status: 1).
[INFO] [stdout] 
[INFO] [stdout] stdout:
[INFO] [stdout] [?25l
[INFO] [stdout] stderr:
[INFO] [stdout] Error: Io(Os { code: 2, kind: NotFound, message: "No such file or directory" })
[INFO] [stdout] Error: "the test returned a termination value with a non-zero status code (1) which indicates a failure"
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/teletext_ui.rs - teletext_ui::TeletextPage::calculate_buffer_size (line 2283)
[INFO] [stdout]     src/teletext_ui.rs - teletext_ui::TeletextPage::handle_resize (line 699)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 38 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 5.41s; merged doctests compilation took 5.28s
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "f186e382bd67c784125c1920b64a2425772ee1537a8db3d516f8390fbd4a910c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f186e382bd67c784125c1920b64a2425772ee1537a8db3d516f8390fbd4a910c", kill_on_drop: false }`
[INFO] [stdout] f186e382bd67c784125c1920b64a2425772ee1537a8db3d516f8390fbd4a910c
