[INFO] fetching crate auto-ytdlp 1.1.2... [INFO] testing auto-ytdlp-1.1.2 against master#f9988fefd3add01f414f52b414308e7872622fee for pr-155114 [INFO] extracting crate auto-ytdlp 1.1.2 into /workspace/builds/worker-1-tc1/source [INFO] started tweaking crates.io crate auto-ytdlp 1.1.2 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate auto-ytdlp 1.1.2 [INFO] tweaked toml for crates.io crate auto-ytdlp 1.1.2 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate auto-ytdlp 1.1.2 on toolchain f9988fefd3add01f414f52b414308e7872622fee [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate auto-ytdlp 1.1.2 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" "+f9988fefd3add01f414f52b414308e7872622fee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded kasuari v0.4.11 [INFO] [stderr] Downloaded instability v0.3.11 [INFO] [stderr] Downloaded line-clipping v0.3.5 [INFO] [stderr] Downloaded notify-rust v4.12.0 [INFO] [stderr] Downloaded zbus_names v4.3.1 [INFO] [stderr] Downloaded euclid v0.22.13 [INFO] [stderr] Downloaded zvariant_utils v3.3.0 [INFO] [stderr] Downloaded mac-notification-sys v0.6.9 [INFO] [stderr] Downloaded windows-version v0.1.7 [INFO] [stderr] Downloaded zvariant_derive v5.9.2 [INFO] [stderr] Downloaded toml_parser v1.0.8+spec-1.1.0 [INFO] [stderr] Downloaded tauri-winrt-notification v0.7.2 [INFO] [stderr] Downloaded zbus_macros v5.13.2 [INFO] [stderr] Downloaded tree_magic_mini v3.2.2 [INFO] [stderr] Downloaded os_pipe v1.2.3 [INFO] [stderr] Downloaded wayland-sys v0.31.8 [INFO] [stderr] Downloaded wayland-protocols-wlr v0.3.10 [INFO] [stderr] Downloaded wayland-scanner v0.31.8 [INFO] [stderr] Downloaded zvariant v5.9.2 [INFO] [stderr] Downloaded wayland-client v0.31.12 [INFO] [stderr] Downloaded wl-clipboard-rs v0.9.3 [INFO] [stderr] Downloaded wayland-backend v0.3.12 [INFO] [stderr] Downloaded quick-xml v0.37.5 [INFO] [stderr] Downloaded zbus v5.13.2 [INFO] [stderr] Downloaded wayland-protocols v0.32.10 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b3bd289331619ddf4d500b662b7d946c0e53e546424cdd86d06d433f2d13ab2d [INFO] running `Command { std: "docker" "start" "-a" "b3bd289331619ddf4d500b662b7d946c0e53e546424cdd86d06d433f2d13ab2d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b3bd289331619ddf4d500b662b7d946c0e53e546424cdd86d06d433f2d13ab2d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b3bd289331619ddf4d500b662b7d946c0e53e546424cdd86d06d433f2d13ab2d", kill_on_drop: false }` [INFO] [stdout] b3bd289331619ddf4d500b662b7d946c0e53e546424cdd86d06d433f2d13ab2d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7c10164b4750cc08937bbb8c906702cd87eb500d796a844f706edd7ede1e5c26 [INFO] running `Command { std: "docker" "start" "-a" "7c10164b4750cc08937bbb8c906702cd87eb500d796a844f706edd7ede1e5c26", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling unicode-ident v1.0.23 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling allocator-api2 v0.2.21 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling foldhash v0.2.0 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling toml_datetime v0.7.5+spec-1.1.0 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling concurrent-queue v2.5.0 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling rustversion v1.0.22 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling wayland-sys v0.31.8 [INFO] [stderr] Compiling event-listener v5.4.1 [INFO] [stderr] Compiling futures-lite v2.6.1 [INFO] [stderr] Compiling endi v1.1.1 [INFO] [stderr] Compiling cc v1.2.56 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling quick-xml v0.38.4 [INFO] [stderr] Compiling async-io v2.6.0 [INFO] [stderr] Compiling simd-adler32 v0.3.8 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Compiling instability v0.3.11 [INFO] [stderr] Compiling wayland-client v0.31.12 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling event-listener-strategy v0.5.4 [INFO] [stderr] Compiling convert_case v0.10.0 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling syn v2.0.115 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling foldhash v0.1.5 [INFO] [stderr] Compiling async-task v4.7.1 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling hashbrown v0.15.5 [INFO] [stderr] Compiling deranged v0.5.6 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling castaway v0.2.4 [INFO] [stderr] Compiling compact_str v0.9.0 [INFO] [stderr] Compiling async-channel v2.5.0 [INFO] [stderr] Compiling wayland-scanner v0.31.8 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling num_threads v0.1.7 [INFO] [stderr] Compiling fixedbitset v0.5.7 [INFO] [stderr] Compiling lru v0.16.3 [INFO] [stderr] Compiling toml_parser v1.0.8+spec-1.1.0 [INFO] [stderr] Compiling litrs v1.0.0 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling piper v0.2.4 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling pxfm v0.1.27 [INFO] [stderr] Compiling async-lock v3.4.2 [INFO] [stderr] Compiling toml_edit v0.23.10+spec-1.0.0 [INFO] [stderr] Compiling fdeflate v0.3.7 [INFO] [stderr] Compiling wayland-backend v0.3.12 [INFO] [stderr] Compiling nom v8.0.0 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling unicode-truncate v2.0.1 [INFO] [stderr] Compiling line-clipping v0.3.5 [INFO] [stderr] Compiling blocking v1.6.2 [INFO] [stderr] Compiling png v0.18.1 [INFO] [stderr] Compiling async-executor v1.14.0 [INFO] [stderr] Compiling async-broadcast v0.7.2 [INFO] [stderr] Compiling document-features v0.2.12 [INFO] [stderr] Compiling uuid v1.21.0 [INFO] [stderr] Compiling petgraph v0.8.3 [INFO] [stderr] Compiling os_pipe v1.2.3 [INFO] [stderr] Compiling ordered-stream v0.2.0 [INFO] [stderr] Compiling byteorder-lite v0.1.0 [INFO] [stderr] Compiling bytemuck v1.25.0 [INFO] [stderr] Compiling proc-macro-crate v3.4.0 [INFO] [stderr] Compiling anyhow v1.0.101 [INFO] [stderr] Compiling x11rb-protocol v0.13.2 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling clap_builder v4.5.58 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling moxcms v0.7.11 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling enumflags2_derive v0.7.12 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling serde_repr v0.1.20 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling tree_magic_mini v3.2.2 [INFO] [stderr] Compiling polling v3.11.0 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling gethostname v1.1.0 [INFO] [stderr] Compiling x11rb v0.13.2 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling async-signal v0.2.13 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling async-process v2.5.0 [INFO] [stderr] Compiling kasuari v0.4.11 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling strum v0.27.2 [INFO] [stderr] Compiling ratatui-core v0.1.0 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling clap v4.5.58 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling ratatui-widgets v0.3.0 [INFO] [stderr] Compiling ratatui-crossterm v0.1.0 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling wayland-protocols v0.32.10 [INFO] [stderr] Compiling zvariant_utils v3.3.0 [INFO] [stderr] Compiling enumflags2 v0.7.12 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling zvariant_derive v5.9.2 [INFO] [stderr] Compiling image v0.25.9 [INFO] [stderr] Compiling zvariant v5.9.2 [INFO] [stderr] Compiling ratatui-macros v0.7.0 [INFO] [stderr] Compiling ratatui v0.30.0 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling zbus_names v4.3.1 [INFO] [stderr] Compiling zbus_macros v5.13.2 [INFO] [stderr] Compiling wayland-protocols-wlr v0.3.10 [INFO] [stderr] Compiling wl-clipboard-rs v0.9.3 [INFO] [stderr] Compiling zbus v5.13.2 [INFO] [stderr] Compiling arboard v3.6.1 [INFO] [stderr] Compiling notify-rust v4.12.0 [INFO] [stderr] Compiling auto-ytdlp v1.1.2 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 52s [INFO] running `Command { std: "docker" "inspect" "7c10164b4750cc08937bbb8c906702cd87eb500d796a844f706edd7ede1e5c26", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7c10164b4750cc08937bbb8c906702cd87eb500d796a844f706edd7ede1e5c26", kill_on_drop: false }` [INFO] [stdout] 7c10164b4750cc08937bbb8c906702cd87eb500d796a844f706edd7ede1e5c26 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9e4533962d2813f0bad7525385a462b5f29ba01cddf06b5d8a62bc6f7ee48c75 [INFO] running `Command { std: "docker" "start" "-a" "9e4533962d2813f0bad7525385a462b5f29ba01cddf06b5d8a62bc6f7ee48c75", kill_on_drop: false }` [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling tempfile v3.25.0 [INFO] [stderr] Compiling auto-ytdlp v1.1.2 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 6.72s [INFO] running `Command { std: "docker" "inspect" "9e4533962d2813f0bad7525385a462b5f29ba01cddf06b5d8a62bc6f7ee48c75", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9e4533962d2813f0bad7525385a462b5f29ba01cddf06b5d8a62bc6f7ee48c75", kill_on_drop: false }` [INFO] [stdout] 9e4533962d2813f0bad7525385a462b5f29ba01cddf06b5d8a62bc6f7ee48c75 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] c43e788cb3c7806d43ac63dc43df0d1145da9748ef2720757929cd885391a60e [INFO] running `Command { std: "docker" "start" "-a" "c43e788cb3c7806d43ac63dc43df0d1145da9748ef2720757929cd885391a60e", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.41s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/auto_ytdlp-3bf8586ab0120401) [INFO] [stdout] [INFO] [stdout] running 348 tests [INFO] [stdout] test app_state::tests::test_acquire_file_lock ... ok [INFO] [stdout] test app_state::tests::test_download_progress_default ... ok [INFO] [stdout] test app_state::tests::test_download_progress_new_other_url ... ok [INFO] [stdout] test app_state::tests::test_add_log ... ok [INFO] [stdout] test app_state::tests::test_failed_downloads_initially_empty ... ok [INFO] [stdout] test app_state::tests::test_download_progress_new_youtube ... ok [INFO] [stdout] test app_state::tests::test_clear_toast ... ok [INFO] [stdout] test app_state::tests::test_clear_logs ... ok [INFO] [stdout] test app_state::tests::test_increment_and_reset_retries ... ok [INFO] [stdout] test app_state::tests::test_get_settings ... ok [INFO] [stdout] test app_state::tests::test_concurrent_get_settings ... ok [INFO] [stdout] test app_state::tests::test_concurrent_log_writes ... ok [INFO] [stdout] test app_state::tests::test_concurrent_flag_access ... ok [INFO] [stdout] test app_state::tests::test_log_error ... ok [INFO] [stdout] test app_state::tests::test_log_limit_1000 ... ok [INFO] [stdout] test app_state::tests::test_add_active_download ... ok [INFO] [stdout] test app_state::tests::test_add_multiple_failed_downloads ... ok [INFO] [stdout] test app_state::tests::test_add_failed_download ... ok [INFO] [stdout] test app_state::tests::test_get_queue_returns_copy ... ok [INFO] [stdout] test app_state::tests::test_all_state_messages_are_processed ... ok [INFO] [stdout] test app_state::tests::test_add_failed_download_no_duplicates ... ok [INFO] [stdout] test app_state::tests::test_add_to_queue ... ok [INFO] [stdout] test app_state::tests::test_load_links_updates_stats ... ok [INFO] [stdout] test app_state::tests::test_multiple_active_downloads ... ok [INFO] [stdout] test app_state::tests::test_concurrent_queue_access ... ok [INFO] [stdout] test app_state::tests::test_new_batch_preserves_counters_when_cumulative_mode_enabled ... ok [INFO] [stdout] test app_state::tests::test_new_batch_resets_counters_by_default ... ok [INFO] [stdout] test app_state::tests::test_new_creates_default_state ... ok [INFO] [stdout] test app_state::tests::test_new_has_welcome_logs ... ok [INFO] [stdout] test app_state::tests::test_new_loads_settings ... ok [INFO] [stdout] test app_state::tests::test_notification_can_be_marked_as_sent ... ok [INFO] [stdout] test app_state::tests::test_notification_not_sent_initially ... ok [INFO] [stdout] test app_state::tests::test_notification_lifecycle_across_multiple_runs ... ok [INFO] [stdout] test app_state::tests::test_notification_flag_resets_on_new_run ... ok [INFO] [stdout] test app_state::tests::test_new_creates_empty_queue ... ok [INFO] [stdout] test app_state::tests::test_pop_queue_empty ... ok [INFO] [stdout] test app_state::tests::test_set_concurrent ... ok [INFO] [stdout] test app_state::tests::test_increment_completed ... ok [INFO] [stdout] test app_state::tests::test_load_links_replaces_queue ... ok [INFO] [stdout] test app_state::tests::test_cumulative_mode_accumulates_across_batches ... ok [INFO] [stdout] test app_state::tests::test_notification_flag_independent_of_completion_state ... ok [INFO] [stdout] test app_state::tests::test_show_toast ... ok [INFO] [stdout] test app_state::tests::test_refresh_all_download_timestamps ... ok [INFO] [stdout] test app_state::tests::test_show_toast_accepts_string ... ok [INFO] [stdout] test app_state::tests::test_remove_from_queue_invalid_index ... ok [INFO] [stdout] test app_state::tests::test_pop_queue_returns_front ... ok [INFO] [stdout] test app_state::tests::test_progress_zero_when_no_tasks ... ok [INFO] [stdout] test app_state::tests::test_remove_from_queue_valid_index ... ok [INFO] [stdout] test app_state::tests::test_reset_for_new_run_clears_failed_downloads ... ok [INFO] [stdout] test app_state::tests::test_set_completed ... ok [INFO] [stdout] test app_state::tests::test_take_failed_downloads_empty ... ok [INFO] [stdout] test app_state::tests::test_reset_for_new_run ... ok [INFO] [stdout] test app_state::tests::test_toast_auto_expiry ... ok [INFO] [stdout] test app_state::tests::test_ui_snapshot_includes_retry_count ... ok [INFO] [stdout] test app_state::tests::test_set_shutdown ... ok [INFO] [stdout] test app_state::tests::test_set_force_quit ... ok [INFO] [stdout] test app_state::tests::test_update_settings ... ok [INFO] [stdout] test args::tests::test_archive_file_flag_short ... ok [INFO] [stdout] test args::tests::test_archive_file_flag_long ... ok [INFO] [stdout] test args::tests::test_auto_flag_long ... ok [INFO] [stdout] test args::tests::test_args_clone ... ok [INFO] [stdout] test args::tests::test_auto_flag_short ... ok [INFO] [stdout] test args::tests::test_concurrent_flag_long ... ok [INFO] [stdout] test args::tests::test_concurrent_flag_short ... ok [INFO] [stdout] test args::tests::test_default_values ... ok [INFO] [stdout] test args::tests::test_download_dir_flag_long ... ok [INFO] [stdout] test args::tests::test_download_dir_flag_short ... ok [INFO] [stdout] test args::tests::test_output_template_caching ... ok [INFO] [stdout] test downloader::common::tests::test_build_ytdlp_command_args_always_includes_newline ... ok [INFO] [stdout] test downloader::common::tests::test_build_ytdlp_command_args_audio_only_format ... ok [INFO] [stdout] test downloader::common::tests::test_build_ytdlp_command_args_auto_output_no_merge_format ... ok [INFO] [stdout] test downloader::common::tests::test_build_ytdlp_command_args_best_format ... ok [INFO] [stdout] test downloader::common::tests::test_build_ytdlp_command_args_full_settings ... ok [INFO] [stdout] test downloader::common::tests::test_build_ytdlp_command_args_hd1080p_format ... ok [INFO] [stdout] test downloader::common::tests::test_build_ytdlp_command_args_includes_archive_file ... ok [INFO] [stdout] test downloader::common::tests::test_build_ytdlp_command_args_includes_output_template ... ok [INFO] [stdout] test downloader::common::tests::test_build_ytdlp_command_args_includes_progress_template ... ok [INFO] [stdout] test downloader::common::tests::test_build_ytdlp_command_args_includes_url ... ok [INFO] [stdout] test downloader::common::tests::test_build_ytdlp_command_args_mp3_output ... ok [INFO] [stdout] test downloader::common::tests::test_build_ytdlp_command_args_mp4_output ... ok [INFO] [stdout] test downloader::common::tests::test_build_ytdlp_command_args_with_custom_args ... ok [INFO] [stdout] test downloader::common::tests::test_build_ytdlp_command_args_with_metadata ... ok [INFO] [stdout] test downloader::common::tests::test_build_ytdlp_command_args_with_subtitles ... ok [INFO] [stdout] test downloader::common::tests::test_build_ytdlp_command_args_with_thumbnail ... ok [INFO] [stdout] test downloader::common::tests::test_build_ytdlp_command_args_without_metadata ... ok [INFO] [stdout] test downloader::common::tests::test_build_ytdlp_command_args_without_subtitles ... ok [INFO] [stdout] test downloader::common::tests::test_build_ytdlp_command_args_without_thumbnail ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_100_percent ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_already_downloaded_archive ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_already_downloaded_file_exists ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_destination ... ok [INFO] [stdout] test app_state::tests::test_swap_queue_items_invalid_index ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_download_line_with_already_downloaded_returns_info ... ok [INFO] [stdout] test app_state::tests::test_swap_queue_items_same_index ... ok [INFO] [stdout] test app_state::tests::test_swap_queue_items_valid ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_error ... ok [INFO] [stdout] test app_state::tests::test_switching_modes_mid_session ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_fragment_progress_with_fragment_keyword ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_ignore_empty_line ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_ignore_extract_audio_without_destination ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_ignore_info ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_error_inline ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_destination_non_download_prefix ... ok [INFO] [stdout] test app_state::tests::test_ui_snapshot_captures_all_state ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_optional_string_na_variants ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_optional_string_valid ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_optional_u64_invalid ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_optional_u32_valid ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_optional_u32_invalid ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_percent_with_symbol ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_percent_without_symbol ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_post_process_ffmpeg ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_extract_audio_with_destination_returns_destination ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_fragment_progress_downloading_item ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_percent_invalid ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_post_process_merger ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_progress_speed_at_end_of_line ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_progress_template_finished_status ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_progress_template ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_progress_template_malformed_missing_end_marker ... ok [INFO] [stdout] test app_state::tests::test_set_paused ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_progress_template_with_fragments ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_progress_without_eta ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_progress_template_unknown_eta ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_size_string_bytes ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_progress_template_na_speed ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_size_string_gib ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_size_string_invalid ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_size_string_kib ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_size_string_mib ... ok [INFO] [stdout] test downloader::queue::tests::test_concurrent_default_value ... ok [INFO] [stdout] test downloader::queue::tests::test_force_quit_flag_default_false ... ok [INFO] [stdout] test app_state::tests::test_auto_completion_detection ... ok [INFO] [stdout] test app_state::tests::test_ui_snapshot_includes_failed_count ... ok [INFO] [stdout] test downloader::queue::tests::test_pop_queue_empty_returns_none ... ok [INFO] [stdout] test downloader::queue::tests::test_get_concurrent_returns_expected_value ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_traditional_progress ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_progress_template_malformed_too_few_parts ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_ignore_youtube_extractor ... ok [INFO] [stdout] test downloader::worker::tests::test_check_network_error_case_sensitive ... ok [INFO] [stdout] test downloader::queue::tests::test_shutdown_flag_default_false ... ok [INFO] [stdout] test downloader::worker::tests::test_check_network_error_connection ... ok [INFO] [stdout] test downloader::worker::tests::test_check_network_error_empty_string ... ok [INFO] [stdout] test downloader::worker::tests::test_check_network_error_false_positives ... ok [INFO] [stdout] test downloader::worker::tests::test_check_network_error_http_error ... ok [INFO] [stdout] test downloader::worker::tests::test_check_network_error_network ... ok [INFO] [stdout] test downloader::worker::tests::test_check_network_error_partial_matches ... ok [INFO] [stdout] test downloader::worker::tests::test_check_network_error_ssl ... ok [INFO] [stdout] test downloader::worker::tests::test_check_network_error_unable_to_download ... ok [INFO] [stdout] test downloader::worker::tests::test_check_network_error_timeout ... ok [INFO] [stdout] test errors::tests::test_anyhow_error_conversion ... ok [INFO] [stdout] test errors::tests::test_error_display_clipboard ... ok [INFO] [stdout] test errors::tests::test_error_display_channel ... ok [INFO] [stdout] test errors::tests::test_error_display_io ... ok [INFO] [stdout] test errors::tests::test_error_display_lock ... ok [INFO] [stdout] test errors::tests::test_error_display_other ... ok [INFO] [stdout] test ui::settings_menu::tests::test_all_presets_include_reset_stats_setting ... ok [INFO] [stdout] test app_state::tests::test_remove_active_download ... ok [INFO] [stdout] test app_state::tests::test_set_started ... ok [INFO] [stdout] test app_state::tests::test_per_session_mode_fresh_count_each_batch ... ok [INFO] [stdout] test ui::settings_menu::tests::test_cookies_browser_chrome ... ok [INFO] [stdout] test ui::settings_menu::tests::test_cookies_browser_none_clears ... ok [INFO] [stdout] test args::tests::test_combined_flags ... ok [INFO] [stdout] test downloader::progress_parser::tests::test_parse_optional_u64_valid ... ok [INFO] [stdout] test app_state::tests::test_take_failed_downloads_drains ... ok [INFO] [stdout] test ui::settings_menu::tests::test_cookies_browser_selection ... ok [INFO] [stdout] test ui::settings_menu::tests::test_custom_args_validation_conflict_short_output ... ok [INFO] [stdout] test ui::settings_menu::tests::test_custom_args_validation_conflict_output ... ok [INFO] [stdout] test ui::settings_menu::tests::test_custom_args_validation_empty_is_valid ... ok [INFO] [stdout] test ui::settings_menu::tests::test_custom_args_validation_conflict_download_archive ... ok [INFO] [stdout] test app_state::tests::test_update_download_progress ... ok [INFO] [stdout] test ui::settings_menu::tests::test_custom_args_validation_unmatched_quotes ... ok [INFO] [stdout] test app_state::tests::test_update_progress_calculation ... ok [INFO] [stdout] test ui::settings_menu::tests::test_custom_args_validation_valid_args ... ok [INFO] [stdout] test ui::settings_menu::tests::test_preset_bandwidth_saver_applies_correct_settings ... ok [INFO] [stdout] test ui::settings_menu::tests::test_output_format_mp3_string_varies_by_preset ... ok [INFO] [stdout] test ui::settings_menu::tests::test_preset_fast_download_applies_correct_settings ... ok [INFO] [stdout] test ui::settings_menu::tests::test_output_format_to_string ... ok [INFO] [stdout] test ui::settings_menu::tests::test_format_preset_to_string ... ok [INFO] [stdout] test ui::settings_menu::tests::test_preset_audio_archive_applies_correct_settings ... ok [INFO] [stdout] test ui::settings_menu::tests::test_preset_best_quality_applies_correct_settings ... ok [INFO] [stdout] test ui::settings_menu::tests::test_handle_input_returns_false_when_not_visible ... ok [INFO] [stdout] test ui::settings_menu::tests::test_rate_limit_custom_input ... ok [INFO] [stdout] test ui::settings_menu::tests::test_rate_limit_preset_selection ... ok [INFO] [stdout] test ui::settings_menu::tests::test_rate_limit_unlimited_clears_value ... ok [INFO] [stdout] test downloader::queue::tests::test_force_quit_flag_can_be_set ... ok [INFO] [stdout] test ui::settings_menu::tests::test_reset_confirmation_esc_cancels ... ok [INFO] [stdout] test ui::settings_menu::tests::test_reset_confirmation_n_cancels ... ok [INFO] [stdout] test ui::settings_menu::tests::test_reset_confirmation_y_resets ... ok [INFO] [stdout] test ui::settings_menu::tests::test_setting_descriptions_count ... ok [INFO] [stdout] test ui::settings_menu::tests::test_reset_stats_setting_can_be_disabled ... ok [INFO] [stdout] test ui::settings_menu::tests::test_reset_stats_setting_can_be_enabled ... ok [INFO] [stdout] test ui::settings_menu::tests::test_reset_stats_setting_defaults_to_enabled ... ok [INFO] [stdout] test ui::settings_menu::tests::test_settings_menu_boolean_toggle_network_retry ... ok [INFO] [stdout] test ui::settings_menu::tests::test_reset_stats_setting_persists_to_app_state ... ok [INFO] [stdout] test ui::settings_menu::tests::test_settings_menu_navigation_up ... ok [INFO] [stdout] test ui::settings_menu::tests::test_settings_menu_toggle_closes ... ok [INFO] [stdout] test ui::settings_menu::tests::test_settings_menu_initial_not_visible ... ok [INFO] [stdout] test ui::settings_menu::tests::test_settings_menu_navigation_down ... ok [INFO] [stdout] test ui::settings_menu::tests::test_settings_menu_toggle_resets_state ... ok [INFO] [stdout] test ui::settings_menu::tests::test_settings_menu_navigation_up_at_top ... ok [INFO] [stdout] test ui::settings_menu::tests::test_settings_menu_navigation_down_at_bottom ... ok [INFO] [stdout] test downloader::queue::tests::test_pop_queue_returns_url ... ok [INFO] [stdout] test ui::settings_menu::tests::test_settings_preset_descriptions ... ok [INFO] [stdout] test ui::settings_menu::tests::test_settings_preset_names ... ok [INFO] [stdout] test downloader::queue::tests::test_process_queue_empty_queue_does_not_start ... ok [INFO] [stdout] test downloader::queue::tests::test_queue_can_hold_urls ... ok [INFO] [stdout] test ui::settings_menu::tests::test_sponsorblock_toggle_on ... ok [INFO] [stdout] test ui::settings_menu::tests::test_total_menu_items_count ... ok [INFO] [stdout] test ui::tui::input::tests::test_download_state_default ... ok [INFO] [stdout] test ui::tui::input::tests::test_edit_mode_e_exits ... ok [INFO] [stdout] test ui::tui::input::tests::test_edit_mode_enter_exits ... ok [INFO] [stdout] test ui::settings_menu::tests::test_sponsorblock_toggle_off ... ok [INFO] [stdout] test ui::tui::input::tests::test_edit_mode_esc_exits ... ok [INFO] [stdout] test downloader::queue::tests::test_shutdown_flag_can_be_set ... ok [INFO] [stdout] test ui::tui::input::tests::test_edit_mode_up_navigation ... ok [INFO] [stdout] test ui::tui::input::tests::test_filter_mode_backspace_on_empty_string ... ok [INFO] [stdout] test ui::tui::input::tests::test_filter_mode_enter_keeps_filter ... ok [INFO] [stdout] test ui::tui::input::tests::test_force_quit_state_check_timeout_preserves_valid_state ... ok [INFO] [stdout] test ui::tui::input::tests::test_filter_mode_esc_clears_filter ... ok [INFO] [stdout] test ui::tui::input::tests::test_filter_mode_char_input_adds_to_filter ... ok [INFO] [stdout] test ui::tui::input::tests::test_filter_mode_backspace_removes_char ... ok [INFO] [stdout] test ui::tui::input::tests::test_force_quit_state_check_timeout_resets_state ... ok [INFO] [stdout] test ui::tui::input::tests::test_help_overlay_f1_closes ... ok [INFO] [stdout] test ui::tui::input::tests::test_force_quit_state_not_confirmed_after_timeout ... ok [INFO] [stdout] test ui::tui::input::tests::test_edit_mode_up_navigation_at_zero ... ok [INFO] [stdout] test ui::tui::input::tests::test_help_overlay_esc_closes ... ok [INFO] [stdout] test ui::tui::input::tests::test_help_overlay_other_keys_continue ... ok [INFO] [stdout] test ui::tui::input::tests::test_force_quit_state_confirmed_within_timeout ... ok [INFO] [stdout] test ui::tui::input::tests::test_force_quit_state_pending_not_confirmed_without_time ... ok [INFO] [stdout] test ui::tui::input::tests::test_normal_mode_shift_q_confirms_force_quit ... ok [INFO] [stdout] test ui::tui::input::tests::test_normal_mode_q_graceful_quit ... ok [INFO] [stdout] test ui::tui::input::tests::test_normal_mode_shift_q_initiates_force_quit ... ok [INFO] [stdout] test ui::tui::input::tests::test_normal_mode_slash_enters_filter_mode ... ok [INFO] [stdout] test ui::tui::input::tests::test_normal_mode_t_handled ... ok [INFO] [stdout] test ui::tui::input::tests::test_normal_mode_t_no_failed_logs_message ... ok [INFO] [stdout] test ui::tui::render::tests::test_truncate_display_name_emoji ... ok [INFO] [stdout] test ui::tui::render::tests::test_truncate_display_name_empty ... ok [INFO] [stdout] test ui::tui::render::tests::test_truncate_display_name_exact_fit ... ok [INFO] [stdout] test ui::tui::render::tests::test_truncate_display_name_long_ascii ... ok [INFO] [stdout] test ui::tui::input::tests::test_normal_mode_unknown_key_unhandled ... ok [INFO] [stdout] test ui::tui::render::tests::test_truncate_display_name_mixed_ascii_and_unicode ... ok [INFO] [stdout] test ui::settings_menu::tests::test_settings_menu_esc_closes ... ok [INFO] [stdout] test ui::settings_menu::tests::test_settings_menu_boolean_toggle_write_thumbnail ... ok [INFO] [stdout] test ui::tui::input::tests::test_normal_mode_u_handled ... ok [INFO] [stdout] test ui::tui::render::tests::test_truncate_display_name_unicode_no_truncation ... ok [INFO] [stdout] test ui::tui::input::tests::test_force_quit_state_initial ... ok [INFO] [stdout] test ui::tui::input::tests::test_normal_mode_f2_returns_unhandled ... ok [INFO] [stdout] test ui::tui::input::tests::test_normal_mode_f1_shows_help ... ok [INFO] [stdout] test ui::settings_menu::tests::test_settings_menu_toggle_opens ... ok [INFO] [stdout] test ui::tui::render::tests::test_truncate_display_name_short_ascii ... ok [INFO] [stdout] test ui::tui::render::tests::test_wrapped_height_empty_lines_count_as_one ... ok [INFO] [stdout] test ui::tui::render::tests::test_wrapped_height_empty_list ... ok [INFO] [stdout] test ui::tui::render::tests::test_wrapped_height_line_wraps_multiple_times ... ok [INFO] [stdout] test ui::tui::render::tests::test_wrapped_height_exact_width_no_wrap ... ok [INFO] [stdout] test ui::tui::render::tests::test_wrapped_height_short_lines_no_wrap ... ok [INFO] [stdout] test ui::tui::render::tests::test_wrapped_height_line_wraps_once ... ok [INFO] [stdout] test ui::tui::render::tests::test_wrapped_height_many_log_entries ... ok [INFO] [stdout] test ui::tui::render::tests::test_wrapped_height_realistic_error_message ... ok [INFO] [stdout] test ui::tui::render::tests::test_wrapped_height_mixed_line_lengths ... ok [INFO] [stdout] test ui::tui::render::tests::test_wrapped_height_single_char_width ... ok [INFO] [stdout] test ui::tui::render::tests::test_truncate_display_name_unicode_truncation ... ok [INFO] [stdout] test ui::tui::render::tests::test_wrapped_height_unicode_characters ... ok [INFO] [stdout] test utils::dependencies::tests::test_check_dependencies_returns_empty_on_success ... ignored [INFO] [stdout] test utils::dependencies::tests::test_check_dependencies_with_both_installed ... ignored [INFO] [stdout] test utils::display::tests::test_extract_youtube_id_various_formats ... ok [INFO] [stdout] test ui::tui::render::tests::test_truncate_display_name_zero_max_len ... ok [INFO] [stdout] test utils::display::tests::test_trailing_slash_handling ... ok [INFO] [stdout] test utils::display::tests::test_truncate_url_exactly_30_chars ... ok [INFO] [stdout] test ui::tui::render::tests::test_wrapped_height_zero_width_returns_line_count ... ok [INFO] [stdout] test utils::display::tests::test_non_youtube_long_url_truncation ... ok [INFO] [stdout] test utils::display::tests::test_truncate_url_with_unicode_path ... ok [INFO] [stdout] test utils::display::tests::test_youtu_be_short_url_extraction ... ok [INFO] [stdout] test utils::display::tests::test_truncate_url_with_encoded_unicode ... ok [INFO] [stdout] test utils::display::tests::test_non_youtube_short_url ... ok [INFO] [stdout] test utils::display::tests::test_truncate_url_short_url_returned_as_is ... ok [INFO] [stdout] test utils::display::tests::test_truncate_url_with_emoji_path ... ok [INFO] [stdout] test utils::display::tests::test_youtube_watch_url_extraction ... ok [INFO] [stdout] test utils::file::tests::test_deduplicate_links_empty_clipboard ... ok [INFO] [stdout] test utils::file::tests::test_deduplicate_links_whitespace_only_clipboard ... ok [INFO] [stdout] test utils::file::tests::test_deduplicate_links_filters_invalid_urls ... ok [INFO] [stdout] test utils::file::tests::test_deduplicate_links_mixed ... ok [INFO] [stdout] test utils::display::tests::test_youtube_with_extra_params ... ok [INFO] [stdout] test utils::file::tests::test_deduplicate_links_all_duplicates ... ok [INFO] [stdout] test utils::file::tests::test_get_links_from_file_invalid_urls_filtered ... ok [INFO] [stdout] test utils::file::tests::test_get_links_from_file_unicode_urls ... ok [INFO] [stdout] test utils::file::tests::test_get_links_file_not_found ... ok [INFO] [stdout] test utils::file::tests::test_sanitize_links_file_no_invalid_urls ... ok [INFO] [stdout] test utils::file::tests::test_get_links_from_file_valid_urls ... ok [INFO] [stdout] test utils::file::tests::test_get_links_from_file_empty_file ... ok [INFO] [stdout] test utils::file::tests::test_get_links_from_file_whitespace_and_blank_lines ... ok [INFO] [stdout] test utils::settings::tests::test_all_presets_cookies_empty ... ok [INFO] [stdout] test utils::settings::tests::test_all_presets_sponsorblock_false ... ok [INFO] [stdout] test utils::file::tests::test_get_links_very_long_urls ... ok [INFO] [stdout] test downloader::queue::tests::test_process_queue_empty_queue_sets_completed ... ok [INFO] [stdout] test utils::file::tests::test_sanitize_links_file_no_temp_file_left_behind ... ok [INFO] [stdout] test utils::settings::tests::test_cookies_from_browser_args_when_set ... ok [INFO] [stdout] test utils::settings::tests::test_cookies_from_browser_default_empty ... ok [INFO] [stdout] test utils::settings::tests::test_format_preset_audio_only ... ok [INFO] [stdout] test utils::settings::tests::test_format_preset_best ... ok [INFO] [stdout] test utils::settings::tests::test_format_preset_hd1080p ... ok [INFO] [stdout] test utils::settings::tests::test_format_preset_hd720p ... ok [INFO] [stdout] test utils::settings::tests::test_format_preset_sd360p ... ok [INFO] [stdout] test utils::settings::tests::test_format_preset_sd480p ... ok [INFO] [stdout] test utils::settings::tests::test_get_ytdlp_args_all_options ... ok [INFO] [stdout] test utils::settings::tests::test_cookies_from_browser_args_when_empty ... ok [INFO] [stdout] test utils::file::tests::test_sanitize_links_file_removes_invalid ... ok [INFO] [stdout] test utils::settings::tests::test_output_format_mp3 ... ok [INFO] [stdout] test ui::tui::input::tests::test_edit_mode_down_navigation ... ok [INFO] [stdout] test utils::file::tests::test_sanitize_links_file_returns_count ... ok [INFO] [stdout] test utils::settings::tests::test_output_format_mp4 ... ok [INFO] [stdout] test utils::settings::tests::test_get_ytdlp_args_basic ... ok [INFO] [stdout] test utils::settings::tests::test_output_format_mkv ... ok [INFO] [stdout] test utils::settings::tests::test_output_format_auto ... ok [INFO] [stdout] test utils::settings::tests::test_parse_custom_args_quoted ... ok [INFO] [stdout] test utils::settings::tests::test_parse_custom_args_malformed_unclosed_single_quote ... ok [INFO] [stdout] test utils::settings::tests::test_parse_custom_args_simple ... ok [INFO] [stdout] test utils::settings::tests::test_parse_custom_args_valid_double_quotes ... ok [INFO] [stdout] test utils::settings::tests::test_parse_custom_args_multiple_quoted_segments ... ok [INFO] [stdout] test utils::settings::tests::test_preset_audio_archive ... ok [INFO] [stdout] test utils::settings::tests::test_preset_bandwidth_saver ... ok [INFO] [stdout] test utils::settings::tests::test_preset_bandwidth_saver_has_rate_limit ... ok [INFO] [stdout] test utils::settings::tests::test_preset_best_quality ... ok [INFO] [stdout] test utils::settings::tests::test_preset_best_quality_no_rate_limit ... ok [INFO] [stdout] test utils::settings::tests::test_preset_fast_download ... ok [INFO] [stdout] test utils::settings::tests::test_rate_limit_args_when_empty ... ok [INFO] [stdout] test utils::settings::tests::test_rate_limit_args_when_set ... ok [INFO] [stdout] test utils::settings::tests::test_settings_default_values ... ok [INFO] [stdout] test utils::settings::tests::test_rate_limit_default_empty ... ok [INFO] [stdout] test utils::settings::tests::test_sponsorblock_args_when_disabled ... ok [INFO] [stdout] test utils::settings::tests::test_sponsorblock_args_when_enabled ... ok [INFO] [stdout] test utils::settings::tests::test_sponsorblock_default_false ... ok [INFO] [stdout] test utils::settings::tests::test_validate_custom_args_conflicting_flags ... ok [INFO] [stdout] test utils::settings::tests::test_validate_custom_args_empty ... ok [INFO] [stdout] test utils::settings::tests::test_validate_custom_args_valid ... ok [INFO] [stdout] test utils::settings::tests::test_validate_custom_args_unmatched_quotes ... ok [INFO] [stdout] test ui::tui::input::tests::test_normal_mode_p_pause_toggle ... ok [INFO] [stdout] test ui::tui::input::tests::test_normal_mode_t_blocked_when_downloads_active ... ok [INFO] [stdout] test utils::file::tests::test_deduplicate_links_no_duplicates ... ok [INFO] [stdout] test utils::file::tests::test_deduplicate_links_trims_whitespace ... ok [INFO] [stdout] test utils::settings::tests::test_output_format_webm ... ok [INFO] [stdout] test utils::settings::tests::test_parse_custom_args_empty ... ok [INFO] [stdout] test utils::settings::tests::test_parse_custom_args_malformed_trailing_backslash ... ok [INFO] [stdout] test utils::settings::tests::test_parse_custom_args_malformed_unclosed_double_quote ... ok [INFO] [stdout] test utils::file::tests::test_sanitize_links_file_preserves_valid_content ... ok [INFO] [stdout] test ui::tui::input::tests::test_normal_mode_u_blocked_when_downloads_active ... ok [INFO] [stdout] test errors::tests::test_poison_error_conversion ... ok [INFO] [stdout] test ui::tui::input::tests::test_normal_mode_t_requeues_failed ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 346 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.47s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test test_arboard_api_compiles ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/clipboard_integration.rs (/opt/rustwide/target/debug/deps/clipboard_integration-21793f2991eeb650) [INFO] running `Command { std: "docker" "inspect" "c43e788cb3c7806d43ac63dc43df0d1145da9748ef2720757929cd885391a60e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c43e788cb3c7806d43ac63dc43df0d1145da9748ef2720757929cd885391a60e", kill_on_drop: false }` [INFO] [stdout] c43e788cb3c7806d43ac63dc43df0d1145da9748ef2720757929cd885391a60e