[INFO] fetching crate ytmusic-api 0.2.1...
[INFO] testing ytmusic-api-0.2.1 against 1.99.0-beta.8 for beta-1.100-2
[INFO] extracting crate ytmusic-api 0.2.1 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate ytmusic-api 0.2.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate ytmusic-api 0.2.1
[INFO] tweaked toml for crates.io crate ytmusic-api 0.2.1 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate ytmusic-api 0.2.1 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ytmusic-api 0.2.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.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded hybrid-array v0.4.12
[INFO] [stderr]   Downloaded block-buffer v0.12.0
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.73
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.123
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.123
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.123
[INFO] [stderr]   Downloaded displaydoc v0.2.6
[INFO] [stderr]   Downloaded log v0.4.32
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.123
[INFO] [stderr]   Downloaded cc v1.2.63
[INFO] [stderr]   Downloaded http v1.4.2
[INFO] [stderr]   Downloaded js-sys v0.3.100
[INFO] [stderr]   Downloaded reqwest v0.13.4
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.52
[INFO] [stderr]   Downloaded webpki-root-certs v1.0.7
[INFO] [stderr]   Downloaded aws-lc-rs v1.17.0
[INFO] [stderr]   Downloaded hyper v1.10.1
[INFO] [stderr]   Downloaded simd_cesu8 v1.1.1
[INFO] [stderr]   Downloaded rustls v0.23.40
[INFO] [stderr]   Downloaded zerocopy v0.8.52
[INFO] [stderr]   Downloaded web-sys v0.3.100
[INFO] [stderr]   Downloaded aws-lc-sys v0.41.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 6cdf93e19ca339e1055d3f5db4b35364d4c8f37b2485067c45c183c4e79cb45d
[INFO] running `Command { std: "docker" "start" "6cdf93e19ca339e1055d3f5db4b35364d4c8f37b2485067c45c183c4e79cb45d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6cdf93e19ca339e1055d3f5db4b35364d4c8f37b2485067c45c183c4e79cb45d", 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" "6cdf93e19ca339e1055d3f5db4b35364d4c8f37b2485067c45c183c4e79cb45d" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6cdf93e19ca339e1055d3f5db4b35364d4c8f37b2485067c45c183c4e79cb45d", 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" "6cdf93e19ca339e1055d3f5db4b35364d4c8f37b2485067c45c183c4e79cb45d" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling aws-lc-rs v1.17.0
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling log v0.4.32
[INFO] [stderr]    Compiling rustls-native-certs v0.8.4
[INFO] [stderr]    Compiling const-oid v0.10.2
[INFO] [stderr]    Compiling memchr v2.8.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling http v1.4.2
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling hybrid-array v0.4.12
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling crypto-common v0.2.2
[INFO] [stderr]    Compiling block-buffer v0.12.0
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling mio v1.2.1
[INFO] [stderr]    Compiling socket2 v0.6.4
[INFO] [stderr]    Compiling cc v1.2.63
[INFO] [stderr]    Compiling digest v0.11.3
[INFO] [stderr]    Compiling sha1 v0.11.0
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling aws-lc-sys v0.41.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling hyper v1.10.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rustls-platform-verifier v0.7.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.13.4
[INFO] [stderr]    Compiling ytmusic-api v0.2.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 00s
[INFO] running `Command { std: "docker" "inspect" "6cdf93e19ca339e1055d3f5db4b35364d4c8f37b2485067c45c183c4e79cb45d", 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" "6cdf93e19ca339e1055d3f5db4b35364d4c8f37b2485067c45c183c4e79cb45d" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling ytmusic-api v0.2.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 7.07s
[INFO] running `Command { std: "docker" "inspect" "6cdf93e19ca339e1055d3f5db4b35364d4c8f37b2485067c45c183c4e79cb45d", 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" "6cdf93e19ca339e1055d3f5db4b35364d4c8f37b2485067c45c183c4e79cb45d" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.15s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ytmusic_api-0184110ffe8a0654)
[INFO] [stdout] 
[INFO] [stdout] running 144 tests
[INFO] [stdout] test auth::tests::debug_output_does_not_expose_sapisid_or_cookie ... ok
[INFO] [stdout] test auth::tests::load_missing_file_reports_file_missing ... ok
[INFO] [stdout] test auth::tests::rejects_cookie_without_sapisid ... ok
[INFO] [stdout] test auth::tests::rejects_json_array ... ok
[INFO] [stdout] test auth::tests::rejects_missing_cookie ... ok
[INFO] [stdout] test auth::tests::rejects_non_json ... ok
[INFO] [stdout] test auth::tests::prefers_secure_variant_over_plain_sapisid ... ok
[INFO] [stdout] test auth::tests::sapisidhash_is_lowercase_hex_of_length_40 ... ok
[INFO] [stdout] test auth::tests::expand_tilde_resolves_home ... ok
[INFO] [stdout] test auth::tests::strips_quotes_from_cookie_values ... ok
[INFO] [stdout] test auth::tests::parses_good_browser_json ... ok
[INFO] [stdout] test classify::tests::generic_long_error_truncated_to_80 ... ok
[INFO] [stdout] test classify::tests::generic_short_error_prefixed ... ok
[INFO] [stdout] test auth::tests::header_lookup_is_case_insensitive ... ok
[INFO] [stdout] test classify::tests::auth_missing_sapisid_is_broken_file ... ok
[INFO] [stdout] test classify::tests::auth_missing_cookie_is_broken_file ... ok
[INFO] [stdout] test classify::tests::auth_file_missing_is_auth_expired ... ok
[INFO] [stdout] test classify::tests::four_oh_three_in_message_is_auth_expired ... ok
[INFO] [stdout] test classify::tests::login_required_in_message_is_auth_expired ... ok
[INFO] [stdout] test classify::tests::mutation_failed_playlist_not_created ... ok
[INFO] [stdout] test auth::tests::cookie_key_is_case_insensitive ... ok
[INFO] [stdout] test classify::tests::http_404_is_not_found ... ok
[INFO] [stdout] test classify::tests::http_403_is_auth_expired ... ok
[INFO] [stdout] test auth::tests::origin_falls_back_to_x_origin_then_default ... ok
[INFO] [stdout] test classify::tests::mutation_failed_surfaced_verbatim ... ok
[INFO] [stdout] test classify::tests::network_error_in_message ... ok
[INFO] [stdout] test classify::tests::http_401_is_auth_expired ... ok
[INFO] [stdout] test classify::tests::connection_refused_in_message ... ok
[INFO] [stdout] test classify::tests::http_500_falls_through_to_message_scan ... ok
[INFO] [stdout] test auth::tests::sapisidhash_matches_ytmusicapi_vector_1 ... ok
[INFO] [stdout] test classify::tests::generic_long_multibyte_error_truncates_without_panicking ... ok
[INFO] [stdout] test classify::tests::not_found_in_message ... ok
[INFO] [stdout] test classify::tests::oauth_credentials_is_broken_file ... ok
[INFO] [stdout] test classify::tests::oauth_json_provided_is_broken_file ... ok
[INFO] [stdout] test classify::tests::rate_limit_in_message ... ok
[INFO] [stdout] test classify::tests::timeout_in_message ... ok
[INFO] [stdout] test classify::tests::timed_out_in_message ... ok
[INFO] [stdout] test classify::tests::unreachable_in_message ... ok
[INFO] [stdout] test auth::tests::accepts_plain_sapisid_fallback ... ok
[INFO] [stdout] test auth::tests::sapisidhash_matches_ytmusicapi_vector_2 ... ok
[INFO] [stdout] test classify::tests::unauthenticated_in_message_is_auth_expired ... ok
[INFO] [stdout] test client::tests::empty_response_fails_to_parse ... ok
[INFO] [stdout] test client::tests::header_present_but_account_name_missing_fails ... ok
[INFO] [stdout] test client::tests::logged_in_without_optional_fields_still_parses ... ok
[INFO] [stdout] test client::tests::logged_out_response_fails_to_parse ... ok
[INFO] [stdout] test context::tests::client_version_has_expected_shape ... ok
[INFO] [stdout] test client::tests::parses_logged_in_account ... ok
[INFO] [stdout] test context::tests::context_carries_web_remix_client ... ok
[INFO] [stdout] test context::tests::converts_known_unix_dates ... ok
[INFO] [stdout] test endpoints::artist::tests::description_absent_is_empty_string ... ok
[INFO] [stdout] test endpoints::artist::tests::description_shelf_concatenates_runs ... ok
[INFO] [stdout] test endpoints::home::tests::parse_album_card_extracts_browse_audio_playlist_and_year ... ok
[INFO] [stdout] test endpoints::songruns::tests::classifies_artist_by_non_album_browse_id ... ok
[INFO] [stdout] test endpoints::songruns::tests::classifies_album_by_mpre_prefix ... ok
[INFO] [stdout] test endpoints::search::tests::parses_tabbed_default_envelope ... ok
[INFO] [stdout] test endpoints::home::tests::parse_song_flat_extracts_video_album_and_artists ... ok
[INFO] [stdout] test endpoints::songruns::tests::classifies_plain_text_artist_without_id ... ok
[INFO] [stdout] test endpoints::songruns::tests::duration_seconds_matches_python ... ok
[INFO] [stdout] test endpoints::songruns::tests::parse_song_runs_extracts_artist_album_duration ... ok
[INFO] [stdout] test endpoints::songruns::tests::duration_token_detected ... ok
[INFO] [stdout] test endpoints::songruns::tests::year_token_detected ... ok
[INFO] [stdout] test endpoints::search::tests::parses_non_tabbed_filtered_envelope ... ok
[INFO] [stdout] test endpoints::tests::add_playlist_items_strips_vl_prefix ... ok
[INFO] [stdout] test endpoints::songruns::tests::parse_song_runs_skips_type_specifier ... ok
[INFO] [stdout] test endpoints::songruns::tests::views_token_detected ... ok
[INFO] [stdout] test endpoints::tests::create_playlist_mutation_failed_when_no_playlist_id ... ok
[INFO] [stdout] test endpoints::tests::add_playlist_items_mutation_failed_on_non_succeeded ... ok
[INFO] [stdout] test endpoints::tests::add_playlist_items_mutation_failed_when_no_status ... ok
[INFO] [stdout] test endpoints::tests::create_playlist_mutation_failed_on_empty_playlist_id ... ok
[INFO] [stdout] test endpoints::tests::create_playlist_returns_playlist_id ... ok
[INFO] [stdout] test endpoints::tests::add_playlist_items_posts_correct_actions ... ok
[INFO] [stdout] test endpoints::tests::artist_strips_mpla_prefix_in_request ... ok
[INFO] [stdout] test endpoints::tests::artist_returns_expected_sections ... ok
[INFO] [stdout] test endpoints::tests::library_artists_walks_legacy_continuation ... ok
[INFO] [stdout] test endpoints::tests::library_albums_walks_modern_continuation ... ok
[INFO] [stdout] test endpoints::tests::history_flattens_dated_shelves ... ok
[INFO] [stdout] test endpoints::tests::get_like_status_returns_status_for_matching_video ... ok
[INFO] [stdout] test endpoints::tests::get_like_status_returns_none_for_unknown_video ... ok
[INFO] [stdout] test endpoints::tests::library_artists_walks_modern_continuation ... ok
[INFO] [stdout] test endpoints::tests::library_playlists_walks_modern_continuation ... ok
[INFO] [stdout] test endpoints::tests::library_albums_returns_expected ... ok
[INFO] [stdout] test endpoints::tests::library_playlists_respects_limit ... ok
[INFO] [stdout] test endpoints::tests::library_playlists_respects_limit_with_continuation ... ok
[INFO] [stdout] test endpoints::tests::library_playlists_walks_legacy_continuation ... ok
[INFO] [stdout] test endpoints::tests::lyrics_absent_is_none_not_error ... ok
[INFO] [stdout] test endpoints::tests::playlist_tracks_mixed_legacy_initial_modern_continuation ... ok
[INFO] [stdout] test endpoints::tests::playlist_tracks_empty_continuation_response_terminates ... ok
[INFO] [stdout] test endpoints::tests::playlist_tracks_continuation_propagates_transport_error ... ok
[INFO] [stdout] test endpoints::tests::playlist_tracks_modern_trailing_marker_not_returned_as_track ... ok
[INFO] [stdout] test endpoints::tests::get_like_status_returns_null_when_menu_empty ... ok
[INFO] [stdout] test endpoints::tests::playlist_tracks_mixed_modern_initial_legacy_continuation ... ok
[INFO] [stdout] test endpoints::tests::playlist_tracks_walks_modern_continuation_shape ... ok
[INFO] [stdout] test endpoints::tests::playlist_tracks_walks_modern_three_pages ... ok
[INFO] [stdout] test endpoints::tests::playlist_tracks_walks_continuations_across_pages ... ok
[INFO] [stdout] test endpoints::tests::library_playlists_returns_expected ... ok
[INFO] [stdout] test endpoints::tests::playlist_tracks_respects_50_page_bound ... ok
[INFO] [stdout] test endpoints::tests::rate_playlist_invalid_status_returns_parse_error ... ok
[INFO] [stdout] test endpoints::tests::rate_playlist_like_posts_correct_endpoint_and_body ... ok
[INFO] [stdout] test endpoints::tests::playlist_tracks_walks_three_pages ... ok
[INFO] [stdout] test endpoints::tests::rate_playlist_strips_vl_prefix ... ok
[INFO] [stdout] test endpoints::tests::radio_returns_seeded_queue ... ok
[INFO] [stdout] test endpoints::tests::rate_playlist_unlike_posts_removelike ... ok
[INFO] [stdout] test endpoints::tests::rate_track_indifferent_posts_removelike ... ok
[INFO] [stdout] test endpoints::tests::rate_track_dislike_posts_correct_endpoint ... ok
[INFO] [stdout] test endpoints::tests::rate_track_like_posts_correct_endpoint_and_body ... ok
[INFO] [stdout] test endpoints::tests::rate_track_propagates_transport_error ... ok
[INFO] [stdout] test endpoints::tests::remove_playlist_items_finds_track_on_second_page ... ok
[INFO] [stdout] test endpoints::tests::rate_playlist_propagates_transport_error ... ok
[INFO] [stdout] test endpoints::tests::rate_track_invalid_status_returns_parse_error ... ok
[INFO] [stdout] test endpoints::tests::remove_playlist_items_skips_continuation_when_target_on_page_one ... ok
[INFO] [stdout] test endpoints::tests::remove_playlist_items_mutation_failed_when_not_found ... ok
[INFO] [stdout] test endpoints::tests::remove_playlist_items_mutation_failed_on_edit_failure ... ok
[INFO] [stdout] test endpoints::tests::remove_playlist_items_strips_vl_from_edit_body ... ok
[INFO] [stdout] test endpoints::tests::radio_respects_limit ... ok
[INFO] [stdout] test endpoints::tests::search_propagates_transport_error ... ok
[INFO] [stdout] test endpoints::tests::search_songs_filter_returns_expected_tracks ... ok
[INFO] [stdout] test endpoints::tests::remove_playlist_items_two_call_flow ... ok
[INFO] [stdout] test endpoints::tests::subscribe_artists_posts_correct_endpoint_and_body ... ok
[INFO] [stdout] test endpoints::tests::subscribe_artists_strips_mpla_prefix ... ok
[INFO] [stdout] test endpoints::tests::search_limit_truncates_results ... ok
[INFO] [stdout] test endpoints::tests::unsubscribe_artists_posts_correct_endpoint_and_body ... ok
[INFO] [stdout] test endpoints::tests::subscribe_artists_supports_multiple_channels ... ok
[INFO] [stdout] test endpoints::tests::unsubscribe_artists_propagates_transport_error ... ok
[INFO] [stdout] test nav::tests::empty_path_returns_root ... ok
[INFO] [stdout] test nav::tests::nav_array_extracts_terminal_array ... ok
[INFO] [stdout] test endpoints::tests::subscribe_artists_propagates_transport_error ... ok
[INFO] [stdout] test nav::tests::nav_returns_none_on_out_of_range_index ... ok
[INFO] [stdout] test nav::tests::nav_returns_none_on_missing_key ... ok
[INFO] [stdout] test nav::tests::nav_str_extracts_terminal_string ... ok
[INFO] [stdout] test nav::tests::nav_walks_keys_and_indices ... ok
[INFO] [stdout] test endpoints::tests::unsubscribe_artists_strips_mpla_prefix ... ok
[INFO] [stdout] test endpoints::tests::search_default_returns_expected_tracks ... ok
[INFO] [stdout] test client::tests::request_headers_set_signing_and_replay_headers ... ok
[INFO] [stdout] test client::tests::build_body_from_non_object_yields_context_only ... ok
[INFO] [stdout] test client::tests::build_body_merges_extras_with_context ... ok
[INFO] [stdout] test endpoints::tests::playlist_tracks_single_page_makes_one_call ... ok
[INFO] [stdout] test endpoints::tests::playlist_tracks_returns_expected ... ok
[INFO] [stdout] test endpoints::tests::liked_songs_respects_limit ... ok
[INFO] [stdout] test endpoints::tests::liked_songs_returns_expected ... ok
[INFO] [stdout] test endpoints::tests::playlist_tracks_keeps_existing_vl_prefix ... ok
[INFO] [stdout] test endpoints::tests::home_returns_mixed_sections ... ok
[INFO] [stdout] test endpoints::tests::lyrics_returns_text_via_two_calls ... ok
[INFO] [stdout] test endpoints::tests::library_artists_returns_expected ... ok
[INFO] [stdout] test endpoints::tests::album_returns_expected_info_and_tracks ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 144 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.73s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-8553e7cebc130128)
[INFO] [stdout] 
[INFO] [stdout] running 17 tests
[INFO] [stdout] test get_account_info_against_real_api ... ignored, hits the live YouTube Music API; requires real browser.json
[INFO] [stdout] test get_album_against_real_api ... ignored, hits the live YouTube Music API; requires real browser.json
[INFO] [stdout] test get_artist_against_real_api ... ignored, hits the live YouTube Music API; requires real browser.json
[INFO] [stdout] test get_history_against_real_api ... ignored, hits the live YouTube Music API; requires real browser.json
[INFO] [stdout] test get_home_against_real_api ... ignored, hits the live YouTube Music API; requires real browser.json
[INFO] [stdout] test get_library_albums_against_real_api ... ignored, hits the live YouTube Music API; requires real browser.json
[INFO] [stdout] test get_library_artists_against_real_api ... ignored, hits the live YouTube Music API; requires real browser.json
[INFO] [stdout] test get_library_playlists_against_real_api ... ignored, hits the live YouTube Music API; requires real browser.json
[INFO] [stdout] test get_like_status_against_real_api ... ignored, hits the live YouTube Music API; requires real browser.json
[INFO] [stdout] test get_liked_songs_against_real_api ... ignored, hits the live YouTube Music API; requires real browser.json
[INFO] [stdout] test get_lyrics_against_real_api ... ignored, hits the live YouTube Music API; requires real browser.json
[INFO] [stdout] test get_playlist_tracks_against_real_api ... ignored, hits the live YouTube Music API; requires real browser.json
[INFO] [stdout] test get_radio_against_real_api ... ignored, hits the live YouTube Music API; requires real browser.json
[INFO] [stdout] test is_session_valid_against_real_api ... ignored, hits the live YouTube Music API; requires real browser.json
[INFO] [stdout] test playlist_lifecycle_against_real_api ... ignored, hits the live YouTube Music API; requires real browser.json; MUTATES then restores account state
[INFO] [stdout] test rate_track_idempotent_against_real_api ... ignored, hits the live YouTube Music API; requires real browser.json
[INFO] [stdout] test search_all_against_real_api ... ignored, hits the live YouTube Music API; requires real browser.json
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 17 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/parse_tests.rs (/opt/rustwide/target/debug/deps/parse_tests-31a0c705b3496f2d)
[INFO] [stdout] 
[INFO] [stdout] running 62 tests
[INFO] [stdout] test test_dict_to_playlist_info::test_handles_missing_count ... ok
[INFO] [stdout] test test_dict_to_album_track::test_fallback_to_album_artist_when_artists_empty ... ok
[INFO] [stdout] test test_dict_to_album_track::test_returns_none_without_video_id ... ok
[INFO] [stdout] test test_dict_to_playlist_info::test_from_fixture_with_count_integer ... ok
[INFO] [stdout] test test_categorize_search_results::test_skips_invalid_items ... ok
[INFO] [stdout] test test_dict_to_playlist_info::test_returns_none_without_playlist_id ... ok
[INFO] [stdout] test test_categorize_search_results::test_songs_only ... ok
[INFO] [stdout] test test_dict_to_playlist_info::test_count_as_string ... ok
[INFO] [stdout] test test_dict_to_playlist_info::test_handles_missing_description ... ok
[INFO] [stdout] test test_dict_to_related_artist::test_falls_back_to_channel_id_key ... ok
[INFO] [stdout] test test_categorize_search_results::test_empty_search ... ok
[INFO] [stdout] test test_dict_to_album_track::test_positive_conversion_with_artists ... ok
[INFO] [stdout] test test_dict_to_album_info::test_handles_empty_response ... ok
[INFO] [stdout] test test_dict_to_album_track::test_fallback_to_album_artist_when_artists_missing ... ok
[INFO] [stdout] test test_dict_to_album_info::test_skips_items_without_browse_id ... ok
[INFO] [stdout] test test_dict_to_album_info::test_from_fixture ... ok
[INFO] [stdout] test test_dict_to_related_artist::test_falls_back_to_name_key ... ok
[INFO] [stdout] test test_dict_to_related_artist::test_skips_items_without_browse_id ... ok
[INFO] [stdout] test test_home_album_branch::test_album_like_item_falls_back_to_browse_id_when_audio_playlist_id_absent ... ok
[INFO] [stdout] test test_home_album_branch::test_section_with_all_items_failing_parse_kept_with_empty_items ... ok
[INFO] [stdout] test test_home_parse::test_album_like_card_with_empty_audio_playlist_id_falls_back_to_browse_id ... ok
[INFO] [stdout] test test_home_album_branch::test_album_like_item_uses_audio_playlist_id ... ok
[INFO] [stdout] test test_home_parse::test_album_like_card_with_empty_browse_id_drops_via_dict_to_album_info ... ok
[INFO] [stdout] test test_home_album_branch::test_section_with_null_contents_is_skipped ... ok
[INFO] [stdout] test test_parse_duration::test_minutes_seconds ... ok
[INFO] [stdout] test test_home_parse::test_handles_empty_home ... ok
[INFO] [stdout] test test_parse_duration::test_empty_string_returns_zero ... ok
[INFO] [stdout] test test_library_artists_parse::test_library_artist_item_fixture_shape ... ok
[INFO] [stdout] test test_parse_duration::test_single_digit_seconds ... ok
[INFO] [stdout] test test_parse_duration::test_none_returns_zero ... ok
[INFO] [stdout] test test_home_parse::test_skips_sections_without_contents ... ok
[INFO] [stdout] test test_liked_songs_parse::test_picks_largest_thumbnail ... ok
[INFO] [stdout] test test_home_parse::test_home_section_contains_tracks_and_playlists ... ok
[INFO] [stdout] test test_home_parse::test_returns_home_sections_from_fixture ... ok
[INFO] [stdout] test test_parse_duration::test_long_song ... ok
[INFO] [stdout] test test_parse_duration_overflow::test_absurd_hour_count_returns_zero ... ok
[INFO] [stdout] test test_parse_duration::test_zero_duration ... ok
[INFO] [stdout] test test_parse_duration_overflow::test_large_but_valid_hour_count ... ok
[INFO] [stdout] test test_playlist_info::test_with_all_fields ... ok
[INFO] [stdout] test test_playlist_tracks_parse::test_handles_empty_list ... ok
[INFO] [stdout] test test_parse_duration::test_seconds_only ... ok
[INFO] [stdout] test test_playlist_info::test_defaults ... ok
[INFO] [stdout] test test_categorize_search_results::test_unknown_result_types_silently_ignored ... ok
[INFO] [stdout] test test_liked_songs_parse::test_returns_liked_tracks_from_fixture ... ok
[INFO] [stdout] test test_parse_duration::test_hour_minutes_seconds ... ok
[INFO] [stdout] test test_playlist_tracks_parse::test_skips_unavailable_tracks_none_video_id ... ok
[INFO] [stdout] test test_search_results::test_defaults_empty ... ok
[INFO] [stdout] test test_search_results::test_with_data ... ok
[INFO] [stdout] test test_track_conversion::test_basic_song_conversion ... ok
[INFO] [stdout] test test_track_conversion::test_missing_album ... ok
[INFO] [stdout] test test_track_conversion::test_missing_artists ... ok
[INFO] [stdout] test test_track_conversion::test_missing_duration ... ok
[INFO] [stdout] test test_library_artists_parse::test_from_fixture_shape ... ok
[INFO] [stdout] test test_track_conversion::test_missing_thumbnails ... ok
[INFO] [stdout] test test_track_conversion::test_multiple_artists_joined ... ok
[INFO] [stdout] test test_track_conversion::test_skips_items_without_video_id ... ok
[INFO] [stdout] test test_watch_item_to_track::test_missing_duration_length_returns_zero ... ok
[INFO] [stdout] test test_watch_item_to_track::test_positive_conversion_singular_thumbnail_and_length ... ok
[INFO] [stdout] test test_playlist_tracks_parse::test_returns_track_list_from_fixture ... ok
[INFO] [stdout] test test_watch_item_to_track::test_returns_none_when_video_id_missing ... ok
[INFO] [stdout] test test_categorize_search_results::test_categorizes_mixed_results ... ok
[INFO] [stdout] test test_track_conversion::test_empty_thumbnails_list ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 62 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests ytmusic_api
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "6cdf93e19ca339e1055d3f5db4b35364d4c8f37b2485067c45c183c4e79cb45d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6cdf93e19ca339e1055d3f5db4b35364d4c8f37b2485067c45c183c4e79cb45d", kill_on_drop: false }`
[INFO] [stdout] 6cdf93e19ca339e1055d3f5db4b35364d4c8f37b2485067c45c183c4e79cb45d
