[INFO] cloning repository https://github.com/the-waste-land/podcast-cli [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/the-waste-land/podcast-cli" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fthe-waste-land%2Fpodcast-cli", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fthe-waste-land%2Fpodcast-cli'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 710ad0916a230026623bb764e1d6b7193331babb [INFO] testing the-waste-land/podcast-cli against master#d933cf483edf1605142ac6899ff32536c0ad8b22 for pr-150933 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fthe-waste-land%2Fpodcast-cli" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/the-waste-land/podcast-cli [INFO] finished tweaking git repo https://github.com/the-waste-land/podcast-cli [INFO] tweaked toml for git repo https://github.com/the-waste-land/podcast-cli written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/the-waste-land/podcast-cli on toolchain d933cf483edf1605142ac6899ff32536c0ad8b22 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d933cf483edf1605142ac6899ff32536c0ad8b22" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/the-waste-land/podcast-cli 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" "+d933cf483edf1605142ac6899ff32536c0ad8b22" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded libredox v0.1.14 [INFO] [stderr] Downloaded confy v0.6.1 [INFO] [stderr] Downloaded prettytable-rs v0.10.0 [INFO] [stderr] Downloaded webpki-roots v1.0.6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+d933cf483edf1605142ac6899ff32536c0ad8b22" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1e49f8a42f8d773486a546579be09a02ee1d93cf095dee8f1de3a0ec6a5e5754 [INFO] running `Command { std: "docker" "start" "-a" "1e49f8a42f8d773486a546579be09a02ee1d93cf095dee8f1de3a0ec6a5e5754", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1e49f8a42f8d773486a546579be09a02ee1d93cf095dee8f1de3a0ec6a5e5754", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1e49f8a42f8d773486a546579be09a02ee1d93cf095dee8f1de3a0ec6a5e5754", kill_on_drop: false }` [INFO] [stdout] 1e49f8a42f8d773486a546579be09a02ee1d93cf095dee8f1de3a0ec6a5e5754 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+d933cf483edf1605142ac6899ff32536c0ad8b22" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 298e682881973a1b8fdab91f74740fc00adbb4d67819116d789fdbe5cbff88cc [INFO] running `Command { std: "docker" "start" "-a" "298e682881973a1b8fdab91f74740fc00adbb4d67819116d789fdbe5cbff88cc", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling pin-project-lite v0.2.17 [INFO] [stderr] Compiling cc v1.2.56 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling dirs-sys-next v0.1.2 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling dirs-sys v0.4.1 [INFO] [stderr] Compiling webpki-roots v1.0.6 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling clap_lex v1.0.0 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling dirs-next v2.0.0 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling term v0.7.0 [INFO] [stderr] Compiling directories v5.0.1 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling csv-core v0.1.13 [INFO] [stderr] Compiling clap_builder v4.5.60 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling is-terminal v0.4.17 [INFO] [stderr] Compiling encode_unicode v1.0.0 [INFO] [stderr] Compiling unicode-width v0.1.14 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling csv v1.4.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling prettytable-rs v0.10.0 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling clap v4.5.60 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling rustls-webpki v0.103.9 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling confy v0.6.1 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling podcast-cli v0.2.5 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 56.33s [INFO] running `Command { std: "docker" "inspect" "298e682881973a1b8fdab91f74740fc00adbb4d67819116d789fdbe5cbff88cc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "298e682881973a1b8fdab91f74740fc00adbb4d67819116d789fdbe5cbff88cc", kill_on_drop: false }` [INFO] [stdout] 298e682881973a1b8fdab91f74740fc00adbb4d67819116d789fdbe5cbff88cc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+d933cf483edf1605142ac6899ff32536c0ad8b22" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 79bf8b0917d6b1ce68056b266640946dfdc16bbce95a75aa770a68627e6afe54 [INFO] running `Command { std: "docker" "start" "-a" "79bf8b0917d6b1ce68056b266640946dfdc16bbce95a75aa770a68627e6afe54", kill_on_drop: false }` [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling podcast-cli v0.2.5 (/opt/rustwide/workdir) [INFO] [stderr] Compiling tempfile v3.26.0 [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 19.22s [INFO] running `Command { std: "docker" "inspect" "79bf8b0917d6b1ce68056b266640946dfdc16bbce95a75aa770a68627e6afe54", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "79bf8b0917d6b1ce68056b266640946dfdc16bbce95a75aa770a68627e6afe54", kill_on_drop: false }` [INFO] [stdout] 79bf8b0917d6b1ce68056b266640946dfdc16bbce95a75aa770a68627e6afe54 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+d933cf483edf1605142ac6899ff32536c0ad8b22" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 0c64f7b82c96c189f8d973a88816b88caf166c16fe7fd737c79b996569c76358 [INFO] running `Command { std: "docker" "start" "-a" "0c64f7b82c96c189f8d973a88816b88caf166c16fe7fd737c79b996569c76358", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.38s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/podcast_cli-0051aca859592136) [INFO] [stdout] [INFO] [stdout] running 42 tests [INFO] [stdout] test commands::download::tests::minimal_download_result_is_compact_json ... ok [INFO] [stdout] test commands::download::tests::parse_content_range_total_extracts_total_size ... ok [INFO] [stdout] test api::client::tests::auth_headers_include_user_agent ... ok [INFO] [stdout] test commands::download::tests::derive_filename_preserves_existing_extension ... ok [INFO] [stdout] test commands::download::tests::promote_part_file_with_overwrite_replaces_target ... ok [INFO] [stdout] test api::endpoints::episodes::tests::trending_episodes_endpoint_matches_api_route ... ok [INFO] [stdout] test commands::download::tests::infer_extension_prefers_content_type ... ok [INFO] [stdout] test commands::download::tests::infer_extension_falls_back_to_url_extension ... ok [INFO] [stdout] test commands::download::tests::resolve_target_path_uses_file_destination ... ok [INFO] [stdout] test commands::download::tests::should_allow_overwrite_when_flag_is_set ... ok [INFO] [stdout] test commands::download::tests::minimal_dry_run_result_includes_required_fields ... ok [INFO] [stdout] test commands::download::tests::resolve_target_path_uses_directory_destination ... ok [INFO] [stdout] test commands::download::tests::sanitize_filename_replaces_reserved_characters ... ok [INFO] [stdout] test commands::download::tests::promote_part_file_without_overwrite_preserves_existing_target ... ok [INFO] [stdout] test commands::download::tests::should_not_allow_overwrite_for_new_download_without_flag ... ok [INFO] [stdout] test commands::download::tests::should_allow_overwrite_when_resuming_partial_download ... ok [INFO] [stdout] test commands::download::tests::size_limit_rejects_oversized_download ... ok [INFO] [stdout] test commands::download::tests::whitelist_allows_known_audio_content_type ... ok [INFO] [stdout] test commands::download::tests::whitelist_rejects_unexpected_content_type ... ok [INFO] [stdout] test commands::youtube_search::tests::merge_item_with_meta_preserves_search_fields_when_meta_missing ... ok [INFO] [stdout] test commands::youtube_meta::tests::map_raw_meta_item_applies_fallbacks ... ok [INFO] [stdout] test commands::youtube_search::tests::meta_status_for_error_marks_timeout_and_failed ... ok [INFO] [stdout] test commands::youtube_meta::tests::normalize_upload_date_formats_yyyymmdd ... ok [INFO] [stdout] test commands::youtube_search::tests::requested_fetch_limit_expands_with_since_filter ... ok [INFO] [stdout] test commands::youtube_search::tests::summarize_meta_statuses_counts_only_success_failed_timeout ... ok [INFO] [stdout] test commands::youtube_search::tests::merge_item_with_meta_prefers_meta_duration_and_upload_date ... ok [INFO] [stdout] test commands::youtube_subtitles::tests::parse_json3_segments_normalizes_text ... ok [INFO] [stdout] test commands::youtube_subtitles::tests::parse_vtt_segments_to_unified_model ... ok [INFO] [stdout] test commands::youtube_subtitles::tests::render_srt_uses_standard_format ... ok [INFO] [stdout] test commands::youtube_subtitles::tests::select_track_uses_automatic_when_manual_missing ... ok [INFO] [stdout] test commands::youtube_search::tests::parse_row_rejects_missing_video_id ... ok [INFO] [stdout] test error::tests::exit_code_mapping_matches_contract ... ok [INFO] [stdout] test error::tests::progress_code_mapping_matches_contract ... ok [INFO] [stdout] test commands::youtube_search::tests::parse_row_to_item ... ok [INFO] [stdout] test commands::youtube_meta::tests::normalize_upload_date_keeps_non_standard ... ok [INFO] [stdout] test commands::youtube_subtitles::tests::parse_srt_segments_to_unified_model ... ok [INFO] [stdout] test commands::youtube_subtitles::tests::select_track_supports_language_prefix ... ok [INFO] [stdout] test commands::youtube_subtitles::tests::select_track_prefers_manual_subtitles ... ok [INFO] [stdout] test output::table::tests::format_count_handles_small_numbers ... ok [INFO] [stdout] test output::table::tests::format_count_uses_thousands_separator ... ok [INFO] [stdout] test commands::youtube_search::tests::parse_row_allows_pipe_in_title ... ok [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/podcast_cli-543436d9de6a2b65) [INFO] [stdout] test commands::youtube_search::tests::normalize_upload_date_keeps_non_standard_values ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 42 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/categories_cli.rs (/opt/rustwide/target/debug/deps/categories_cli-12408cb828af97f5) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test categories_command_fails_without_credentials ... ok [INFO] [stdout] test categories_json_output_contains_expected_keys ... ok [INFO] [stdout] test parse_categories_defaults ... ok [INFO] [stdout] test parse_categories_with_json_output ... ok [INFO] [stdout] test categories_endpoint_surfaces_network_error ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/config_cli.rs (/opt/rustwide/target/debug/deps/config_cli-f61b55294488f813) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test config_validation_fails_when_missing_credentials ... ok [INFO] [stdout] test config_masks_sensitive_fields ... ok [INFO] [stdout] test config_can_roundtrip_and_clear ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/download_cli.rs (/opt/rustwide/target/debug/deps/download_cli-c5d2cffefecd723e) [INFO] [stdout] [INFO] [stdout] running 13 tests [INFO] [stdout] test parse_download_with_output ... ok [INFO] [stdout] test reject_dry_run_with_resume ... ok [INFO] [stdout] test parse_download_with_dry_run_and_minimal ... ok [INFO] [stdout] test parse_download_with_overwrite_flag ... ok [INFO] [stdout] test download_rejects_zero_timeout ... ok [INFO] [stdout] test parse_download_with_required_episode_id ... ok [INFO] [stdout] test download_rejects_non_numeric_episode_id ... ok [INFO] [stdout] test reject_path_only_with_output ... ok [INFO] [stdout] test reject_minimal_with_output ... ok [INFO] [stdout] test parse_download_with_path_only_alias_quiet ... ok [INFO] [stdout] test parse_download_with_resume_flag ... ok [INFO] [stdout] test reject_progress_json_with_no_progress ... ok [INFO] [stdout] test reject_dry_run_with_overwrite ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/episodes_cli.rs (/opt/rustwide/target/debug/deps/episodes_cli-b2c2d5b39b9dff31) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test episode_json_output_contains_expected_keys ... ok [INFO] [stdout] test episodes_json_output_contains_expected_keys ... ok [INFO] [stdout] test episodes_rejects_non_numeric_feed_id ... ok [INFO] [stdout] test episode_rejects_non_numeric_episode_id ... ok [INFO] [stdout] test parse_episode_with_output ... ok [INFO] [stdout] test parse_episodes_with_limit_and_output ... ok [INFO] [stdout] [INFO] [stderr] Running tests/recent_cli.rs (/opt/rustwide/target/debug/deps/recent_cli-7a767b6eaaede776) [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test recent_episodes_json_output_contains_expected_keys ... ok [INFO] [stdout] test parse_recent_defaults_to_episodes_mode ... ok [INFO] [stdout] test parse_recent_feeds_mode_with_since_and_output ... ok [INFO] [stdout] test recent_command_fails_without_credentials ... ok [INFO] [stdout] test recent_rejects_non_numeric_before ... ok [INFO] [stdout] test recent_rejects_non_numeric_since ... ok [INFO] [stdout] test recent_endpoint_surfaces_network_error ... ok [INFO] [stdout] test recent_feeds_json_output_contains_expected_keys ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stderr] Running tests/smoke_cli.rs (/opt/rustwide/target/debug/deps/smoke_cli-8ffde4db1fa46152) [INFO] [stdout] test show_requires_id_or_url ... ok [INFO] [stdout] test parse_search_with_flags ... ok [INFO] [stdout] test show_rejects_id_with_url ... ok [INFO] [stdout] test parse_show_by_id ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/stats_cli.rs (/opt/rustwide/target/debug/deps/stats_cli-9254655525fe0b33) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test stats_json_output_contains_expected_keys ... ok [INFO] [stdout] test parse_stats_with_table_output ... ok [INFO] [stdout] test stats_command_fails_without_credentials ... ok [INFO] [stdout] test parse_stats_defaults ... ok [INFO] [stdout] test stats_endpoint_surfaces_network_error ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/trending_cli.rs (/opt/rustwide/target/debug/deps/trending_cli-7b6514900244bfad) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test trending_episode_json_output_contains_expected_keys ... ok [INFO] [stdout] test trending_podcast_json_output_contains_expected_keys ... ok [INFO] [stdout] test parse_trending_with_episode_mode ... ok [INFO] [stderr] Running tests/youtube_meta_cli.rs (/opt/rustwide/target/debug/deps/youtube_meta_cli-8c7f7ae9e2cb2eb6) [INFO] [stdout] test parse_trending_defaults_to_podcast_mode ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test parse_youtube_meta_defaults ... ok [INFO] [stdout] test parse_youtube_meta_with_output ... ok [INFO] [stdout] test reject_invalid_video_id_for_youtube_meta ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/youtube_search_cli.rs (/opt/rustwide/target/debug/deps/youtube_search_cli-aee1519ac8171cbe) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test parse_youtube_search_with_envelope_only ... ok [INFO] [stdout] test parse_youtube_search_defaults ... ok [INFO] [stdout] test parse_youtube_search_with_meta_options ... ok [INFO] [stdout] test parse_youtube_search_with_filters ... ok [INFO] [stderr] Running tests/youtube_subtitles_cli.rs (/opt/rustwide/target/debug/deps/youtube_subtitles_cli-5604766c1ef58576) [INFO] [stdout] test reject_invalid_meta_concurrency ... ok [INFO] [stdout] test reject_invalid_since_format ... ok [INFO] [stdout] test reject_invalid_meta_timeout ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test parse_youtube_subtitles_defaults ... ok [INFO] [stdout] test parse_youtube_subtitles_with_explicit_args ... ok [INFO] [stdout] test reject_invalid_video_id ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests podcast_cli [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" "0c64f7b82c96c189f8d973a88816b88caf166c16fe7fd737c79b996569c76358", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0c64f7b82c96c189f8d973a88816b88caf166c16fe7fd737c79b996569c76358", kill_on_drop: false }` [INFO] [stdout] 0c64f7b82c96c189f8d973a88816b88caf166c16fe7fd737c79b996569c76358