[INFO] cloning repository https://github.com/guycanella/rust-yt-downloader
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/guycanella/rust-yt-downloader" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fguycanella%2Frust-yt-downloader", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fguycanella%2Frust-yt-downloader'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3d34f6b9e113d996384e1849fbe4f88c19867898
[INFO] testing guycanella/rust-yt-downloader against try#bd7d74411512a3dd3b35d2f699c51dd2557c7e7e+cargoflags=-Zbuild-dir-new-layout for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fguycanella%2Frust-yt-downloader" "/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/guycanella/rust-yt-downloader
[INFO] finished tweaking git repo https://github.com/guycanella/rust-yt-downloader
[INFO] tweaked toml for git repo https://github.com/guycanella/rust-yt-downloader written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/guycanella/rust-yt-downloader on toolchain bd7d74411512a3dd3b35d2f699c51dd2557c7e7e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/guycanella/rust-yt-downloader 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" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d204b9abc99539f4e06801fbe6dff56dccf6bc4eef5de585feb278a4f7f71dc9
[INFO] running `Command { std: "docker" "start" "-a" "d204b9abc99539f4e06801fbe6dff56dccf6bc4eef5de585feb278a4f7f71dc9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d204b9abc99539f4e06801fbe6dff56dccf6bc4eef5de585feb278a4f7f71dc9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d204b9abc99539f4e06801fbe6dff56dccf6bc4eef5de585feb278a4f7f71dc9", kill_on_drop: false }`
[INFO] [stdout] d204b9abc99539f4e06801fbe6dff56dccf6bc4eef5de585feb278a4f7f71dc9
[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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 36e0c5bbf24666a1a9f20602cabc56364f5a7ef3e702f3404fa57f2d0828a459
[INFO] running `Command { std: "docker" "start" "-a" "36e0c5bbf24666a1a9f20602cabc56364f5a7ef3e702f3404fa57f2d0828a459", kill_on_drop: false }`
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling cc v1.2.48
[INFO] [stderr]    Compiling icu_properties_data v2.1.1
[INFO] [stderr]    Compiling tracing-core v0.1.35
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling signal-hook-registry v1.4.7
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling portable-atomic v1.11.1
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling clap_lex v0.7.6
[INFO] [stderr]    Compiling iri-string v0.7.9
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling tracing v0.1.43
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling console v0.16.1
[INFO] [stderr]    Compiling rustls-pki-types v1.13.1
[INFO] [stderr]    Compiling clap_builder v4.5.53
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling unit-prefix v0.5.2
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling indicatif v0.18.3
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling native-tls v0.2.14
[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.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling clap v4.5.53
[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 toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.1
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling tokio-util v0.7.17
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling tower-http v0.6.7
[INFO] [stderr]    Compiling h2 v0.4.12
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling hyper-util v0.1.19
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.24
[INFO] [stderr]    Compiling rust-yt-downloader v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `sanitize_filename`
[INFO] [stdout]   --> src/downloader.rs:56:33
[INFO] [stdout]    |
[INFO] [stdout] 56 | use crate::utils::{expand_path, sanitize_filename};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]   --> src/media/audio.rs:34:20
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::error::{AppError, AppResult};
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]   --> src/media/converter.rs:36:20
[INFO] [stdout]    |
[INFO] [stdout] 36 | use crate::error::{AppError, AppResult};
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError` and `AppResult`
[INFO] [stdout]    --> src/progress.rs:102:20
[INFO] [stdout]     |
[INFO] [stdout] 102 | use crate::error::{AppError, AppResult};
[INFO] [stdout]     |                    ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/youtube/ytdlp.rs:298:13
[INFO] [stdout]     |
[INFO] [stdout] 298 |         let mut title = "Unknown Playlist".to_string();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `base_ytdlp_args` is never used
[INFO] [stdout]    --> src/downloader.rs:947:8
[INFO] [stdout]     |
[INFO] [stdout] 490 | impl Downloader {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 947 |     fn base_ytdlp_args(&self) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `format_id` and `width` are never read
[INFO] [stdout]   --> src/youtube/ytdlp.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 82 | struct YtDlpFormat {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 83 |     format_id: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     width: Option<u32>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `YtDlpFormat` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `title` is never read
[INFO] [stdout]    --> src/youtube/ytdlp.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 111 | struct YtDlpPlaylistEntry {
[INFO] [stdout]     |        ------------------ field in this struct
[INFO] [stdout] 112 |     id: String,
[INFO] [stdout] 113 |     title: Option<String>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `YtDlpPlaylistEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sanitize_filename`
[INFO] [stdout]   --> src/downloader.rs:56:33
[INFO] [stdout]    |
[INFO] [stdout] 56 | use crate::utils::{expand_path, sanitize_filename};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]   --> src/media/audio.rs:34:20
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::error::{AppError, AppResult};
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]   --> src/media/converter.rs:36:20
[INFO] [stdout]    |
[INFO] [stdout] 36 | use crate::error::{AppError, AppResult};
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AudioExtractor`, `AudioFormat`, `AudioInfo`, and `AudioOptions`
[INFO] [stdout]   --> src/media/mod.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub use audio::{AudioExtractor, AudioFormat, AudioInfo, AudioOptions};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ConversionOptions`, `ConversionResult`, `VideoConverter`, and `VideoFormat`
[INFO] [stdout]   --> src/media/mod.rs:42:21
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub use converter::{ConversionOptions, ConversionResult, VideoConverter, VideoFormat};
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AudioBitrate`, `AudioCodec`, and `FFmpeg`
[INFO] [stdout]   --> src/media/mod.rs:43:18
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub use ffmpeg::{AudioBitrate, AudioCodec, FFmpeg};
[INFO] [stdout]    |                  ^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError` and `AppResult`
[INFO] [stdout]    --> src/progress.rs:102:20
[INFO] [stdout]     |
[INFO] [stdout] 102 | use crate::error::{AppError, AppResult};
[INFO] [stdout]     |                    ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PlaylistInfo`, `QualityFilter`, `StreamInfo`, and `VideoInfo`
[INFO] [stdout]   --> src/youtube/mod.rs:31:20
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub use metadata::{PlaylistInfo, QualityFilter, StreamInfo, VideoInfo};
[INFO] [stdout]    |                    ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PlaylistClient`, `extract_playlist_ids`, and `filter_valid_playlist_urls`
[INFO] [stdout]   --> src/youtube/mod.rs:32:20
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub use playlist::{extract_playlist_ids, filter_valid_playlist_urls, PlaylistClient};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/youtube/ytdlp.rs:298:13
[INFO] [stdout]     |
[INFO] [stdout] 298 |         let mut title = "Unknown Playlist".to_string();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `filename_template` and `retry_attempts` are never read
[INFO] [stdout]    --> src/downloader.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout]  87 | pub struct DownloadOptions {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub filename_template: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub retry_attempts: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DownloadOptions` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_template` and `rate_limit` are never used
[INFO] [stdout]    --> src/downloader.rs:285:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | impl DownloadOptions {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub fn with_template(mut self, template: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |     pub fn rate_limit(&self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `video_id` and `video_title` are never read
[INFO] [stdout]    --> src/downloader.rs:450:9
[INFO] [stdout]     |
[INFO] [stdout] 442 | pub struct DownloadResult {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 450 |     pub video_id: String,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 453 |     pub video_title: String,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DownloadResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_config`, `options`, `set_options`, and `base_ytdlp_args` are never used
[INFO] [stdout]    --> src/downloader.rs:540:12
[INFO] [stdout]     |
[INFO] [stdout] 490 | impl Downloader {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 540 |     pub fn from_config(config: &Config) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 921 |     pub fn options(&self) -> &DownloadOptions {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 938 |     pub fn set_options(&mut self, options: DownloadOptions) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 947 |     fn base_ytdlp_args(&self) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/error.rs:86:5
[INFO] [stdout]     |
[INFO] [stdout]  79 | pub enum AppError {
[INFO] [stdout]     |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  86 |     HttpRequest {
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     Connection(String),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     Timeout { seconds: u64 },
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     InvalidUrl(String),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     VideoNotFound { video_id: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     VideoPrivate { video_id: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     AgeRestricted { video_id: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     RegionBlocked { video_id: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     PlaylistNotFound { playlist_id: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     PathNotFound(PathBuf),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     PermissionDenied(PathBuf),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     FfmpegNotFound,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     FfmpegExecution {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     ConversionFailed {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     TrimmingFailed {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     ConfigNotFound(PathBuf),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 225 |     NoStreamsAvailable { video_id: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     QualityNotAvailable {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 236 |     FormatNotSupported(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     DownloadInterrupted(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     MaxRetriesExceeded { attempts: u32, message: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     InvalidArgument { argument: String, message: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 |     InvalidTimeFormat(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |     InvalidTemplate { template: String, message: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 262 |     Cancelled,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `http`, `ffmpeg`, `invalid_arg`, and `is_retryable` are never used
[INFO] [stdout]    --> src/error.rs:286:12
[INFO] [stdout]     |
[INFO] [stdout] 270 | impl AppError {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 286 |     pub fn http(status: u16, message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub fn ffmpeg(message: impl Into<String>, exit_code: Option<i32>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 351 |     pub fn invalid_arg(argument: impl Into<String>, message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 383 |     pub fn is_retryable(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AudioFormat` is never used
[INFO] [stdout]   --> src/media/audio.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub enum AudioFormat {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `extension`, `from_extension`, `codec`, `default_bitrate`, `is_lossless`, and `supports_vbr` are never used
[INFO] [stdout]    --> src/media/audio.rs:70:12
[INFO] [stdout]     |
[INFO] [stdout]  59 | impl AudioFormat {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub fn extension(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn from_extension(ext: &str) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn codec(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn default_bitrate(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub fn is_lossless(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub fn supports_vbr(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AudioOptions` is never constructed
[INFO] [stdout]    --> src/media/audio.rs:193:12
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub struct AudioOptions {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/media/audio.rs:228:12
[INFO] [stdout]     |
[INFO] [stdout] 218 | impl AudioOptions {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub fn mp3_high_quality() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub fn flac() -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 250 |     pub fn m4a(bitrate: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 259 |     pub fn opus() -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 268 |     pub fn with_format(mut self, format: AudioFormat) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     pub fn with_bitrate(mut self, bitrate: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     pub fn with_sample_rate(mut self, rate: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     pub fn with_channels(mut self, channels: u8) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 |     pub fn effective_bitrate(&self) -> Option<&str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AudioExtractor` is never constructed
[INFO] [stdout]    --> src/media/audio.rs:311:12
[INFO] [stdout]     |
[INFO] [stdout] 311 | pub struct AudioExtractor;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]    --> src/media/audio.rs:338:12
[INFO] [stdout]     |
[INFO] [stdout] 313 | impl AudioExtractor {
[INFO] [stdout]     | ------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub fn extract<P: AsRef<Path>>(input: P, output: P, options: &AudioOptions) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 384 |     pub fn extract_default<P: AsRef<Path>>(input: P, output: P) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 389 |     pub fn extract_as_mp3<P: AsRef<Path>>(input: P, output: P) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 394 |     pub fn extract_as_flac<P: AsRef<Path>>(input: P, output: P) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 402 |     pub fn convert<P: AsRef<Path>>(input: P, output: P, options: &AudioOptions) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 420 |     pub fn detect_format<P: AsRef<Path>>(path: P) -> Option<AudioFormat> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 447 |     pub fn output_path_with_format<P: AsRef<Path>>(input: P, format: AudioFormat) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AudioInfo` is never constructed
[INFO] [stdout]    --> src/media/audio.rs:464:12
[INFO] [stdout]     |
[INFO] [stdout] 464 | pub struct AudioInfo {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `empty` and `is_empty` are never used
[INFO] [stdout]    --> src/media/audio.rs:481:12
[INFO] [stdout]     |
[INFO] [stdout] 479 | impl AudioInfo {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 480 |     /// Creates an empty AudioInfo with all fields set to `None`.
[INFO] [stdout] 481 |     pub fn empty() -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 497 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `VideoFormat` is never used
[INFO] [stdout]   --> src/media/converter.rs:43:10
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub enum VideoFormat {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `extension`, `from_extension`, `recommended_video_codec`, `recommended_audio_codec`, and `supports_stream_copy_from` are never used
[INFO] [stdout]    --> src/media/converter.rs:58:12
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl VideoFormat {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  57 |     /// Returns the file extension for this video format.
[INFO] [stdout]  58 |     pub fn extension(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn from_extension(ext: &str) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn recommended_video_codec(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn recommended_audio_codec(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn supports_stream_copy_from(&self, source: &VideoFormat) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConversionOptions` is never constructed
[INFO] [stdout]    --> src/media/converter.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct ConversionOptions {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/media/converter.rs:176:12
[INFO] [stdout]     |
[INFO] [stdout] 174 | impl ConversionOptions {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 175 |     /// Creates options for fast conversion using stream copy.
[INFO] [stdout] 176 |     pub fn fast(format: VideoFormat) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     pub fn reencode(format: VideoFormat) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub fn high_quality(format: VideoFormat) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub fn small_file(format: VideoFormat) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn with_format(mut self, format: VideoFormat) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub fn with_stream_copy(mut self, stream_copy: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub fn with_video_codec(mut self, codec: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     pub fn with_audio_codec(mut self, codec: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 242 |     pub fn with_quality(mut self, crf: u8) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub fn with_audio_bitrate(mut self, bitrate: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn with_resolution(mut self, resolution: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn with_framerate(mut self, fps: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VideoConverter` is never constructed
[INFO] [stdout]    --> src/media/converter.rs:270:12
[INFO] [stdout]     |
[INFO] [stdout] 270 | pub struct VideoConverter;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `convert`, `convert_fast`, `convert_reencode`, `detect_format`, `output_path_with_format`, and `needs_reencode` are never used
[INFO] [stdout]    --> src/media/converter.rs:297:12
[INFO] [stdout]     |
[INFO] [stdout] 272 | impl VideoConverter {
[INFO] [stdout]     | ------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 297 |     pub fn convert<P: AsRef<Path>>(
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 366 |     pub fn convert_fast<P: AsRef<Path>>(input: P, output: P) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 371 |     pub fn convert_reencode<P: AsRef<Path>>(input: P, output: P) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |     pub fn detect_format<P: AsRef<Path>>(path: P) -> Option<VideoFormat> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 397 |     pub fn output_path_with_format<P: AsRef<Path>>(input: P, format: VideoFormat) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 421 |     pub fn needs_reencode<P: AsRef<Path>>(input: P, output_format: VideoFormat) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConversionResult` is never constructed
[INFO] [stdout]    --> src/media/converter.rs:436:12
[INFO] [stdout]     |
[INFO] [stdout] 436 | pub struct ConversionResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FFmpeg` is never constructed
[INFO] [stdout]   --> src/media/ffmpeg.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct FFmpeg;
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]    --> src/media/ffmpeg.rs:67:12
[INFO] [stdout]     |
[INFO] [stdout]  49 | impl FFmpeg {
[INFO] [stdout]     | ----------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  67 |     pub fn is_available() -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn version() -> AppResult<String> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn require() -> AppResult<()> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn run(args: &[&str]) -> AppResult<Output> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     pub fn run_overwrite(args: &[&str]) -> AppResult<Output> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub fn convert<P: AsRef<Path>>(input: P, output: P) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     pub fn convert_reencode<P: AsRef<Path>>(input: P, output: P) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     pub fn extract_audio<P: AsRef<Path>>(input: P, output: P) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 324 |     pub fn extract_audio_as<P: AsRef<Path>>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     pub fn trim<P: AsRef<Path>>(input: P, output: P, start: &str, end: &str) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 418 |     pub fn trim_reencode<P: AsRef<Path>>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 458 |     pub fn probe<P: AsRef<Path>>(input: P) -> AppResult<String> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 497 |     pub fn is_probe_available() -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AudioCodec` is never constructed
[INFO] [stdout]    --> src/media/ffmpeg.rs:511:12
[INFO] [stdout]     |
[INFO] [stdout] 511 | pub struct AudioCodec;
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/media/ffmpeg.rs:515:15
[INFO] [stdout]     |
[INFO] [stdout] 513 | impl AudioCodec {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 514 |     /// MP3 encoder using LAME library.
[INFO] [stdout] 515 |     pub const MP3: &'static str = "libmp3lame";
[INFO] [stdout]     |               ^^^
[INFO] [stdout] ...
[INFO] [stdout] 518 |     pub const AAC: &'static str = "aac";
[INFO] [stdout]     |               ^^^
[INFO] [stdout] ...
[INFO] [stdout] 521 |     pub const FLAC: &'static str = "flac";
[INFO] [stdout]     |               ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 524 |     pub const OPUS: &'static str = "libopus";
[INFO] [stdout]     |               ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 527 |     pub const VORBIS: &'static str = "libvorbis";
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 530 |     pub const WAV: &'static str = "pcm_s16le";
[INFO] [stdout]     |               ^^^
[INFO] [stdout] ...
[INFO] [stdout] 550 |     pub fn for_extension(ext: &str) -> &'static str {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AudioBitrate` is never constructed
[INFO] [stdout]    --> src/media/ffmpeg.rs:566:12
[INFO] [stdout]     |
[INFO] [stdout] 566 | pub struct AudioBitrate;
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `LOW`, `MEDIUM`, `HIGH`, `VERY_HIGH`, and `default_for_format` are never used
[INFO] [stdout]    --> src/media/ffmpeg.rs:570:15
[INFO] [stdout]     |
[INFO] [stdout] 568 | impl AudioBitrate {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 569 |     /// Low quality bitrate (128 kbps).
[INFO] [stdout] 570 |     pub const LOW: &'static str = "128k";
[INFO] [stdout]     |               ^^^
[INFO] [stdout] ...
[INFO] [stdout] 573 |     pub const MEDIUM: &'static str = "192k";
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 576 |     pub const HIGH: &'static str = "256k";
[INFO] [stdout]     |               ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 579 |     pub const VERY_HIGH: &'static str = "320k";
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 599 |     pub fn default_for_format(format: &str) -> &'static str {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProgressStyles` is never constructed
[INFO] [stdout]    --> src/progress.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub struct ProgressStyles;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `download`, `default`, and `spinner` are never used
[INFO] [stdout]    --> src/progress.rs:165:12
[INFO] [stdout]     |
[INFO] [stdout] 141 | impl ProgressStyles {
[INFO] [stdout]     | ------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn download() -> ProgressStyle {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn default() -> ProgressStyle {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     pub fn spinner() -> ProgressStyle {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DownloadProgress` is never constructed
[INFO] [stdout]    --> src/progress.rs:279:12
[INFO] [stdout]     |
[INFO] [stdout] 279 | pub struct DownloadProgress {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/progress.rs:304:12
[INFO] [stdout]     |
[INFO] [stdout] 283 | impl DownloadProgress {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 304 |     pub fn new(total_size: u64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 333 |     pub fn new_spinner(message: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 359 |     pub fn set_position(&self, pos: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 383 |     pub fn inc(&self, delta: u64) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 406 |     pub fn set_message(&self, msg: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 424 |     pub fn finish(&self) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 446 |     pub fn finish_with_message(&self, msg: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 464 |     pub fn finish_and_clear(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 488 |     pub fn abandon_with_message(&self, msg: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 516 |     pub fn inner(&self) -> &ProgressBar {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MultiDownloadProgress` is never constructed
[INFO] [stdout]    --> src/progress.rs:595:12
[INFO] [stdout]     |
[INFO] [stdout] 595 | pub struct MultiDownloadProgress {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_download`, and `add_spinner` are never used
[INFO] [stdout]    --> src/progress.rs:618:12
[INFO] [stdout]     |
[INFO] [stdout] 599 | impl MultiDownloadProgress {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 618 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 648 |     pub fn add_download(&self, total_size: u64) -> DownloadProgress {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 680 |     pub fn add_spinner(&self, message: &str) -> DownloadProgress {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `warning` is never used
[INFO] [stdout]    --> src/progress.rs:844:12
[INFO] [stdout]     |
[INFO] [stdout] 844 |     pub fn warning(msg: &str) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VideoMetadata` is never constructed
[INFO] [stdout]   --> src/utils.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct VideoMetadata<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sanitize_filename` is never used
[INFO] [stdout]   --> src/utils.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn sanitize_filename(filename: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_duration` is never used
[INFO] [stdout]    --> src/utils.rs:219:8
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub fn parse_duration(seconds: &str) -> AppResult<u64> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_video_id` is never used
[INFO] [stdout]    --> src/utils.rs:273:8
[INFO] [stdout]     |
[INFO] [stdout] 273 | pub fn extract_video_id(url: &str) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_playlist_id` is never used
[INFO] [stdout]    --> src/utils.rs:314:8
[INFO] [stdout]     |
[INFO] [stdout] 314 | pub fn extract_playlist_id(url_str: &str) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_template` is never used
[INFO] [stdout]    --> src/utils.rs:355:8
[INFO] [stdout]     |
[INFO] [stdout] 355 | pub fn apply_template(template: &str, meta: &VideoMetadata) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlaylistInfo` is never constructed
[INFO] [stdout]    --> src/youtube/metadata.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct PlaylistInfo {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `QualityFilter` is never used
[INFO] [stdout]    --> src/youtube/metadata.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub enum QualityFilter {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `best_video_stream`, `worst_video_stream`, `best_audio_stream`, `stream_by_quality`, and `stream_by_filter` are never used
[INFO] [stdout]    --> src/youtube/metadata.rs:168:12
[INFO] [stdout]     |
[INFO] [stdout] 148 | impl VideoInfo {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn best_video_stream(&self) -> Option<&StreamInfo> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub fn worst_video_stream(&self) -> Option<&StreamInfo> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub fn best_audio_stream(&self) -> Option<&StreamInfo> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub fn stream_by_quality(&self, quality: &str) -> Option<&StreamInfo> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub fn stream_by_filter(&self, filter: QualityFilter) -> Option<&StreamInfo> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `description` and `formatted_size` are never used
[INFO] [stdout]    --> src/youtube/metadata.rs:323:12
[INFO] [stdout]     |
[INFO] [stdout] 311 | impl StreamInfo {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 323 |     pub fn description(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 352 |     pub fn formatted_size(&self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_empty` and `len` are never used
[INFO] [stdout]    --> src/youtube/metadata.rs:359:12
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl PlaylistInfo {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] 358 |     /// Returns `true` if the playlist contains no videos.
[INFO] [stdout] 359 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 367 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlaylistClient` is never constructed
[INFO] [stdout]   --> src/youtube/playlist.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct PlaylistClient;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `is_playlist_url`, `get_playlist_id`, `get_playlist_info`, `get_video_ids`, and `validate_playlist_url` are never used
[INFO] [stdout]    --> src/youtube/playlist.rs:45:12
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl PlaylistClient {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout]  44 |     /// Creates a new playlist client instance.
[INFO] [stdout]  45 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  73 |     pub fn is_playlist_url(url: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn get_playlist_id(url: &str) -> AppResult<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub async fn get_playlist_info(&self, url: &str) -> AppResult<PlaylistInfo> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub async fn get_video_ids(&self, url: &str) -> AppResult<Vec<String>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn validate_playlist_url(url: &str) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_playlist_ids` is never used
[INFO] [stdout]    --> src/youtube/playlist.rs:202:8
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub fn extract_playlist_ids(urls: &[String]) -> Vec<AppResult<String>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `filter_valid_playlist_urls` is never used
[INFO] [stdout]    --> src/youtube/playlist.rs:235:8
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub fn filter_valid_playlist_urls(urls: &[String]) -> Vec<&String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `format_id` and `width` are never read
[INFO] [stdout]   --> src/youtube/ytdlp.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 82 | struct YtDlpFormat {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 83 |     format_id: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     width: Option<u32>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `YtDlpFormat` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `YtDlpPlaylist` is never constructed
[INFO] [stdout]    --> src/youtube/ytdlp.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | struct YtDlpPlaylist {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `YtDlpPlaylistEntry` is never constructed
[INFO] [stdout]    --> src/youtube/ytdlp.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | struct YtDlpPlaylistEntry {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/youtube/ytdlp.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout] 116 | impl YtDlpClient {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn version() -> AppResult<String> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub fn get_playlist_info(&self, url: &str) -> AppResult<PlaylistInfo> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 356 |     pub fn download(&self, url: &str, output_path: &str, format: Option<&str>) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 420 |     pub fn download_audio(&self, url: &str, output_path: &str, format: &str) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 478 |     pub fn download_with_quality(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 561 |     fn convert_to_playlist_info(&self, pl: YtDlpPlaylist) -> PlaylistInfo {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 591 |     fn quality_to_format(&self, quality: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 56.75s
[INFO] running `Command { std: "docker" "inspect" "36e0c5bbf24666a1a9f20602cabc56364f5a7ef3e702f3404fa57f2d0828a459", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "36e0c5bbf24666a1a9f20602cabc56364f5a7ef3e702f3404fa57f2d0828a459", kill_on_drop: false }`
[INFO] [stdout] 36e0c5bbf24666a1a9f20602cabc56364f5a7ef3e702f3404fa57f2d0828a459
[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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 94bea2584110e0d3351fd0c4887738690fb4f43f20e317a975690cd1005473cb
[INFO] running `Command { std: "docker" "start" "-a" "94bea2584110e0d3351fd0c4887738690fb4f43f20e317a975690cd1005473cb", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling tempfile v3.23.0
[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 tokio-macros v2.6.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling async-stream v0.3.6
[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 clap v4.5.53
[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 futures-executor v0.3.31
[INFO] [stderr]    Compiling icu_properties v2.1.1
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling native-tls v0.2.14
[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.7
[INFO] [stderr]    Compiling tokio-util v0.7.17
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling h2 v0.4.12
[INFO] [stderr]    Compiling tower-http v0.6.7
[INFO] [stderr]    Compiling tokio-test v0.4.4
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling hyper-util v0.1.19
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling mockito v1.7.1
[INFO] [stderr]    Compiling reqwest v0.12.24
[INFO] [stderr]    Compiling rust-yt-downloader v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `sanitize_filename`
[INFO] [stdout]   --> src/downloader.rs:56:33
[INFO] [stdout]    |
[INFO] [stdout] 56 | use crate::utils::{expand_path, sanitize_filename};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]   --> src/media/audio.rs:34:20
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::error::{AppError, AppResult};
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]   --> src/media/converter.rs:36:20
[INFO] [stdout]    |
[INFO] [stdout] 36 | use crate::error::{AppError, AppResult};
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError` and `AppResult`
[INFO] [stdout]    --> src/progress.rs:102:20
[INFO] [stdout]     |
[INFO] [stdout] 102 | use crate::error::{AppError, AppResult};
[INFO] [stdout]     |                    ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/youtube/ytdlp.rs:298:13
[INFO] [stdout]     |
[INFO] [stdout] 298 |         let mut title = "Unknown Playlist".to_string();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `base_ytdlp_args` is never used
[INFO] [stdout]    --> src/downloader.rs:947:8
[INFO] [stdout]     |
[INFO] [stdout] 490 | impl Downloader {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 947 |     fn base_ytdlp_args(&self) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `format_id` and `width` are never read
[INFO] [stdout]   --> src/youtube/ytdlp.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 82 | struct YtDlpFormat {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 83 |     format_id: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     width: Option<u32>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `YtDlpFormat` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `title` is never read
[INFO] [stdout]    --> src/youtube/ytdlp.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 111 | struct YtDlpPlaylistEntry {
[INFO] [stdout]     |        ------------------ field in this struct
[INFO] [stdout] 112 |     id: String,
[INFO] [stdout] 113 |     title: Option<String>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `YtDlpPlaylistEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sanitize_filename`
[INFO] [stdout]   --> src/downloader.rs:56:33
[INFO] [stdout]    |
[INFO] [stdout] 56 | use crate::utils::{expand_path, sanitize_filename};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]   --> src/media/audio.rs:34:20
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::error::{AppError, AppResult};
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]   --> src/media/converter.rs:36:20
[INFO] [stdout]    |
[INFO] [stdout] 36 | use crate::error::{AppError, AppResult};
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]    --> src/media/ffmpeg.rs:814:13
[INFO] [stdout]     |
[INFO] [stdout] 814 |         use std::fs;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tempfile::TempDir`
[INFO] [stdout]    --> src/media/ffmpeg.rs:815:13
[INFO] [stdout]     |
[INFO] [stdout] 815 |         use tempfile::TempDir;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError` and `AppResult`
[INFO] [stdout]    --> src/progress.rs:102:20
[INFO] [stdout]     |
[INFO] [stdout] 102 | use crate::error::{AppError, AppResult};
[INFO] [stdout]     |                    ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TEST_PLAYLIST_SHORT` is never used
[INFO] [stdout]   --> tests/playlist_tests.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const TEST_PLAYLIST_SHORT: &str =
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sanitize_filename`
[INFO] [stdout]   --> src/downloader.rs:56:33
[INFO] [stdout]    |
[INFO] [stdout] 56 | use crate::utils::{expand_path, sanitize_filename};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]   --> src/media/audio.rs:34:20
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::error::{AppError, AppResult};
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]   --> src/media/converter.rs:36:20
[INFO] [stdout]    |
[INFO] [stdout] 36 | use crate::error::{AppError, AppResult};
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AudioExtractor`, `AudioFormat`, `AudioInfo`, and `AudioOptions`
[INFO] [stdout]   --> src/media/mod.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub use audio::{AudioExtractor, AudioFormat, AudioInfo, AudioOptions};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ConversionOptions`, `ConversionResult`, `VideoConverter`, and `VideoFormat`
[INFO] [stdout]   --> src/media/mod.rs:42:21
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub use converter::{ConversionOptions, ConversionResult, VideoConverter, VideoFormat};
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AudioBitrate`, `AudioCodec`, and `FFmpeg`
[INFO] [stdout]   --> src/media/mod.rs:43:18
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub use ffmpeg::{AudioBitrate, AudioCodec, FFmpeg};
[INFO] [stdout]    |                  ^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError` and `AppResult`
[INFO] [stdout]    --> src/progress.rs:102:20
[INFO] [stdout]     |
[INFO] [stdout] 102 | use crate::error::{AppError, AppResult};
[INFO] [stdout]     |                    ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PlaylistInfo`, `QualityFilter`, `StreamInfo`, and `VideoInfo`
[INFO] [stdout]   --> src/youtube/mod.rs:31:20
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub use metadata::{PlaylistInfo, QualityFilter, StreamInfo, VideoInfo};
[INFO] [stdout]    |                    ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PlaylistClient`, `extract_playlist_ids`, and `filter_valid_playlist_urls`
[INFO] [stdout]   --> src/youtube/mod.rs:32:20
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub use playlist::{extract_playlist_ids, filter_valid_playlist_urls, PlaylistClient};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sanitize_filename`
[INFO] [stdout]   --> src/downloader.rs:56:33
[INFO] [stdout]    |
[INFO] [stdout] 56 | use crate::utils::{expand_path, sanitize_filename};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]   --> src/media/audio.rs:34:20
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::error::{AppError, AppResult};
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]   --> src/media/converter.rs:36:20
[INFO] [stdout]    |
[INFO] [stdout] 36 | use crate::error::{AppError, AppResult};
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]    --> src/media/ffmpeg.rs:814:13
[INFO] [stdout]     |
[INFO] [stdout] 814 |         use std::fs;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tempfile::TempDir`
[INFO] [stdout]    --> src/media/ffmpeg.rs:815:13
[INFO] [stdout]     |
[INFO] [stdout] 815 |         use tempfile::TempDir;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AudioExtractor`, `AudioFormat`, `AudioInfo`, and `AudioOptions`
[INFO] [stdout]   --> src/media/mod.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub use audio::{AudioExtractor, AudioFormat, AudioInfo, AudioOptions};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ConversionOptions`, `ConversionResult`, `VideoConverter`, and `VideoFormat`
[INFO] [stdout]   --> src/media/mod.rs:42:21
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub use converter::{ConversionOptions, ConversionResult, VideoConverter, VideoFormat};
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AudioBitrate`, `AudioCodec`, and `FFmpeg`
[INFO] [stdout]   --> src/media/mod.rs:43:18
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub use ffmpeg::{AudioBitrate, AudioCodec, FFmpeg};
[INFO] [stdout]    |                  ^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppError` and `AppResult`
[INFO] [stdout]    --> src/progress.rs:102:20
[INFO] [stdout]     |
[INFO] [stdout] 102 | use crate::error::{AppError, AppResult};
[INFO] [stdout]     |                    ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PlaylistInfo`, `QualityFilter`, `StreamInfo`, and `VideoInfo`
[INFO] [stdout]   --> src/youtube/mod.rs:31:20
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub use metadata::{PlaylistInfo, QualityFilter, StreamInfo, VideoInfo};
[INFO] [stdout]    |                    ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PlaylistClient`, `extract_playlist_ids`, and `filter_valid_playlist_urls`
[INFO] [stdout]   --> src/youtube/mod.rs:32:20
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub use playlist::{extract_playlist_ids, filter_valid_playlist_urls, PlaylistClient};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `style`
[INFO] [stdout]    --> src/progress.rs:916:13
[INFO] [stdout]     |
[INFO] [stdout] 916 |         let style = ProgressStyles::download();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_style`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `style`
[INFO] [stdout]    --> src/progress.rs:922:13
[INFO] [stdout]     |
[INFO] [stdout] 922 |         let style = ProgressStyles::default();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `style`
[INFO] [stdout]    --> src/progress.rs:928:13
[INFO] [stdout]     |
[INFO] [stdout] 928 |         let style = ProgressStyles::spinner();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `multi`
[INFO] [stdout]     --> src/progress.rs:1085:13
[INFO] [stdout]      |
[INFO] [stdout] 1085 |         let multi = MultiDownloadProgress::new();
[INFO] [stdout]      |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_multi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `multi`
[INFO] [stdout]     --> src/progress.rs:1091:13
[INFO] [stdout]      |
[INFO] [stdout] 1091 |         let multi = MultiDownloadProgress::default();
[INFO] [stdout]      |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_multi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client`
[INFO] [stdout]    --> src/youtube/playlist.rs:253:13
[INFO] [stdout]     |
[INFO] [stdout] 253 |         let client = PlaylistClient::new();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client`
[INFO] [stdout]    --> src/youtube/playlist.rs:259:13
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let client = PlaylistClient::default();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client1`
[INFO] [stdout]    --> src/youtube/playlist.rs:643:13
[INFO] [stdout]     |
[INFO] [stdout] 643 |         let client1 = PlaylistClient::new();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client2`
[INFO] [stdout]    --> src/youtube/playlist.rs:644:13
[INFO] [stdout]     |
[INFO] [stdout] 644 |         let client2 = PlaylistClient::new();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/youtube/ytdlp.rs:298:13
[INFO] [stdout]     |
[INFO] [stdout] 298 |         let mut title = "Unknown Playlist".to_string();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/youtube/ytdlp.rs:298:13
[INFO] [stdout]     |
[INFO] [stdout] 298 |         let mut title = "Unknown Playlist".to_string();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `filename_template` and `retry_attempts` are never read
[INFO] [stdout]    --> src/downloader.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout]  87 | pub struct DownloadOptions {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub filename_template: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub retry_attempts: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DownloadOptions` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_template` and `rate_limit` are never used
[INFO] [stdout]    --> src/downloader.rs:285:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | impl DownloadOptions {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub fn with_template(mut self, template: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |     pub fn rate_limit(&self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `video_id` and `video_title` are never read
[INFO] [stdout]    --> src/downloader.rs:450:9
[INFO] [stdout]     |
[INFO] [stdout] 442 | pub struct DownloadResult {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 450 |     pub video_id: String,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 453 |     pub video_title: String,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DownloadResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_config`, `options`, `set_options`, and `base_ytdlp_args` are never used
[INFO] [stdout]    --> src/downloader.rs:540:12
[INFO] [stdout]     |
[INFO] [stdout] 490 | impl Downloader {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 540 |     pub fn from_config(config: &Config) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 921 |     pub fn options(&self) -> &DownloadOptions {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 938 |     pub fn set_options(&mut self, options: DownloadOptions) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 947 |     fn base_ytdlp_args(&self) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/error.rs:86:5
[INFO] [stdout]     |
[INFO] [stdout]  79 | pub enum AppError {
[INFO] [stdout]     |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  86 |     HttpRequest {
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     Connection(String),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     Timeout { seconds: u64 },
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     InvalidUrl(String),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     VideoNotFound { video_id: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     VideoPrivate { video_id: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     AgeRestricted { video_id: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     RegionBlocked { video_id: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     PlaylistNotFound { playlist_id: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     PathNotFound(PathBuf),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     PermissionDenied(PathBuf),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     FfmpegNotFound,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     FfmpegExecution {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     ConversionFailed {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     TrimmingFailed {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     ConfigNotFound(PathBuf),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 225 |     NoStreamsAvailable { video_id: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     QualityNotAvailable {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 236 |     FormatNotSupported(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     DownloadInterrupted(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     MaxRetriesExceeded { attempts: u32, message: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     InvalidArgument { argument: String, message: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 |     InvalidTimeFormat(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |     InvalidTemplate { template: String, message: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 262 |     Cancelled,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `http`, `ffmpeg`, `invalid_arg`, and `is_retryable` are never used
[INFO] [stdout]    --> src/error.rs:286:12
[INFO] [stdout]     |
[INFO] [stdout] 270 | impl AppError {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 286 |     pub fn http(status: u16, message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub fn ffmpeg(message: impl Into<String>, exit_code: Option<i32>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 351 |     pub fn invalid_arg(argument: impl Into<String>, message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 383 |     pub fn is_retryable(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AudioFormat` is never used
[INFO] [stdout]   --> src/media/audio.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub enum AudioFormat {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `extension`, `from_extension`, `codec`, `default_bitrate`, `is_lossless`, and `supports_vbr` are never used
[INFO] [stdout]    --> src/media/audio.rs:70:12
[INFO] [stdout]     |
[INFO] [stdout]  59 | impl AudioFormat {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub fn extension(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn from_extension(ext: &str) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn codec(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn default_bitrate(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub fn is_lossless(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub fn supports_vbr(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AudioOptions` is never constructed
[INFO] [stdout]    --> src/media/audio.rs:193:12
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub struct AudioOptions {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/media/audio.rs:228:12
[INFO] [stdout]     |
[INFO] [stdout] 218 | impl AudioOptions {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub fn mp3_high_quality() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub fn flac() -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 250 |     pub fn m4a(bitrate: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 259 |     pub fn opus() -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 268 |     pub fn with_format(mut self, format: AudioFormat) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     pub fn with_bitrate(mut self, bitrate: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     pub fn with_sample_rate(mut self, rate: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     pub fn with_channels(mut self, channels: u8) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 |     pub fn effective_bitrate(&self) -> Option<&str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AudioExtractor` is never constructed
[INFO] [stdout]    --> src/media/audio.rs:311:12
[INFO] [stdout]     |
[INFO] [stdout] 311 | pub struct AudioExtractor;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]    --> src/media/audio.rs:338:12
[INFO] [stdout]     |
[INFO] [stdout] 313 | impl AudioExtractor {
[INFO] [stdout]     | ------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub fn extract<P: AsRef<Path>>(input: P, output: P, options: &AudioOptions) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 384 |     pub fn extract_default<P: AsRef<Path>>(input: P, output: P) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 389 |     pub fn extract_as_mp3<P: AsRef<Path>>(input: P, output: P) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 394 |     pub fn extract_as_flac<P: AsRef<Path>>(input: P, output: P) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 402 |     pub fn convert<P: AsRef<Path>>(input: P, output: P, options: &AudioOptions) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 420 |     pub fn detect_format<P: AsRef<Path>>(path: P) -> Option<AudioFormat> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 447 |     pub fn output_path_with_format<P: AsRef<Path>>(input: P, format: AudioFormat) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AudioInfo` is never constructed
[INFO] [stdout]    --> src/media/audio.rs:464:12
[INFO] [stdout]     |
[INFO] [stdout] 464 | pub struct AudioInfo {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `empty` and `is_empty` are never used
[INFO] [stdout]    --> src/media/audio.rs:481:12
[INFO] [stdout]     |
[INFO] [stdout] 479 | impl AudioInfo {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 480 |     /// Creates an empty AudioInfo with all fields set to `None`.
[INFO] [stdout] 481 |     pub fn empty() -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 497 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `VideoFormat` is never used
[INFO] [stdout]   --> src/media/converter.rs:43:10
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub enum VideoFormat {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `extension`, `from_extension`, `recommended_video_codec`, `recommended_audio_codec`, and `supports_stream_copy_from` are never used
[INFO] [stdout]    --> src/media/converter.rs:58:12
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl VideoFormat {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  57 |     /// Returns the file extension for this video format.
[INFO] [stdout]  58 |     pub fn extension(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn from_extension(ext: &str) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn recommended_video_codec(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn recommended_audio_codec(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn supports_stream_copy_from(&self, source: &VideoFormat) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConversionOptions` is never constructed
[INFO] [stdout]    --> src/media/converter.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct ConversionOptions {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/media/converter.rs:176:12
[INFO] [stdout]     |
[INFO] [stdout] 174 | impl ConversionOptions {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 175 |     /// Creates options for fast conversion using stream copy.
[INFO] [stdout] 176 |     pub fn fast(format: VideoFormat) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     pub fn reencode(format: VideoFormat) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub fn high_quality(format: VideoFormat) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub fn small_file(format: VideoFormat) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn with_format(mut self, format: VideoFormat) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub fn with_stream_copy(mut self, stream_copy: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub fn with_video_codec(mut self, codec: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     pub fn with_audio_codec(mut self, codec: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 242 |     pub fn with_quality(mut self, crf: u8) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub fn with_audio_bitrate(mut self, bitrate: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn with_resolution(mut self, resolution: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn with_framerate(mut self, fps: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VideoConverter` is never constructed
[INFO] [stdout]    --> src/media/converter.rs:270:12
[INFO] [stdout]     |
[INFO] [stdout] 270 | pub struct VideoConverter;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `convert`, `convert_fast`, `convert_reencode`, `detect_format`, `output_path_with_format`, and `needs_reencode` are never used
[INFO] [stdout]    --> src/media/converter.rs:297:12
[INFO] [stdout]     |
[INFO] [stdout] 272 | impl VideoConverter {
[INFO] [stdout]     | ------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 297 |     pub fn convert<P: AsRef<Path>>(
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 366 |     pub fn convert_fast<P: AsRef<Path>>(input: P, output: P) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 371 |     pub fn convert_reencode<P: AsRef<Path>>(input: P, output: P) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |     pub fn detect_format<P: AsRef<Path>>(path: P) -> Option<VideoFormat> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 397 |     pub fn output_path_with_format<P: AsRef<Path>>(input: P, format: VideoFormat) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 421 |     pub fn needs_reencode<P: AsRef<Path>>(input: P, output_format: VideoFormat) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConversionResult` is never constructed
[INFO] [stdout]    --> src/media/converter.rs:436:12
[INFO] [stdout]     |
[INFO] [stdout] 436 | pub struct ConversionResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FFmpeg` is never constructed
[INFO] [stdout]   --> src/media/ffmpeg.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct FFmpeg;
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]    --> src/media/ffmpeg.rs:67:12
[INFO] [stdout]     |
[INFO] [stdout]  49 | impl FFmpeg {
[INFO] [stdout]     | ----------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  67 |     pub fn is_available() -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn version() -> AppResult<String> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn require() -> AppResult<()> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn run(args: &[&str]) -> AppResult<Output> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     pub fn run_overwrite(args: &[&str]) -> AppResult<Output> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub fn convert<P: AsRef<Path>>(input: P, output: P) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     pub fn convert_reencode<P: AsRef<Path>>(input: P, output: P) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     pub fn extract_audio<P: AsRef<Path>>(input: P, output: P) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 324 |     pub fn extract_audio_as<P: AsRef<Path>>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     pub fn trim<P: AsRef<Path>>(input: P, output: P, start: &str, end: &str) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 418 |     pub fn trim_reencode<P: AsRef<Path>>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 458 |     pub fn probe<P: AsRef<Path>>(input: P) -> AppResult<String> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 497 |     pub fn is_probe_available() -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AudioCodec` is never constructed
[INFO] [stdout]    --> src/media/ffmpeg.rs:511:12
[INFO] [stdout]     |
[INFO] [stdout] 511 | pub struct AudioCodec;
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/media/ffmpeg.rs:515:15
[INFO] [stdout]     |
[INFO] [stdout] 513 | impl AudioCodec {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 514 |     /// MP3 encoder using LAME library.
[INFO] [stdout] 515 |     pub const MP3: &'static str = "libmp3lame";
[INFO] [stdout]     |               ^^^
[INFO] [stdout] ...
[INFO] [stdout] 518 |     pub const AAC: &'static str = "aac";
[INFO] [stdout]     |               ^^^
[INFO] [stdout] ...
[INFO] [stdout] 521 |     pub const FLAC: &'static str = "flac";
[INFO] [stdout]     |               ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 524 |     pub const OPUS: &'static str = "libopus";
[INFO] [stdout]     |               ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 527 |     pub const VORBIS: &'static str = "libvorbis";
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 530 |     pub const WAV: &'static str = "pcm_s16le";
[INFO] [stdout]     |               ^^^
[INFO] [stdout] ...
[INFO] [stdout] 550 |     pub fn for_extension(ext: &str) -> &'static str {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AudioBitrate` is never constructed
[INFO] [stdout]    --> src/media/ffmpeg.rs:566:12
[INFO] [stdout]     |
[INFO] [stdout] 566 | pub struct AudioBitrate;
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `LOW`, `MEDIUM`, `HIGH`, `VERY_HIGH`, and `default_for_format` are never used
[INFO] [stdout]    --> src/media/ffmpeg.rs:570:15
[INFO] [stdout]     |
[INFO] [stdout] 568 | impl AudioBitrate {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 569 |     /// Low quality bitrate (128 kbps).
[INFO] [stdout] 570 |     pub const LOW: &'static str = "128k";
[INFO] [stdout]     |               ^^^
[INFO] [stdout] ...
[INFO] [stdout] 573 |     pub const MEDIUM: &'static str = "192k";
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 576 |     pub const HIGH: &'static str = "256k";
[INFO] [stdout]     |               ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 579 |     pub const VERY_HIGH: &'static str = "320k";
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 599 |     pub fn default_for_format(format: &str) -> &'static str {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProgressStyles` is never constructed
[INFO] [stdout]    --> src/progress.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub struct ProgressStyles;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `download`, `default`, and `spinner` are never used
[INFO] [stdout]    --> src/progress.rs:165:12
[INFO] [stdout]     |
[INFO] [stdout] 141 | impl ProgressStyles {
[INFO] [stdout]     | ------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn download() -> ProgressStyle {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn default() -> ProgressStyle {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     pub fn spinner() -> ProgressStyle {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DownloadProgress` is never constructed
[INFO] [stdout]    --> src/progress.rs:279:12
[INFO] [stdout]     |
[INFO] [stdout] 279 | pub struct DownloadProgress {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/progress.rs:304:12
[INFO] [stdout]     |
[INFO] [stdout] 283 | impl DownloadProgress {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 304 |     pub fn new(total_size: u64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 333 |     pub fn new_spinner(message: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 359 |     pub fn set_position(&self, pos: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 383 |     pub fn inc(&self, delta: u64) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 406 |     pub fn set_message(&self, msg: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 424 |     pub fn finish(&self) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 446 |     pub fn finish_with_message(&self, msg: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 464 |     pub fn finish_and_clear(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 488 |     pub fn abandon_with_message(&self, msg: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 516 |     pub fn inner(&self) -> &ProgressBar {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MultiDownloadProgress` is never constructed
[INFO] [stdout]    --> src/progress.rs:595:12
[INFO] [stdout]     |
[INFO] [stdout] 595 | pub struct MultiDownloadProgress {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_download`, and `add_spinner` are never used
[INFO] [stdout]    --> src/progress.rs:618:12
[INFO] [stdout]     |
[INFO] [stdout] 599 | impl MultiDownloadProgress {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 618 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 648 |     pub fn add_download(&self, total_size: u64) -> DownloadProgress {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 680 |     pub fn add_spinner(&self, message: &str) -> DownloadProgress {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `warning` is never used
[INFO] [stdout]    --> src/progress.rs:844:12
[INFO] [stdout]     |
[INFO] [stdout] 844 |     pub fn warning(msg: &str) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VideoMetadata` is never constructed
[INFO] [stdout]   --> src/utils.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct VideoMetadata<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sanitize_filename` is never used
[INFO] [stdout]   --> src/utils.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn sanitize_filename(filename: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_duration` is never used
[INFO] [stdout]    --> src/utils.rs:219:8
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub fn parse_duration(seconds: &str) -> AppResult<u64> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_video_id` is never used
[INFO] [stdout]    --> src/utils.rs:273:8
[INFO] [stdout]     |
[INFO] [stdout] 273 | pub fn extract_video_id(url: &str) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_playlist_id` is never used
[INFO] [stdout]    --> src/utils.rs:314:8
[INFO] [stdout]     |
[INFO] [stdout] 314 | pub fn extract_playlist_id(url_str: &str) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_template` is never used
[INFO] [stdout]    --> src/utils.rs:355:8
[INFO] [stdout]     |
[INFO] [stdout] 355 | pub fn apply_template(template: &str, meta: &VideoMetadata) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlaylistInfo` is never constructed
[INFO] [stdout]    --> src/youtube/metadata.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct PlaylistInfo {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `QualityFilter` is never used
[INFO] [stdout]    --> src/youtube/metadata.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub enum QualityFilter {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `best_video_stream`, `worst_video_stream`, `best_audio_stream`, `stream_by_quality`, and `stream_by_filter` are never used
[INFO] [stdout]    --> src/youtube/metadata.rs:168:12
[INFO] [stdout]     |
[INFO] [stdout] 148 | impl VideoInfo {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn best_video_stream(&self) -> Option<&StreamInfo> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub fn worst_video_stream(&self) -> Option<&StreamInfo> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub fn best_audio_stream(&self) -> Option<&StreamInfo> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub fn stream_by_quality(&self, quality: &str) -> Option<&StreamInfo> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub fn stream_by_filter(&self, filter: QualityFilter) -> Option<&StreamInfo> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `description` and `formatted_size` are never used
[INFO] [stdout]    --> src/youtube/metadata.rs:323:12
[INFO] [stdout]     |
[INFO] [stdout] 311 | impl StreamInfo {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 323 |     pub fn description(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 352 |     pub fn formatted_size(&self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_empty` and `len` are never used
[INFO] [stdout]    --> src/youtube/metadata.rs:359:12
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl PlaylistInfo {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] 358 |     /// Returns `true` if the playlist contains no videos.
[INFO] [stdout] 359 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 367 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlaylistClient` is never constructed
[INFO] [stdout]   --> src/youtube/playlist.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct PlaylistClient;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `is_playlist_url`, `get_playlist_id`, `get_playlist_info`, `get_video_ids`, and `validate_playlist_url` are never used
[INFO] [stdout]    --> src/youtube/playlist.rs:45:12
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl PlaylistClient {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout]  44 |     /// Creates a new playlist client instance.
[INFO] [stdout]  45 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  73 |     pub fn is_playlist_url(url: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn get_playlist_id(url: &str) -> AppResult<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub async fn get_playlist_info(&self, url: &str) -> AppResult<PlaylistInfo> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub async fn get_video_ids(&self, url: &str) -> AppResult<Vec<String>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn validate_playlist_url(url: &str) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_playlist_ids` is never used
[INFO] [stdout]    --> src/youtube/playlist.rs:202:8
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub fn extract_playlist_ids(urls: &[String]) -> Vec<AppResult<String>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `filter_valid_playlist_urls` is never used
[INFO] [stdout]    --> src/youtube/playlist.rs:235:8
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub fn filter_valid_playlist_urls(urls: &[String]) -> Vec<&String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `format_id` and `width` are never read
[INFO] [stdout]   --> src/youtube/ytdlp.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 82 | struct YtDlpFormat {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 83 |     format_id: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     width: Option<u32>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `YtDlpFormat` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `YtDlpPlaylist` is never constructed
[INFO] [stdout]    --> src/youtube/ytdlp.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | struct YtDlpPlaylist {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `YtDlpPlaylistEntry` is never constructed
[INFO] [stdout]    --> src/youtube/ytdlp.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | struct YtDlpPlaylistEntry {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/youtube/ytdlp.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout] 116 | impl YtDlpClient {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn version() -> AppResult<String> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub fn get_playlist_info(&self, url: &str) -> AppResult<PlaylistInfo> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 356 |     pub fn download(&self, url: &str, output_path: &str, format: Option<&str>) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 420 |     pub fn download_audio(&self, url: &str, output_path: &str, format: &str) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 478 |     pub fn download_with_quality(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 561 |     fn convert_to_playlist_info(&self, pl: YtDlpPlaylist) -> PlaylistInfo {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 591 |     fn quality_to_format(&self, quality: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `base_ytdlp_args` is never used
[INFO] [stdout]    --> src/downloader.rs:947:8
[INFO] [stdout]     |
[INFO] [stdout] 490 | impl Downloader {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 947 |     fn base_ytdlp_args(&self) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `format_id` and `width` are never read
[INFO] [stdout]   --> src/youtube/ytdlp.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 82 | struct YtDlpFormat {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 83 |     format_id: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     width: Option<u32>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `YtDlpFormat` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `title` is never read
[INFO] [stdout]    --> src/youtube/ytdlp.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 111 | struct YtDlpPlaylistEntry {
[INFO] [stdout]     |        ------------------ field in this struct
[INFO] [stdout] 112 |     id: String,
[INFO] [stdout] 113 |     title: Option<String>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `YtDlpPlaylistEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `style`
[INFO] [stdout]    --> src/progress.rs:916:13
[INFO] [stdout]     |
[INFO] [stdout] 916 |         let style = ProgressStyles::download();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_style`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `style`
[INFO] [stdout]    --> src/progress.rs:922:13
[INFO] [stdout]     |
[INFO] [stdout] 922 |         let style = ProgressStyles::default();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `style`
[INFO] [stdout]    --> src/progress.rs:928:13
[INFO] [stdout]     |
[INFO] [stdout] 928 |         let style = ProgressStyles::spinner();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `multi`
[INFO] [stdout]     --> src/progress.rs:1085:13
[INFO] [stdout]      |
[INFO] [stdout] 1085 |         let multi = MultiDownloadProgress::new();
[INFO] [stdout]      |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_multi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `multi`
[INFO] [stdout]     --> src/progress.rs:1091:13
[INFO] [stdout]      |
[INFO] [stdout] 1091 |         let multi = MultiDownloadProgress::default();
[INFO] [stdout]      |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_multi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client`
[INFO] [stdout]    --> src/youtube/playlist.rs:253:13
[INFO] [stdout]     |
[INFO] [stdout] 253 |         let client = PlaylistClient::new();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client`
[INFO] [stdout]    --> src/youtube/playlist.rs:259:13
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let client = PlaylistClient::default();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client1`
[INFO] [stdout]    --> src/youtube/playlist.rs:643:13
[INFO] [stdout]     |
[INFO] [stdout] 643 |         let client1 = PlaylistClient::new();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client2`
[INFO] [stdout]    --> src/youtube/playlist.rs:644:13
[INFO] [stdout]     |
[INFO] [stdout] 644 |         let client2 = PlaylistClient::new();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/youtube/ytdlp.rs:298:13
[INFO] [stdout]     |
[INFO] [stdout] 298 |         let mut title = "Unknown Playlist".to_string();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `rate_limit` is never used
[INFO] [stdout]    --> src/downloader.rs:417:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | impl DownloadOptions {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 417 |     pub fn rate_limit(&self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `base_ytdlp_args` is never used
[INFO] [stdout]    --> src/downloader.rs:947:8
[INFO] [stdout]     |
[INFO] [stdout] 490 | impl Downloader {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 947 |     fn base_ytdlp_args(&self) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ConversionFailed`, `TrimmingFailed`, `NoStreamsAvailable`, `FormatNotSupported`, and `InvalidTemplate` are never constructed
[INFO] [stdout]    --> src/error.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout]  79 | pub enum AppError {
[INFO] [stdout]     |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 185 |     ConversionFailed {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     TrimmingFailed {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 225 |     NoStreamsAvailable { video_id: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 236 |     FormatNotSupported(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |     InvalidTemplate { template: String, message: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `extract_audio_as` and `trim_reencode` are never used
[INFO] [stdout]    --> src/media/ffmpeg.rs:324:12
[INFO] [stdout]     |
[INFO] [stdout]  49 | impl FFmpeg {
[INFO] [stdout]     | ----------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 324 |     pub fn extract_audio_as<P: AsRef<Path>>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 418 |     pub fn trim_reencode<P: AsRef<Path>>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `format_id` and `width` are never read
[INFO] [stdout]   --> src/youtube/ytdlp.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 82 | struct YtDlpFormat {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 83 |     format_id: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     width: Option<u32>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `YtDlpFormat` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `YtDlpPlaylist` is never constructed
[INFO] [stdout]    --> src/youtube/ytdlp.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | struct YtDlpPlaylist {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `YtDlpPlaylistEntry` is never constructed
[INFO] [stdout]    --> src/youtube/ytdlp.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | struct YtDlpPlaylistEntry {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/youtube/ytdlp.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout] 116 | impl YtDlpClient {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn version() -> AppResult<String> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub fn get_playlist_info(&self, url: &str) -> AppResult<PlaylistInfo> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 356 |     pub fn download(&self, url: &str, output_path: &str, format: Option<&str>) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 420 |     pub fn download_audio(&self, url: &str, output_path: &str, format: &str) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 478 |     pub fn download_with_quality(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 561 |     fn convert_to_playlist_info(&self, pl: YtDlpPlaylist) -> PlaylistInfo {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 591 |     fn quality_to_format(&self, quality: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 50.32s
[INFO] running `Command { std: "docker" "inspect" "94bea2584110e0d3351fd0c4887738690fb4f43f20e317a975690cd1005473cb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "94bea2584110e0d3351fd0c4887738690fb4f43f20e317a975690cd1005473cb", kill_on_drop: false }`
[INFO] [stdout] 94bea2584110e0d3351fd0c4887738690fb4f43f20e317a975690cd1005473cb
[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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 5205add44c5cdcedf7671166b7910bb854ccad7145fd4085aa31b7d8524a14f1
[INFO] running `Command { std: "docker" "start" "-a" "5205add44c5cdcedf7671166b7910bb854ccad7145fd4085aa31b7d8524a14f1", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `sanitize_filename`
[INFO] [stderr]   --> src/downloader.rs:56:33
[INFO] [stderr]    |
[INFO] [stderr] 56 | use crate::utils::{expand_path, sanitize_filename};
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AppError`
[INFO] [stderr]   --> src/media/audio.rs:34:20
[INFO] [stderr]    |
[INFO] [stderr] 34 | use crate::error::{AppError, AppResult};
[INFO] [stderr]    |                    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AppError`
[INFO] [stderr]   --> src/media/converter.rs:36:20
[INFO] [stderr]    |
[INFO] [stderr] 36 | use crate::error::{AppError, AppResult};
[INFO] [stderr]    |                    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AppError` and `AppResult`
[INFO] [stderr]    --> src/progress.rs:102:20
[INFO] [stderr]     |
[INFO] [stderr] 102 | use crate::error::{AppError, AppResult};
[INFO] [stderr]     |                    ^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/youtube/ytdlp.rs:298:13
[INFO] [stderr]     |
[INFO] [stderr] 298 |         let mut title = "Unknown Playlist".to_string();
[INFO] [stderr]     |             ----^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `base_ytdlp_args` is never used
[INFO] [stderr]    --> src/downloader.rs:947:8
[INFO] [stderr]     |
[INFO] [stderr] 490 | impl Downloader {
[INFO] [stderr]     | --------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 947 |     fn base_ytdlp_args(&self) -> Vec<String> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `format_id` and `width` are never read
[INFO] [stderr]   --> src/youtube/ytdlp.rs:83:5
[INFO] [stderr]    |
[INFO] [stderr] 82 | struct YtDlpFormat {
[INFO] [stderr]    |        ----------- fields in this struct
[INFO] [stderr] 83 |     format_id: String,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 88 |     width: Option<u32>,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `YtDlpFormat` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `title` is never read
[INFO] [stderr]    --> src/youtube/ytdlp.rs:113:5
[INFO] [stderr]     |
[INFO] [stderr] 111 | struct YtDlpPlaylistEntry {
[INFO] [stderr]     |        ------------------ field in this struct
[INFO] [stderr] 112 |     id: String,
[INFO] [stderr] 113 |     title: Option<String>,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `YtDlpPlaylistEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs`
[INFO] [stderr]    --> src/media/ffmpeg.rs:814:13
[INFO] [stderr]     |
[INFO] [stderr] 814 |         use std::fs;
[INFO] [stderr]     |             ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tempfile::TempDir`
[INFO] [stderr]    --> src/media/ffmpeg.rs:815:13
[INFO] [stderr]     |
[INFO] [stderr] 815 |         use tempfile::TempDir;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `style`
[INFO] [stderr]    --> src/progress.rs:916:13
[INFO] [stderr]     |
[INFO] [stderr] 916 |         let style = ProgressStyles::download();
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_style`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `style`
[INFO] [stderr]    --> src/progress.rs:922:13
[INFO] [stderr]     |
[INFO] [stderr] 922 |         let style = ProgressStyles::default();
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_style`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `style`
[INFO] [stderr]    --> src/progress.rs:928:13
[INFO] [stderr]     |
[INFO] [stderr] 928 |         let style = ProgressStyles::spinner();
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_style`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `multi`
[INFO] [stderr]     --> src/progress.rs:1085:13
[INFO] [stderr]      |
[INFO] [stderr] 1085 |         let multi = MultiDownloadProgress::new();
[INFO] [stderr]      |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_multi`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `multi`
[INFO] [stderr]     --> src/progress.rs:1091:13
[INFO] [stderr]      |
[INFO] [stderr] 1091 |         let multi = MultiDownloadProgress::default();
[INFO] [stderr]      |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_multi`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `client`
[INFO] [stderr]    --> src/youtube/playlist.rs:253:13
[INFO] [stderr]     |
[INFO] [stderr] 253 |         let client = PlaylistClient::new();
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `client`
[INFO] [stderr]    --> src/youtube/playlist.rs:259:13
[INFO] [stderr]     |
[INFO] [stderr] 259 |         let client = PlaylistClient::default();
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_client`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `client1`
[INFO] [stderr]    --> src/youtube/playlist.rs:643:13
[INFO] [stderr]     |
[INFO] [stderr] 643 |         let client1 = PlaylistClient::new();
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client1`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `client2`
[INFO] [stderr]    --> src/youtube/playlist.rs:644:13
[INFO] [stderr]     |
[INFO] [stderr] 644 |         let client2 = PlaylistClient::new();
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client2`
[INFO] [stderr] 
[INFO] [stderr] warning: `rust-yt-downloader` (lib) generated 8 warnings (run `cargo fix --lib -p rust-yt-downloader` to apply 5 suggestions)
[INFO] [stderr] warning: `rust-yt-downloader` (lib test) generated 19 warnings (8 duplicates) (run `cargo fix --lib -p rust-yt-downloader --tests` to apply 11 suggestions)
[INFO] [stderr] warning: constant `TEST_PLAYLIST_SHORT` is never used
[INFO] [stderr]   --> tests/playlist_tests.rs:17:7
[INFO] [stderr]    |
[INFO] [stderr] 17 | const TEST_PLAYLIST_SHORT: &str =
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AudioExtractor`, `AudioFormat`, `AudioInfo`, and `AudioOptions`
[INFO] [stderr]   --> src/media/mod.rs:41:17
[INFO] [stderr]    |
[INFO] [stderr] 41 | pub use audio::{AudioExtractor, AudioFormat, AudioInfo, AudioOptions};
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ConversionOptions`, `ConversionResult`, `VideoConverter`, and `VideoFormat`
[INFO] [stderr]   --> src/media/mod.rs:42:21
[INFO] [stderr]    |
[INFO] [stderr] 42 | pub use converter::{ConversionOptions, ConversionResult, VideoConverter, VideoFormat};
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AudioBitrate`, `AudioCodec`, and `FFmpeg`
[INFO] [stderr]   --> src/media/mod.rs:43:18
[INFO] [stderr]    |
[INFO] [stderr] 43 | pub use ffmpeg::{AudioBitrate, AudioCodec, FFmpeg};
[INFO] [stderr]    |                  ^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `PlaylistInfo`, `QualityFilter`, `StreamInfo`, and `VideoInfo`
[INFO] [stderr]   --> src/youtube/mod.rs:31:20
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub use metadata::{PlaylistInfo, QualityFilter, StreamInfo, VideoInfo};
[INFO] [stderr]    |                    ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `PlaylistClient`, `extract_playlist_ids`, and `filter_valid_playlist_urls`
[INFO] [stderr]   --> src/youtube/mod.rs:32:20
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub use playlist::{extract_playlist_ids, filter_valid_playlist_urls, PlaylistClient};
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `rate_limit` is never used
[INFO] [stderr]    --> src/downloader.rs:417:12
[INFO] [stderr]     |
[INFO] [stderr] 153 | impl DownloadOptions {
[INFO] [stderr]     | -------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 417 |     pub fn rate_limit(&self) -> Option<String> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `base_ytdlp_args` is never used
[INFO] [stderr]    --> src/downloader.rs:947:8
[INFO] [stderr]     |
[INFO] [stderr] 490 | impl Downloader {
[INFO] [stderr]     | --------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 947 |     fn base_ytdlp_args(&self) -> Vec<String> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `ConversionFailed`, `TrimmingFailed`, `NoStreamsAvailable`, `FormatNotSupported`, and `InvalidTemplate` are never constructed
[INFO] [stderr]    --> src/error.rs:185:5
[INFO] [stderr]     |
[INFO] [stderr]  79 | pub enum AppError {
[INFO] [stderr]     |          -------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 185 |     ConversionFailed {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 194 |     TrimmingFailed {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 225 |     NoStreamsAvailable { video_id: String },
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 236 |     FormatNotSupported(String),
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 257 |     InvalidTemplate { template: String, message: String },
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `extract_audio_as` and `trim_reencode` are never used
[INFO] [stderr]    --> src/media/ffmpeg.rs:324:12
[INFO] [stderr]     |
[INFO] [stderr]  49 | impl FFmpeg {
[INFO] [stderr]     | ----------- associated functions in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 324 |     pub fn extract_audio_as<P: AsRef<Path>>(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 418 |     pub fn trim_reencode<P: AsRef<Path>>(
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `YtDlpPlaylist` is never constructed
[INFO] [stderr]    --> src/youtube/ytdlp.rs:100:8
[INFO] [stderr]     |
[INFO] [stderr] 100 | struct YtDlpPlaylist {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `YtDlpPlaylistEntry` is never constructed
[INFO] [stderr]    --> src/youtube/ytdlp.rs:111:8
[INFO] [stderr]     |
[INFO] [stderr] 111 | struct YtDlpPlaylistEntry {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/youtube/ytdlp.rs:161:12
[INFO] [stderr]     |
[INFO] [stderr] 116 | impl YtDlpClient {
[INFO] [stderr]     | ---------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 161 |     pub fn version() -> AppResult<String> {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 271 |     pub fn get_playlist_info(&self, url: &str) -> AppResult<PlaylistInfo> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 356 |     pub fn download(&self, url: &str, output_path: &str, format: Option<&str>) -> AppResult<()> {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 420 |     pub fn download_audio(&self, url: &str, output_path: &str, format: &str) -> AppResult<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 478 |     pub fn download_with_quality(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 561 |     fn convert_to_playlist_info(&self, pl: YtDlpPlaylist) -> PlaylistInfo {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 591 |     fn quality_to_format(&self, quality: &str) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `filename_template` and `retry_attempts` are never read
[INFO] [stderr]    --> src/downloader.rs:118:9
[INFO] [stderr]     |
[INFO] [stderr]  87 | pub struct DownloadOptions {
[INFO] [stderr]     |            --------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 118 |     pub filename_template: String,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 124 |     pub retry_attempts: u32,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DownloadOptions` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `with_template` and `rate_limit` are never used
[INFO] [stderr]    --> src/downloader.rs:285:12
[INFO] [stderr]     |
[INFO] [stderr] 153 | impl DownloadOptions {
[INFO] [stderr]     | -------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 285 |     pub fn with_template(mut self, template: String) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 417 |     pub fn rate_limit(&self) -> Option<String> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `video_id` and `video_title` are never read
[INFO] [stderr]    --> src/downloader.rs:450:9
[INFO] [stderr]     |
[INFO] [stderr] 442 | pub struct DownloadResult {
[INFO] [stderr]     |            -------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 450 |     pub video_id: String,
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 453 |     pub video_title: String,
[INFO] [stderr]     |         ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DownloadResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `from_config`, `options`, `set_options`, and `base_ytdlp_args` are never used
[INFO] [stderr]    --> src/downloader.rs:540:12
[INFO] [stderr]     |
[INFO] [stderr] 490 | impl Downloader {
[INFO] [stderr]     | --------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 540 |     pub fn from_config(config: &Config) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 921 |     pub fn options(&self) -> &DownloadOptions {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 938 |     pub fn set_options(&mut self, options: DownloadOptions) {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 947 |     fn base_ytdlp_args(&self) -> Vec<String> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple variants are never constructed
[INFO] [stderr]    --> src/error.rs:86:5
[INFO] [stderr]     |
[INFO] [stderr]  79 | pub enum AppError {
[INFO] [stderr]     |          -------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr]  86 |     HttpRequest {
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  95 |     Connection(String),
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  99 |     Timeout { seconds: u64 },
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 108 |     InvalidUrl(String),
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 112 |     VideoNotFound { video_id: String },
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 116 |     VideoPrivate { video_id: String },
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 120 |     AgeRestricted { video_id: String },
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 124 |     RegionBlocked { video_id: String },
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 128 |     PlaylistNotFound { playlist_id: String },
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 161 |     PathNotFound(PathBuf),
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 165 |     PermissionDenied(PathBuf),
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 174 |     FfmpegNotFound,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 178 |     FfmpegExecution {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 185 |     ConversionFailed {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 194 |     TrimmingFailed {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 220 |     ConfigNotFound(PathBuf),
[INFO] [stderr]     |     ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 225 |     NoStreamsAvailable { video_id: String },
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 229 |     QualityNotAvailable {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 236 |     FormatNotSupported(String),
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 240 |     DownloadInterrupted(String),
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 244 |     MaxRetriesExceeded { attempts: u32, message: String },
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 249 |     InvalidArgument { argument: String, message: String },
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 253 |     InvalidTimeFormat(String),
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 257 |     InvalidTemplate { template: String, message: String },
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 262 |     Cancelled,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `http`, `ffmpeg`, `invalid_arg`, and `is_retryable` are never used
[INFO] [stderr]    --> src/error.rs:286:12
[INFO] [stderr]     |
[INFO] [stderr] 270 | impl AppError {
[INFO] [stderr]     | ------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 286 |     pub fn http(status: u16, message: impl Into<String>) -> Self {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 338 |     pub fn ffmpeg(message: impl Into<String>, exit_code: Option<i32>) -> Self {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 351 |     pub fn invalid_arg(argument: impl Into<String>, message: impl Into<String>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 383 |     pub fn is_retryable(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `AudioFormat` is never used
[INFO] [stderr]   --> src/media/audio.rs:42:10
[INFO] [stderr]    |
[INFO] [stderr] 42 | pub enum AudioFormat {
[INFO] [stderr]    |          ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `extension`, `from_extension`, `codec`, `default_bitrate`, `is_lossless`, and `supports_vbr` are never used
[INFO] [stderr]    --> src/media/audio.rs:70:12
[INFO] [stderr]     |
[INFO] [stderr]  59 | impl AudioFormat {
[INFO] [stderr]     | ---------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  70 |     pub fn extension(&self) -> &'static str {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 100 |     pub fn from_extension(ext: &str) -> Option<Self> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 123 |     pub fn codec(&self) -> &'static str {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 146 |     pub fn default_bitrate(&self) -> &'static str {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 169 |     pub fn is_lossless(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 183 |     pub fn supports_vbr(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AudioOptions` is never constructed
[INFO] [stderr]    --> src/media/audio.rs:193:12
[INFO] [stderr]     |
[INFO] [stderr] 193 | pub struct AudioOptions {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/media/audio.rs:228:12
[INFO] [stderr]     |
[INFO] [stderr] 218 | impl AudioOptions {
[INFO] [stderr]     | ----------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 228 |     pub fn mp3_high_quality() -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 237 |     pub fn flac() -> Self {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 250 |     pub fn m4a(bitrate: &str) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 259 |     pub fn opus() -> Self {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 268 |     pub fn with_format(mut self, format: AudioFormat) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 274 |     pub fn with_bitrate(mut self, bitrate: impl Into<String>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 280 |     pub fn with_sample_rate(mut self, rate: u32) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 286 |     pub fn with_channels(mut self, channels: u8) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 294 |     pub fn effective_bitrate(&self) -> Option<&str> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AudioExtractor` is never constructed
[INFO] [stderr]    --> src/media/audio.rs:311:12
[INFO] [stderr]     |
[INFO] [stderr] 311 | pub struct AudioExtractor;
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated functions are never used
[INFO] [stderr]    --> src/media/audio.rs:338:12
[INFO] [stderr]     |
[INFO] [stderr] 313 | impl AudioExtractor {
[INFO] [stderr]     | ------------------- associated functions in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 338 |     pub fn extract<P: AsRef<Path>>(input: P, output: P, options: &AudioOptions) -> AppResult<()> {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 384 |     pub fn extract_default<P: AsRef<Path>>(input: P, output: P) -> AppResult<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 389 |     pub fn extract_as_mp3<P: AsRef<Path>>(input: P, output: P) -> AppResult<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 394 |     pub fn extract_as_flac<P: AsRef<Path>>(input: P, output: P) -> AppResult<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 402 |     pub fn convert<P: AsRef<Path>>(input: P, output: P, options: &AudioOptions) -> AppResult<()> {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 420 |     pub fn detect_format<P: AsRef<Path>>(path: P) -> Option<AudioFormat> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 447 |     pub fn output_path_with_format<P: AsRef<Path>>(input: P, format: AudioFormat) -> PathBuf {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AudioInfo` is never constructed
[INFO] [stderr]    --> src/media/audio.rs:464:12
[INFO] [stderr]     |
[INFO] [stderr] 464 | pub struct AudioInfo {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `empty` and `is_empty` are never used
[INFO] [stderr]    --> src/media/audio.rs:481:12
[INFO] [stderr]     |
[INFO] [stderr] 479 | impl AudioInfo {
[INFO] [stderr]     | -------------- associated items in this implementation
[INFO] [stderr] 480 |     /// Creates an empty AudioInfo with all fields set to `None`.
[INFO] [stderr] 481 |     pub fn empty() -> Self {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 497 |     pub fn is_empty(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `VideoFormat` is never used
[INFO] [stderr]   --> src/media/converter.rs:43:10
[INFO] [stderr]    |
[INFO] [stderr] 43 | pub enum VideoFormat {
[INFO] [stderr]    |          ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `extension`, `from_extension`, `recommended_video_codec`, `recommended_audio_codec`, and `supports_stream_copy_from` are never used
[INFO] [stderr]    --> src/media/converter.rs:58:12
[INFO] [stderr]     |
[INFO] [stderr]  56 | impl VideoFormat {
[INFO] [stderr]     | ---------------- associated items in this implementation
[INFO] [stderr]  57 |     /// Returns the file extension for this video format.
[INFO] [stderr]  58 |     pub fn extension(&self) -> &'static str {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  77 |     pub fn from_extension(ext: &str) -> Option<Self> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  89 |     pub fn recommended_video_codec(&self) -> &'static str {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 100 |     pub fn recommended_audio_codec(&self) -> &'static str {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 122 |     pub fn supports_stream_copy_from(&self, source: &VideoFormat) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ConversionOptions` is never constructed
[INFO] [stderr]    --> src/media/converter.rs:137:12
[INFO] [stderr]     |
[INFO] [stderr] 137 | pub struct ConversionOptions {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/media/converter.rs:176:12
[INFO] [stderr]     |
[INFO] [stderr] 174 | impl ConversionOptions {
[INFO] [stderr]     | ---------------------- associated items in this implementation
[INFO] [stderr] 175 |     /// Creates options for fast conversion using stream copy.
[INFO] [stderr] 176 |     pub fn fast(format: VideoFormat) -> Self {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 185 |     pub fn reencode(format: VideoFormat) -> Self {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 194 |     pub fn high_quality(format: VideoFormat) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 205 |     pub fn small_file(format: VideoFormat) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 216 |     pub fn with_format(mut self, format: VideoFormat) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 222 |     pub fn with_stream_copy(mut self, stream_copy: bool) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 228 |     pub fn with_video_codec(mut self, codec: impl Into<String>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 234 |     pub fn with_audio_codec(mut self, codec: impl Into<String>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 242 |     pub fn with_quality(mut self, crf: u8) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 248 |     pub fn with_audio_bitrate(mut self, bitrate: impl Into<String>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 254 |     pub fn with_resolution(mut self, resolution: impl Into<String>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 260 |     pub fn with_framerate(mut self, fps: u32) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `VideoConverter` is never constructed
[INFO] [stderr]    --> src/media/converter.rs:270:12
[INFO] [stderr]     |
[INFO] [stderr] 270 | pub struct VideoConverter;
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `convert`, `convert_fast`, `convert_reencode`, `detect_format`, `output_path_with_format`, and `needs_reencode` are never used
[INFO] [stderr]    --> src/media/converter.rs:297:12
[INFO] [stderr]     |
[INFO] [stderr] 272 | impl VideoConverter {
[INFO] [stderr]     | ------------------- associated functions in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 297 |     pub fn convert<P: AsRef<Path>>(
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 366 |     pub fn convert_fast<P: AsRef<Path>>(input: P, output: P) -> AppResult<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 371 |     pub fn convert_reencode<P: AsRef<Path>>(input: P, output: P) -> AppResult<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 380 |     pub fn detect_format<P: AsRef<Path>>(path: P) -> Option<VideoFormat> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 397 |     pub fn output_path_with_format<P: AsRef<Path>>(input: P, format: VideoFormat) -> PathBuf {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 421 |     pub fn needs_reencode<P: AsRef<Path>>(input: P, output_format: VideoFormat) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ConversionResult` is never constructed
[INFO] [stderr]    --> src/media/converter.rs:436:12
[INFO] [stderr]     |
[INFO] [stderr] 436 | pub struct ConversionResult {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `FFmpeg` is never constructed
[INFO] [stderr]   --> src/media/ffmpeg.rs:47:12
[INFO] [stderr]    |
[INFO] [stderr] 47 | pub struct FFmpeg;
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated functions are never used
[INFO] [stderr]    --> src/media/ffmpeg.rs:67:12
[INFO] [stderr]     |
[INFO] [stderr]  49 | impl FFmpeg {
[INFO] [stderr]     | ----------- associated functions in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  67 |     pub fn is_available() -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  94 |     pub fn version() -> AppResult<String> {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 128 |     pub fn require() -> AppResult<()> {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 160 |     pub fn run(args: &[&str]) -> AppResult<Output> {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 197 |     pub fn run_overwrite(args: &[&str]) -> AppResult<Output> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 226 |     pub fn convert<P: AsRef<Path>>(input: P, output: P) -> AppResult<()> {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 258 |     pub fn convert_reencode<P: AsRef<Path>>(input: P, output: P) -> AppResult<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 290 |     pub fn extract_audio<P: AsRef<Path>>(input: P, output: P) -> AppResult<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 324 |     pub fn extract_audio_as<P: AsRef<Path>>(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 374 |     pub fn trim<P: AsRef<Path>>(input: P, output: P, start: &str, end: &str) -> AppResult<()> {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 418 |     pub fn trim_reencode<P: AsRef<Path>>(
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 458 |     pub fn probe<P: AsRef<Path>>(input: P) -> AppResult<String> {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 497 |     pub fn is_probe_available() -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AudioCodec` is never constructed
[INFO] [stderr]    --> src/media/ffmpeg.rs:511:12
[INFO] [stderr]     |
[INFO] [stderr] 511 | pub struct AudioCodec;
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/media/ffmpeg.rs:515:15
[INFO] [stderr]     |
[INFO] [stderr] 513 | impl AudioCodec {
[INFO] [stderr]     | --------------- associated items in this implementation
[INFO] [stderr] 514 |     /// MP3 encoder using LAME library.
[INFO] [stderr] 515 |     pub const MP3: &'static str = "libmp3lame";
[INFO] [stderr]     |               ^^^
[INFO] [stderr] ...
[INFO] [stderr] 518 |     pub const AAC: &'static str = "aac";
[INFO] [stderr]     |               ^^^
[INFO] [stderr] ...
[INFO] [stderr] 521 |     pub const FLAC: &'static str = "flac";
[INFO] [stderr]     |               ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 524 |     pub const OPUS: &'static str = "libopus";
[INFO] [stderr]     |               ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 527 |     pub const VORBIS: &'static str = "libvorbis";
[INFO] [stderr]     |               ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 530 |     pub const WAV: &'static str = "pcm_s16le";
[INFO] [stderr]     |               ^^^
[INFO] [stderr] ...
[INFO] [stderr] 550 |     pub fn for_extension(ext: &str) -> &'static str {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AudioBitrate` is never constructed
[INFO] [stderr]    --> src/media/ffmpeg.rs:566:12
[INFO] [stderr]     |
[INFO] [stderr] 566 | pub struct AudioBitrate;
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `LOW`, `MEDIUM`, `HIGH`, `VERY_HIGH`, and `default_for_format` are never used
[INFO] [stderr]    --> src/media/ffmpeg.rs:570:15
[INFO] [stderr]     |
[INFO] [stderr] 568 | impl AudioBitrate {
[INFO] [stderr]     | ----------------- associated items in this implementation
[INFO] [stderr] 569 |     /// Low quality bitrate (128 kbps).
[INFO] [stderr] 570 |     pub const LOW: &'static str = "128k";
[INFO] [stderr]     |               ^^^
[INFO] [stderr] ...
[INFO] [stderr] 573 |     pub const MEDIUM: &'static str = "192k";
[INFO] [stderr]     |               ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 576 |     pub const HIGH: &'static str = "256k";
[INFO] [stderr]     |               ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 579 |     pub const VERY_HIGH: &'static str = "320k";
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 599 |     pub fn default_for_format(format: &str) -> &'static str {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ProgressStyles` is never constructed
[INFO] [stderr]    --> src/progress.rs:139:12
[INFO] [stderr]     |
[INFO] [stderr] 139 | pub struct ProgressStyles;
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `download`, `default`, and `spinner` are never used
[INFO] [stderr]    --> src/progress.rs:165:12
[INFO] [stderr]     |
[INFO] [stderr] 141 | impl ProgressStyles {
[INFO] [stderr]     | ------------------- associated functions in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 165 |     pub fn download() -> ProgressStyle {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 200 |     pub fn default() -> ProgressStyle {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 233 |     pub fn spinner() -> ProgressStyle {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DownloadProgress` is never constructed
[INFO] [stderr]    --> src/progress.rs:279:12
[INFO] [stderr]     |
[INFO] [stderr] 279 | pub struct DownloadProgress {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/progress.rs:304:12
[INFO] [stderr]     |
[INFO] [stderr] 283 | impl DownloadProgress {
[INFO] [stderr]     | --------------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 304 |     pub fn new(total_size: u64) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 333 |     pub fn new_spinner(message: &str) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 359 |     pub fn set_position(&self, pos: u64) {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 383 |     pub fn inc(&self, delta: u64) {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 406 |     pub fn set_message(&self, msg: &str) {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 424 |     pub fn finish(&self) {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 446 |     pub fn finish_with_message(&self, msg: &str) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 464 |     pub fn finish_and_clear(&self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 488 |     pub fn abandon_with_message(&self, msg: &str) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 516 |     pub fn inner(&self) -> &ProgressBar {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MultiDownloadProgress` is never constructed
[INFO] [stderr]    --> src/progress.rs:595:12
[INFO] [stderr]     |
[INFO] [stderr] 595 | pub struct MultiDownloadProgress {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `add_download`, and `add_spinner` are never used
[INFO] [stderr]    --> src/progress.rs:618:12
[INFO] [stderr]     |
[INFO] [stderr] 599 | impl MultiDownloadProgress {
[INFO] [stderr]     | -------------------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 618 |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 648 |     pub fn add_download(&self, total_size: u64) -> DownloadProgress {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 680 |     pub fn add_spinner(&self, message: &str) -> DownloadProgress {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `warning` is never used
[INFO] [stderr]    --> src/progress.rs:844:12
[INFO] [stderr]     |
[INFO] [stderr] 844 |     pub fn warning(msg: &str) {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `VideoMetadata` is never constructed
[INFO] [stderr]   --> src/utils.rs:34:12
[INFO] [stderr]    |
[INFO] [stderr] 34 | pub struct VideoMetadata<'a> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `sanitize_filename` is never used
[INFO] [stderr]   --> src/utils.rs:69:8
[INFO] [stderr]    |
[INFO] [stderr] 69 | pub fn sanitize_filename(filename: &str) -> String {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_duration` is never used
[INFO] [stderr]    --> src/utils.rs:219:8
[INFO] [stderr]     |
[INFO] [stderr] 219 | pub fn parse_duration(seconds: &str) -> AppResult<u64> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `extract_video_id` is never used
[INFO] [stderr]    --> src/utils.rs:273:8
[INFO] [stderr]     |
[INFO] [stderr] 273 | pub fn extract_video_id(url: &str) -> Option<String> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `extract_playlist_id` is never used
[INFO] [stderr]    --> src/utils.rs:314:8
[INFO] [stderr]     |
[INFO] [stderr] 314 | pub fn extract_playlist_id(url_str: &str) -> Option<String> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `apply_template` is never used
[INFO] [stderr]    --> src/utils.rs:355:8
[INFO] [stderr]     |
[INFO] [stderr] 355 | pub fn apply_template(template: &str, meta: &VideoMetadata) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `PlaylistInfo` is never constructed
[INFO] [stderr]    --> src/youtube/metadata.rs:106:12
[INFO] [stderr]     |
[INFO] [stderr] 106 | pub struct PlaylistInfo {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `QualityFilter` is never used
[INFO] [stderr]    --> src/youtube/metadata.rs:137:10
[INFO] [stderr]     |
[INFO] [stderr] 137 | pub enum QualityFilter {
[INFO] [stderr]     |          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `best_video_stream`, `worst_video_stream`, `best_audio_stream`, `stream_by_quality`, and `stream_by_filter` are never used
[INFO] [stderr]    --> src/youtube/metadata.rs:168:12
[INFO] [stderr]     |
[INFO] [stderr] 148 | impl VideoInfo {
[INFO] [stderr]     | -------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 168 |     pub fn best_video_stream(&self) -> Option<&StreamInfo> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 179 |     pub fn worst_video_stream(&self) -> Option<&StreamInfo> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 190 |     pub fn best_audio_stream(&self) -> Option<&StreamInfo> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 205 |     pub fn stream_by_quality(&self, quality: &str) -> Option<&StreamInfo> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 237 |     pub fn stream_by_filter(&self, filter: QualityFilter) -> Option<&StreamInfo> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `description` and `formatted_size` are never used
[INFO] [stderr]    --> src/youtube/metadata.rs:323:12
[INFO] [stderr]     |
[INFO] [stderr] 311 | impl StreamInfo {
[INFO] [stderr]     | --------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 323 |     pub fn description(&self) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 352 |     pub fn formatted_size(&self) -> Option<String> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `is_empty` and `len` are never used
[INFO] [stderr]    --> src/youtube/metadata.rs:359:12
[INFO] [stderr]     |
[INFO] [stderr] 357 | impl PlaylistInfo {
[INFO] [stderr]     | ----------------- methods in this implementation
[INFO] [stderr] 358 |     /// Returns `true` if the playlist contains no videos.
[INFO] [stderr] 359 |     pub fn is_empty(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 367 |     pub fn len(&self) -> usize {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `PlaylistClient` is never constructed
[INFO] [stderr]   --> src/youtube/playlist.rs:41:12
[INFO] [stderr]    |
[INFO] [stderr] 41 | pub struct PlaylistClient;
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `is_playlist_url`, `get_playlist_id`, `get_playlist_info`, `get_video_ids`, and `validate_playlist_url` are never used
[INFO] [stderr]    --> src/youtube/playlist.rs:45:12
[INFO] [stderr]     |
[INFO] [stderr]  43 | impl PlaylistClient {
[INFO] [stderr]     | ------------------- associated items in this implementation
[INFO] [stderr]  44 |     /// Creates a new playlist client instance.
[INFO] [stderr]  45 |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  73 |     pub fn is_playlist_url(url: &str) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  99 |     pub fn get_playlist_id(url: &str) -> AppResult<String> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 115 |     pub async fn get_playlist_info(&self, url: &str) -> AppResult<PlaylistInfo> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 136 |     pub async fn get_video_ids(&self, url: &str) -> AppResult<Vec<String>> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 154 |     pub fn validate_playlist_url(url: &str) -> AppResult<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `extract_playlist_ids` is never used
[INFO] [stderr]    --> src/youtube/playlist.rs:202:8
[INFO] [stderr]     |
[INFO] [stderr] 202 | pub fn extract_playlist_ids(urls: &[String]) -> Vec<AppResult<String>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `filter_valid_playlist_urls` is never used
[INFO] [stderr]    --> src/youtube/playlist.rs:235:8
[INFO] [stderr]     |
[INFO] [stderr] 235 | pub fn filter_valid_playlist_urls(urls: &[String]) -> Vec<&String> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `rust-yt-downloader` (test "playlist_tests") generated 1 warning
[INFO] [stderr] warning: `rust-yt-downloader` (bin "ytdl" test) generated 29 warnings (17 duplicates) (run `cargo fix --bin "ytdl" -p rust-yt-downloader --tests` to apply 5 suggestions)
[INFO] [stderr] warning: `rust-yt-downloader` (bin "ytdl") generated 63 warnings (14 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.43s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/rust-yt-downloader/6cd41769201b007f/deps/rust_yt_downloader-6cd41769201b007f)
[INFO] [stdout] 
[INFO] [stdout] running 670 tests
[INFO] [stdout] test cli::tests::test_audio_invalid_format_fails ... ok
[INFO] [stdout] test cli::tests::test_audio_default_format ... ok
[INFO] [stdout] test cli::tests::test_audio_with_format_m4a ... ok
[INFO] [stdout] test cli::tests::test_config_reset ... ok
[INFO] [stdout] test cli::tests::test_audio_with_format_wav ... ok
[INFO] [stdout] test cli::tests::test_config_show ... ok
[INFO] [stdout] test cli::tests::test_audio_with_format_mp3 ... ok
[INFO] [stdout] test cli::tests::test_config_get_missing_key_fails ... ok
[INFO] [stdout] test cli::tests::test_config_set ... ok
[INFO] [stdout] test cli::tests::test_config_path ... ok
[INFO] [stdout] test cli::tests::test_config_set_missing_value_fails ... ok
[INFO] [stdout] test cli::tests::test_audio_missing_url_fails ... ok
[INFO] [stdout] test cli::tests::test_download_default_values ... ok
[INFO] [stdout] test cli::tests::test_download_missing_url_fails ... ok
[INFO] [stdout] test cli::tests::test_config_get ... ok
[INFO] [stdout] test cli::tests::test_download_with_output ... ok
[INFO] [stdout] test cli::tests::test_download_invalid_quality_fails ... ok
[INFO] [stdout] test cli::tests::test_info_command ... ok
[INFO] [stdout] test cli::tests::test_download_with_quality ... ok
[INFO] [stdout] test cli::tests::test_download_with_quality_long_flag ... ok
[INFO] [stdout] test cli::tests::test_info_missing_url_fails ... ok
[INFO] [stdout] test cli::tests::test_download_minimal_args ... ok
[INFO] [stdout] test cli::tests::test_audio_with_format_flac ... ok
[INFO] [stdout] test cli::tests::test_playlist_multiple_urls ... ok
[INFO] [stdout] test cli::tests::test_download_invalid_format_fails ... ok
[INFO] [stdout] test cli::tests::test_download_with_format ... ok
[INFO] [stdout] test cli::tests::test_quality_1080p ... ok
[INFO] [stdout] test cli::tests::test_quality_1440p ... ok
[INFO] [stdout] test cli::tests::test_playlist_single_url ... ok
[INFO] [stdout] test cli::tests::test_playlist_with_audio_only ... ok
[INFO] [stdout] test cli::tests::test_playlist_missing_url_fails ... ok
[INFO] [stdout] test cli::tests::test_playlist_default_values ... ok
[INFO] [stdout] test cli::tests::test_audio_with_format_opus ... ok
[INFO] [stdout] test cli::tests::test_silence_flag_long ... ok
[INFO] [stdout] test cli::tests::test_silence_flag_short ... ok
[INFO] [stdout] test cli::tests::test_quality_144p ... ok
[INFO] [stdout] test cli::tests::test_verbose_flag_long ... ok
[INFO] [stdout] test cli::tests::test_output_long_flag ... ok
[INFO] [stdout] test cli::tests::test_quality_240p ... ok
[INFO] [stdout] test cli::tests::test_quality_360p ... ok
[INFO] [stdout] test cli::tests::test_verbose_flag_short ... ok
[INFO] [stdout] test cli::tests::test_download_with_all_args ... ok
[INFO] [stdout] test cli::tests::test_video_format_webm ... ok
[INFO] [stdout] test cli::tests::test_quality_480p ... ok
[INFO] [stdout] test config::tests::test_audio_config_default ... ok
[INFO] [stdout] test cli::tests::test_video_format_mkv ... ok
[INFO] [stdout] test cli::tests::test_audio_minimal_args ... ok
[INFO] [stdout] test cli::tests::test_quality_4k ... ok
[INFO] [stdout] test cli::tests::test_quality_720p ... ok
[INFO] [stdout] test cli::tests::test_quality_best ... ok
[INFO] [stdout] test cli::tests::test_quality_worst ... ok
[INFO] [stdout] test cli::tests::test_no_command_fails ... ok
[INFO] [stdout] test cli::tests::test_playlist_with_audio_only_and_format ... ok
[INFO] [stdout] test config::tests::test_config_path_is_absolute ... ok
[INFO] [stdout] test cli::tests::test_playlist_with_quality ... ok
[INFO] [stdout] test config::tests::test_config_clone ... ok
[INFO] [stdout] test cli::tests::test_video_format_mp4 ... ok
[INFO] [stdout] test config::tests::test_config_default ... ok
[INFO] [stdout] test config::tests::test_general_config_default ... ok
[INFO] [stdout] test config::tests::test_get_audio_bitrate ... ok
[INFO] [stdout] test config::tests::test_get_audio_format ... ok
[INFO] [stdout] test config::tests::test_config_path_ends_with_correct_filename ... ok
[INFO] [stdout] test config::tests::test_get_network_rate_limit_none ... ok
[INFO] [stdout] test config::tests::test_get_network_retry_attempts ... ok
[INFO] [stdout] test config::tests::test_get_general_default_quality ... ok
[INFO] [stdout] test config::tests::test_get_network_rate_limit_some ... ok
[INFO] [stdout] test config::tests::test_get_network_timeout ... ok
[INFO] [stdout] test config::tests::test_get_unknown_key_returns_none ... ok
[INFO] [stdout] test config::tests::test_config_clone_is_independent ... ok
[INFO] [stdout] test config::tests::test_get_general_max_parallel_downloads ... ok
[INFO] [stdout] test config::tests::test_get_video_format ... ok
[INFO] [stdout] test config::tests::test_get_general_output_dir ... ok
[INFO] [stdout] test config::tests::test_get_video_include_subtitles ... ok
[INFO] [stdout] test config::tests::test_keys_returns_all_keys ... ok
[INFO] [stdout] test config::tests::test_network_config_default ... ok
[INFO] [stdout] test cli::tests::test_unknown_command_fails ... ok
[INFO] [stdout] test config::tests::test_parse_empty_config_uses_all_defaults ... ok
[INFO] [stdout] test config::tests::test_set_general_max_parallel_downloads ... ok
[INFO] [stdout] test config::tests::test_parse_partial_config_uses_defaults ... ok
[INFO] [stdout] test config::tests::test_set_general_output_dir ... ok
[INFO] [stdout] test config::tests::test_set_general_max_parallel_downloads_invalid ... ok
[INFO] [stdout] test config::tests::test_serialize_config ... ok
[INFO] [stdout] test config::tests::test_set_network_rate_limit ... ok
[INFO] [stdout] test config::tests::test_get_video_include_thumbnail ... ok
[INFO] [stdout] test config::tests::test_roundtrip_serialization ... ok
[INFO] [stdout] test config::tests::test_parse_full_config ... ok
[INFO] [stdout] test config::tests::test_keys_count ... ok
[INFO] [stdout] test config::tests::test_set_audio_bitrate ... ok
[INFO] [stdout] test config::tests::test_video_config_default ... ok
[INFO] [stdout] test config::tests::test_set_audio_format ... ok
[INFO] [stdout] test config::tests::test_set_network_rate_limit_none ... ok
[INFO] [stdout] test config::tests::test_set_network_retry_attempts ... ok
[INFO] [stdout] test config::tests::test_set_network_timeout ... ok
[INFO] [stdout] test config::tests::test_set_general_default_quality ... ok
[INFO] [stdout] test config::tests::test_set_unknown_key_fails ... ok
[INFO] [stdout] test config::tests::test_set_video_format ... ok
[INFO] [stdout] test config::tests::test_set_video_include_subtitles ... ok
[INFO] [stdout] test config::tests::test_set_video_include_thumbnail_false ... ok
[INFO] [stdout] test config::tests::test_set_video_include_thumbnail_invalid ... ok
[INFO] [stdout] test config::tests::test_set_video_include_thumbnail_true ... ok
[INFO] [stdout] test downloader::tests::test_all_audio_format_variants ... ok
[INFO] [stdout] test downloader::tests::test_all_quality_variants_to_ytdlp ... ok
[INFO] [stdout] test downloader::tests::test_audio_format_str_flac ... ok
[INFO] [stdout] test downloader::tests::test_all_video_format_variants ... ok
[INFO] [stdout] test downloader::tests::test_audio_format_str_m4a ... ok
[INFO] [stdout] test downloader::tests::test_audio_format_str_opus ... ok
[INFO] [stdout] test downloader::tests::test_audio_format_str_wav ... ok
[INFO] [stdout] test downloader::tests::test_download_options_builder_chain ... ok
[INFO] [stdout] test downloader::tests::test_download_options_clone ... ok
[INFO] [stdout] test downloader::tests::test_download_options_clone_independent ... ok
[INFO] [stdout] test downloader::tests::test_download_options_default ... ok
[INFO] [stdout] test downloader::tests::test_download_options_debug ... ok
[INFO] [stdout] test downloader::tests::test_download_options_with_audio_format ... ok
[INFO] [stdout] test downloader::tests::test_download_options_from_config ... ok
[INFO] [stdout] test downloader::tests::test_download_options_with_audio_only ... ok
[INFO] [stdout] test downloader::tests::test_download_options_with_quality ... ok
[INFO] [stdout] test downloader::tests::test_download_options_with_output_dir ... ok
[INFO] [stdout] test downloader::tests::test_download_options_with_silence ... ok
[INFO] [stdout] test config::tests::test_save_creates_file ... ok
[INFO] [stdout] test config::tests::test_set_network_rate_limit_empty ... ok
[INFO] [stdout] test downloader::tests::test_audio_format_str_mp3 ... ok
[INFO] [stdout] test config::tests::test_parse_config_from_file ... ok
[INFO] [stdout] test downloader::tests::test_download_options_with_template ... ok
[INFO] [stdout] test downloader::tests::test_download_options_with_verbose ... ok
[INFO] [stdout] test downloader::tests::test_download_options_with_video_format ... ok
[INFO] [stdout] test downloader::tests::test_download_result_creation ... ok
[INFO] [stdout] test downloader::tests::test_downloader_default ... ok
[INFO] [stdout] test downloader::tests::test_downloader_from_config ... ok
[INFO] [stdout] test downloader::tests::test_download_result_debug ... ok
[INFO] [stdout] test downloader::tests::test_downloader_new ... ok
[INFO] [stdout] test downloader::tests::test_downloader_set_options ... ok
[INFO] [stdout] test downloader::tests::test_downloader_with_options ... ok
[INFO] [stdout] test downloader::tests::test_multiple_downloader_instances ... ok
[INFO] [stdout] test downloader::tests::test_parse_audio_format_case_insensitive ... ok
[INFO] [stdout] test downloader::tests::test_parse_audio_format_flac ... ok
[INFO] [stdout] test downloader::tests::test_parse_audio_format_m4a ... ok
[INFO] [stdout] test downloader::tests::test_parse_audio_format_mp3 ... ok
[INFO] [stdout] test downloader::tests::test_parse_audio_format_opus ... ok
[INFO] [stdout] test downloader::tests::test_parse_audio_format_unknown_defaults_to_mp3 ... ok
[INFO] [stdout] test downloader::tests::test_parse_quality_1080p ... ok
[INFO] [stdout] test downloader::tests::test_parse_quality_1440p ... ok
[INFO] [stdout] test downloader::tests::test_parse_quality_2160p ... ok
[INFO] [stdout] test downloader::tests::test_parse_quality_360p ... ok
[INFO] [stdout] test downloader::tests::test_parse_quality_4k ... ok
[INFO] [stdout] test downloader::tests::test_parse_quality_720p ... ok
[INFO] [stdout] test downloader::tests::test_parse_quality_case_insensitive ... ok
[INFO] [stdout] test downloader::tests::test_parse_quality_480p ... ok
[INFO] [stdout] test downloader::tests::test_parse_quality_240p ... ok
[INFO] [stdout] test downloader::tests::test_parse_quality_worst ... ok
[INFO] [stdout] test downloader::tests::test_parse_quality_best ... ok
[INFO] [stdout] test downloader::tests::test_parse_video_format_webm ... ok
[INFO] [stdout] test downloader::tests::test_quality_to_ytdlp_1080p ... ok
[INFO] [stdout] test downloader::tests::test_parse_video_format_mkv ... ok
[INFO] [stdout] test downloader::tests::test_parse_video_format_case_insensitive ... ok
[INFO] [stdout] test downloader::tests::test_quality_to_ytdlp_1440p ... ok
[INFO] [stdout] test downloader::tests::test_quality_to_ytdlp_4k ... ok
[INFO] [stdout] test downloader::tests::test_quality_to_ytdlp_720p ... ok
[INFO] [stdout] test downloader::tests::test_parse_video_format_mp4 ... ok
[INFO] [stdout] test downloader::tests::test_quality_to_ytdlp_144p ... ok
[INFO] [stdout] test downloader::tests::test_parse_video_format_unknown_defaults_to_mp4 ... ok
[INFO] [stdout] test downloader::tests::test_quality_to_ytdlp_240p ... ok
[INFO] [stdout] test downloader::tests::test_quality_to_ytdlp_360p ... ok
[INFO] [stdout] test downloader::tests::test_quality_to_ytdlp_480p ... ok
[INFO] [stdout] test downloader::tests::test_parse_audio_format_wav ... ok
[INFO] [stdout] test downloader::tests::test_video_format_ext_mkv ... ok
[INFO] [stdout] test downloader::tests::test_quality_to_ytdlp_worst ... ok
[INFO] [stdout] test downloader::tests::test_video_format_ext_webm ... ok
[INFO] [stdout] test downloader::tests::test_video_format_ext_mp4 ... ok
[INFO] [stdout] test downloader::tests::test_quality_to_ytdlp_best ... ok
[INFO] [stdout] test downloader::tests::test_parse_quality_144p ... ok
[INFO] [stdout] test error::tests::test_cancelled_display ... ok
[INFO] [stdout] test error::tests::test_age_restricted_display ... ok
[INFO] [stdout] test error::tests::test_cancelled_not_retryable ... ok
[INFO] [stdout] test error::tests::test_config_invalid_not_retryable ... ok
[INFO] [stdout] test error::tests::test_config_not_found_display ... ok
[INFO] [stdout] test error::tests::test_connection_error_display ... ok
[INFO] [stdout] test error::tests::test_dir_create_helper_constructor ... ok
[INFO] [stdout] test error::tests::test_directory_create_has_source ... ok
[INFO] [stdout] test error::tests::test_connection_is_retryable ... ok
[INFO] [stdout] test error::tests::test_download_interrupted_is_retryable ... ok
[INFO] [stdout] test error::tests::test_ffmpeg_execution_display ... ok
[INFO] [stdout] test error::tests::test_ffmpeg_helper_constructor_with_exit_code ... ok
[INFO] [stdout] test error::tests::test_ffmpeg_helper_constructor_without_exit_code ... ok
[INFO] [stdout] test error::tests::test_file_read_has_source ... ok
[INFO] [stdout] test error::tests::test_http_error_display ... ok
[INFO] [stdout] test error::tests::test_http_error_display_server_error ... ok
[INFO] [stdout] test error::tests::test_http_helper_constructor ... ok
[INFO] [stdout] test error::tests::test_invalid_arg_helper_constructor ... ok
[INFO] [stdout] test error::tests::test_ffmpeg_not_found_not_retryable ... ok
[INFO] [stdout] test error::tests::test_invalid_time_format_display ... ok
[INFO] [stdout] test error::tests::test_file_read_display_includes_path ... ok
[INFO] [stdout] test error::tests::test_invalid_url_display ... ok
[INFO] [stdout] test error::tests::test_io_error_converts_to_app_error ... ok
[INFO] [stdout] test error::tests::test_invalid_url_not_retryable ... ok
[INFO] [stdout] test error::tests::test_file_read_helper_constructor ... ok
[INFO] [stdout] test error::tests::test_ffmpeg_not_found_display ... ok
[INFO] [stdout] test error::tests::test_file_write_has_source ... ok
[INFO] [stdout] test error::tests::test_file_write_helper_constructor ... ok
[INFO] [stdout] test error::tests::test_path_not_found_display ... ok
[INFO] [stdout] test error::tests::test_permission_denied_display ... ok
[INFO] [stdout] test error::tests::test_playlist_not_found_display ... ok
[INFO] [stdout] test error::tests::test_io_error_preserves_kind ... ok
[INFO] [stdout] test error::tests::test_region_blocked_display ... ok
[INFO] [stdout] test error::tests::test_simple_errors_have_no_source ... ok
[INFO] [stdout] test error::tests::test_video_not_found_display ... ok
[INFO] [stdout] test error::tests::test_video_not_found_not_retryable ... ok
[INFO] [stdout] test error::tests::test_timeout_is_retryable ... ok
[INFO] [stdout] test error::tests::test_quality_not_available_display ... ok
[INFO] [stdout] test error::tests::test_max_retries_exceeded_display ... ok
[INFO] [stdout] test error::tests::test_timeout_error_display ... ok
[INFO] [stdout] test error::tests::test_video_private_display ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_all_variants ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_codec_aac ... ok
[INFO] [stdout] test error::tests::test_other_error_display ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_codec_m4a ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_codec_mp3 ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_clone ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_codec_flac ... ok
[INFO] [stdout] test media::audio::tests::integration::test_extract_as_mp3_nonexistent_file ... ok
[INFO] [stdout] test media::audio::tests::integration::test_extract_default_nonexistent_file ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_codec_ogg ... ok
[INFO] [stdout] test media::audio::tests::integration::test_extract_as_flac_nonexistent_file ... ok
[INFO] [stdout] test media::audio::tests::integration::test_extract_nonexistent_file ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_default_bitrate_aac ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_default_bitrate_flac ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_default_bitrate_m4a ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_default_bitrate_mp3 ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_default_bitrate_ogg ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_default_bitrate_opus ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_default_bitrate_wav ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_equality ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_extension_aac ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_codec_opus ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_extension_wav ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_from_extension_aac ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_from_extension_case_insensitive ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_from_extension_empty ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_from_extension_flac ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_from_extension_m4a ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_extension_flac ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_codec_wav ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_extension_m4a ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_from_extension_mp3 ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_extension_mp3 ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_extension_ogg ... ok
[INFO] [stdout] test media::audio::tests::integration::test_convert_nonexistent_file ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_from_extension_ogg ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_from_extension_opus ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_extension_opus ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_from_extension_wav ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_is_lossless_flac ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_is_lossless_m4a ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_is_lossless_mp3 ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_from_extension_unknown ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_supports_vbr_flac ... ok
[INFO] [stdout] test media::audio::tests::test_audio_info_clone ... ok
[INFO] [stdout] test media::audio::tests::test_audio_info_debug ... ok
[INFO] [stdout] test media::audio::tests::test_audio_info_empty ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_supports_vbr_m4a ... ok
[INFO] [stdout] test media::audio::tests::test_audio_info_full ... ok
[INFO] [stdout] test media::audio::tests::test_audio_info_is_empty_false_with_channels ... ok
[INFO] [stdout] test media::audio::tests::test_audio_info_is_empty_false_with_bitrate ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_is_lossless_wav ... ok
[INFO] [stdout] test media::audio::tests::test_audio_info_is_empty_false_with_codec ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_supports_vbr_mp3 ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_supports_vbr_ogg ... ok
[INFO] [stdout] test media::audio::tests::test_audio_info_is_empty_false_with_duration ... ok
[INFO] [stdout] test media::audio::tests::test_audio_info_is_empty_false_with_format ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_is_lossless_opus ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_supports_vbr_wav ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_supports_vbr_opus ... ok
[INFO] [stdout] test media::audio::tests::test_audio_info_is_empty_true ... ok
[INFO] [stdout] test media::audio::tests::test_audio_info_is_empty_false_with_sample_rate ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_builder_chain ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_clone_independent ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_channel_configurations ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_flac ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_m4a ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_default ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_mp3_high_quality ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_clone ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_with_channels ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_with_bitrate ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_with_channels_mono ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_with_format ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_various_sample_rates ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_various_bitrates ... ok
[INFO] [stdout] test media::audio::tests::test_detect_format_ogg ... ok
[INFO] [stdout] test media::audio::tests::test_detect_format_mp3 ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_with_sample_rate ... ok
[INFO] [stdout] test media::audio::tests::test_detect_format_opus ... ok
[INFO] [stdout] test media::audio::tests::test_detect_format_pathbuf ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_opus ... ok
[INFO] [stdout] test media::audio::tests::test_detect_format_unknown ... ok
[INFO] [stdout] test media::audio::tests::test_detect_format_wav ... ok
[INFO] [stdout] test media::audio::tests::test_detect_format_flac ... ok
[INFO] [stdout] test media::audio::tests::test_detect_format_with_path ... ok
[INFO] [stdout] test media::audio::tests::test_effective_bitrate_default_mp3 ... ok
[INFO] [stdout] test media::audio::tests::test_detect_format_m4a ... ok
[INFO] [stdout] test media::audio::tests::test_effective_bitrate_default_opus ... ok
[INFO] [stdout] test media::audio::tests::test_detect_format_no_extension ... ok
[INFO] [stdout] test media::audio::tests::test_effective_bitrate_lossless_ignores_specified ... ok
[INFO] [stdout] test media::audio::tests::test_output_path_preserves_filename ... ok
[INFO] [stdout] test media::audio::tests::test_output_path_with_format_all_formats ... ok
[INFO] [stdout] test media::audio::tests::test_output_path_with_format_with_path ... ok
[INFO] [stdout] test media::audio::tests::test_output_path_with_format_simple ... ok
[INFO] [stdout] test media::audio::tests::test_output_path_with_spaces ... ok
[INFO] [stdout] test media::audio::tests::test_effective_bitrate_lossless_flac ... ok
[INFO] [stdout] test media::audio::tests::test_output_path_with_unicode ... ok
[INFO] [stdout] test media::audio::tests::test_roundtrip_format_extension ... ok
[INFO] [stdout] test media::audio::tests::test_effective_bitrate_lossless_wav ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_builder_chain ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_clone ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_default ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_clone_independent ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_high_quality ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_quality_range ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_reencode ... ok
[INFO] [stdout] test media::audio::tests::test_effective_bitrate_specified ... ok
[INFO] [stdout] test media::audio::tests::test_output_path_with_format_same_format ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_various_framerates ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_fast ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_with_framerate ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_various_bitrates ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_with_quality ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_various_resolutions ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_with_audio_bitrate ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_small_file ... ok
[INFO] [stdout] test media::converter::tests::integration::test_convert_fast_nonexistent_file ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_with_format ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_result_creation ... ok
[INFO] [stdout] test media::converter::tests::test_detect_format_avi ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_result_debug ... ok
[INFO] [stdout] test media::converter::tests::test_detect_format_mkv ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_with_resolution ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_with_stream_copy ... ok
[INFO] [stdout] test media::converter::tests::test_detect_format_mov ... ok
[INFO] [stdout] test media::converter::tests::test_detect_format_mp4 ... ok
[INFO] [stdout] test media::converter::tests::test_detect_format_no_extension ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_with_audio_codec ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_with_video_codec ... ok
[INFO] [stdout] test media::converter::tests::integration::test_convert_nonexistent_file ... ok
[INFO] [stdout] test media::converter::tests::test_detect_format_webm ... ok
[INFO] [stdout] test media::converter::tests::test_detect_format_unknown ... ok
[INFO] [stdout] test media::converter::tests::test_detect_format_with_path ... ok
[INFO] [stdout] test media::converter::tests::integration::test_convert_reencode_nonexistent_file ... ok
[INFO] [stdout] test media::converter::tests::test_needs_reencode_incompatible ... ok
[INFO] [stdout] test media::converter::tests::test_needs_reencode_mp4_to_mov ... ok
[INFO] [stdout] test media::converter::tests::test_needs_reencode_mov_to_mp4 ... ok
[INFO] [stdout] test media::converter::tests::test_needs_reencode_no_extension ... ok
[INFO] [stdout] test media::converter::tests::test_needs_reencode_same_format ... ok
[INFO] [stdout] test media::converter::tests::test_needs_reencode_to_mkv ... ok
[INFO] [stdout] test media::converter::tests::test_needs_reencode_unknown_format ... ok
[INFO] [stdout] test media::converter::tests::test_detect_format_pathbuf ... ok
[INFO] [stdout] test media::converter::tests::test_output_path_preserves_filename ... ok
[INFO] [stdout] test media::converter::tests::test_output_path_with_format_different_extensions ... ok
[INFO] [stdout] test media::converter::tests::test_output_path_with_format_same_format ... ok
[INFO] [stdout] test media::converter::tests::test_output_path_with_spaces ... ok
[INFO] [stdout] test media::converter::tests::test_output_path_with_unicode ... ok
[INFO] [stdout] test media::converter::tests::test_supports_stream_copy_incompatible ... ok
[INFO] [stdout] test media::converter::tests::test_supports_stream_copy_mov_to_mp4 ... ok
[INFO] [stdout] test media::converter::tests::test_supports_stream_copy_mp4_to_mov ... ok
[INFO] [stdout] test media::converter::tests::test_output_path_with_format_with_path ... ok
[INFO] [stdout] test media::converter::tests::test_supports_stream_copy_to_mkv ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_all_variants ... ok
[INFO] [stdout] test media::converter::tests::test_output_path_with_format_simple ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_clone ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_copy ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_extension_mov ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_extension_mp4 ... ok
[INFO] [stdout] test media::converter::tests::test_supports_stream_copy_same_format ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_extension_webm ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_from_extension_avi ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_from_extension_case_insensitive ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_extension_avi ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_extension_mkv ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_from_extension_mkv ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_from_extension_empty ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_equality ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_from_extension_webm ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_from_extension_unknown ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_recommended_audio_codec_avi ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_recommended_audio_codec_mp4 ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_recommended_audio_codec_webm ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_from_extension_mp4 ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_recommended_video_codec_avi ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_recommended_video_codec_mkv ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_recommended_video_codec_mov ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_from_extension_mov ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_recommended_video_codec_mp4 ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_recommended_audio_codec_mkv ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_recommended_audio_codec_mov ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_recommended_video_codec_webm ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_all_supported_audio_extensions ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_bitrate_default_for_aac ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_bitrate_default_for_m4a ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_bitrate_default_for_mp3 ... ok
[INFO] [stdout] test media::ffmpeg::tests::integration::test_ffmpeg_error_contains_message ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_all_supported_audio_formats_have_bitrate ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_bitrate_constants ... ok
[INFO] [stdout] test media::ffmpeg::tests::integration::test_ffmpeg_extract_audio_nonexistent_file ... ok
[INFO] [stdout] test media::ffmpeg::tests::integration::test_ffmpeg_probe_nonexistent_file ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_bitrate_default_case_insensitive ... ok
[INFO] [stdout] test media::ffmpeg::tests::integration::test_ffmpeg_convert_nonexistent_file ... ok
[INFO] [stdout] test media::ffmpeg::tests::integration::test_ffmpeg_trim_nonexistent_file ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_codec_empty_extension ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_codec_for_extension_aac ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_bitrate_default_for_opus ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_bitrate_default_for_unknown ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_codec_for_extension_flac ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_codec_for_extension_m4a ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_codec_for_extension_case_insensitive ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_codec_for_extension_mp3 ... ok
[INFO] [stdout] test media::ffmpeg::tests::integration::test_ffmpeg_run_with_help ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_codec_constants ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_bitrate_default_for_ogg ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_bitrate_empty_format ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_codec_for_extension_opus ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_codec_for_extension_unknown ... ok
[INFO] [stdout] test media::ffmpeg::tests::integration::test_ffmpeg_run_invalid_args ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_codec_for_extension_wav ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_convert_path_handling ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_extract_audio_as_with_bitrate ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_codec_for_extension_ogg ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_flac_codec_no_bitrate_needed ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_mp3_codec_and_bitrate ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_path_empty ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_path_with_unicode ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_path_with_spaces ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_run_overwrite_prepends_y_flag ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_extract_audio_args_structure ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_ffmpeg_is_available ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_opus_codec_and_bitrate ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_wav_codec ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_path_relative ... ok
[INFO] [stdout] test progress::tests::test_default_style_creation ... ok
[INFO] [stdout] test progress::tests::test_download_progress_finish_with_message ... ok
[INFO] [stdout] test progress::tests::test_download_progress_finish ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_ffmpeg_is_probe_available ... ok
[INFO] [stdout] test progress::tests::test_download_progress_inc_zero ... ok
[INFO] [stdout] test progress::tests::test_download_progress_inc ... ok
[INFO] [stdout] test progress::tests::test_download_progress_inner ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_trim_args_structure ... ok
[INFO] [stdout] test progress::tests::test_download_progress_new ... ok
[INFO] [stdout] test progress::tests::test_download_progress_finish_and_clear ... ok
[INFO] [stdout] test progress::tests::test_download_progress_abandon_with_message ... ok
[INFO] [stdout] test progress::tests::test_download_progress_new_large_size ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_ffmpeg_version_format ... ok
[INFO] [stdout] test progress::tests::test_download_progress_inc_multiple ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_ffmpeg_version_returns_first_line ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_ffmpeg_require_when_available ... ok
[INFO] [stdout] test progress::tests::test_download_progress_new_spinner ... ok
[INFO] [stdout] test progress::tests::test_download_progress_set_message_empty ... ok
[INFO] [stdout] test progress::tests::test_download_progress_set_message_unicode ... ok
[INFO] [stdout] test progress::tests::test_download_progress_new_zero_size ... ok
[INFO] [stdout] test progress::tests::test_download_progress_set_position_beyond_max ... ok
[INFO] [stdout] test progress::tests::test_download_progress_set_position_to_max ... ok
[INFO] [stdout] test progress::tests::test_download_progress_set_position ... ok
[INFO] [stdout] test progress::tests::test_download_progress_set_message ... ok
[INFO] [stdout] test progress::tests::test_messages_success ... ok
[INFO] [stdout] test progress::tests::test_messages_info ... ok
[INFO] [stdout] test progress::tests::test_messages_with_unicode ... ok
[INFO] [stdout] test progress::tests::test_download_style_creation ... ok
[INFO] [stdout] test progress::tests::test_multi_download_progress_add_download ... ok
[INFO] [stdout] test progress::tests::test_messages_downloading ... ok
[INFO] [stdout] test progress::tests::test_multi_download_progress_add_multiple_downloads ... ok
[INFO] [stdout] test progress::tests::test_multi_download_progress_default ... ok
[INFO] [stdout] test progress::tests::test_messages_warning ... ok
[INFO] [stdout] test progress::tests::test_messages_with_empty_string ... ok
[INFO] [stdout] test progress::tests::test_messages_with_special_characters ... ok
[INFO] [stdout] test progress::tests::test_messages_error ... ok
[INFO] [stdout] test progress::tests::test_multi_download_progress_new ... ok
[INFO] [stdout] test progress::tests::test_multi_download_progress_independent_finish ... ok
[INFO] [stdout] test progress::tests::test_download_progress_workflow ... ok
[INFO] [stdout] test progress::tests::test_multi_download_progress_independent_updates ... ok
[INFO] [stdout] test progress::tests::test_progress_large_increments ... ok
[INFO] [stdout] test progress::tests::test_multi_download_progress_mixed ... ok
[INFO] [stdout] test utils::tests::test_apply_template_sanitizes_title ... ok
[INFO] [stdout] test utils::tests::test_apply_template_id_only ... ok
[INFO] [stdout] test utils::tests::test_apply_template_title_and_id ... ok
[INFO] [stdout] test progress::tests::test_multi_download_progress_workflow ... ok
[INFO] [stdout] test utils::tests::test_apply_template_uses_current_date_when_none ... ok
[INFO] [stdout] test progress::tests::test_spinner_style_creation ... ok
[INFO] [stdout] test utils::tests::test_apply_template_full ... ok
[INFO] [stdout] test utils::tests::test_apply_template_no_placeholders ... ok
[INFO] [stdout] test utils::tests::test_apply_template_with_date ... ok
[INFO] [stdout] test utils::tests::test_apply_template_title_only ... ok
[INFO] [stdout] test utils::tests::test_apply_template_with_duration ... ok
[INFO] [stdout] test utils::tests::test_apply_template_missing_duration ... ok
[INFO] [stdout] test progress::tests::test_spinner_lifecycle ... ok
[INFO] [stdout] test progress::tests::test_progress_rapid_updates ... ok
[INFO] [stdout] test utils::tests::test_expand_path_current_dir ... ok
[INFO] [stdout] test utils::tests::test_expand_path_tilde_in_middle_not_expanded ... ok
[INFO] [stdout] test utils::tests::test_expand_path_relative ... ok
[INFO] [stdout] test utils::tests::test_expand_path_no_tilde ... ok
[INFO] [stdout] test utils::tests::test_expand_path_tilde_only ... ok
[INFO] [stdout] test utils::tests::test_expand_path_tilde_with_nested_subdirs ... ok
[INFO] [stdout] test utils::tests::test_expand_path_tilde_with_subdir ... ok
[INFO] [stdout] test utils::tests::test_extract_playlist_id_empty_string ... ok
[INFO] [stdout] test utils::tests::test_extract_playlist_id_invalid_url ... ok
[INFO] [stdout] test utils::tests::test_extract_playlist_id_from_video_url ... ok
[INFO] [stdout] test utils::tests::test_extract_playlist_id_no_list_param ... ok
[INFO] [stdout] test progress::tests::test_multi_download_progress_add_spinner ... ok
[INFO] [stdout] test utils::tests::test_extract_video_id_short_url ... ok
[INFO] [stdout] test utils::tests::test_extract_video_id_short_url_with_params ... ok
[INFO] [stdout] test utils::tests::test_extract_video_id_with_extra_params ... ok
[INFO] [stdout] test utils::tests::test_extract_video_id_with_timestamp ... ok
[INFO] [stdout] test utils::tests::test_extract_video_id_wrong_domain ... ok
[INFO] [stdout] test utils::tests::test_extract_video_id_without_www ... ok
[INFO] [stdout] test utils::tests::test_format_bytes_kilobytes ... ok
[INFO] [stdout] test utils::tests::test_format_bytes_fractional ... ok
[INFO] [stdout] test utils::tests::test_format_bytes_one_gb ... ok
[INFO] [stdout] test utils::tests::test_format_bytes_gigabytes ... ok
[INFO] [stdout] test utils::tests::test_format_bytes_megabytes ... ok
[INFO] [stdout] test utils::tests::test_format_bytes_one_kb ... ok
[INFO] [stdout] test utils::tests::test_format_bytes_one_tb ... ok
[INFO] [stdout] test utils::tests::test_extract_playlist_id_standard_url ... ok
[INFO] [stdout] test utils::tests::test_extract_video_id_empty_string ... ok
[INFO] [stdout] test utils::tests::test_extract_video_id_embed_url ... ok
[INFO] [stdout] test utils::tests::test_format_bytes_bytes ... ok
[INFO] [stdout] test utils::tests::test_extract_video_id_invalid_url ... ok
[INFO] [stdout] test utils::tests::test_extract_video_id_no_video_param ... ok
[INFO] [stdout] test utils::tests::test_format_bytes_one_mb ... ok
[INFO] [stdout] test utils::tests::test_format_bytes_zero ... ok
[INFO] [stdout] test utils::tests::test_extract_video_id_standard_url ... ok
[INFO] [stdout] test utils::tests::test_format_duration_minutes_and_seconds ... ok
[INFO] [stdout] test utils::tests::test_format_duration_large_value ... ok
[INFO] [stdout] test utils::tests::test_format_duration_hours_minutes_seconds ... ok
[INFO] [stdout] test utils::tests::test_format_duration_one_hour ... ok
[INFO] [stdout] test utils::tests::test_format_duration_one_minute ... ok
[INFO] [stdout] test utils::tests::test_format_duration_seconds_only ... ok
[INFO] [stdout] test utils::tests::test_format_duration_zero ... ok
[INFO] [stdout] test utils::tests::test_parse_duration_empty_string ... ok
[INFO] [stdout] test utils::tests::test_parse_duration_hours_minutes_seconds ... ok
[INFO] [stdout] test utils::tests::test_parse_duration_invalid_characters ... ok
[INFO] [stdout] test utils::tests::test_format_duration_complex ... ok
[INFO] [stdout] test utils::tests::test_parse_duration_invalid_format ... ok
[INFO] [stdout] test utils::tests::test_parse_duration_large_hours ... ok
[INFO] [stdout] test utils::tests::test_parse_duration_minutes_seconds ... ok
[INFO] [stdout] test utils::tests::test_parse_duration_partial_invalid ... ok
[INFO] [stdout] test utils::tests::test_parse_duration_seconds_only ... ok
[INFO] [stdout] test utils::tests::test_parse_duration_zero_padded ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_empty_string ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_collapses_multiple_underscores ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_keeps_dots ... ok
[INFO] [stdout] test utils::tests::test_parse_duration_roundtrip ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_keeps_underscores ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_removes_angle_brackets ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_keeps_hyphens ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_only_invalid_chars ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_removes_backslashes ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_removes_asterisks ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_removes_multiple_invalid_chars ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_simple ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_with_extension ... ok
[INFO] [stdout] test utils::tests::test_parse_duration_zero ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_with_unicode ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_removes_slashes ... ok
[INFO] [stdout] test utils::tests::test_video_metadata_creation ... ok
[INFO] [stdout] test utils::tests::test_video_metadata_with_all_fields ... ok
[INFO] [stdout] test youtube::metadata::tests::test_available_qualities_excludes_audio ... ok
[INFO] [stdout] test youtube::metadata::tests::test_available_qualities ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_removes_pipe ... ok
[INFO] [stdout] test youtube::metadata::tests::test_available_qualities_empty ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_removes_colons ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_removes_quotes ... ok
[INFO] [stdout] test youtube::metadata::tests::test_available_qualities_sorted_descending ... ok
[INFO] [stdout] test youtube::metadata::tests::test_available_qualities_no_duplicates ... ok
[INFO] [stdout] test youtube::metadata::tests::test_best_audio_stream ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_removes_question_marks ... ok
[INFO] [stdout] test youtube::metadata::tests::test_best_audio_stream_is_audio_only ... ok
[INFO] [stdout] test youtube::metadata::tests::test_best_video_stream_with_2160p ... ok
[INFO] [stdout] test youtube::metadata::tests::test_best_video_stream_with_4k ... ok
[INFO] [stdout] test youtube::metadata::tests::test_playlist_info_clone ... ok
[INFO] [stdout] test youtube::metadata::tests::test_playlist_info_is_empty_false ... ok
[INFO] [stdout] test youtube::metadata::tests::test_playlist_info_len ... ok
[INFO] [stdout] test youtube::metadata::tests::test_playlist_info_creation ... ok
[INFO] [stdout] test youtube::metadata::tests::test_playlist_info_is_empty_true ... ok
[INFO] [stdout] test youtube::metadata::tests::test_best_video_stream ... ok
[INFO] [stdout] test youtube::metadata::tests::test_playlist_info_len_empty ... ok
[INFO] [stdout] test youtube::metadata::tests::test_best_video_stream_excludes_audio ... ok
[INFO] [stdout] test youtube::metadata::tests::test_best_video_stream_only_audio_streams ... ok
[INFO] [stdout] test youtube::metadata::tests::test_playlist_info_serialize ... ok
[INFO] [stdout] test youtube::metadata::tests::test_quality_filter_exact_equality ... ok
[INFO] [stdout] test youtube::metadata::tests::test_quality_filter_worst_equality ... ok
[INFO] [stdout] test youtube::metadata::tests::test_quality_to_height_1080p ... ok
[INFO] [stdout] test youtube::metadata::tests::test_best_video_stream_with_1440p ... ok
[INFO] [stdout] test youtube::metadata::tests::test_quality_to_height_1440p ... ok
[INFO] [stdout] test youtube::metadata::tests::test_best_audio_stream_no_audio ... ok
[INFO] [stdout] test youtube::metadata::tests::test_quality_filter_max_height_equality ... ok
[INFO] [stdout] test youtube::metadata::tests::test_quality_to_height_144p ... ok
[INFO] [stdout] test youtube::metadata::tests::test_quality_filter_best_equality ... ok
[INFO] [stdout] test youtube::metadata::tests::test_quality_to_height_2160p ... ok
[INFO] [stdout] test youtube::metadata::tests::test_best_video_stream_empty_streams ... ok
[INFO] [stdout] test youtube::metadata::tests::test_quality_to_height_360p ... ok
[INFO] [stdout] test youtube::metadata::tests::test_quality_to_height_480p ... ok
[INFO] [stdout] test youtube::metadata::tests::test_quality_filter_different_variants ... ok
[INFO] [stdout] test youtube::metadata::tests::test_quality_to_height_unknown ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_by_filter_exact_not_found ... ok
[INFO] [stdout] test youtube::metadata::tests::test_quality_to_height_240p ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_by_filter_max_height ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_by_filter_exact ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_by_filter_best ... ok
[INFO] [stdout] test youtube::metadata::tests::test_quality_to_height_720p ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_by_filter_max_height_gets_best_under_limit ... ok
[INFO] [stdout] test youtube::metadata::tests::test_quality_to_height_4k ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_by_filter_max_height_too_low ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_by_filter_worst ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_by_quality_case_insensitive ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_by_quality_exact_match ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_by_quality_not_found ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_info_clone ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_by_quality_excludes_audio ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_info_description ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_info_description_without_high_fps ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_info_description_with_high_fps ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_info_creation ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_info_formatted_size ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_info_serialize ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_info_formatted_size_none ... ok
[INFO] [stdout] test youtube::metadata::tests::test_video_info_with_minimal_fields ... ok
[INFO] [stdout] test youtube::metadata::tests::test_video_info_serialize ... ok
[INFO] [stdout] test youtube::metadata::tests::test_worst_video_stream_empty_streams ... ok
[INFO] [stdout] test youtube::metadata::tests::test_worst_video_stream ... ok
[INFO] [stdout] test youtube::metadata::tests::test_video_info_creation ... ok
[INFO] [stdout] test youtube::metadata::tests::test_worst_video_stream_excludes_audio ... ok
[INFO] [stdout] test youtube::metadata::tests::test_worst_video_stream_with_144p ... ok
[INFO] [stdout] test youtube::playlist::tests::test_extract_playlist_ids_empty ... ok
[INFO] [stdout] test youtube::metadata::tests::test_video_info_deserialize ... ok
[INFO] [stdout] test youtube::playlist::tests::test_extract_playlist_ids_mixed_valid_invalid ... ok
[INFO] [stdout] test youtube::playlist::tests::test_extract_playlist_ids_single ... ok
[INFO] [stdout] test youtube::playlist::tests::test_filter_valid_playlist_urls_empty ... ok
[INFO] [stdout] test youtube::playlist::tests::test_extract_playlist_ids_multiple ... ok
[INFO] [stdout] test youtube::playlist::tests::test_filter_valid_playlist_urls_all_valid ... ok
[INFO] [stdout] test youtube::playlist::tests::test_get_playlist_id_from_video_url ... ok
[INFO] [stdout] test youtube::playlist::tests::test_get_playlist_id_invalid_empty ... ok
[INFO] [stdout] test youtube::playlist::tests::test_filter_valid_playlist_urls_mixed ... ok
[INFO] [stdout] test youtube::playlist::tests::test_filter_valid_playlist_urls_all_invalid ... ok
[INFO] [stdout] test youtube::playlist::tests::test_filter_valid_playlist_urls_preserves_original ... ok
[INFO] [stdout] test youtube::metadata::tests::test_video_info_clone ... ok
[INFO] [stdout] test youtube::playlist::tests::test_extract_playlist_ids_all_invalid ... ok
[INFO] [stdout] test youtube::playlist::tests::test_get_video_ids_invalid_url ... ok
[INFO] [stdout] test youtube::playlist::tests::test_get_playlist_info_invalid_url ... ok
[INFO] [stdout] test youtube::playlist::tests::test_get_playlist_id_invalid_no_list ... ok
[INFO] [stdout] test youtube::playlist::tests::test_get_playlist_info_returns_struct ... ok
[INFO] [stdout] test youtube::playlist::tests::test_get_playlist_id_standard ... ok
[INFO] [stdout] test youtube::playlist::tests::test_get_playlist_id_returns_correct_error ... ok
[INFO] [stdout] test youtube::playlist::tests::test_get_playlist_id_with_extra_params ... ok
[INFO] [stdout] test youtube::playlist::tests::test_playlist_client_default ... ok
[INFO] [stdout] test youtube::playlist::tests::test_get_video_ids_returns_vec ... ok
[INFO] [stdout] test youtube::playlist::tests::test_is_playlist_url_empty ... ok
[INFO] [stdout] test youtube::playlist::tests::test_is_playlist_url_case_sensitivity ... ok
[INFO] [stdout] test youtube::playlist::tests::test_is_playlist_url_invalid ... ok
[INFO] [stdout] test youtube::playlist::tests::test_playlist_client_new ... ok
[INFO] [stdout] test youtube::playlist::tests::test_playlist_id_long ... ok
[INFO] [stdout] test youtube::playlist::tests::test_is_playlist_url_other_site ... ok
[INFO] [stdout] test youtube::playlist::tests::test_is_playlist_url_short_url ... ok
[INFO] [stdout] test youtube::playlist::tests::test_is_playlist_url_standard ... ok
[INFO] [stdout] test youtube::playlist::tests::test_is_playlist_url_video_only ... ok
[INFO] [stdout] test youtube::playlist::tests::test_is_playlist_url_with_index ... ok
[INFO] [stdout] test youtube::playlist::tests::test_is_playlist_url_with_video ... ok
[INFO] [stdout] test youtube::playlist::tests::test_is_playlist_url_without_www ... ok
[INFO] [stdout] test youtube::playlist::tests::test_is_playlist_url_youtube_homepage ... ok
[INFO] [stdout] test youtube::playlist::tests::test_multiple_client_instances_independent ... ok
[INFO] [stdout] test youtube::playlist::tests::test_validate_playlist_url_valid_with_video ... ok
[INFO] [stdout] test youtube::playlist::tests::test_playlist_id_with_special_characters ... ok
[INFO] [stdout] test youtube::playlist::tests::test_validate_playlist_url_error_message ... ok
[INFO] [stdout] test youtube::playlist::tests::test_validate_playlist_url_invalid ... ok
[INFO] [stdout] test youtube::playlist::tests::test_validate_playlist_url_valid ... ok
[INFO] [stdout] test downloader::tests::test_parse_quality_unknown_defaults_to_best ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 670 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/rust-yt-downloader/91c65c8b597b1c0b/deps/ytdl-91c65c8b597b1c0b)
[INFO] [stdout] 
[INFO] [stdout] running 670 tests
[INFO] [stdout] test cli::tests::test_audio_invalid_format_fails ... ok
[INFO] [stdout] test cli::tests::test_audio_with_format_flac ... ok
[INFO] [stdout] test cli::tests::test_audio_default_format ... ok
[INFO] [stdout] test cli::tests::test_audio_with_format_mp3 ... ok
[INFO] [stdout] test cli::tests::test_audio_with_format_m4a ... ok
[INFO] [stdout] test cli::tests::test_audio_with_format_opus ... ok
[INFO] [stdout] test cli::tests::test_audio_missing_url_fails ... ok
[INFO] [stdout] test cli::tests::test_audio_minimal_args ... ok
[INFO] [stdout] test cli::tests::test_audio_with_format_wav ... ok
[INFO] [stdout] test cli::tests::test_config_get ... ok
[INFO] [stdout] test cli::tests::test_config_show ... ok
[INFO] [stdout] test cli::tests::test_config_reset ... ok
[INFO] [stdout] test cli::tests::test_download_default_values ... ok
[INFO] [stdout] test cli::tests::test_download_invalid_quality_fails ... ok
[INFO] [stdout] test cli::tests::test_download_minimal_args ... ok
[INFO] [stdout] test cli::tests::test_config_path ... ok
[INFO] [stdout] test cli::tests::test_download_with_format ... ok
[INFO] [stdout] test cli::tests::test_config_get_missing_key_fails ... ok
[INFO] [stdout] test cli::tests::test_download_invalid_format_fails ... ok
[INFO] [stdout] test cli::tests::test_download_missing_url_fails ... ok
[INFO] [stdout] test cli::tests::test_config_set ... ok
[INFO] [stdout] test cli::tests::test_download_with_quality_long_flag ... ok
[INFO] [stdout] test cli::tests::test_config_set_missing_value_fails ... ok
[INFO] [stdout] test cli::tests::test_download_with_quality ... ok
[INFO] [stdout] test cli::tests::test_output_long_flag ... ok
[INFO] [stdout] test cli::tests::test_playlist_default_values ... ok
[INFO] [stdout] test cli::tests::test_no_command_fails ... ok
[INFO] [stdout] test cli::tests::test_info_command ... ok
[INFO] [stdout] test cli::tests::test_download_with_all_args ... ok
[INFO] [stdout] test cli::tests::test_info_missing_url_fails ... ok
[INFO] [stdout] test cli::tests::test_download_with_output ... ok
[INFO] [stdout] test cli::tests::test_playlist_multiple_urls ... ok
[INFO] [stdout] test cli::tests::test_playlist_with_audio_only ... ok
[INFO] [stdout] test cli::tests::test_playlist_with_audio_only_and_format ... ok
[INFO] [stdout] test cli::tests::test_playlist_with_quality ... ok
[INFO] [stdout] test cli::tests::test_quality_1080p ... ok
[INFO] [stdout] test cli::tests::test_quality_1440p ... ok
[INFO] [stdout] test cli::tests::test_playlist_missing_url_fails ... ok
[INFO] [stdout] test cli::tests::test_quality_144p ... ok
[INFO] [stdout] test cli::tests::test_quality_240p ... ok
[INFO] [stdout] test cli::tests::test_quality_360p ... ok
[INFO] [stdout] test cli::tests::test_quality_480p ... ok
[INFO] [stdout] test cli::tests::test_quality_4k ... ok
[INFO] [stdout] test cli::tests::test_playlist_single_url ... ok
[INFO] [stdout] test cli::tests::test_quality_best ... ok
[INFO] [stdout] test cli::tests::test_quality_720p ... ok
[INFO] [stdout] test cli::tests::test_quality_worst ... ok
[INFO] [stdout] test cli::tests::test_silence_flag_long ... ok
[INFO] [stdout] test cli::tests::test_silence_flag_short ... ok
[INFO] [stdout] test config::tests::test_config_clone ... ok
[INFO] [stdout] test config::tests::test_get_audio_format ... ok
[INFO] [stdout] test config::tests::test_config_clone_is_independent ... ok
[INFO] [stdout] test config::tests::test_config_default ... ok
[INFO] [stdout] test config::tests::test_config_path_ends_with_correct_filename ... ok
[INFO] [stdout] test cli::tests::test_unknown_command_fails ... ok
[INFO] [stdout] test config::tests::test_config_path_is_absolute ... ok
[INFO] [stdout] test cli::tests::test_verbose_flag_short ... ok
[INFO] [stdout] test cli::tests::test_video_format_webm ... ok
[INFO] [stdout] test config::tests::test_get_audio_bitrate ... ok
[INFO] [stdout] test cli::tests::test_verbose_flag_long ... ok
[INFO] [stdout] test cli::tests::test_video_format_mkv ... ok
[INFO] [stdout] test config::tests::test_general_config_default ... ok
[INFO] [stdout] test config::tests::test_audio_config_default ... ok
[INFO] [stdout] test config::tests::test_get_general_default_quality ... ok
[INFO] [stdout] test config::tests::test_get_general_max_parallel_downloads ... ok
[INFO] [stdout] test config::tests::test_get_general_output_dir ... ok
[INFO] [stdout] test config::tests::test_get_network_rate_limit_none ... ok
[INFO] [stdout] test cli::tests::test_video_format_mp4 ... ok
[INFO] [stdout] test config::tests::test_get_network_rate_limit_some ... ok
[INFO] [stdout] test config::tests::test_get_network_retry_attempts ... ok
[INFO] [stdout] test config::tests::test_get_network_timeout ... ok
[INFO] [stdout] test config::tests::test_get_unknown_key_returns_none ... ok
[INFO] [stdout] test config::tests::test_get_video_format ... ok
[INFO] [stdout] test config::tests::test_get_video_include_subtitles ... ok
[INFO] [stdout] test config::tests::test_get_video_include_thumbnail ... ok
[INFO] [stdout] test config::tests::test_keys_count ... ok
[INFO] [stdout] test config::tests::test_keys_returns_all_keys ... ok
[INFO] [stdout] test config::tests::test_network_config_default ... ok
[INFO] [stdout] test config::tests::test_parse_config_from_file ... ok
[INFO] [stdout] test config::tests::test_set_network_rate_limit_none ... ok
[INFO] [stdout] test config::tests::test_parse_full_config ... ok
[INFO] [stdout] test config::tests::test_parse_partial_config_uses_defaults ... ok
[INFO] [stdout] test config::tests::test_roundtrip_serialization ... ok
[INFO] [stdout] test config::tests::test_save_creates_file ... ok
[INFO] [stdout] test config::tests::test_serialize_config ... ok
[INFO] [stdout] test config::tests::test_set_audio_bitrate ... ok
[INFO] [stdout] test config::tests::test_set_audio_format ... ok
[INFO] [stdout] test config::tests::test_set_general_default_quality ... ok
[INFO] [stdout] test config::tests::test_set_general_max_parallel_downloads ... ok
[INFO] [stdout] test config::tests::test_set_general_max_parallel_downloads_invalid ... ok
[INFO] [stdout] test config::tests::test_set_general_output_dir ... ok
[INFO] [stdout] test config::tests::test_set_network_rate_limit ... ok
[INFO] [stdout] test config::tests::test_set_network_rate_limit_empty ... ok
[INFO] [stdout] test config::tests::test_parse_empty_config_uses_all_defaults ... ok
[INFO] [stdout] test config::tests::test_set_network_retry_attempts ... ok
[INFO] [stdout] test config::tests::test_set_unknown_key_fails ... ok
[INFO] [stdout] test config::tests::test_set_network_timeout ... ok
[INFO] [stdout] test config::tests::test_set_video_format ... ok
[INFO] [stdout] test config::tests::test_set_video_include_subtitles ... ok
[INFO] [stdout] test config::tests::test_set_video_include_thumbnail_false ... ok
[INFO] [stdout] test downloader::tests::test_all_audio_format_variants ... ok
[INFO] [stdout] test downloader::tests::test_all_quality_variants_to_ytdlp ... ok
[INFO] [stdout] test downloader::tests::test_audio_format_str_mp3 ... ok
[INFO] [stdout] test downloader::tests::test_audio_format_str_opus ... ok
[INFO] [stdout] test downloader::tests::test_audio_format_str_wav ... ok
[INFO] [stdout] test downloader::tests::test_download_options_clone ... ok
[INFO] [stdout] test downloader::tests::test_download_options_clone_independent ... ok
[INFO] [stdout] test downloader::tests::test_download_options_debug ... ok
[INFO] [stdout] test downloader::tests::test_download_options_default ... ok
[INFO] [stdout] test downloader::tests::test_download_options_builder_chain ... ok
[INFO] [stdout] test downloader::tests::test_download_options_from_config ... ok
[INFO] [stdout] test config::tests::test_set_video_include_thumbnail_invalid ... ok
[INFO] [stdout] test downloader::tests::test_download_options_with_audio_format ... ok
[INFO] [stdout] test config::tests::test_video_config_default ... ok
[INFO] [stdout] test downloader::tests::test_audio_format_str_m4a ... ok
[INFO] [stdout] test downloader::tests::test_all_video_format_variants ... ok
[INFO] [stdout] test config::tests::test_set_video_include_thumbnail_true ... ok
[INFO] [stdout] test downloader::tests::test_audio_format_str_flac ... ok
[INFO] [stdout] test downloader::tests::test_download_options_with_quality ... ok
[INFO] [stdout] test downloader::tests::test_download_options_with_audio_only ... ok
[INFO] [stdout] test downloader::tests::test_download_options_with_silence ... ok
[INFO] [stdout] test downloader::tests::test_download_options_with_video_format ... ok
[INFO] [stdout] test downloader::tests::test_download_options_with_template ... ok
[INFO] [stdout] test downloader::tests::test_download_result_creation ... ok
[INFO] [stdout] test downloader::tests::test_download_options_with_verbose ... ok
[INFO] [stdout] test downloader::tests::test_download_result_debug ... ok
[INFO] [stdout] test downloader::tests::test_download_options_with_output_dir ... ok
[INFO] [stdout] test downloader::tests::test_downloader_default ... ok
[INFO] [stdout] test downloader::tests::test_downloader_new ... ok
[INFO] [stdout] test downloader::tests::test_parse_audio_format_case_insensitive ... ok
[INFO] [stdout] test downloader::tests::test_parse_audio_format_flac ... ok
[INFO] [stdout] test downloader::tests::test_downloader_with_options ... ok
[INFO] [stdout] test downloader::tests::test_parse_audio_format_m4a ... ok
[INFO] [stdout] test downloader::tests::test_downloader_set_options ... ok
[INFO] [stdout] test downloader::tests::test_multiple_downloader_instances ... ok
[INFO] [stdout] test downloader::tests::test_parse_audio_format_opus ... ok
[INFO] [stdout] test downloader::tests::test_parse_quality_1440p ... ok
[INFO] [stdout] test downloader::tests::test_downloader_from_config ... ok
[INFO] [stdout] test downloader::tests::test_parse_quality_144p ... ok
[INFO] [stdout] test downloader::tests::test_parse_audio_format_wav ... ok
[INFO] [stdout] test downloader::tests::test_parse_quality_2160p ... ok
[INFO] [stdout] test downloader::tests::test_parse_quality_240p ... ok
[INFO] [stdout] test downloader::tests::test_parse_audio_format_unknown_defaults_to_mp3 ... ok
[INFO] [stdout] test downloader::tests::test_parse_quality_360p ... ok
[INFO] [stdout] test downloader::tests::test_parse_quality_480p ... ok
[INFO] [stdout] test downloader::tests::test_parse_quality_720p ... ok
[INFO] [stdout] test downloader::tests::test_parse_quality_case_insensitive ... ok
[INFO] [stdout] test downloader::tests::test_parse_video_format_case_insensitive ... ok
[INFO] [stdout] test downloader::tests::test_parse_quality_unknown_defaults_to_best ... ok
[INFO] [stdout] test downloader::tests::test_parse_quality_worst ... ok
[INFO] [stdout] test downloader::tests::test_parse_video_format_mkv ... ok
[INFO] [stdout] test downloader::tests::test_parse_quality_4k ... ok
[INFO] [stdout] test downloader::tests::test_parse_video_format_mp4 ... ok
[INFO] [stdout] test downloader::tests::test_parse_video_format_unknown_defaults_to_mp4 ... ok
[INFO] [stdout] test downloader::tests::test_parse_quality_1080p ... ok
[INFO] [stdout] test downloader::tests::test_quality_to_ytdlp_144p ... ok
[INFO] [stdout] test downloader::tests::test_quality_to_ytdlp_360p ... ok
[INFO] [stdout] test downloader::tests::test_quality_to_ytdlp_240p ... ok
[INFO] [stdout] test downloader::tests::test_quality_to_ytdlp_480p ... ok
[INFO] [stdout] test downloader::tests::test_parse_quality_best ... ok
[INFO] [stdout] test downloader::tests::test_quality_to_ytdlp_4k ... ok
[INFO] [stdout] test downloader::tests::test_quality_to_ytdlp_720p ... ok
[INFO] [stdout] test downloader::tests::test_parse_video_format_webm ... ok
[INFO] [stdout] test downloader::tests::test_quality_to_ytdlp_best ... ok
[INFO] [stdout] test downloader::tests::test_quality_to_ytdlp_1440p ... ok
[INFO] [stdout] test downloader::tests::test_video_format_ext_mkv ... ok
[INFO] [stdout] test downloader::tests::test_quality_to_ytdlp_1080p ... ok
[INFO] [stdout] test downloader::tests::test_video_format_ext_mp4 ... ok
[INFO] [stdout] test downloader::tests::test_parse_audio_format_mp3 ... ok
[INFO] [stdout] test downloader::tests::test_video_format_ext_webm ... ok
[INFO] [stdout] test downloader::tests::test_quality_to_ytdlp_worst ... ok
[INFO] [stdout] test error::tests::test_cancelled_display ... ok
[INFO] [stdout] test error::tests::test_age_restricted_display ... ok
[INFO] [stdout] test error::tests::test_connection_error_display ... ok
[INFO] [stdout] test error::tests::test_config_not_found_display ... ok
[INFO] [stdout] test error::tests::test_connection_is_retryable ... ok
[INFO] [stdout] test error::tests::test_directory_create_has_source ... ok
[INFO] [stdout] test error::tests::test_dir_create_helper_constructor ... ok
[INFO] [stdout] test error::tests::test_download_interrupted_is_retryable ... ok
[INFO] [stdout] test error::tests::test_ffmpeg_helper_constructor_without_exit_code ... ok
[INFO] [stdout] test error::tests::test_ffmpeg_execution_display ... ok
[INFO] [stdout] test error::tests::test_ffmpeg_not_found_display ... ok
[INFO] [stdout] test error::tests::test_file_read_display_includes_path ... ok
[INFO] [stdout] test error::tests::test_ffmpeg_not_found_not_retryable ... ok
[INFO] [stdout] test error::tests::test_file_read_has_source ... ok
[INFO] [stdout] test error::tests::test_file_read_helper_constructor ... ok
[INFO] [stdout] test error::tests::test_file_write_has_source ... ok
[INFO] [stdout] test error::tests::test_file_write_helper_constructor ... ok
[INFO] [stdout] test error::tests::test_http_error_display_server_error ... ok
[INFO] [stdout] test error::tests::test_cancelled_not_retryable ... ok
[INFO] [stdout] test error::tests::test_http_helper_constructor ... ok
[INFO] [stdout] test error::tests::test_http_error_display ... ok
[INFO] [stdout] test error::tests::test_ffmpeg_helper_constructor_with_exit_code ... ok
[INFO] [stdout] test error::tests::test_config_invalid_not_retryable ... ok
[INFO] [stdout] test error::tests::test_io_error_converts_to_app_error ... ok
[INFO] [stdout] test error::tests::test_io_error_preserves_kind ... ok
[INFO] [stdout] test error::tests::test_max_retries_exceeded_display ... ok
[INFO] [stdout] test error::tests::test_other_error_display ... ok
[INFO] [stdout] test error::tests::test_permission_denied_display ... ok
[INFO] [stdout] test error::tests::test_path_not_found_display ... ok
[INFO] [stdout] test error::tests::test_playlist_not_found_display ... ok
[INFO] [stdout] test error::tests::test_quality_not_available_display ... ok
[INFO] [stdout] test error::tests::test_region_blocked_display ... ok
[INFO] [stdout] test error::tests::test_simple_errors_have_no_source ... ok
[INFO] [stdout] test error::tests::test_video_not_found_display ... ok
[INFO] [stdout] test error::tests::test_timeout_error_display ... ok
[INFO] [stdout] test error::tests::test_timeout_is_retryable ... ok
[INFO] [stdout] test error::tests::test_video_not_found_not_retryable ... ok
[INFO] [stdout] test error::tests::test_invalid_arg_helper_constructor ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_all_variants ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_codec_aac ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_codec_flac ... ok
[INFO] [stdout] test error::tests::test_invalid_time_format_display ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_codec_opus ... ok
[INFO] [stdout] test error::tests::test_invalid_url_not_retryable ... ok
[INFO] [stdout] test media::audio::tests::integration::test_extract_nonexistent_file ... ok
[INFO] [stdout] test error::tests::test_invalid_url_display ... ok
[INFO] [stdout] test media::audio::tests::integration::test_extract_as_flac_nonexistent_file ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_codec_wav ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_default_bitrate_aac ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_codec_m4a ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_codec_mp3 ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_codec_ogg ... ok
[INFO] [stdout] test media::audio::tests::integration::test_extract_as_mp3_nonexistent_file ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_clone ... ok
[INFO] [stdout] test media::audio::tests::integration::test_convert_nonexistent_file ... ok
[INFO] [stdout] test error::tests::test_video_private_display ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_default_bitrate_m4a ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_default_bitrate_mp3 ... ok
[INFO] [stdout] test media::audio::tests::integration::test_extract_default_nonexistent_file ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_default_bitrate_flac ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_default_bitrate_wav ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_extension_aac ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_extension_flac ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_extension_m4a ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_extension_mp3 ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_extension_ogg ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_extension_wav ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_from_extension_aac ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_from_extension_empty ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_from_extension_flac ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_from_extension_m4a ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_default_bitrate_ogg ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_default_bitrate_opus ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_from_extension_case_insensitive ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_from_extension_mp3 ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_from_extension_ogg ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_equality ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_extension_opus ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_from_extension_opus ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_from_extension_unknown ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_is_lossless_mp3 ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_is_lossless_opus ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_is_lossless_wav ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_supports_vbr_flac ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_supports_vbr_mp3 ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_supports_vbr_m4a ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_supports_vbr_ogg ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_supports_vbr_wav ... ok
[INFO] [stdout] test media::audio::tests::test_audio_info_clone ... ok
[INFO] [stdout] test media::audio::tests::test_audio_info_debug ... ok
[INFO] [stdout] test media::audio::tests::test_audio_info_is_empty_false_with_bitrate ... ok
[INFO] [stdout] test media::audio::tests::test_audio_info_is_empty_false_with_channels ... ok
[INFO] [stdout] test media::audio::tests::test_audio_info_is_empty_false_with_duration ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_from_extension_wav ... ok
[INFO] [stdout] test media::audio::tests::test_audio_info_full ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_is_lossless_flac ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_is_lossless_m4a ... ok
[INFO] [stdout] test media::audio::tests::test_audio_format_supports_vbr_opus ... ok
[INFO] [stdout] test media::audio::tests::test_audio_info_empty ... ok
[INFO] [stdout] test media::audio::tests::test_audio_info_is_empty_false_with_codec ... ok
[INFO] [stdout] test media::audio::tests::test_audio_info_is_empty_false_with_format ... ok
[INFO] [stdout] test media::audio::tests::test_audio_info_is_empty_false_with_sample_rate ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_builder_chain ... ok
[INFO] [stdout] test media::audio::tests::test_audio_info_is_empty_true ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_clone ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_channel_configurations ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_default ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_flac ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_clone_independent ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_m4a ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_mp3_high_quality ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_opus ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_various_sample_rates ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_with_bitrate ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_with_channels ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_with_channels_mono ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_with_sample_rate ... ok
[INFO] [stdout] test media::audio::tests::test_detect_format_flac ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_with_format ... ok
[INFO] [stdout] test media::audio::tests::test_audio_options_various_bitrates ... ok
[INFO] [stdout] test media::audio::tests::test_detect_format_no_extension ... ok
[INFO] [stdout] test media::audio::tests::test_detect_format_m4a ... ok
[INFO] [stdout] test media::audio::tests::test_detect_format_opus ... ok
[INFO] [stdout] test media::audio::tests::test_detect_format_ogg ... ok
[INFO] [stdout] test media::audio::tests::test_detect_format_unknown ... ok
[INFO] [stdout] test media::audio::tests::test_detect_format_with_path ... ok
[INFO] [stdout] test media::audio::tests::test_effective_bitrate_default_mp3 ... ok
[INFO] [stdout] test media::audio::tests::test_detect_format_pathbuf ... ok
[INFO] [stdout] test media::audio::tests::test_effective_bitrate_default_opus ... ok
[INFO] [stdout] test media::audio::tests::test_effective_bitrate_lossless_flac ... ok
[INFO] [stdout] test media::audio::tests::test_effective_bitrate_lossless_ignores_specified ... ok
[INFO] [stdout] test media::audio::tests::test_output_path_preserves_filename ... ok
[INFO] [stdout] test media::audio::tests::test_effective_bitrate_lossless_wav ... ok
[INFO] [stdout] test media::audio::tests::test_effective_bitrate_specified ... ok
[INFO] [stdout] test media::audio::tests::test_output_path_with_format_with_path ... ok
[INFO] [stdout] test media::audio::tests::test_output_path_with_format_all_formats ... ok
[INFO] [stdout] test media::audio::tests::test_detect_format_mp3 ... ok
[INFO] [stdout] test media::audio::tests::test_output_path_with_format_simple ... ok
[INFO] [stdout] test media::audio::tests::test_output_path_with_format_same_format ... ok
[INFO] [stdout] test media::audio::tests::test_output_path_with_spaces ... ok
[INFO] [stdout] test media::audio::tests::test_output_path_with_unicode ... ok
[INFO] [stdout] test media::audio::tests::test_roundtrip_format_extension ... ok
[INFO] [stdout] test media::audio::tests::test_detect_format_wav ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_clone_independent ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_default ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_builder_chain ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_high_quality ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_small_file ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_reencode ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_fast ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_quality_range ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_with_audio_codec ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_with_format ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_clone ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_with_framerate ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_with_quality ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_with_resolution ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_with_video_codec ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_result_debug ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_with_stream_copy ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_with_audio_bitrate ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_various_resolutions ... ok
[INFO] [stdout] test media::converter::tests::integration::test_convert_fast_nonexistent_file ... ok
[INFO] [stdout] test media::converter::tests::test_detect_format_pathbuf ... ok
[INFO] [stdout] test media::converter::tests::test_detect_format_mkv ... ok
[INFO] [stdout] test media::converter::tests::integration::test_convert_reencode_nonexistent_file ... ok
[INFO] [stdout] test media::converter::tests::test_detect_format_mp4 ... ok
[INFO] [stdout] test media::converter::tests::test_detect_format_avi ... ok
[INFO] [stdout] test media::converter::tests::test_detect_format_unknown ... ok
[INFO] [stdout] test media::converter::tests::test_detect_format_no_extension ... ok
[INFO] [stdout] test media::converter::tests::test_detect_format_with_path ... ok
[INFO] [stdout] test media::converter::tests::test_detect_format_mov ... ok
[INFO] [stdout] test media::converter::tests::test_needs_reencode_incompatible ... ok
[INFO] [stdout] test media::converter::tests::test_needs_reencode_same_format ... ok
[INFO] [stdout] test media::converter::tests::test_needs_reencode_mov_to_mp4 ... ok
[INFO] [stdout] test media::converter::tests::test_output_path_with_format_different_extensions ... ok
[INFO] [stdout] test media::converter::tests::test_needs_reencode_to_mkv ... ok
[INFO] [stdout] test media::converter::tests::test_output_path_preserves_filename ... ok
[INFO] [stdout] test media::converter::tests::test_needs_reencode_unknown_format ... ok
[INFO] [stdout] test media::converter::tests::test_output_path_with_format_with_path ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_various_framerates ... ok
[INFO] [stdout] test media::converter::tests::test_output_path_with_unicode ... ok
[INFO] [stdout] test media::converter::tests::test_supports_stream_copy_to_mkv ... ok
[INFO] [stdout] test media::converter::tests::test_needs_reencode_mp4_to_mov ... ok
[INFO] [stdout] test media::converter::tests::test_supports_stream_copy_mov_to_mp4 ... ok
[INFO] [stdout] test media::converter::tests::test_needs_reencode_no_extension ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_result_creation ... ok
[INFO] [stdout] test media::converter::tests::test_output_path_with_format_same_format ... ok
[INFO] [stdout] test media::converter::tests::test_supports_stream_copy_same_format ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_equality ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_copy ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_from_extension_case_insensitive ... ok
[INFO] [stdout] test media::converter::tests::integration::test_convert_nonexistent_file ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_from_extension_avi ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_extension_avi ... ok
[INFO] [stdout] test media::converter::tests::test_supports_stream_copy_incompatible ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_extension_mov ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_extension_mkv ... ok
[INFO] [stdout] test media::converter::tests::test_output_path_with_spaces ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_all_variants ... ok
[INFO] [stdout] test media::converter::tests::test_conversion_options_various_bitrates ... ok
[INFO] [stdout] test media::converter::tests::test_detect_format_webm ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_clone ... ok
[INFO] [stdout] test media::converter::tests::test_supports_stream_copy_mp4_to_mov ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_extension_mp4 ... ok
[INFO] [stdout] test media::converter::tests::test_output_path_with_format_simple ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_extension_webm ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_from_extension_mov ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_from_extension_mp4 ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_from_extension_unknown ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_from_extension_webm ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_recommended_audio_codec_avi ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_recommended_audio_codec_mkv ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_from_extension_empty ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_recommended_audio_codec_mov ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_from_extension_mkv ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_recommended_video_codec_mp4 ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_recommended_audio_codec_mp4 ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_recommended_audio_codec_webm ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_recommended_video_codec_avi ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_recommended_video_codec_mkv ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_recommended_video_codec_mov ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_all_supported_audio_extensions ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_bitrate_default_for_m4a ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_bitrate_default_for_mp3 ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_bitrate_default_for_opus ... ok
[INFO] [stdout] test media::ffmpeg::tests::integration::test_ffmpeg_convert_nonexistent_file ... ok
[INFO] [stdout] test media::converter::tests::test_video_format_recommended_video_codec_webm ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_bitrate_default_for_ogg ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_all_supported_audio_formats_have_bitrate ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_bitrate_constants ... ok
[INFO] [stdout] test media::ffmpeg::tests::integration::test_ffmpeg_trim_nonexistent_file ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_bitrate_default_case_insensitive ... ok
[INFO] [stdout] test media::ffmpeg::tests::integration::test_ffmpeg_error_contains_message ... ok
[INFO] [stdout] test media::ffmpeg::tests::integration::test_ffmpeg_probe_nonexistent_file ... ok
[INFO] [stdout] test media::ffmpeg::tests::integration::test_ffmpeg_run_with_help ... ok
[INFO] [stdout] test media::ffmpeg::tests::integration::test_ffmpeg_extract_audio_nonexistent_file ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_bitrate_default_for_unknown ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_bitrate_default_for_aac ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_extract_audio_as_with_bitrate ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_bitrate_empty_format ... ok
[INFO] [stdout] test media::ffmpeg::tests::integration::test_ffmpeg_run_invalid_args ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_codec_constants ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_codec_empty_extension ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_codec_for_extension_aac ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_codec_for_extension_case_insensitive ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_codec_for_extension_flac ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_codec_for_extension_m4a ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_codec_for_extension_mp3 ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_codec_for_extension_ogg ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_codec_for_extension_opus ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_codec_for_extension_unknown ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_audio_codec_for_extension_wav ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_convert_path_handling ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_extract_audio_args_structure ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_flac_codec_no_bitrate_needed ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_mp3_codec_and_bitrate ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_ffmpeg_is_available ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_path_relative ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_run_overwrite_prepends_y_flag ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_wav_codec ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_ffmpeg_is_probe_available ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_opus_codec_and_bitrate ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_ffmpeg_require_when_available ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_path_empty ... ok
[INFO] [stdout] test progress::tests::test_download_progress_abandon_with_message ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_path_with_spaces ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_path_with_unicode ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_trim_args_structure ... ok
[INFO] [stdout] test progress::tests::test_download_progress_finish ... ok
[INFO] [stdout] test progress::tests::test_download_progress_finish_and_clear ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_ffmpeg_version_format ... ok
[INFO] [stdout] test progress::tests::test_download_progress_inc ... ok
[INFO] [stdout] test progress::tests::test_default_style_creation ... ok
[INFO] [stdout] test progress::tests::test_download_progress_inc_multiple ... ok
[INFO] [stdout] test progress::tests::test_download_progress_new_zero_size ... ok
[INFO] [stdout] test progress::tests::test_download_progress_inc_zero ... ok
[INFO] [stdout] test progress::tests::test_download_progress_set_message_unicode ... ok
[INFO] [stdout] test progress::tests::test_download_progress_set_position ... ok
[INFO] [stdout] test progress::tests::test_download_progress_finish_with_message ... ok
[INFO] [stdout] test progress::tests::test_download_progress_new ... ok
[INFO] [stdout] test progress::tests::test_download_progress_new_large_size ... ok
[INFO] [stdout] test progress::tests::test_download_progress_set_position_to_max ... ok
[INFO] [stdout] test progress::tests::test_download_progress_inner ... ok
[INFO] [stdout] test progress::tests::test_download_progress_workflow ... ok
[INFO] [stdout] test progress::tests::test_download_progress_set_message ... ok
[INFO] [stdout] test progress::tests::test_download_progress_set_message_empty ... ok
[INFO] [stdout] test progress::tests::test_download_progress_set_position_beyond_max ... ok
[INFO] [stdout] test progress::tests::test_download_progress_new_spinner ... ok
[INFO] [stdout] test media::ffmpeg::tests::test_ffmpeg_version_returns_first_line ... ok
[INFO] [stdout] test progress::tests::test_download_style_creation ... ok
[INFO] [stdout] test progress::tests::test_messages_downloading ... ok
[INFO] [stdout] test progress::tests::test_messages_info ... ok
[INFO] [stdout] test progress::tests::test_messages_error ... ok
[INFO] [stdout] test progress::tests::test_messages_with_empty_string ... ok
[INFO] [stdout] test progress::tests::test_messages_warning ... ok
[INFO] [stdout] test progress::tests::test_messages_with_special_characters ... ok
[INFO] [stdout] test progress::tests::test_multi_download_progress_add_download ... ok
[INFO] [stdout] test progress::tests::test_messages_success ... ok
[INFO] [stdout] test progress::tests::test_messages_with_unicode ... ok
[INFO] [stdout] test progress::tests::test_multi_download_progress_add_multiple_downloads ... ok
[INFO] [stdout] test progress::tests::test_multi_download_progress_independent_finish ... ok
[INFO] [stdout] test progress::tests::test_multi_download_progress_default ... ok
[INFO] [stdout] test progress::tests::test_multi_download_progress_new ... ok
[INFO] [stdout] test progress::tests::test_multi_download_progress_independent_updates ... ok
[INFO] [stdout] test progress::tests::test_multi_download_progress_workflow ... ok
[INFO] [stdout] test utils::tests::test_apply_template_id_only ... ok
[INFO] [stdout] test progress::tests::test_progress_large_increments ... ok
[INFO] [stdout] test utils::tests::test_apply_template_no_placeholders ... ok
[INFO] [stdout] test utils::tests::test_apply_template_missing_duration ... ok
[INFO] [stdout] test utils::tests::test_apply_template_sanitizes_title ... ok
[INFO] [stdout] test utils::tests::test_apply_template_title_and_id ... ok
[INFO] [stdout] test utils::tests::test_apply_template_title_only ... ok
[INFO] [stdout] test utils::tests::test_apply_template_uses_current_date_when_none ... ok
[INFO] [stdout] test utils::tests::test_apply_template_with_date ... ok
[INFO] [stdout] test utils::tests::test_apply_template_with_duration ... ok
[INFO] [stdout] test progress::tests::test_progress_rapid_updates ... ok
[INFO] [stdout] test utils::tests::test_expand_path_current_dir ... ok
[INFO] [stdout] test utils::tests::test_expand_path_relative ... ok
[INFO] [stdout] test utils::tests::test_expand_path_tilde_with_nested_subdirs ... ok
[INFO] [stdout] test progress::tests::test_multi_download_progress_mixed ... ok
[INFO] [stdout] test utils::tests::test_expand_path_tilde_with_subdir ... ok
[INFO] [stdout] test utils::tests::test_expand_path_tilde_in_middle_not_expanded ... ok
[INFO] [stdout] test progress::tests::test_spinner_lifecycle ... ok
[INFO] [stdout] test utils::tests::test_expand_path_no_tilde ... ok
[INFO] [stdout] test progress::tests::test_multi_download_progress_add_spinner ... ok
[INFO] [stdout] test utils::tests::test_apply_template_full ... ok
[INFO] [stdout] test progress::tests::test_spinner_style_creation ... ok
[INFO] [stdout] test utils::tests::test_extract_playlist_id_empty_string ... ok
[INFO] [stdout] test utils::tests::test_extract_playlist_id_standard_url ... ok
[INFO] [stdout] test utils::tests::test_extract_video_id_short_url_with_params ... ok
[INFO] [stdout] test utils::tests::test_extract_video_id_with_extra_params ... ok
[INFO] [stdout] test utils::tests::test_extract_playlist_id_no_list_param ... ok
[INFO] [stdout] test utils::tests::test_expand_path_tilde_only ... ok
[INFO] [stdout] test utils::tests::test_extract_video_id_embed_url ... ok
[INFO] [stdout] test utils::tests::test_extract_video_id_with_timestamp ... ok
[INFO] [stdout] test utils::tests::test_extract_video_id_empty_string ... ok
[INFO] [stdout] test utils::tests::test_extract_video_id_no_video_param ... ok
[INFO] [stdout] test utils::tests::test_extract_playlist_id_from_video_url ... ok
[INFO] [stdout] test utils::tests::test_extract_playlist_id_invalid_url ... ok
[INFO] [stdout] test utils::tests::test_extract_video_id_invalid_url ... ok
[INFO] [stdout] test utils::tests::test_extract_video_id_standard_url ... ok
[INFO] [stdout] test utils::tests::test_extract_video_id_without_www ... ok
[INFO] [stdout] test utils::tests::test_format_bytes_bytes ... ok
[INFO] [stdout] test utils::tests::test_extract_video_id_wrong_domain ... ok
[INFO] [stdout] test utils::tests::test_extract_video_id_short_url ... ok
[INFO] [stdout] test utils::tests::test_format_bytes_fractional ... ok
[INFO] [stdout] test utils::tests::test_format_bytes_gigabytes ... ok
[INFO] [stdout] test utils::tests::test_format_bytes_megabytes ... ok
[INFO] [stdout] test utils::tests::test_format_bytes_kilobytes ... ok
[INFO] [stdout] test utils::tests::test_format_bytes_one_gb ... ok
[INFO] [stdout] test utils::tests::test_format_bytes_zero ... ok
[INFO] [stdout] test utils::tests::test_format_bytes_one_tb ... ok
[INFO] [stdout] test utils::tests::test_format_duration_hours_minutes_seconds ... ok
[INFO] [stdout] test utils::tests::test_format_duration_one_minute ... ok
[INFO] [stdout] test utils::tests::test_format_duration_complex ... ok
[INFO] [stdout] test utils::tests::test_format_duration_zero ... ok
[INFO] [stdout] test utils::tests::test_format_duration_one_hour ... ok
[INFO] [stdout] test utils::tests::test_parse_duration_empty_string ... ok
[INFO] [stdout] test utils::tests::test_parse_duration_invalid_characters ... ok
[INFO] [stdout] test utils::tests::test_parse_duration_hours_minutes_seconds ... ok
[INFO] [stdout] test utils::tests::test_format_duration_large_value ... ok
[INFO] [stdout] test utils::tests::test_parse_duration_invalid_format ... ok
[INFO] [stdout] test utils::tests::test_format_bytes_one_kb ... ok
[INFO] [stdout] test utils::tests::test_parse_duration_minutes_seconds ... ok
[INFO] [stdout] test utils::tests::test_format_bytes_one_mb ... ok
[INFO] [stdout] test utils::tests::test_format_duration_seconds_only ... ok
[INFO] [stdout] test utils::tests::test_parse_duration_large_hours ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_only_invalid_chars ... ok
[INFO] [stdout] test utils::tests::test_parse_duration_partial_invalid ... ok
[INFO] [stdout] test utils::tests::test_format_duration_minutes_and_seconds ... ok
[INFO] [stdout] test utils::tests::test_parse_duration_roundtrip ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_removes_angle_brackets ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_removes_backslashes ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_removes_asterisks ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_removes_colons ... ok
[INFO] [stdout] test utils::tests::test_parse_duration_seconds_only ... ok
[INFO] [stdout] test utils::tests::test_parse_duration_zero ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_collapses_multiple_underscores ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_empty_string ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_keeps_dots ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_keeps_hyphens ... ok
[INFO] [stdout] test utils::tests::test_parse_duration_zero_padded ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_removes_quotes ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_removes_slashes ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_with_extension ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_simple ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_with_unicode ... ok
[INFO] [stdout] test utils::tests::test_video_metadata_creation ... ok
[INFO] [stdout] test youtube::metadata::tests::test_available_qualities ... ok
[INFO] [stdout] test youtube::metadata::tests::test_available_qualities_empty ... ok
[INFO] [stdout] test youtube::metadata::tests::test_available_qualities_excludes_audio ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_removes_pipe ... ok
[INFO] [stdout] test utils::tests::test_video_metadata_with_all_fields ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_keeps_underscores ... ok
[INFO] [stdout] test youtube::metadata::tests::test_available_qualities_no_duplicates ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_removes_multiple_invalid_chars ... ok
[INFO] [stdout] test utils::tests::test_sanitize_filename_removes_question_marks ... ok
[INFO] [stdout] test youtube::metadata::tests::test_best_audio_stream ... ok
[INFO] [stdout] test youtube::metadata::tests::test_best_audio_stream_is_audio_only ... ok
[INFO] [stdout] test youtube::metadata::tests::test_best_video_stream_empty_streams ... ok
[INFO] [stdout] test youtube::metadata::tests::test_best_audio_stream_no_audio ... ok
[INFO] [stdout] test youtube::metadata::tests::test_best_video_stream_excludes_audio ... ok
[INFO] [stdout] test youtube::metadata::tests::test_best_video_stream ... ok
[INFO] [stdout] test youtube::metadata::tests::test_best_video_stream_with_2160p ... ok
[INFO] [stdout] test youtube::metadata::tests::test_best_video_stream_only_audio_streams ... ok
[INFO] [stdout] test youtube::metadata::tests::test_playlist_info_is_empty_false ... ok
[INFO] [stdout] test youtube::metadata::tests::test_playlist_info_creation ... ok
[INFO] [stdout] test youtube::metadata::tests::test_playlist_info_len ... ok
[INFO] [stdout] test youtube::metadata::tests::test_playlist_info_clone ... ok
[INFO] [stdout] test youtube::metadata::tests::test_playlist_info_is_empty_true ... ok
[INFO] [stdout] test youtube::metadata::tests::test_playlist_info_len_empty ... ok
[INFO] [stdout] test youtube::metadata::tests::test_quality_filter_best_equality ... ok
[INFO] [stdout] test youtube::metadata::tests::test_quality_filter_different_variants ... ok
[INFO] [stdout] test youtube::metadata::tests::test_quality_filter_exact_equality ... ok
[INFO] [stdout] test youtube::metadata::tests::test_playlist_info_serialize ... ok
[INFO] [stdout] test youtube::metadata::tests::test_quality_filter_worst_equality ... ok
[INFO] [stdout] test youtube::metadata::tests::test_quality_filter_max_height_equality ... ok
[INFO] [stdout] test youtube::metadata::tests::test_quality_to_height_2160p ... ok
[INFO] [stdout] test youtube::metadata::tests::test_best_video_stream_with_1440p ... ok
[INFO] [stdout] test youtube::metadata::tests::test_available_qualities_sorted_descending ... ok
[INFO] [stdout] test youtube::metadata::tests::test_quality_to_height_1080p ... ok
[INFO] [stdout] test youtube::metadata::tests::test_quality_to_height_240p ... ok
[INFO] [stdout] test youtube::metadata::tests::test_best_video_stream_with_4k ... ok
[INFO] [stdout] test youtube::metadata::tests::test_quality_to_height_144p ... ok
[INFO] [stdout] test youtube::metadata::tests::test_quality_to_height_1440p ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_by_filter_best ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_by_filter_exact ... ok
[INFO] [stdout] test youtube::metadata::tests::test_quality_to_height_480p ... ok
[INFO] [stdout] test youtube::metadata::tests::test_quality_to_height_4k ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_by_filter_max_height_gets_best_under_limit ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_by_filter_exact_not_found ... ok
[INFO] [stdout] test youtube::metadata::tests::test_quality_to_height_720p ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_by_filter_worst ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_by_filter_max_height ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_by_quality_case_insensitive ... ok
[INFO] [stdout] test youtube::metadata::tests::test_quality_to_height_360p ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_by_quality_exact_match ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_by_quality_not_found ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_info_clone ... ok
[INFO] [stdout] test youtube::metadata::tests::test_quality_to_height_unknown ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_info_creation ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_by_quality_excludes_audio ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_info_formatted_size_none ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_by_filter_max_height_too_low ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_info_serialize ... ok
[INFO] [stdout] test youtube::metadata::tests::test_video_info_clone ... ok
[INFO] [stdout] test youtube::metadata::tests::test_video_info_creation ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_info_description_without_high_fps ... ok
[INFO] [stdout] test youtube::metadata::tests::test_video_info_with_minimal_fields ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_info_formatted_size ... ok
[INFO] [stdout] test youtube::metadata::tests::test_worst_video_stream_empty_streams ... ok
[INFO] [stdout] test youtube::metadata::tests::test_video_info_deserialize ... ok
[INFO] [stdout] test youtube::metadata::tests::test_worst_video_stream ... ok
[INFO] [stdout] test youtube::metadata::tests::test_worst_video_stream_with_144p ... ok
[INFO] [stdout] test youtube::playlist::tests::test_extract_playlist_ids_empty ... ok
[INFO] [stdout] test youtube::playlist::tests::test_extract_playlist_ids_single ... ok
[INFO] [stdout] test youtube::playlist::tests::test_extract_playlist_ids_mixed_valid_invalid ... ok
[INFO] [stdout] test youtube::playlist::tests::test_extract_playlist_ids_multiple ... ok
[INFO] [stdout] test youtube::playlist::tests::test_filter_valid_playlist_urls_empty ... ok
[INFO] [stdout] test youtube::playlist::tests::test_filter_valid_playlist_urls_all_invalid ... ok
[INFO] [stdout] test youtube::playlist::tests::test_get_playlist_id_from_video_url ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_info_description ... ok
[INFO] [stdout] test youtube::metadata::tests::test_worst_video_stream_excludes_audio ... ok
[INFO] [stdout] test youtube::metadata::tests::test_stream_info_description_with_high_fps ... ok
[INFO] [stdout] test youtube::playlist::tests::test_filter_valid_playlist_urls_mixed ... ok
[INFO] [stdout] test youtube::metadata::tests::test_video_info_serialize ... ok
[INFO] [stdout] test youtube::playlist::tests::test_filter_valid_playlist_urls_preserves_original ... ok
[INFO] [stdout] test youtube::playlist::tests::test_filter_valid_playlist_urls_all_valid ... ok
[INFO] [stdout] test youtube::playlist::tests::test_extract_playlist_ids_all_invalid ... ok
[INFO] [stdout] test youtube::playlist::tests::test_get_playlist_id_returns_correct_error ... ok
[INFO] [stdout] test youtube::playlist::tests::test_get_playlist_id_standard ... ok
[INFO] [stdout] test youtube::playlist::tests::test_get_playlist_id_with_extra_params ... ok
[INFO] [stdout] test youtube::playlist::tests::test_is_playlist_url_case_sensitivity ... ok
[INFO] [stdout] test youtube::playlist::tests::test_is_playlist_url_invalid ... ok
[INFO] [stdout] test youtube::playlist::tests::test_is_playlist_url_other_site ... ok
[INFO] [stdout] test youtube::playlist::tests::test_get_video_ids_returns_vec ... ok
[INFO] [stdout] test youtube::playlist::tests::test_is_playlist_url_empty ... ok
[INFO] [stdout] test youtube::playlist::tests::test_get_playlist_info_invalid_url ... ok
[INFO] [stdout] test youtube::playlist::tests::test_is_playlist_url_youtube_homepage ... ok
[INFO] [stdout] test youtube::playlist::tests::test_multiple_client_instances_independent ... ok
[INFO] [stdout] test youtube::playlist::tests::test_playlist_client_new ... ok
[INFO] [stdout] test youtube::playlist::tests::test_is_playlist_url_short_url ... ok
[INFO] [stdout] test youtube::playlist::tests::test_get_playlist_info_returns_struct ... ok
[INFO] [stdout] test youtube::playlist::tests::test_is_playlist_url_video_only ... ok
[INFO] [stdout] test youtube::playlist::tests::test_is_playlist_url_with_video ... ok
[INFO] [stdout] test youtube::playlist::tests::test_get_video_ids_invalid_url ... ok
[INFO] [stdout] test youtube::playlist::tests::test_is_playlist_url_without_www ... ok
[INFO] [stdout] test youtube::playlist::tests::test_get_playlist_id_invalid_empty ... ok
[INFO] [stdout] test youtube::playlist::tests::test_is_playlist_url_with_index ... ok
[INFO] [stdout] test youtube::playlist::tests::test_validate_playlist_url_valid ... ok
[INFO] [stdout] test youtube::playlist::tests::test_validate_playlist_url_invalid ... ok
[INFO] [stdout] test youtube::playlist::tests::test_validate_playlist_url_error_message ... ok
[INFO] [stdout] test youtube::playlist::tests::test_playlist_id_long ... ok
[INFO] [stdout] test youtube::playlist::tests::test_is_playlist_url_standard ... ok
[INFO] [stdout] test youtube::playlist::tests::test_playlist_client_default ... ok
[INFO] [stdout] test youtube::playlist::tests::test_playlist_id_with_special_characters ... ok
[INFO] [stdout] test youtube::playlist::tests::test_validate_playlist_url_valid_with_video ... ok
[INFO] [stdout] test youtube::playlist::tests::test_get_playlist_id_invalid_no_list ... ok
[INFO] [stderr]      Running tests/audio_tests.rs (/opt/rustwide/target/debug/build/rust-yt-downloader/20bccf43024108a9/deps/audio_tests-20bccf43024108a9)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 670 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test test_audio_download_mp3 ... ok
[INFO] [stdout] test test_audio_download_flac ... ok
[INFO] [stderr]      Running tests/cli_tests.rs (/opt/rustwide/target/debug/build/rust-yt-downloader/7d3402fd8f690c38/deps/cli_tests-7d3402fd8f690c38)
[INFO] [stdout] test test_audio_default_format ... ok
[INFO] [stdout] test test_audio_download_wav ... ok
[INFO] [stdout] test test_audio_creates_output_dir ... ok
[INFO] [stdout] test test_audio_file_not_empty ... ok
[INFO] [stdout] test test_audio_download_m4a ... ok
[INFO] [stdout] test test_audio_silence_mode ... ok
[INFO] [stdout] test test_audio_download_opus ... ok
[INFO] [stdout] test test_audio_invalid_url ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test test_audio_help ... FAILED
[INFO] [stdout] test test_download_missing_url ... FAILED
[INFO] [stdout] test test_download_format_flags ... FAILED
[INFO] [stdout] test test_audio_missing_url ... FAILED
[INFO] [stdout] test test_config_help ... FAILED
[INFO] [stdout] test test_download_silence_flag ... FAILED
[INFO] [stdout] test test_download_help ... FAILED
[INFO] [stdout] test test_help_flag ... FAILED
[INFO] [stdout] test test_help_short_flag ... FAILED
[INFO] [stdout] test test_download_verbose_flag ... FAILED
[INFO] [stdout] test test_audio_format_flags ... FAILED
[INFO] [stdout] test test_download_quality_flags ... FAILED
[INFO] [stdout] test test_info_missing_url ... FAILED
[INFO] [stdout] test test_info_help ... FAILED
[INFO] [stdout] test test_download_output_short_flag ... FAILED
[INFO] [stdout] test test_invalid_command ... FAILED
[INFO] [stdout] test test_no_arguments ... FAILED
[INFO] [stdout] test test_version_flag ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test_audio_help stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_audio_help' (1437) panicked at tests/common/mod.rs:23:10:
[INFO] [stdout] Failed to execute ytdl: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6433f6f05f62 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x6433f6f05f62 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6433f6f1a7ca - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6433f6f1a7ca - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x6433f6f0ad96 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x6433f6f0ad96 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x6433f6ee434f - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x6433f6ee434f - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x6433f6efe299 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6433f6e967be - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x6433f6e967be - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x6433f6efe452 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x6433f6efe452 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x6433f6ee4408 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x6433f6edbdd9 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x6433f6ee525d - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6433f6f1ae9c - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6433f6f1ac12 - core[8f93d80df273fe75]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x6433f6e82aec - <core[8f93d80df273fe75]::result::Result<std[840933623431fd06]::process::Output, std[840933623431fd06]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x6433f6e83420 - cli_tests[145188d403bdf40b]::common::run_ytdl
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/common/mod.rs:23:10
[INFO] [stdout]   22:     0x6433f6e874ad - cli_tests[145188d403bdf40b]::test_audio_help
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:47:18
[INFO] [stdout]   23:     0x6433f6e86cc7 - cli_tests[145188d403bdf40b]::test_audio_help::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:46:21
[INFO] [stdout]   24:     0x6433f6e8a676 - <cli_tests[145188d403bdf40b]::test_audio_help::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6433f6e8ab6b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x6433f6e8ab6b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x6433f6e973ca - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x6433f6e973ca - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x6433f6e973ca - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x6433f6e91894 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x6433f6e91894 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x6433f6e99ec2 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x6433f6e99ec2 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x6433f6e99ec2 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x6433f6f0580f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x6433f6f0580f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x7911a4a4eaa4 - <unknown>
[INFO] [stdout]   46:     0x7911a4adba64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_download_missing_url stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_download_missing_url' (1445) panicked at tests/common/mod.rs:23:10:
[INFO] [stdout] Failed to execute ytdl: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6433f6f05f62 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x6433f6f05f62 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6433f6f1a7ca - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6433f6f1a7ca - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x6433f6f0ad96 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x6433f6f0ad96 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x6433f6ee434f - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x6433f6ee434f - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x6433f6efe299 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6433f6e967be - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x6433f6e967be - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x6433f6efe452 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x6433f6efe452 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x6433f6ee4408 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x6433f6edbdd9 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x6433f6ee525d - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6433f6f1ae9c - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6433f6f1ac12 - core[8f93d80df273fe75]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x6433f6e82aec - <core[8f93d80df273fe75]::result::Result<std[840933623431fd06]::process::Output, std[840933623431fd06]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x6433f6e83420 - cli_tests[145188d403bdf40b]::common::run_ytdl
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/common/mod.rs:23:10
[INFO] [stdout]   22:     0x6433f6e8846d - cli_tests[145188d403bdf40b]::test_download_missing_url
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:114:18
[INFO] [stdout]   23:     0x6433f6e86ea7 - cli_tests[145188d403bdf40b]::test_download_missing_url::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:113:31
[INFO] [stdout]   24:     0x6433f6e8a8f6 - <cli_tests[145188d403bdf40b]::test_download_missing_url::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6433f6e8ab6b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x6433f6e8ab6b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x6433f6e973ca - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x6433f6e973ca - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x6433f6e973ca - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x6433f6e91894 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x6433f6e91894 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x6433f6e99ec2 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x6433f6e99ec2 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x6433f6e99ec2 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x6433f6f0580f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x6433f6f0580f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x7911a4a4eaa4 - <unknown>
[INFO] [stdout]   46:     0x7911a4adba64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_download_format_flags stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_download_format_flags' (1442) panicked at tests/common/mod.rs:23:10:
[INFO] [stdout] Failed to execute ytdl: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6433f6f05f62 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x6433f6f05f62 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6433f6f1a7ca - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6433f6f1a7ca - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x6433f6f0ad96 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x6433f6f0ad96 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x6433f6ee434f - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x6433f6ee434f - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x6433f6efe299 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6433f6e967be - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x6433f6e967be - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x6433f6efe452 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x6433f6efe452 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x6433f6ee4408 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x6433f6edbdd9 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x6433f6ee525d - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6433f6f1ae9c - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6433f6f1ac12 - core[8f93d80df273fe75]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x6433f6e82aec - <core[8f93d80df273fe75]::result::Result<std[840933623431fd06]::process::Output, std[840933623431fd06]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x6433f6e83420 - cli_tests[145188d403bdf40b]::common::run_ytdl
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/common/mod.rs:23:10
[INFO] [stdout]   22:     0x6433f6e88632 - cli_tests[145188d403bdf40b]::test_download_format_flags
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:154:18
[INFO] [stdout]   23:     0x6433f6e86ed7 - cli_tests[145188d403bdf40b]::test_download_format_flags::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:153:32
[INFO] [stdout]   24:     0x6433f6e8a936 - <cli_tests[145188d403bdf40b]::test_download_format_flags::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6433f6e8ab6b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x6433f6e8ab6b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x6433f6e973ca - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x6433f6e973ca - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x6433f6e973ca - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x6433f6e91894 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x6433f6e91894 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x6433f6e99ec2 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x6433f6e99ec2 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x6433f6e99ec2 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x6433f6f0580f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x6433f6f0580f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x7911a4a4eaa4 - <unknown>
[INFO] [stdout]   46:     0x7911a4adba64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_audio_missing_url stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_audio_missing_url' (1438) panicked at tests/common/mod.rs:23:10:
[INFO] [stdout] Failed to execute ytdl: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6433f6f05f62 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x6433f6f05f62 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6433f6f1a7ca - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6433f6f1a7ca - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x6433f6f0ad96 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x6433f6f0ad96 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x6433f6ee434f - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x6433f6ee434f - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x6433f6efe299 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6433f6e967be - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x6433f6e967be - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x6433f6efe452 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x6433f6efe452 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x6433f6ee4408 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x6433f6edbdd9 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x6433f6ee525d - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6433f6f1ae9c - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6433f6f1ac12 - core[8f93d80df273fe75]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x6433f6e82aec - <core[8f93d80df273fe75]::result::Result<std[840933623431fd06]::process::Output, std[840933623431fd06]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x6433f6e83420 - cli_tests[145188d403bdf40b]::common::run_ytdl
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/common/mod.rs:23:10
[INFO] [stdout]   22:     0x6433f6e8825a - cli_tests[145188d403bdf40b]::test_audio_missing_url
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:124:18
[INFO] [stdout]   23:     0x6433f6e86e47 - cli_tests[145188d403bdf40b]::test_audio_missing_url::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:123:28
[INFO] [stdout]   24:     0x6433f6e8a876 - <cli_tests[145188d403bdf40b]::test_audio_missing_url::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6433f6e8ab6b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x6433f6e8ab6b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x6433f6e973ca - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x6433f6e973ca - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x6433f6e973ca - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x6433f6e91894 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x6433f6e91894 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x6433f6e99ec2 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x6433f6e99ec2 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x6433f6e99ec2 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x6433f6f0580f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x6433f6f0580f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x7911a4a4eaa4 - <unknown>
[INFO] [stdout]   46:     0x7911a4adba64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_config_help stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_config_help' (1439) panicked at tests/common/mod.rs:23:10:
[INFO] [stdout] Failed to execute ytdl: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6433f6f05f62 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x6433f6f05f62 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6433f6f1a7ca - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6433f6f1a7ca - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x6433f6f0ad96 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x6433f6f0ad96 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x6433f6ee434f - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x6433f6ee434f - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x6433f6efe299 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6433f6e967be - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x6433f6e967be - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x6433f6efe452 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x6433f6efe452 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x6433f6ee4408 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x6433f6edbdd9 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x6433f6ee525d - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6433f6f1ae9c - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6433f6f1ac12 - core[8f93d80df273fe75]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x6433f6e82aec - <core[8f93d80df273fe75]::result::Result<std[840933623431fd06]::process::Output, std[840933623431fd06]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x6433f6e83420 - cli_tests[145188d403bdf40b]::common::run_ytdl
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/common/mod.rs:23:10
[INFO] [stdout]   22:     0x6433f6e87690 - cli_tests[145188d403bdf40b]::test_config_help
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:68:18
[INFO] [stdout]   23:     0x6433f6e86cf7 - cli_tests[145188d403bdf40b]::test_config_help::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:67:22
[INFO] [stdout]   24:     0x6433f6e8a6b6 - <cli_tests[145188d403bdf40b]::test_config_help::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6433f6e8ab6b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x6433f6e8ab6b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x6433f6e973ca - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x6433f6e973ca - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x6433f6e973ca - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x6433f6e91894 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x6433f6e91894 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x6433f6e99ec2 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x6433f6e99ec2 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x6433f6e99ec2 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x6433f6f0580f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x6433f6f0580f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x7911a4a4eaa4 - <unknown>
[INFO] [stdout]   46:     0x7911a4adba64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_download_silence_flag stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_download_silence_flag' (1452) panicked at tests/common/mod.rs:23:10:
[INFO] [stdout] Failed to execute ytdl: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6433f6f05f62 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x6433f6f05f62 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6433f6f1a7ca - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6433f6f1a7ca - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x6433f6f0ad96 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x6433f6f0ad96 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x6433f6ee434f - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x6433f6ee434f - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x6433f6efe299 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6433f6e967be - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x6433f6e967be - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x6433f6efe452 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x6433f6efe452 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x6433f6ee4408 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x6433f6edbdd9 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x6433f6ee525d - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6433f6f1ae9c - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6433f6f1ac12 - core[8f93d80df273fe75]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x6433f6e82aec - <core[8f93d80df273fe75]::result::Result<std[840933623431fd06]::process::Output, std[840933623431fd06]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x6433f6e83420 - cli_tests[145188d403bdf40b]::common::run_ytdl
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/common/mod.rs:23:10
[INFO] [stdout]   22:     0x6433f6e887b2 - cli_tests[145188d403bdf40b]::test_download_silence_flag
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:182:18
[INFO] [stdout]   23:     0x6433f6e86f07 - cli_tests[145188d403bdf40b]::test_download_silence_flag::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:181:32
[INFO] [stdout]   24:     0x6433f6e8a976 - <cli_tests[145188d403bdf40b]::test_download_silence_flag::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6433f6e8ab6b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x6433f6e8ab6b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x6433f6e973ca - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x6433f6e973ca - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x6433f6e973ca - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x6433f6e91894 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x6433f6e91894 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x6433f6e99ec2 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x6433f6e99ec2 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x6433f6e99ec2 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x6433f6f0580f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x6433f6f0580f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x7911a4a4eaa4 - <unknown>
[INFO] [stdout]   46:     0x7911a4adba64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_download_help stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_download_help' (1444) panicked at tests/common/mod.rs:23:10:
[INFO] [stdout] Failed to execute ytdl: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6433f6f05f62 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x6433f6f05f62 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6433f6f1a7ca - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6433f6f1a7ca - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x6433f6f0ad96 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x6433f6f0ad96 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x6433f6ee434f - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x6433f6ee434f - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x6433f6efe299 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6433f6e967be - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x6433f6e967be - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x6433f6efe452 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x6433f6efe452 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x6433f6ee4408 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x6433f6edbdd9 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x6433f6ee525d - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6433f6f1ae9c - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6433f6f1ac12 - core[8f93d80df273fe75]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x6433f6e82aec - <core[8f93d80df273fe75]::result::Result<std[840933623431fd06]::process::Output, std[840933623431fd06]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x6433f6e83420 - cli_tests[145188d403bdf40b]::common::run_ytdl
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/common/mod.rs:23:10
[INFO] [stdout]   22:     0x6433f6e87bdd - cli_tests[145188d403bdf40b]::test_download_help
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:35:18
[INFO] [stdout]   23:     0x6433f6e86d87 - cli_tests[145188d403bdf40b]::test_download_help::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:34:24
[INFO] [stdout]   24:     0x6433f6e8a776 - <cli_tests[145188d403bdf40b]::test_download_help::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6433f6e8ab6b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x6433f6e8ab6b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x6433f6e973ca - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x6433f6e973ca - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x6433f6e973ca - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x6433f6e91894 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x6433f6e91894 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x6433f6e99ec2 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x6433f6e99ec2 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x6433f6e99ec2 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x6433f6f0580f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x6433f6f0580f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x7911a4a4eaa4 - <unknown>
[INFO] [stdout]   46:     0x7911a4adba64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_help_flag stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_help_flag' (1455) panicked at tests/common/mod.rs:23:10:
[INFO] [stdout] Failed to execute ytdl: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6433f6f05f62 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x6433f6f05f62 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6433f6f1a7ca - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6433f6f1a7ca - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x6433f6f0ad96 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x6433f6f0ad96 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x6433f6ee434f - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x6433f6ee434f - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x6433f6efe299 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6433f6e967be - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x6433f6e967be - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x6433f6efe452 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x6433f6efe452 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x6433f6ee4408 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x6433f6edbdd9 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x6433f6ee525d - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6433f6f1ae9c - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6433f6f1ac12 - core[8f93d80df273fe75]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x6433f6e82aec - <core[8f93d80df273fe75]::result::Result<std[840933623431fd06]::process::Output, std[840933623431fd06]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x6433f6e83420 - cli_tests[145188d403bdf40b]::common::run_ytdl
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/common/mod.rs:23:10
[INFO] [stdout]   22:     0x6433f6e87010 - cli_tests[145188d403bdf40b]::test_help_flag
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:10:18
[INFO] [stdout]   23:     0x6433f6e86c67 - cli_tests[145188d403bdf40b]::test_help_flag::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:9:20
[INFO] [stdout]   24:     0x6433f6e8a5f6 - <cli_tests[145188d403bdf40b]::test_help_flag::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6433f6e8ab6b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x6433f6e8ab6b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x6433f6e973ca - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x6433f6e973ca - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x6433f6e973ca - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x6433f6e91894 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x6433f6e91894 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x6433f6e99ec2 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x6433f6e99ec2 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x6433f6e99ec2 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x6433f6f0580f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x6433f6f0580f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x7911a4a4eaa4 - <unknown>
[INFO] [stdout]   46:     0x7911a4adba64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_help_short_flag stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_help_short_flag' (1456) panicked at tests/common/mod.rs:23:10:
[INFO] [stdout] Failed to execute ytdl: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6433f6f05f62 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x6433f6f05f62 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6433f6f1a7ca - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6433f6f1a7ca - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x6433f6f0ad96 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x6433f6f0ad96 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x6433f6ee434f - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x6433f6ee434f - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x6433f6efe299 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6433f6e967be - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x6433f6e967be - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x6433f6efe452 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x6433f6efe452 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x6433f6ee4408 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x6433f6edbdd9 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x6433f6ee525d - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6433f6f1ae9c - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6433f6f1ac12 - core[8f93d80df273fe75]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x6433f6e82aec - <core[8f93d80df273fe75]::result::Result<std[840933623431fd06]::process::Output, std[840933623431fd06]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x6433f6e83420 - cli_tests[145188d403bdf40b]::common::run_ytdl
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/common/mod.rs:23:10
[INFO] [stdout]   22:     0x6433f6e87e2d - cli_tests[145188d403bdf40b]::test_help_short_flag
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:24:18
[INFO] [stdout]   23:     0x6433f6e86db7 - cli_tests[145188d403bdf40b]::test_help_short_flag::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:23:26
[INFO] [stdout]   24:     0x6433f6e8a7b6 - <cli_tests[145188d403bdf40b]::test_help_short_flag::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6433f6e8ab6b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x6433f6e8ab6b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x6433f6e973ca - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x6433f6e973ca - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x6433f6e973ca - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x6433f6e91894 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x6433f6e91894 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x6433f6e99ec2 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x6433f6e99ec2 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x6433f6e99ec2 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x6433f6f0580f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x6433f6f0580f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x7911a4a4eaa4 - <unknown>
[INFO] [stdout]   46:     0x7911a4adba64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_download_verbose_flag stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_download_verbose_flag' (1453) panicked at tests/common/mod.rs:23:10:
[INFO] [stdout] Failed to execute ytdl: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6433f6f05f62 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x6433f6f05f62 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6433f6f1a7ca - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6433f6f1a7ca - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x6433f6f0ad96 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x6433f6f0ad96 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x6433f6ee434f - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x6433f6ee434f - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x6433f6efe299 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6433f6e967be - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x6433f6e967be - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x6433f6efe452 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x6433f6efe452 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x6433f6ee4408 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x6433f6edbdd9 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x6433f6ee525d - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6433f6f1ae9c - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6433f6f1ac12 - core[8f93d80df273fe75]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x6433f6e82aec - <core[8f93d80df273fe75]::result::Result<std[840933623431fd06]::process::Output, std[840933623431fd06]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x6433f6e83420 - cli_tests[145188d403bdf40b]::common::run_ytdl
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/common/mod.rs:23:10
[INFO] [stdout]   22:     0x6433f6e88932 - cli_tests[145188d403bdf40b]::test_download_verbose_flag
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:192:18
[INFO] [stdout]   23:     0x6433f6e86f37 - cli_tests[145188d403bdf40b]::test_download_verbose_flag::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:191:32
[INFO] [stdout]   24:     0x6433f6e8a9b6 - <cli_tests[145188d403bdf40b]::test_download_verbose_flag::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6433f6e8ab6b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x6433f6e8ab6b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x6433f6e973ca - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x6433f6e973ca - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x6433f6e973ca - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x6433f6e91894 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x6433f6e91894 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x6433f6e99ec2 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x6433f6e99ec2 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x6433f6e99ec2 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x6433f6f0580f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x6433f6f0580f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x7911a4a4eaa4 - <unknown>
[INFO] [stdout]   46:     0x7911a4adba64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_audio_format_flags stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_audio_format_flags' (1436) panicked at tests/common/mod.rs:23:10:
[INFO] [stdout] Failed to execute ytdl: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6433f6f05f62 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x6433f6f05f62 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6433f6f1a7ca - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6433f6f1a7ca - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x6433f6f0ad96 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x6433f6f0ad96 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x6433f6ee434f - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x6433f6ee434f - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x6433f6efe299 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6433f6e967be - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x6433f6e967be - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x6433f6efe452 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x6433f6efe452 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x6433f6ee4408 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x6433f6edbdd9 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x6433f6ee525d - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6433f6f1ae9c - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6433f6f1ac12 - core[8f93d80df273fe75]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x6433f6e82aec - <core[8f93d80df273fe75]::result::Result<std[840933623431fd06]::process::Output, std[840933623431fd06]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x6433f6e83420 - cli_tests[145188d403bdf40b]::common::run_ytdl
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/common/mod.rs:23:10
[INFO] [stdout]   22:     0x6433f6e882f2 - cli_tests[145188d403bdf40b]::test_audio_format_flags
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:162:18
[INFO] [stdout]   23:     0x6433f6e86e77 - cli_tests[145188d403bdf40b]::test_audio_format_flags::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:161:29
[INFO] [stdout]   24:     0x6433f6e8a8b6 - <cli_tests[145188d403bdf40b]::test_audio_format_flags::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6433f6e8ab6b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x6433f6e8ab6b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x6433f6e973ca - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x6433f6e973ca - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x6433f6e973ca - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x6433f6e91894 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x6433f6e91894 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x6433f6e99ec2 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x6433f6e99ec2 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x6433f6e99ec2 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x6433f6f0580f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x6433f6f0580f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x7911a4a4eaa4 - <unknown>
[INFO] [stdout]   46:     0x7911a4adba64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_download_quality_flags stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_download_quality_flags' (1451) panicked at tests/common/mod.rs:23:10:
[INFO] [stdout] Failed to execute ytdl: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6433f6f05f62 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x6433f6f05f62 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6433f6f1a7ca - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6433f6f1a7ca - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x6433f6f0ad96 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x6433f6f0ad96 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x6433f6ee434f - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x6433f6ee434f - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x6433f6efe299 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6433f6e967be - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x6433f6e967be - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x6433f6efe452 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x6433f6efe452 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stderr] error: test failed, to rerun pass `--test cli_tests`
[INFO] [stdout]   15:     0x6433f6ee4408 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x6433f6edbdd9 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x6433f6ee525d - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6433f6f1ae9c - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6433f6f1ac12 - core[8f93d80df273fe75]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x6433f6e82aec - <core[8f93d80df273fe75]::result::Result<std[840933623431fd06]::process::Output, std[840933623431fd06]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x6433f6e83420 - cli_tests[145188d403bdf40b]::common::run_ytdl
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/common/mod.rs:23:10
[INFO] [stdout]   22:     0x6433f6e88cd6 - cli_tests[145188d403bdf40b]::test_download_quality_flags
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:145:22
[INFO] [stdout]   23:     0x6433f6e86f67 - cli_tests[145188d403bdf40b]::test_download_quality_flags::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:139:33
[INFO] [stdout]   24:     0x6433f6e8a9f6 - <cli_tests[145188d403bdf40b]::test_download_quality_flags::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6433f6e8ab6b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x6433f6e8ab6b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x6433f6e973ca - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x6433f6e973ca - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x6433f6e973ca - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x6433f6e91894 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x6433f6e91894 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x6433f6e99ec2 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x6433f6e99ec2 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x6433f6e99ec2 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x6433f6f0580f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x6433f6f0580f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x7911a4a4eaa4 - <unknown>
[INFO] [stdout]   46:     0x7911a4adba64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_info_missing_url stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_info_missing_url' (1463) panicked at tests/common/mod.rs:23:10:
[INFO] [stdout] Failed to execute ytdl: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6433f6f05f62 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x6433f6f05f62 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6433f6f1a7ca - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6433f6f1a7ca - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x6433f6f0ad96 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x6433f6f0ad96 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x6433f6ee434f - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x6433f6ee434f - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x6433f6efe299 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6433f6e967be - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x6433f6e967be - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x6433f6efe452 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x6433f6efe452 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x6433f6ee4408 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x6433f6edbdd9 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x6433f6ee525d - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6433f6f1ae9c - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6433f6f1ac12 - core[8f93d80df273fe75]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x6433f6e82aec - <core[8f93d80df273fe75]::result::Result<std[840933623431fd06]::process::Output, std[840933623431fd06]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x6433f6e83420 - cli_tests[145188d403bdf40b]::common::run_ytdl
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/common/mod.rs:23:10
[INFO] [stdout]   22:     0x6433f6e881ca - cli_tests[145188d403bdf40b]::test_info_missing_url
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:131:18
[INFO] [stdout]   23:     0x6433f6e86e17 - cli_tests[145188d403bdf40b]::test_info_missing_url::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:130:27
[INFO] [stdout]   24:     0x6433f6e8a836 - <cli_tests[145188d403bdf40b]::test_info_missing_url::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6433f6e8ab6b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x6433f6e8ab6b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x6433f6e973ca - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x6433f6e973ca - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x6433f6e973ca - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x6433f6e91894 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x6433f6e91894 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x6433f6e99ec2 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x6433f6e99ec2 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x6433f6e99ec2 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x6433f6f0580f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x6433f6f0580f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x7911a4a4eaa4 - <unknown>
[INFO] [stdout]   46:     0x7911a4adba64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_info_help stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_info_help' (1457) panicked at tests/common/mod.rs:23:10:
[INFO] [stdout] Failed to execute ytdl: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6433f6f05f62 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x6433f6f05f62 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6433f6f1a7ca - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6433f6f1a7ca - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x6433f6f0ad96 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x6433f6f0ad96 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x6433f6ee434f - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x6433f6ee434f - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x6433f6efe299 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6433f6e967be - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x6433f6e967be - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x6433f6efe452 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x6433f6efe452 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x6433f6ee4408 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x6433f6edbdd9 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x6433f6ee525d - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6433f6f1ae9c - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6433f6f1ac12 - core[8f93d80df273fe75]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x6433f6e82aec - <core[8f93d80df273fe75]::result::Result<std[840933623431fd06]::process::Output, std[840933623431fd06]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x6433f6e83420 - cli_tests[145188d403bdf40b]::common::run_ytdl
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/common/mod.rs:23:10
[INFO] [stdout]   22:     0x6433f6e8733d - cli_tests[145188d403bdf40b]::test_info_help
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:58:18
[INFO] [stdout]   23:     0x6433f6e86c97 - cli_tests[145188d403bdf40b]::test_info_help::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:57:20
[INFO] [stdout]   24:     0x6433f6e8a636 - <cli_tests[145188d403bdf40b]::test_info_help::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6433f6e8ab6b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x6433f6e8ab6b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x6433f6e973ca - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x6433f6e973ca - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x6433f6e973ca - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x6433f6e91894 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x6433f6e91894 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x6433f6e99ec2 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x6433f6e99ec2 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x6433f6e99ec2 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x6433f6f0580f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x6433f6f0580f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x7911a4a4eaa4 - <unknown>
[INFO] [stdout]   46:     0x7911a4adba64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_download_output_short_flag stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_download_output_short_flag' (1448) panicked at tests/common/mod.rs:23:10:
[INFO] [stdout] Failed to execute ytdl: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6433f6f05f62 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x6433f6f05f62 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6433f6f1a7ca - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6433f6f1a7ca - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x6433f6f0ad96 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x6433f6f0ad96 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x6433f6ee434f - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x6433f6ee434f - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x6433f6efe299 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6433f6e967be - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x6433f6e967be - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x6433f6efe452 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x6433f6efe452 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x6433f6ee4408 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x6433f6edbdd9 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x6433f6ee525d - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6433f6f1ae9c - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6433f6f1ac12 - core[8f93d80df273fe75]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x6433f6e82aec - <core[8f93d80df273fe75]::result::Result<std[840933623431fd06]::process::Output, std[840933623431fd06]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x6433f6e83420 - cli_tests[145188d403bdf40b]::common::run_ytdl
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/common/mod.rs:23:10
[INFO] [stdout]   22:     0x6433f6e88da2 - cli_tests[145188d403bdf40b]::test_download_output_short_flag
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:172:18
[INFO] [stdout]   23:     0x6433f6e86f97 - cli_tests[145188d403bdf40b]::test_download_output_short_flag::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:171:37
[INFO] [stdout]   24:     0x6433f6e8aa36 - <cli_tests[145188d403bdf40b]::test_download_output_short_flag::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6433f6e8ab6b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x6433f6e8ab6b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x6433f6e973ca - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x6433f6e973ca - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x6433f6e973ca - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x6433f6e91894 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x6433f6e91894 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x6433f6e99ec2 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x6433f6e99ec2 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x6433f6e99ec2 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x6433f6f0580f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x6433f6f0580f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x7911a4a4eaa4 - <unknown>
[INFO] [stdout]   46:     0x7911a4adba64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_invalid_command stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_invalid_command' (1464) panicked at tests/common/mod.rs:23:10:
[INFO] [stdout] Failed to execute ytdl: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6433f6f05f62 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x6433f6f05f62 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6433f6f1a7ca - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6433f6f1a7ca - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x6433f6f0ad96 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x6433f6f0ad96 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x6433f6ee434f - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x6433f6ee434f - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x6433f6efe299 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6433f6e967be - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x6433f6e967be - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x6433f6efe452 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x6433f6efe452 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x6433f6ee4408 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x6433f6edbdd9 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x6433f6ee525d - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6433f6f1ae9c - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6433f6f1ac12 - core[8f93d80df273fe75]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x6433f6e82aec - <core[8f93d80df273fe75]::result::Result<std[840933623431fd06]::process::Output, std[840933623431fd06]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x6433f6e83420 - cli_tests[145188d403bdf40b]::common::run_ytdl
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/common/mod.rs:23:10
[INFO] [stdout]   22:     0x6433f6e8800d - cli_tests[145188d403bdf40b]::test_invalid_command
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:104:18
[INFO] [stdout]   23:     0x6433f6e86de7 - cli_tests[145188d403bdf40b]::test_invalid_command::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:103:26
[INFO] [stdout]   24:     0x6433f6e8a7f6 - <cli_tests[145188d403bdf40b]::test_invalid_command::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6433f6e8ab6b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x6433f6e8ab6b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x6433f6e973ca - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x6433f6e973ca - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x6433f6e973ca - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x6433f6e91894 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x6433f6e91894 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x6433f6e99ec2 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x6433f6e99ec2 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x6433f6e99ec2 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x6433f6f0580f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x6433f6f0580f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x7911a4a4eaa4 - <unknown>
[INFO] [stdout]   46:     0x7911a4adba64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_no_arguments stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_no_arguments' (1468) panicked at tests/common/mod.rs:23:10:
[INFO] [stdout] Failed to execute ytdl: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6433f6f05f62 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x6433f6f05f62 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6433f6f1a7ca - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6433f6f1a7ca - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x6433f6f0ad96 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x6433f6f0ad96 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x6433f6ee434f - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x6433f6ee434f - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x6433f6efe299 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6433f6e967be - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x6433f6e967be - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x6433f6efe452 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x6433f6efe452 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x6433f6ee4408 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x6433f6edbdd9 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x6433f6ee525d - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6433f6f1ae9c - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6433f6f1ac12 - core[8f93d80df273fe75]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x6433f6e82aec - <core[8f93d80df273fe75]::result::Result<std[840933623431fd06]::process::Output, std[840933623431fd06]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x6433f6e83420 - cli_tests[145188d403bdf40b]::common::run_ytdl
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/common/mod.rs:23:10
[INFO] [stdout]   22:     0x6433f6e879b7 - cli_tests[145188d403bdf40b]::test_no_arguments
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:96:18
[INFO] [stdout]   23:     0x6433f6e86d27 - cli_tests[145188d403bdf40b]::test_no_arguments::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:95:23
[INFO] [stdout]   24:     0x6433f6e8a6f6 - <cli_tests[145188d403bdf40b]::test_no_arguments::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6433f6e8ab6b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x6433f6e8ab6b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x6433f6e973ca - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x6433f6e973ca - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x6433f6e973ca - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x6433f6e91894 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x6433f6e91894 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x6433f6e99ec2 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x6433f6e99ec2 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x6433f6e99ec2 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x6433f6f0580f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x6433f6f0580f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x7911a4a4eaa4 - <unknown>
[INFO] [stdout]   46:     0x7911a4adba64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_version_flag stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_version_flag' (1469) panicked at tests/common/mod.rs:23:10:
[INFO] [stdout] Failed to execute ytdl: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x6433f6f05f62 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x6433f6f05f62 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x6433f6f05f62 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x6433f6f1a7ca - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x6433f6f1a7ca - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x6433f6f0ad96 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x6433f6f0ad96 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x6433f6ee434f - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x6433f6ee434f - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x6433f6efe299 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6433f6e967be - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x6433f6e967be - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x6433f6efe452 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x6433f6efe452 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x6433f6ee4408 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x6433f6edbdd9 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x6433f6ee525d - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x6433f6f1ae9c - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x6433f6f1ac12 - core[8f93d80df273fe75]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x6433f6e82aec - <core[8f93d80df273fe75]::result::Result<std[840933623431fd06]::process::Output, std[840933623431fd06]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x6433f6e83420 - cli_tests[145188d403bdf40b]::common::run_ytdl
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/common/mod.rs:23:10
[INFO] [stdout]   22:     0x6433f6e87a6d - cli_tests[145188d403bdf40b]::test_version_flag
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:84:18
[INFO] [stdout]   23:     0x6433f6e86d57 - cli_tests[145188d403bdf40b]::test_version_flag::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:83:23
[INFO] [stdout]   24:     0x6433f6e8a736 - <cli_tests[145188d403bdf40b]::test_version_flag::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6433f6e8ab6b - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x6433f6e8ab6b - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   27:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   28:     0x6433f6e973ca - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   29:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x6433f6e973ca - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x6433f6e973ca - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x6433f6e973ca - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   33:     0x6433f6e973ca - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   34:     0x6433f6e91894 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   35:     0x6433f6e91894 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   37:     0x6433f6e99ec2 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   38:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x6433f6e99ec2 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x6433f6e99ec2 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x6433f6e99ec2 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   42:     0x6433f6e99ec2 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x6433f6f0580f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   44:     0x6433f6f0580f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   45:     0x7911a4a4eaa4 - <unknown>
[INFO] [stdout]   46:     0x7911a4adba64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     test_audio_format_flags
[INFO] [stdout]     test_audio_help
[INFO] [stdout]     test_audio_missing_url
[INFO] [stdout]     test_config_help
[INFO] [stdout]     test_download_format_flags
[INFO] [stdout]     test_download_help
[INFO] [stdout]     test_download_missing_url
[INFO] [stdout]     test_download_output_short_flag
[INFO] [stdout]     test_download_quality_flags
[INFO] [stdout]     test_download_silence_flag
[INFO] [stdout]     test_download_verbose_flag
[INFO] [stdout]     test_help_flag
[INFO] [stdout]     test_help_short_flag
[INFO] [stdout]     test_info_help
[INFO] [stdout]     test_info_missing_url
[INFO] [stdout]     test_invalid_command
[INFO] [stdout]     test_no_arguments
[INFO] [stdout]     test_version_flag
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 18 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "5205add44c5cdcedf7671166b7910bb854ccad7145fd4085aa31b7d8524a14f1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5205add44c5cdcedf7671166b7910bb854ccad7145fd4085aa31b7d8524a14f1", kill_on_drop: false }`
[INFO] [stdout] 5205add44c5cdcedf7671166b7910bb854ccad7145fd4085aa31b7d8524a14f1
