[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] d039398c71be53da1cae010cf07bee15dca5f002 [INFO] testing the-waste-land/podcast-cli against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fthe-waste-land%2Fpodcast-cli" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/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-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/the-waste-land/podcast-cli on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f3556a1ed75c215d2df6e868f574adc756b57ff17940e550b588b82e7aa3d62e [INFO] running `Command { std: "docker" "start" "-a" "f3556a1ed75c215d2df6e868f574adc756b57ff17940e550b588b82e7aa3d62e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f3556a1ed75c215d2df6e868f574adc756b57ff17940e550b588b82e7aa3d62e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f3556a1ed75c215d2df6e868f574adc756b57ff17940e550b588b82e7aa3d62e", kill_on_drop: false }` [INFO] [stdout] f3556a1ed75c215d2df6e868f574adc756b57ff17940e550b588b82e7aa3d62e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 86a6f0b6e5a90fa41cba1a894fcb99844866a0f9de060b7829cadfeabe051582 [INFO] running `Command { std: "docker" "start" "-a" "86a6f0b6e5a90fa41cba1a894fcb99844866a0f9de060b7829cadfeabe051582", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling pin-project-lite v0.2.17 [INFO] [stderr] Compiling writeable v0.6.2 [INFO] [stderr] Compiling litemap v0.8.1 [INFO] [stderr] Compiling icu_properties_data v2.1.2 [INFO] [stderr] Compiling cc v1.2.56 [INFO] [stderr] Compiling icu_normalizer_data v2.1.1 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling csv-core v0.1.13 [INFO] [stderr] Compiling clap_lex v1.0.0 [INFO] [stderr] Compiling iri-string v0.7.10 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling encode_unicode v1.0.0 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling csv v1.4.0 [INFO] [stderr] Compiling clap_builder v4.5.60 [INFO] [stderr] Compiling webpki-roots v1.0.6 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling socket2 v0.6.2 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling dirs-sys-next v0.1.2 [INFO] [stderr] Compiling dirs-sys v0.4.1 [INFO] [stderr] Compiling is-terminal v0.4.17 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling dirs-next v2.0.0 [INFO] [stderr] Compiling term v0.7.0 [INFO] [stderr] Compiling directories v5.0.1 [INFO] [stderr] Compiling prettytable-rs v0.10.0 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.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 clap_derive v4.5.55 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling clap v4.5.60 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling rustls-webpki v0.103.9 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling icu_collections v2.1.1 [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 serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling confy v0.6.1 [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.6 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 49.64s [INFO] running `Command { std: "docker" "inspect" "86a6f0b6e5a90fa41cba1a894fcb99844866a0f9de060b7829cadfeabe051582", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "86a6f0b6e5a90fa41cba1a894fcb99844866a0f9de060b7829cadfeabe051582", kill_on_drop: false }` [INFO] [stdout] 86a6f0b6e5a90fa41cba1a894fcb99844866a0f9de060b7829cadfeabe051582 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ca55fb1afb28032e5d3516422136ced24374b37a934578e7d81806641cd2b68c [INFO] running `Command { std: "docker" "start" "-a" "ca55fb1afb28032e5d3516422136ced24374b37a934578e7d81806641cd2b68c", kill_on_drop: false }` [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling tempfile v3.26.0 [INFO] [stderr] Compiling podcast-cli v0.2.6 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 26.29s [INFO] running `Command { std: "docker" "inspect" "ca55fb1afb28032e5d3516422136ced24374b37a934578e7d81806641cd2b68c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ca55fb1afb28032e5d3516422136ced24374b37a934578e7d81806641cd2b68c", kill_on_drop: false }` [INFO] [stdout] ca55fb1afb28032e5d3516422136ced24374b37a934578e7d81806641cd2b68c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 73edac43fd2621bbea3ded03ac85a868b8ee3aeffe8543d615fbff4f25ded350 [INFO] running `Command { std: "docker" "start" "-a" "73edac43fd2621bbea3ded03ac85a868b8ee3aeffe8543d615fbff4f25ded350", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.35s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/podcast_cli-104f3e146790f4a3) [INFO] [stdout] [INFO] [stdout] running 44 tests [INFO] [stdout] test commands::download::tests::derive_filename_preserves_existing_extension ... ok [INFO] [stdout] test commands::download::tests::parse_content_range_total_extracts_total_size ... ok [INFO] [stdout] test commands::download::tests::minimal_download_result_is_compact_json ... ok [INFO] [stdout] test commands::download::tests::resolve_target_path_uses_directory_destination ... ok [INFO] [stdout] test commands::download::tests::resolve_target_path_uses_file_destination ... ok [INFO] [stdout] test api::client::tests::auth_headers_include_user_agent ... 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 api::endpoints::episodes::tests::trending_episodes_endpoint_matches_api_route ... 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::transcribe::tests::transcribe_returns_stdout_when_output_path_is_not_set ... ok [INFO] [stdout] test commands::youtube_meta::tests::map_raw_meta_item_applies_fallbacks ... ok [INFO] [stdout] test commands::youtube_meta::tests::normalize_upload_date_formats_yyyymmdd ... ok [INFO] [stdout] test commands::youtube_search::tests::merge_item_with_meta_prefers_meta_duration_and_upload_date ... ok [INFO] [stdout] test commands::youtube_meta::tests::normalize_upload_date_keeps_non_standard ... ok [INFO] [stdout] test commands::youtube_search::tests::normalize_upload_date_keeps_non_standard_values ... ok [INFO] [stdout] test commands::youtube_search::tests::requested_fetch_limit_expands_with_since_filter ... ok [INFO] [stdout] test commands::youtube_search::tests::parse_row_allows_pipe_in_title ... ok [INFO] [stdout] test commands::youtube_search::tests::parse_row_to_item ... ok [INFO] [stdout] test commands::youtube_search::tests::parse_row_rejects_missing_video_id ... ok [INFO] [stdout] test commands::youtube_search::tests::summarize_meta_statuses_counts_only_success_failed_timeout ... ok [INFO] [stdout] test commands::youtube_subtitles::tests::parse_json3_segments_normalizes_text ... ok [INFO] [stdout] test commands::youtube_subtitles::tests::render_srt_uses_standard_format ... ok [INFO] [stdout] test commands::youtube_subtitles::tests::select_track_supports_language_prefix ... ok [INFO] [stdout] test commands::youtube_subtitles::tests::parse_srt_segments_to_unified_model ... ok [INFO] [stdout] test commands::youtube_subtitles::tests::select_track_uses_automatic_when_manual_missing ... ok [INFO] [stdout] test commands::youtube_subtitles::tests::select_track_prefers_manual_subtitles ... ok [INFO] [stdout] test commands::youtube_subtitles::tests::parse_vtt_segments_to_unified_model ... ok [INFO] [stdout] test error::tests::progress_code_mapping_matches_contract ... 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::transcribe::tests::transcribe_writes_output_file_instead_of_stdout ... ok [INFO] [stdout] test commands::download::tests::promote_part_file_without_overwrite_preserves_existing_target ... ok [INFO] [stdout] test commands::download::tests::infer_extension_falls_back_to_url_extension ... ok [INFO] [stdout] test commands::download::tests::minimal_dry_run_result_includes_required_fields ... ok [INFO] [stdout] test commands::download::tests::sanitize_filename_replaces_reserved_characters ... ok [INFO] [stdout] test commands::download::tests::should_allow_overwrite_when_flag_is_set ... ok [INFO] [stdout] test commands::download::tests::promote_part_file_with_overwrite_replaces_target ... ok [INFO] [stdout] test commands::download::tests::infer_extension_prefers_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_search::tests::meta_status_for_error_marks_timeout_and_failed ... ok [INFO] [stdout] test error::tests::exit_code_mapping_matches_contract ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 44 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/podcast_cli-2726d8606e37af7f) [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-7d5ff38d63e7e803) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test parse_categories_defaults ... ok [INFO] [stdout] test categories_json_output_contains_expected_keys ... ok [INFO] [stdout] test categories_endpoint_surfaces_network_error ... ok [INFO] [stdout] test categories_command_fails_without_credentials ... ok [INFO] [stdout] test parse_categories_with_json_output ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stderr] Running tests/config_cli.rs (/opt/rustwide/target/debug/deps/config_cli-73120a18d1ce0e0d) [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.02s [INFO] [stdout] [INFO] [stderr] Running tests/download_cli.rs (/opt/rustwide/target/debug/deps/download_cli-d0e7506057e2c341) [INFO] [stdout] [INFO] [stdout] running 13 tests [INFO] [stdout] test parse_download_with_output ... ok [INFO] [stdout] test parse_download_with_resume_flag ... ok [INFO] [stdout] test parse_download_with_dry_run_and_minimal ... ok [INFO] [stdout] test reject_minimal_with_output ... ok [INFO] [stdout] test reject_dry_run_with_overwrite ... ok [INFO] [stdout] test reject_dry_run_with_resume ... ok [INFO] [stdout] test download_rejects_zero_timeout ... ok [INFO] [stdout] test download_rejects_non_numeric_episode_id ... ok [INFO] [stdout] test reject_path_only_with_output ... ok [INFO] [stdout] test reject_progress_json_with_no_progress ... ok [INFO] [stdout] test parse_download_with_required_episode_id ... ok [INFO] [stdout] test parse_download_with_overwrite_flag ... ok [INFO] [stdout] test parse_download_with_path_only_alias_quiet ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/episodes_cli.rs (/opt/rustwide/target/debug/deps/episodes_cli-ce62155dab864d33) [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 parse_episode_with_output ... ok [INFO] [stdout] test parse_episodes_with_limit_and_output ... ok [INFO] [stdout] test episode_rejects_non_numeric_episode_id ... ok [INFO] [stdout] test episodes_rejects_non_numeric_feed_id ... ok [INFO] [stderr] Running tests/recent_cli.rs (/opt/rustwide/target/debug/deps/recent_cli-0adc0cdcd6839bfa) [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 8 tests [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_episodes_json_output_contains_expected_keys ... ok [INFO] [stderr] Running tests/smoke_cli.rs (/opt/rustwide/target/debug/deps/smoke_cli-4a03efc4b90516ed) [INFO] [stdout] test recent_endpoint_surfaces_network_error ... ok [INFO] [stdout] test recent_feeds_json_output_contains_expected_keys ... ok [INFO] [stdout] test recent_rejects_non_numeric_since ... ok [INFO] [stdout] test recent_rejects_non_numeric_before ... ok [INFO] [stdout] test recent_command_fails_without_credentials ... 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 4 tests [INFO] [stdout] test parse_show_by_id ... ok [INFO] [stdout] test show_rejects_id_with_url ... ok [INFO] [stdout] test show_requires_id_or_url ... ok [INFO] [stdout] test parse_search_with_flags ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/stats_cli.rs (/opt/rustwide/target/debug/deps/stats_cli-93a4e88646fe1f52) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test stats_command_fails_without_credentials ... ok [INFO] [stdout] test parse_stats_defaults ... ok [INFO] [stdout] test parse_stats_with_table_output ... ok [INFO] [stdout] test stats_json_output_contains_expected_keys ... 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.01s [INFO] [stdout] [INFO] [stderr] Running tests/trending_cli.rs (/opt/rustwide/target/debug/deps/trending_cli-b0f7ccb8116318d5) [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] [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] [stderr] Running tests/youtube_meta_cli.rs (/opt/rustwide/target/debug/deps/youtube_meta_cli-f64c50e84403768c) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test parse_youtube_meta_with_output ... ok [INFO] [stdout] test parse_youtube_meta_defaults ... 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.01s [INFO] [stdout] [INFO] [stderr] Running tests/youtube_search_cli.rs (/opt/rustwide/target/debug/deps/youtube_search_cli-8e4743d3a04375f7) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test parse_youtube_search_defaults ... ok [INFO] [stdout] test reject_invalid_meta_concurrency ... ok [INFO] [stdout] test parse_youtube_search_with_meta_options ... ok [INFO] [stdout] test parse_youtube_search_with_envelope_only ... ok [INFO] [stdout] test parse_youtube_search_with_filters ... 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] [stderr] Running tests/youtube_subtitles_cli.rs (/opt/rustwide/target/debug/deps/youtube_subtitles_cli-8edd9cc6d32c11b0) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test parse_youtube_subtitles_defaults ... ok [INFO] [stdout] test reject_invalid_video_id ... ok [INFO] [stdout] test parse_youtube_subtitles_with_explicit_args ... 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" "73edac43fd2621bbea3ded03ac85a868b8ee3aeffe8543d615fbff4f25ded350", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "73edac43fd2621bbea3ded03ac85a868b8ee3aeffe8543d615fbff4f25ded350", kill_on_drop: false }` [INFO] [stdout] 73edac43fd2621bbea3ded03ac85a868b8ee3aeffe8543d615fbff4f25ded350