[INFO] cloning repository https://github.com/maximilianpw/rmus [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/maximilianpw/rmus" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmaximilianpw%2Frmus", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmaximilianpw%2Frmus'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 73ce4eb5bcd3892a516f8ce89b75b5513e5b711c [INFO] testing maximilianpw/rmus against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmaximilianpw%2Frmus" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-7-tc1/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/maximilianpw/rmus [INFO] finished tweaking git repo https://github.com/maximilianpw/rmus [INFO] tweaked toml for git repo https://github.com/maximilianpw/rmus written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/maximilianpw/rmus on toolchain 1.99.0-beta.8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/maximilianpw/rmus already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded unicode-ident v1.0.22 [INFO] [stderr] Downloaded quote v1.0.43 [INFO] [stderr] Downloaded proc-macro2 v1.0.105 [INFO] [stderr] Downloaded toml_parser v1.0.7+spec-1.1.0 [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.106 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.106 [INFO] [stderr] Downloaded instability v0.3.11 [INFO] [stderr] Downloaded wasm-bindgen-futures v0.4.56 [INFO] [stderr] Downloaded mac_address v1.1.8 [INFO] [stderr] Downloaded line-clipping v0.3.5 [INFO] [stderr] Downloaded unicode-truncate v2.0.0 [INFO] [stderr] Downloaded siphasher v1.0.1 [INFO] [stderr] Downloaded kasuari v0.4.11 [INFO] [stderr] Downloaded find-msvc-tools v0.1.7 [INFO] [stderr] Downloaded ogg_pager v0.7.1 [INFO] [stderr] Downloaded lofty_attr v0.12.0 [INFO] [stderr] Downloaded indenter v0.3.4 [INFO] [stderr] Downloaded libredox v0.1.12 [INFO] [stderr] Downloaded color-spantrace v0.3.0 [INFO] [stderr] Downloaded lru v0.16.3 [INFO] [stderr] Downloaded pest_generator v2.8.5 [INFO] [stderr] Downloaded ratatui-termwiz v0.1.0 [INFO] [stderr] Downloaded deranged v0.5.5 [INFO] [stderr] Downloaded ratatui-macros v0.7.0 [INFO] [stderr] Downloaded ratatui-crossterm v0.1.0 [INFO] [stderr] Downloaded zmij v1.0.14 [INFO] [stderr] Downloaded tempfile v3.24.0 [INFO] [stderr] Downloaded wasm-bindgen v0.2.106 [INFO] [stderr] Downloaded pest_meta v2.8.5 [INFO] [stderr] Downloaded eyre v0.6.12 [INFO] [stderr] Downloaded owo-colors v4.2.3 [INFO] [stderr] Downloaded js-sys v0.3.83 [INFO] [stderr] Downloaded ryu v1.0.22 [INFO] [stderr] Downloaded pest_derive v2.8.5 [INFO] [stderr] Downloaded uuid v1.19.0 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.106 [INFO] [stderr] Downloaded bytemuck v1.24.0 [INFO] [stderr] Downloaded finl_unicode v1.4.0 [INFO] [stderr] Downloaded bytes v1.11.0 [INFO] [stderr] Downloaded ratatui v0.30.0 [INFO] [stderr] Downloaded compact_str v0.9.0 [INFO] [stderr] Downloaded cc v1.2.52 [INFO] [stderr] Downloaded bumpalo v3.19.1 [INFO] [stderr] Downloaded hyper-util v0.1.19 [INFO] [stderr] Downloaded pest v2.8.5 [INFO] [stderr] Downloaded portable-atomic v1.13.0 [INFO] [stderr] Downloaded ratatui-core v0.1.0 [INFO] [stderr] Downloaded ratatui-widgets v0.3.0 [INFO] [stderr] Downloaded chrono v0.4.43 [INFO] [stderr] Downloaded lofty v0.23.1 [INFO] [stderr] Downloaded rustls v0.23.36 [INFO] [stderr] Downloaded rustix v1.1.3 [INFO] [stderr] Downloaded color-eyre v0.6.5 [INFO] [stderr] Downloaded web-sys v0.3.83 [INFO] [stderr] Downloaded libc v0.2.180 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] e3944ab290589c6fceb4147010391d87c0d84d49a076c59d5600a55d05d0a0b5 [INFO] running `Command { std: "docker" "start" "e3944ab290589c6fceb4147010391d87c0d84d49a076c59d5600a55d05d0a0b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e3944ab290589c6fceb4147010391d87c0d84d49a076c59d5600a55d05d0a0b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e3944ab290589c6fceb4147010391d87c0d84d49a076c59d5600a55d05d0a0b5" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e3944ab290589c6fceb4147010391d87c0d84d49a076c59d5600a55d05d0a0b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e3944ab290589c6fceb4147010391d87c0d84d49a076c59d5600a55d05d0a0b5" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.105 [INFO] [stderr] Compiling unicode-ident v1.0.22 [INFO] [stderr] Compiling quote v1.0.43 [INFO] [stderr] Compiling libc v0.2.180 [INFO] [stderr] Compiling cfg-if v1.0.4 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling itoa v1.0.17 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling pin-project-lite v0.2.16 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling foldhash v0.2.0 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling lock_api v0.4.14 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling allocator-api2 v0.2.21 [INFO] [stderr] Compiling bytes v1.11.0 [INFO] [stderr] Compiling futures-core v0.3.31 [INFO] [stderr] Compiling find-msvc-tools v0.1.7 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling pkg-config v0.3.32 [INFO] [stderr] Compiling cc v1.2.52 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling rustversion v1.0.22 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Compiling memchr v2.7.6 [INFO] [stderr] Compiling writeable v0.6.2 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling socket2 v0.6.1 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling litemap v0.8.1 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling openssl-sys v0.9.111 [INFO] [stderr] Compiling ryu v1.0.22 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling icu_normalizer_data v2.1.1 [INFO] [stderr] Compiling icu_properties_data v2.1.2 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Compiling static_assertions v1.1.0 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling castaway v0.2.4 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling unicode-width v0.2.0 [INFO] [stderr] Compiling instability v0.3.11 [INFO] [stderr] Compiling openssl v0.10.75 [INFO] [stderr] Compiling foreign-types-shared v0.1.1 [INFO] [stderr] Compiling foreign-types v0.3.2 [INFO] [stderr] Compiling compact_str v0.9.0 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling convert_case v0.10.0 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling lru v0.16.3 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling zerocopy v0.8.48 [INFO] [stderr] Compiling unicode-truncate v2.0.0 [INFO] [stderr] Compiling tower-service v0.3.3 [INFO] [stderr] Compiling simd-adler32 v0.3.8 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling slab v0.4.11 [INFO] [stderr] Compiling adler2 v2.0.1 [INFO] [stderr] Compiling try-lock v0.2.5 [INFO] [stderr] Compiling atomic-waker v1.1.2 [INFO] [stderr] Compiling want v0.3.1 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling deranged v0.5.5 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling zmij v1.0.14 [INFO] [stderr] Compiling openssl-probe v0.1.6 [INFO] [stderr] Compiling object v0.37.3 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling num_threads v0.1.7 [INFO] [stderr] Compiling time-core v0.1.6 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling owo-colors v4.2.3 [INFO] [stderr] Compiling litrs v1.0.0 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling num-conv v0.1.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling time v0.3.44 [INFO] [stderr] Compiling document-features v0.2.12 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling line-clipping v0.3.5 [INFO] [stderr] Compiling ipnet v2.11.0 [INFO] [stderr] Compiling tower-layer v0.3.3 [INFO] [stderr] Compiling utf8_iter v1.0.4 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling gimli v0.32.3 [INFO] [stderr] Compiling eyre v0.6.12 [INFO] [stderr] Compiling color-spantrace v0.3.0 [INFO] [stderr] Compiling tracing-error v0.2.1 [INFO] [stderr] Compiling rand_core v0.9.5 [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 thiserror-impl v2.0.17 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling kasuari v0.4.11 [INFO] [stderr] Compiling strum v0.27.2 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling ratatui-core v0.1.0 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling ratatui-widgets v0.3.0 [INFO] [stderr] Compiling addr2line v0.25.1 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling rustc-demangle v0.1.26 [INFO] [stderr] Compiling indenter v0.3.4 [INFO] [stderr] Compiling regex-syntax v0.8.8 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling iri-string v0.7.10 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling ogg_pager v0.7.1 [INFO] [stderr] Compiling rustls-pki-types v1.13.2 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling toml_parser v1.0.7+spec-1.1.0 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling backtrace v0.3.76 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling ratatui-macros v0.7.0 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling ratatui-crossterm v0.1.0 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling lofty_attr v0.12.0 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling toml_datetime v0.7.5+spec-1.1.0 [INFO] [stderr] Compiling serde_spanned v1.0.4 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling toml_writer v1.0.6+spec-1.1.0 [INFO] [stderr] Compiling data-encoding v2.10.0 [INFO] [stderr] Compiling mime v0.3.17 [INFO] [stderr] Compiling iana-time-zone v0.1.64 [INFO] [stderr] Compiling lofty v0.23.1 [INFO] [stderr] Compiling chrono v0.4.43 [INFO] [stderr] Compiling toml v0.9.12+spec-1.1.0 [INFO] [stderr] Compiling hyper-util v0.1.19 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling rand v0.9.4 [INFO] [stderr] Compiling ratatui v0.30.0 [INFO] [stderr] Compiling color-eyre v0.6.5 [INFO] [stderr] Compiling directories v6.0.0 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling md5 v0.8.0 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling rmus v1.0.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 4m 19s [INFO] running `Command { std: "docker" "inspect" "e3944ab290589c6fceb4147010391d87c0d84d49a076c59d5600a55d05d0a0b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e3944ab290589c6fceb4147010391d87c0d84d49a076c59d5600a55d05d0a0b5" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling rmus v1.0.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 2m 26s [INFO] running `Command { std: "docker" "inspect" "e3944ab290589c6fceb4147010391d87c0d84d49a076c59d5600a55d05d0a0b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e3944ab290589c6fceb4147010391d87c0d84d49a076c59d5600a55d05d0a0b5" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }` [INFO] [stderr] Finished `release` profile [optimized] target(s) in 0.46s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/deps/rmus-252e442afa30572d) [INFO] [stdout] [INFO] [stdout] running 290 tests [INFO] [stdout] test app::tests::local_source_path_detection_ignores_renames_and_detects_new_paths ... ok [INFO] [stdout] test app::tests::closing_settings_with_escape_restores_previous_focus ... ok [INFO] [stdout] test app::tests::account_save_after_source_update_preserves_local_sources ... ok [INFO] [stdout] test app::tests::configured_default_volume_is_applied_to_player ... ok [INFO] [stdout] test app::tests::local_library_search_uses_cached_metadata_without_parsing_uncached_files ... ok [INFO] [stdout] test app::tests::mouse_click_selects_left_panel_row ... ok [INFO] [stdout] test app::tests::mouse_click_selects_center_panel_song_row ... ok [INFO] [stdout] test app::tests::mouse_click_focuses_panel_under_pointer ... ok [INFO] [stdout] test app::tests::configured_playback_mode_defaults_are_applied_to_player ... ok [INFO] [stdout] test app::tests::mouse_click_on_playback_progress_seeks_to_position ... ok [INFO] [stdout] test app::tests::blank_qobuz_account_save_keeps_qobuz_unconfigured ... ok [INFO] [stdout] test app::tests::mouse_scroll_targets_panel_under_pointer_without_changing_focus ... ok [INFO] [stdout] test app::tests::playlist_copy_name_skips_existing_copy_names ... ok [INFO] [stdout] test app::tests::opening_local_album_uses_cached_metadata_without_parsing_uncached_files ... ok [INFO] [stdout] test app::tests::saving_current_volume_updates_startup_volume ... ok [INFO] [stdout] test app::tests::source_update_does_not_scan_all_local_songs_when_library_view_is_closed ... ok [INFO] [stdout] test app::tests::toggling_settings_focuses_overlay_and_restores_previous_focus ... ok [INFO] [stdout] test app::tests::source_update_auto_warms_cache_in_running_app ... ok [INFO] [stdout] test app::tests::warm_local_cache_runs_in_background_and_writes_cache ... ok [INFO] [stdout] test app::tests::warm_local_cache_refreshes_visible_local_album_list ... ok [INFO] [stdout] test app::tests::warm_local_cache_queues_follow_up_scan_when_already_running ... ok [INFO] [stdout] test cli::tests::add_source_command_accepts_name_and_path ... ok [INFO] [stdout] test cli::tests::add_source_command_requires_name_and_path ... ok [INFO] [stdout] test cli::tests::add_source_and_scan_warms_new_source_cache ... ok [INFO] [stdout] test app::tests::warm_local_cache_without_sources_shows_feedback ... ok [INFO] [stdout] test app::tests::warm_local_cache_status_is_visible_while_running_queued_and_complete ... ok [INFO] [stdout] test cli::tests::clear_accounts_command_runs_maintenance_action ... ok [INFO] [stdout] test cli::tests::add_source_to_config_validates_and_canonicalizes_path ... ok [INFO] [stdout] test cli::tests::clear_cache_command_runs_maintenance_action ... ok [INFO] [stdout] test cli::tests::add_source_to_config_rejects_missing_directories ... ok [INFO] [stdout] test cli::tests::add_source_to_config_rejects_duplicate_names_and_paths ... ok [INFO] [stdout] test cli::tests::clear_accounts_removes_streaming_credentials_without_touching_other_config ... ok [INFO] [stdout] test cli::tests::clear_queue_command_runs_maintenance_action ... ok [INFO] [stdout] test cli::tests::clear_history_command_runs_maintenance_action ... ok [INFO] [stdout] test cli::tests::clear_cache_removes_cache_file_and_accepts_missing_file ... ok [INFO] [stdout] test cli::tests::clear_history_removes_history_file_and_counts_tracks ... ok [INFO] [stdout] test cli::tests::completions_command_accepts_supported_shells ... ok [INFO] [stdout] test cli::tests::completions_text_includes_commands_and_shell_specific_hooks ... ok [INFO] [stdout] test cli::tests::clear_queue_removes_queue_file_and_counts_tracks ... ok [INFO] [stdout] test cli::tests::doctor_command_runs_diagnostics ... ok [INFO] [stdout] test cli::tests::delete_playlist_command_removes_saved_playlist ... ok [INFO] [stdout] test cli::tests::doctor_reports_missing_mpv_as_error ... ok [INFO] [stdout] test cli::tests::doctor_accepts_fake_mpv_and_missing_config_as_warning ... ok [INFO] [stdout] test cli::tests::export_playlist_command_accepts_name_and_path ... ok [INFO] [stdout] test cli::tests::doctor_warns_about_missing_local_source_dirs ... ok [INFO] [stdout] test cli::tests::help_flags_print_help ... ok [INFO] [stdout] test cli::tests::create_playlist_command_creates_empty_playlist ... ok [INFO] [stdout] test cli::tests::import_playlist_command_requires_path ... ok [INFO] [stdout] test cli::tests::export_playlist_command_requires_name_and_path ... ok [INFO] [stdout] test cli::tests::import_playlist_command_accepts_path_and_optional_name ... ok [INFO] [stdout] test cli::tests::list_playlists_reports_empty_store ... ok [INFO] [stdout] test cli::tests::list_sources_command_prints_configured_sources ... ok [INFO] [stdout] test cli::tests::local_stats_command_counts_configured_library_without_warming_cache ... ok [INFO] [stdout] test cli::tests::list_playlists_command_prints_saved_playlists ... ok [INFO] [stdout] test cli::tests::duplicate_playlist_command_copies_saved_playlist ... ok [INFO] [stdout] test cli::tests::local_stats_reports_missing_sources ... ok [INFO] [stdout] test cli::tests::move_source_command_requires_name_and_position ... ok [INFO] [stdout] test cli::tests::move_source_command_accepts_name_and_position ... ok [INFO] [stdout] test cli::tests::no_args_runs_tui ... ok [INFO] [stdout] test cli::tests::move_source_in_config_treats_boundaries_as_noop ... ok [INFO] [stdout] test cli::tests::move_source_in_config_reorders_sources_and_reports_positions ... ok [INFO] [stdout] test cli::tests::remove_source_command_requires_name ... ok [INFO] [stdout] test cli::tests::list_sources_reports_empty_config ... ok [INFO] [stdout] test cli::tests::paths_command_prints_storage_paths ... ok [INFO] [stdout] test cli::tests::remove_source_from_config_rejects_missing_source_names ... ok [INFO] [stdout] test cli::tests::remove_source_command_accepts_name ... ok [INFO] [stdout] test cli::tests::remove_source_from_config_removes_source_by_name_case_insensitively ... ok [INFO] [stdout] test cli::tests::scan_local_command_rejects_unknown_source_names ... ok [INFO] [stdout] test cli::tests::rename_playlist_command_renames_saved_playlist ... ok [INFO] [stdout] test cli::tests::search_local_command_accepts_query_and_limit ... ok [INFO] [stdout] test cli::tests::search_local_matches_filename_path_and_reports_missing_sources ... ok [INFO] [stdout] test cli::tests::scan_local_command_warms_configured_sources ... ok [INFO] [stdout] test cli::tests::scan_local_reports_missing_sources ... ok [INFO] [stdout] test cli::tests::search_local_uses_cached_metadata_and_limits_output ... ok [INFO] [stdout] test cli::tests::show_history_command_rejects_invalid_limit_args ... ok [INFO] [stdout] test cli::tests::show_history_reports_empty_store ... ok [INFO] [stdout] test cli::tests::show_history_command_limits_saved_history_output ... ok [INFO] [stdout] test cli::tests::show_history_command_prints_saved_history ... ok [INFO] [stdout] test cli::tests::show_playlist_command_prints_saved_tracks ... ok [INFO] [stdout] test cli::tests::scan_local_command_warms_named_source_and_preserves_existing_cache ... ok [INFO] [stdout] test cli::tests::show_queue_command_limits_saved_queue_output ... ok [INFO] [stdout] test cli::tests::show_queue_command_prints_saved_queue_position ... ok [INFO] [stdout] test cli::tests::show_queue_command_rejects_invalid_limit_args ... ok [INFO] [stdout] test cli::tests::status_command_prints_saved_state_summary ... ok [INFO] [stdout] test cli::tests::version_flags_print_version ... ok [INFO] [stdout] test config::tests::qobuz_credentials_require_email_and_password ... ok [INFO] [stdout] test config::tests::test_default_config ... ok [INFO] [stdout] test cli::tests::status_command_reports_empty_saved_state ... ok [INFO] [stdout] test cli::tests::unknown_args_are_errors ... ok [INFO] [stdout] test config::tests::test_parse_config_with_max_stream_quality ... ok [INFO] [stdout] test config::tests::test_parse_config_with_qobuz ... ok [INFO] [stdout] test config::tests::test_parse_config_with_tidal ... ok [INFO] [stdout] test config::tests::test_parse_config_without_qobuz ... ok [INFO] [stdout] test config::tests::test_parse_multiple_sources ... ok [INFO] [stdout] test config::tests::test_tidal_credentials_round_trip ... ok [INFO] [stdout] test config::tests::test_write_config_file_sets_permissions_600 ... ok [INFO] [stdout] test config::tests::test_get_local_sources ... ok [INFO] [stdout] test cli::tests::show_queue_reports_empty_store ... ok [INFO] [stdout] test config::tests::tidal_tokens_require_nonblank_text ... ok [INFO] [stdout] test event::tests::mouse_scroll_events_map_to_vertical_navigation_keys ... ok [INFO] [stdout] test keymap::tests::center_panel_uppercase_c_adds_open_collection_to_playlist ... ok [INFO] [stdout] test keymap::tests::center_panel_uppercase_e_queues_open_collection ... ok [INFO] [stdout] test keymap::tests::ctrl_c_quits_even_when_search_input_is_active ... ok [INFO] [stdout] test event::tests::non_scroll_mouse_events_are_ignored ... ok [INFO] [stdout] test history::tests::store_loads_empty_history_when_file_is_missing ... ok [INFO] [stdout] test history::tests::store_round_trips_local_and_stream_history ... ok [INFO] [stdout] test keymap::tests::esc_delegates_to_center_when_center_can_close_view ... ok [INFO] [stdout] test keymap::tests::esc_quits_when_center_has_no_closeable_view ... ok [INFO] [stdout] test keymap::tests::esc_delegates_to_left_when_left_can_close_view ... ok [INFO] [stdout] test keymap::tests::left_panel_collection_shortcuts_play_and_queue_selected_item ... ok [INFO] [stdout] test keymap::tests::left_panel_f_opens_list_filter ... ok [INFO] [stdout] test keymap::tests::left_panel_uppercase_y_duplicates_selected_playlist ... ok [INFO] [stdout] test keymap::tests::playback_controls_work_from_main_panels ... ok [INFO] [stdout] test keymap::tests::q_shows_queue_from_main_panels ... ok [INFO] [stdout] test keymap::tests::q_still_quits_even_when_center_can_close_view ... ok [INFO] [stdout] test keymap::tests::question_mark_opens_keybinds_from_main_panels ... ok [INFO] [stdout] test keymap::tests::question_mark_opens_keybinds_when_settings_are_open_without_text_input ... ok [INFO] [stdout] test keymap::tests::right_panel_uppercase_a_adds_current_track_to_playlist ... ok [INFO] [stdout] test keymap::tests::s_delegates_when_settings_input_is_active ... ok [INFO] [stdout] test keymap::tests::left_panel_space_and_enter_open_selected_item ... ok [INFO] [stdout] test keymap::tests::s_toggles_settings_when_settings_are_open ... ok [INFO] [stdout] test keymap::tests::text_input_delegates_global_characters_to_panel ... ok [INFO] [stdout] test keymap::tests::uppercase_f_adds_selected_or_current_track_to_favorites ... ok [INFO] [stdout] test keymap::tests::uppercase_h_shows_history_from_main_panels ... ok [INFO] [stdout] test keymap::tests::uppercase_r_refreshes_library_from_main_panels ... ok [INFO] [stdout] test keymap::tests::uppercase_u_removes_selected_or_current_track_from_favorites ... ok [INFO] [stdout] test keymap::tests::uppercase_v_saves_current_volume_from_main_panels ... ok [INFO] [stdout] test keymap::tests::uppercase_w_warms_local_cache_from_main_panels ... ok [INFO] [stdout] test local_cache::tests::album_cache_rejects_nonempty_sources_without_directory_snapshots ... ok [INFO] [stdout] test keymap::tests::left_panel_uppercase_e_renames_selected_playlist ... ok [INFO] [stdout] test local_cache::tests::cache_reuses_metadata_for_unchanged_file ... ok [INFO] [stdout] test local_cache::tests::cached_song_for_path_does_not_parse_uncached_files ... ok [INFO] [stdout] test keymap::tests::ctrl_c_quits_even_when_settings_are_open ... ok [INFO] [stdout] test players::mpv::tests::configured_playback_defaults_are_exposed_before_polling ... ok [INFO] [stdout] test local_cache::tests::cache_reparses_changed_file ... ok [INFO] [stdout] test local_cache::tests::album_cache_write_preserves_cached_track_metadata ... ok [INFO] [stdout] test players::mpv::tests::configured_startup_volume_is_clamped_for_mpv ... ok [INFO] [stdout] test players::mpv::tests::end_file_error_clears_false_playing_state ... ok [INFO] [stdout] test players::mpv::tests::file_loaded_event_marks_playback_as_playing ... ok [INFO] [stdout] test players::mpv::tests::restore_queue_sets_position_without_starting_playback ... ok [INFO] [stdout] test players::mpv::tests::volume_can_change_before_mpv_starts ... ok [INFO] [stdout] test players::tests::rejects_malformed_stream_urls ... ok [INFO] [stdout] test players::tests::rejects_unapproved_stream_hosts ... ok [INFO] [stdout] test players::tests::validates_https_stream_urls ... ok [INFO] [stdout] test playlist::tests::playlist_round_trip ... ok [INFO] [stdout] test players::tests::rejects_non_https_stream_urls ... ok [INFO] [stdout] test playlist::tests::sanitize_filename_removes_special_chars ... ok [INFO] [stdout] test players::mpv::tests::mpv_is_launched_in_audio_only_mode ... ok [INFO] [stdout] test players::mpv::tests::queue_move_reorders_upcoming_tracks_without_moving_current ... ok [INFO] [stdout] test playlist::tests::playlist_source_hides_playlist_path_encoding ... ok [INFO] [stdout] test playlist::tests::store_adds_songs_to_playlist_by_index ... ok [INFO] [stdout] test playlist::tests::store_adds_unique_songs_to_named_playlist_and_creates_it ... ok [INFO] [stdout] test playlist::tests::store_imports_local_m3u_playlist ... ok [INFO] [stdout] test playlist::tests::store_duplicates_playlist_without_losing_tracks ... ok [INFO] [stdout] test playlist::tests::store_imports_m3u_with_custom_name_without_overwriting ... ok [INFO] [stdout] test playlist::tests::store_rejects_blank_playlist_name ... ok [INFO] [stdout] test playlist::tests::store_preserves_playlist_track_playback_metadata ... ok [INFO] [stdout] test playlist::tests::store_moves_song_within_playlist_by_path ... ok [INFO] [stdout] test playlist::tests::store_rejects_duplicate_playlist_copy_name_without_overwriting ... ok [INFO] [stdout] test playlist::tests::store_exports_local_tracks_to_m3u ... ok [INFO] [stdout] test playlist::tests::store_rejects_case_insensitive_duplicate_playlist_name ... ok [INFO] [stdout] test playlist::tests::store_rejects_duplicate_playlist_rename_without_overwriting ... ok [INFO] [stdout] test playlist::tests::store_rejects_export_without_local_tracks ... ok [INFO] [stdout] test playlist::tests::store_rejects_playlist_track_move_out_of_bounds_without_saving ... ok [INFO] [stdout] test playlist::tests::store_removes_matching_songs_from_named_playlist ... ok [INFO] [stdout] test playlist::tests::store_reports_missing_named_playlist_when_removing_matches ... ok [INFO] [stdout] test playlist::tests::store_renames_playlist_without_losing_tracks ... ok [INFO] [stdout] test playlist::tests::store_trims_playlist_name_before_persisting ... ok [INFO] [stdout] test playlist::tests::store_rejects_duplicate_playlist_without_overwriting_tracks ... ok [INFO] [stdout] test app::tests::stale_settings_update_does_not_clear_tidal_credentials ... ok [INFO] [stdout] test playlist::tests::store_remove_returns_removed_song_metadata ... ok [INFO] [stdout] test app::tests::account_clear_removes_streaming_credentials ... ok [INFO] [stdout] test playlist::tests::store_skips_unique_song_duplicates_by_path_and_stream_reference ... ok [INFO] [stdout] test sources::local::tests::local_song_sort_groups_disc_numbers_before_track_numbers ... ok [INFO] [stdout] test queue::tests::store_round_trips_local_and_stream_queue_state ... ok [INFO] [stdout] test queue::tests::store_clamps_loaded_position_to_last_track ... ok [INFO] [stdout] test queue::tests::store_loads_empty_queue_when_file_is_missing ... ok [INFO] [stdout] test sources::local::tests::local_song_sort_prefers_track_numbers_when_available ... ok [INFO] [stdout] test sources::local::tests::incomplete_bounded_discovery_defers_recursive_source_open ... ok [INFO] [stdout] test sources::local::tests::local_source_cached_metadata_search_avoids_uncached_metadata_reads ... ok [INFO] [stdout] test sources::local::tests::local_source_entry_excludes_child_album_tracks ... ok [INFO] [stdout] test sources::local::tests::local_source_discovers_child_album_directories ... ok [INFO] [stdout] test sources::local::tests::local_source_bounds_uncached_album_discovery ... ok [INFO] [stdout] test sources::local::tests::local_source_does_not_cache_incomplete_album_discovery ... ok [INFO] [stdout] test sources::local::tests::local_source_library_stats_count_tracks_and_albums_without_metadata_reads ... ok [INFO] [stdout] test sources::local::tests::local_source_invalidates_cached_album_discovery_when_directory_changes ... ok [INFO] [stdout] test sources::local::tests::local_source_keeps_source_entry_for_direct_tracks ... ok [INFO] [stdout] test sources::local::tests::local_source_uses_cached_album_discovery_for_unchanged_sources ... ok [INFO] [stdout] test sources::local::tests::local_source_lists_supported_audio_files_sorted ... ok [INFO] [stdout] test sources::local::tests::local_source_scan_warms_album_and_track_cache ... ok [INFO] [stdout] test sources::local::tests::local_source_unknown_album_path_uses_cached_metadata_fallback ... ok [INFO] [stdout] test sources::local::tests::local_source_uses_cached_track_metadata_for_unchanged_file ... ok [INFO] [stdout] test sources::song::tests::display_falls_back_to_path_when_title_is_blank ... ok [INFO] [stdout] test sources::song::tests::display_includes_artist_context_when_available ... ok [INFO] [stdout] test ui::center_panel::tests::blank_playlist_name_shows_inline_feedback ... ok [INFO] [stdout] test ui::center_panel::tests::blank_search_query_shows_feedback_and_typing_clears_it ... ok [INFO] [stdout] test sources::tidal::client::tests::hi_res_text_manifests_are_preserved_for_mpv ... ok [INFO] [stdout] test ui::center_panel::tests::collection_title_appends_total_duration_when_available ... ok [INFO] [stdout] test ui::center_panel::tests::collection_title_omits_total_duration_when_metadata_is_missing ... ok [INFO] [stdout] test ui::center_panel::tests::current_song_identity_matches_local_paths ... ok [INFO] [stdout] test ui::center_panel::tests::current_song_identity_matches_stream_references ... ok [INFO] [stdout] test ui::center_panel::tests::history_filter_escape_clears_query_before_closing_history ... ok [INFO] [stdout] test ui::center_panel::tests::history_filter_maps_visible_selection_to_original_history_index ... ok [INFO] [stdout] test ui::center_panel::tests::local_filter_recomputes_after_delete_key ... ok [INFO] [stdout] test ui::center_panel::tests::local_filter_updates_visible_songs_while_typing ... ok [INFO] [stdout] test ui::center_panel::tests::mouse_selection_respects_visible_center_list_offset ... ok [INFO] [stdout] test ui::center_panel::tests::numbered_song_row_label_includes_disc_and_track_metadata ... ok [INFO] [stdout] test ui::center_panel::tests::opening_local_search_clears_stale_status_but_keeps_album_songs ... ok [INFO] [stdout] test ui::center_panel::tests::opening_streaming_search_clears_stale_results_and_status ... ok [INFO] [stdout] test ui::center_panel::tests::page_up_and_page_down_move_queue_selection_by_page ... ok [INFO] [stdout] test ui::center_panel::tests::page_up_and_page_down_move_song_selection_by_page ... ok [INFO] [stdout] test ui::center_panel::tests::queue_filter_escape_clears_query_before_closing_queue ... ok [INFO] [stdout] test ui::center_panel::tests::queue_filter_maps_visible_selection_to_original_queue_index ... ok [INFO] [stdout] test ui::center_panel::tests::queue_song_row_label_includes_position_and_current_marker ... ok [INFO] [stdout] test ui::center_panel::tests::queue_sync_preserves_user_selection_when_still_valid ... ok [INFO] [stdout] test ui::center_panel::tests::queueable_collection_requires_an_open_album_or_album_tracks_view ... ok [INFO] [stdout] test ui::center_panel::tests::search_input_supports_home_end_and_delete_before_submit ... ok [INFO] [stdout] test ui::center_panel::tests::song_row_label_includes_album_context_when_available ... ok [INFO] [stdout] test ui::center_panel::tests::song_row_label_includes_artist_and_duration_when_available ... ok [INFO] [stdout] test ui::center_panel::tests::song_row_label_omits_empty_metadata ... ok [INFO] [stdout] test ui::center_panel::tests::top_and_bottom_keys_jump_to_first_and_last_playlist_picker_rows ... ok [INFO] [stdout] test ui::center_panel::tests::top_and_bottom_keys_jump_to_first_and_last_queue_rows ... ok [INFO] [stdout] test ui::center_panel::tests::top_and_bottom_keys_jump_to_first_and_last_result_rows ... ok [INFO] [stdout] test ui::center_panel::tests::top_and_bottom_keys_jump_to_first_and_last_song_rows ... ok [INFO] [stdout] test ui::input_line::tests::delete_next_char_respects_utf8_boundaries ... ok [INFO] [stdout] test ui::input_line::tests::display_spans_render_cursor_at_current_position ... ok [INFO] [stdout] test ui::input_line::tests::home_end_and_delete_edit_at_cursor ... ok [INFO] [stdout] test ui::left_panel::tests::escape_clears_left_panel_filter ... ok [INFO] [stdout] test ui::left_panel::tests::filtering_left_panel_items_preserves_source_indices ... ok [INFO] [stdout] test sources::tidal::client::tests::lossless_text_manifests_without_direct_urls_are_rejected ... ok [INFO] [stdout] test ui::left_panel::tests::local_tab_prepends_all_tracks_for_multiple_collections ... ok [INFO] [stdout] test ui::left_panel::tests::mouse_selection_respects_visible_list_offset ... ok [INFO] [stdout] test ui::center_panel::tests::blank_local_filter_submits_empty_query ... ok [INFO] [stdout] test ui::left_panel::tests::page_up_and_page_down_move_left_panel_selection_by_page ... ok [INFO] [stdout] test ui::left_panel::tests::render_shows_scan_status_without_hiding_library_items ... ok [INFO] [stdout] test ui::log_panel::tests::empty_log_navigation_keeps_selection_empty ... ok [INFO] [stdout] test ui::log_panel::tests::horizontal_scroll_handles_non_ascii_messages ... ok [INFO] [stdout] test sources::local::tests::local_source_reloads_metadata_when_cached_file_changes ... ok [INFO] [stdout] test ui::log_panel::tests::page_up_and_page_down_move_log_selection_by_page ... ok [INFO] [stdout] test ui::center_panel::tests::top_and_bottom_keys_jump_to_first_and_last_history_rows ... ok [INFO] [stdout] test ui::left_panel::tests::top_and_bottom_keys_jump_to_first_and_last_left_panel_items ... ok [INFO] [stdout] test ui::log_panel::tests::clear_removes_logs_and_resets_selection ... ok [INFO] [stdout] test ui::settings::account::tests::account_text_inputs_support_home_end_and_delete ... ok [INFO] [stdout] test ui::settings::account::tests::qobuz_login_request_is_consumed_once ... ok [INFO] [stdout] test ui::settings::account::tests::update_config_refreshes_displayed_qobuz_credentials_when_not_editing ... ok [INFO] [stdout] test ui::settings::settings_panel::tests::pending_source_and_account_updates_are_merged ... ok [INFO] [stdout] test ui::settings::sources::tests::adjusts_default_volume_and_marks_config_dirty ... ok [INFO] [stdout] test ui::settings::account::tests::tidal_login_request_is_consumed_once ... ok [INFO] [stdout] test ui::log_panel::tests::top_and_bottom_keys_jump_to_first_and_last_log_entries ... ok [INFO] [stdout] test ui::settings::sources::tests::adds_and_persists_source_on_enter ... ok [INFO] [stdout] test ui::settings::sources::tests::cycles_stream_quality_and_marks_config_dirty ... ok [INFO] [stdout] test ui::settings::sources::tests::editing_source_allows_unchanged_path ... ok [INFO] [stdout] test ui::settings::sources::tests::editing_source_input_clears_validation_message ... ok [INFO] [stdout] test ui::settings::sources::tests::expands_tilde_source_path ... ok [INFO] [stdout] test ui::settings::sources::tests::editing_source_rejects_duplicate_source_name ... ok [INFO] [stdout] test ui::settings::sources::tests::moves_selected_source_down_and_up_and_persists_order ... ok [INFO] [stdout] test ui::settings::sources::tests::page_up_and_page_down_move_source_selection_by_page ... ok [INFO] [stdout] test ui::settings::sources::tests::persists_canonical_source_path ... ok [INFO] [stdout] test ui::settings::sources::tests::rejects_duplicate_source_path ... ok [INFO] [stdout] test ui::settings::sources::tests::rejects_duplicate_source_path_after_canonicalization ... ok [INFO] [stdout] test ui::settings::sources::tests::rejects_invalid_source_path ... ok [INFO] [stdout] test ui::settings::sources::tests::scrolling_empty_source_list_keeps_selection_empty ... ok [INFO] [stdout] test ui::settings::sources::tests::source_move_boundaries_show_feedback_without_dirtying_config ... ok [INFO] [stdout] test ui::settings::sources::tests::removes_selected_source_and_marks_config_dirty ... ok [INFO] [stdout] test ui::log_panel::tests::new_log_messages_reset_horizontal_scroll ... ok [INFO] [stdout] test ui::settings::sources::tests::top_and_bottom_keys_jump_to_first_and_last_source_rows ... ok [INFO] [stdout] test ui::theme::tests::default_style_sets_a_stable_terminal_theme_base ... ok [INFO] [stdout] test ui::settings::sources::tests::edits_selected_source_and_persists_config ... ok [INFO] [stdout] test ui::theme::tests::selected_row_uses_explicit_high_contrast_colors ... ok [INFO] [stdout] test ui::theme::tests::semantic_colors_have_readable_contrast_on_app_background ... ok [INFO] [stdout] test ui::widget::tests::now_playing_status_uses_theme_contrast_colors ... ok [INFO] [stdout] test ui::theme::tests::focused_and_unfocused_borders_are_distinguishable ... ok [INFO] [stdout] test ui::widget::tests::now_playing_widget_omits_queue_position_without_current_track ... ok [INFO] [stdout] test ui::widget::tests::now_playing_widget_omits_remaining_time_when_duration_is_unknown ... ok [INFO] [stdout] test ui::widget::tests::now_playing_widget_shows_artist_and_album_metadata ... ok [INFO] [stdout] test ui::widget::tests::now_playing_widget_shows_disc_and_track_metadata ... ok [INFO] [stdout] test ui::widget::tests::now_playing_widget_shows_queue_position_when_track_is_active ... ok [INFO] [stdout] test ui::widget::tests::now_playing_widget_shows_remaining_time_when_duration_is_known ... ok [INFO] [stdout] test ui::widget::tests::now_playing_widget_shows_stream_quality_label ... ok [INFO] [stdout] test ui::widget::tests::now_playing_widget_shows_stream_source_when_available ... ok [INFO] [stdout] test utils::tests::expand_home_path_preserves_non_home_paths ... ok [INFO] [stdout] test utils::tests::track_count_label_uses_plural_for_zero_and_many_tracks ... ok [INFO] [stdout] test utils::tests::track_count_label_uses_singular_for_one_track ... ok [INFO] [stdout] test ui::settings::sources::tests::rejects_duplicate_source_name_case_insensitively ... ok [INFO] [stdout] test ui::settings::sources::tests::source_text_inputs_support_home_end_and_delete ... ok [INFO] [stdout] test ui::settings::sources::tests::toggles_startup_shuffle_and_cycles_startup_repeat ... ok [INFO] [stdout] test ui::widget::tests::now_playing_widget_formats_hour_long_durations ... ok [INFO] [stdout] test app::tests::source_update_bounds_album_discovery_when_library_view_is_closed ... ok [INFO] [stdout] test sources::tidal::client::tests::authenticate_trims_saved_access_token_before_use ... ok [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/release/deps/rmus-867f963cda87d0db) [INFO] [stdout] test app::tests::source_update_defers_deep_source_open_until_background_scan_finishes ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 290 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.48s [INFO] [stdout] [INFO] [stderr] Running tests/e2e.rs (/opt/rustwide/target/release/deps/e2e-04e65239a52d9b41) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 197 tests [INFO] [stdout] test test_account_edit_masks_password_until_password_field_active ... ok [INFO] [stdout] test test_account_settings_can_start_tidal_login ... ok [INFO] [stdout] test test_account_edit_appends_to_existing_email ... ok [INFO] [stdout] test test_account_settings_can_check_qobuz_login ... ok [INFO] [stdout] test test_account_settings_shows_both_services ... ok [INFO] [stdout] test test_account_settings_qobuz_status ... ok [INFO] [stdout] test test_account_save_qobuz_shows_feedback ... ok [INFO] [stdout] test test_account_settings_whitespace_qobuz_is_not_configured ... ok [INFO] [stdout] test test_account_settings_tidal_status ... ok [INFO] [stdout] test test_add_open_collection_to_existing_playlist_uses_all_tracks ... ok [INFO] [stdout] test test_account_settings_whitespace_tidal_is_not_authenticated ... ok [INFO] [stdout] test test_add_open_collection_to_new_playlist_when_none_exist ... ok [INFO] [stdout] test test_add_streaming_track_to_playlist_preserves_service_metadata ... ok [INFO] [stdout] test test_add_to_playlist_that_disappeared_shows_feedback ... ok [INFO] [stdout] test test_add_open_collection_without_collection_shows_feedback ... ok [INFO] [stdout] test test_add_selected_queue_track_to_existing_playlist ... ok [INFO] [stdout] test test_add_to_playlist_without_existing_playlists_creates_and_adds ... ok [INFO] [stdout] test test_album_results_render ... ok [INFO] [stdout] test test_add_to_playlist_uses_selected_song ... ok [INFO] [stdout] test test_album_tracks_esc_returns_to_albums ... ok [INFO] [stdout] test test_album_selection_loads_tracks ... ok [INFO] [stdout] test test_app_renders_without_panic ... ok [INFO] [stdout] test test_center_collection_queue_enqueues_open_local_album ... ok [INFO] [stdout] test test_blank_local_search_restores_all_songs ... ok [INFO] [stdout] test test_added_local_source_returns_focus_to_browsable_local_list ... ok [INFO] [stdout] test test_add_track_search_result_to_playlist_preserves_canonical_title ... ok [INFO] [stdout] test test_added_local_source_can_be_opened_immediately ... ok [INFO] [stdout] test test_center_collection_queue_resolves_streaming_album_tracks ... ok [INFO] [stdout] test test_cli_clear_cache_runs_without_launching_tui ... ok [INFO] [stdout] test test_cli_clear_history_removes_saved_history_without_launching_tui ... ok [INFO] [stdout] test test_cli_add_source_scan_warms_cache_without_launching_tui ... ok [INFO] [stdout] test test_cli_clear_queue_removes_saved_queue_without_launching_tui ... ok [INFO] [stdout] test test_cli_completions_print_without_launching_tui ... ok [INFO] [stdout] test test_cli_clear_accounts_removes_streaming_credentials_without_launching_tui ... ok [INFO] [stdout] test test_cli_create_playlist_creates_empty_playlist_without_launching_tui ... ok [INFO] [stdout] test test_cli_add_source_updates_config_without_launching_tui ... ok [INFO] [stdout] test test_cli_delete_playlist_removes_saved_playlist_without_launching_tui ... ok [INFO] [stdout] test test_cli_doctor_reports_runtime_checks_without_launching_tui ... ok [INFO] [stdout] test test_account_clear_cancels_pending_tidal_auth ... ok [INFO] [stdout] test test_cli_help_prints_without_launching_tui ... ok [INFO] [stdout] test test_account_clear_shows_feedback ... ok [INFO] [stdout] test test_cli_export_playlist_writes_m3u8 ... ok [INFO] [stdout] test test_cli_import_playlist_writes_rmus_playlist ... ok [INFO] [stdout] test test_cli_paths_prints_storage_paths_without_launching_tui ... ok [INFO] [stdout] test test_cli_list_playlists_reports_saved_playlists_without_launching_tui ... ok [INFO] [stdout] test test_cli_local_stats_reports_configured_library_without_launching_tui ... ok [INFO] [stdout] test test_cli_duplicate_playlist_copies_saved_playlist_without_launching_tui ... ok [INFO] [stdout] test test_cli_list_sources_reports_configured_sources_without_launching_tui ... ok [INFO] [stdout] test test_cli_show_history_limit_truncates_saved_history_without_launching_tui ... ok [INFO] [stdout] test test_cli_search_local_reports_matching_tracks_without_launching_tui ... ok [INFO] [stdout] test test_cli_scan_local_can_target_named_source_without_launching_tui ... ok [INFO] [stdout] test test_cli_show_history_prints_saved_history_without_launching_tui ... ok [INFO] [stdout] test test_cli_show_queue_prints_saved_queue_without_launching_tui ... ok [INFO] [stdout] test test_cli_scan_local_warms_cache_without_launching_tui ... ok [INFO] [stdout] test test_cli_show_queue_limit_truncates_saved_queue_without_launching_tui ... ok [INFO] [stdout] test test_cli_rename_playlist_updates_saved_playlist_without_launching_tui ... ok [INFO] [stdout] test test_cli_move_source_reorders_config_without_launching_tui ... ok [INFO] [stdout] test test_cli_unknown_flag_exits_with_usage ... ok [INFO] [stdout] test test_delete_playlist_outside_playlists_tab_shows_feedback ... ok [INFO] [stdout] test test_cli_remove_source_updates_config_without_launching_tui ... ok [INFO] [stdout] test test_create_duplicate_playlist_does_not_overwrite_existing_tracks ... ok [INFO] [stdout] test test_cli_version_prints_without_launching_tui ... ok [INFO] [stdout] test test_deleting_open_playlist_clears_center_view ... ok [INFO] [stdout] test test_delete_playlist_that_disappeared_refreshes_view_with_feedback ... ok [INFO] [stdout] test test_delete_playlist_on_empty_tab_shows_feedback ... ok [INFO] [stdout] test test_duplicate_playlist_preserves_tracks_with_default_name ... ok [INFO] [stdout] test test_duplicate_playlist_rename_keeps_dialog_open ... ok [INFO] [stdout] test test_cli_show_playlist_reports_saved_tracks_without_launching_tui ... ok [INFO] [stdout] test test_empty_history_view_shows_guidance ... ok [INFO] [stdout] test test_empty_left_tabs_render_contextual_guidance ... ok [INFO] [stdout] test test_empty_qobuz_selection_without_credentials_shows_login_popup ... ok [INFO] [stdout] test test_empty_local_selection_opens_source_settings ... ok [INFO] [stdout] test test_empty_qobuz_selection_with_service_opens_search_input ... ok [INFO] [stdout] test test_empty_qobuz_tab_with_service_points_to_search ... ok [INFO] [stdout] test test_editing_local_source_updates_left_panel_immediately ... ok [INFO] [stdout] test test_empty_queue_view_shows_guidance ... ok [INFO] [stdout] test test_empty_tidal_selection_opens_search_input ... ok [INFO] [stdout] test test_empty_playlist_selection_opens_playlist_creation ... ok [INFO] [stdout] test test_enter_on_open_album_song_starts_playback ... ok [INFO] [stdout] test test_enqueue_open_collection_without_collection_shows_feedback ... ok [INFO] [stdout] test test_enqueue_selected_uses_selected_song ... ok [INFO] [stdout] test test_empty_selected_album_and_playlist_show_specific_guidance ... ok [INFO] [stdout] test test_enqueue_selected_without_song_shows_feedback ... ok [INFO] [stdout] test test_enqueue_streaming_playlist_track_resolves_before_player ... ok [INFO] [stdout] test test_enter_on_track_search_result_starts_playback ... ok [INFO] [stdout] test test_favorite_current_track_from_right_panel ... ok [INFO] [stdout] test test_global_transport_shortcuts_work_while_browsing ... ok [INFO] [stdout] test test_favorite_selected_queue_track ... ok [INFO] [stdout] test test_favorite_selected_song_creates_favorites_and_skips_duplicate ... ok [INFO] [stdout] test test_history_view_records_recent_tracks_and_replays_selection ... ok [INFO] [stdout] test test_cli_status_prints_saved_state_without_launching_tui ... ok [INFO] [stdout] test test_history_filter_removes_matching_original_track ... ok [INFO] [stdout] test test_history_remove_and_clear_persist_across_app_instances ... ok [INFO] [stdout] test test_history_persists_across_app_instances ... ok [INFO] [stdout] test test_favorite_selected_song_marks_open_album_row ... ok [INFO] [stdout] test test_left_panel_filter_opens_filtered_playlist_selection ... ok [INFO] [stdout] test test_keybind_tab_scrolls_on_small_terminal ... ok [INFO] [stdout] test test_left_panel_has_four_tabs ... ok [INFO] [stdout] test test_account_clear_cancels_inflight_streaming_search ... ok [INFO] [stdout] test test_left_panel_queue_selected_playlist_enqueues_all_tracks ... ok [INFO] [stdout] test test_initial_local_source_can_be_selected_without_cursor_movement ... ok [INFO] [stdout] test test_keybind_tab_shows_generic_search_text ... ok [INFO] [stdout] test test_left_panel_play_all_local_tracks_starts_full_library ... ok [INFO] [stdout] test test_initial_center_panel_shows_guidance ... ok [INFO] [stdout] test test_local_search_filters_album_songs_by_album_name ... ok [INFO] [stdout] test test_local_search_filters_album_songs_by_artist ... ok [INFO] [stdout] test test_left_panel_play_selected_local_album_starts_collection ... ok [INFO] [stdout] test test_local_search_filters_loaded_songs_while_typing ... ok [INFO] [stdout] test test_local_search_filters_album_songs ... ok [INFO] [stdout] test test_local_search_scans_configured_sources_without_open_album ... ok [INFO] [stdout] test test_local_tab_discovers_album_folders_under_source ... ok [INFO] [stdout] test test_local_search_input_shows_filter_context ... ok [INFO] [stdout] test test_local_search_filters_album_songs_by_file_path ... ok [INFO] [stdout] test test_local_search_can_reopen_after_zero_results ... ok [INFO] [stdout] test test_logs_panel_clear_shortcut_removes_visible_history ... ok [INFO] [stdout] test test_move_track_on_local_album_shows_playlist_hint ... ok [INFO] [stdout] test test_local_source_entry_excludes_child_album_tracks ... ok [INFO] [stdout] test test_move_selected_playlist_track_down_persists_order_and_selection ... ok [INFO] [stdout] test test_login_popup_enter_opens_account_settings ... ok [INFO] [stdout] test test_local_search_input_lists_loaded_songs ... ok [INFO] [stdout] test test_opened_playlist_tracks_show_artist_context ... ok [INFO] [stdout] test test_open_playlist_removal_survives_playlist_reordering ... ok [INFO] [stdout] test test_opening_local_source_focuses_center_for_enter_playback ... ok [INFO] [stdout] test test_open_album_marks_current_track ... ok [INFO] [stdout] test test_panel_switching ... ok [INFO] [stdout] test test_opened_playlist_uses_playlist_name_as_title ... ok [INFO] [stdout] test test_left_panel_favorites_selected_local_album ... ok [INFO] [stdout] test test_open_album_shows_disc_and_track_numbers ... ok [INFO] [stdout] test test_play_multi_service_playlist_queues_only_later_tracks ... ok [INFO] [stdout] test test_pause_without_playback_shows_feedback ... ok [INFO] [stdout] test test_play_selected_without_song_shows_feedback ... ok [INFO] [stdout] test test_play_selected_song_shows_feedback ... ok [INFO] [stdout] test test_play_mixed_playlist_from_local_track_enqueues_streams ... ok [INFO] [stdout] test test_play_mixed_playlist_from_last_track_does_not_wrap ... ok [INFO] [stdout] test test_pending_auth_deferred_search ... ok [INFO] [stdout] test test_play_mixed_playlist_skips_unknown_stream_service_and_continues ... ok [INFO] [stdout] test test_play_streaming_album_preserves_track_metadata ... ok [INFO] [stdout] test test_play_streaming_album_from_last_track_does_not_wrap ... ok [INFO] [stdout] test test_playback_controls_show_feedback ... ok [INFO] [stdout] test test_play_streaming_playlist_track_resolves_before_player ... ok [INFO] [stdout] test test_play_streaming_playlist_from_last_track_does_not_wrap ... ok [INFO] [stdout] test test_qobuz_search_without_credentials_shows_config_hint ... ok [INFO] [stdout] test test_play_streaming_playlist_resolves_remaining_tracks ... ok [INFO] [stdout] test test_queue_clear_removes_upcoming_tracks ... ok [INFO] [stdout] test test_queue_filter_jumps_to_matching_original_track ... ok [INFO] [stdout] test test_play_track_search_result_preserves_stream_metadata ... ok [INFO] [stdout] test test_question_mark_opens_keybinds_help_directly ... ok [INFO] [stdout] test test_queue_clear_uses_plural_feedback_for_multiple_tracks ... ok [INFO] [stdout] test test_qobuz_login_without_credentials_shows_same_notice_in_popup_and_log ... ok [INFO] [stdout] test test_queue_position_persists_after_next_track_action ... ok [INFO] [stdout] test test_queue_move_current_track_is_blocked ... ok [INFO] [stdout] test test_playlist_track_move_boundary_shows_feedback ... ok [INFO] [stdout] test test_play_streaming_album_reports_unresolved_tracks_with_plural_feedback ... ok [INFO] [stdout] test test_queue_view_shows_total_duration_when_available ... ok [INFO] [stdout] test test_queue_remove_upcoming_track_shows_track_feedback ... ok [INFO] [stdout] test test_queue_persists_across_app_instances_without_autoplay ... ok [INFO] [stdout] test test_queue_move_upcoming_track_down_updates_order_and_selection ... ok [INFO] [stdout] test test_queue_view_updates_after_next_track_action ... ok [INFO] [stdout] test test_queue_remove_and_clear_persist_across_app_instances ... ok [INFO] [stdout] test test_queue_remove_current_track_shows_feedback ... ok [INFO] [stdout] test test_refresh_library_loads_external_playlist_and_keeps_tab ... ok [INFO] [stdout] test test_refresh_library_updates_open_local_library_search ... ok [INFO] [stdout] test test_refresh_library_keeps_open_source_root_tracks_separate_from_child_albums ... ok [INFO] [stdout] test test_refresh_library_clears_open_discovered_album_that_was_removed ... ok [INFO] [stdout] test test_refresh_library_updates_open_local_source_tracks ... ok [INFO] [stdout] test test_remove_track_on_local_album_shows_playlist_hint ... ok [INFO] [stdout] test test_remove_track_from_playlist_that_disappeared_clears_view_with_feedback ... ok [INFO] [stdout] test test_refresh_library_updates_open_discovered_local_album_tracks ... ok [INFO] [stdout] test test_remove_selected_track_from_playlist ... ok [INFO] [stdout] test test_removing_open_local_source_clears_center_album ... ok [INFO] [stdout] test test_save_empty_queue_shows_feedback ... ok [INFO] [stdout] test test_right_panel_add_current_track_without_playback_shows_feedback ... ok [INFO] [stdout] test test_rename_playlist_preserves_tracks_and_open_view ... ok [INFO] [stdout] test test_reordering_local_sources_updates_left_panel_immediately ... ok [INFO] [stdout] test test_removing_source_updates_open_local_library_search ... ok [INFO] [stdout] test test_renaming_open_local_source_updates_center_title ... ok [INFO] [stdout] test test_save_queue_creates_playlist_when_none_exist ... ok [INFO] [stdout] test test_search_flow_with_qobuz_tab ... ok [INFO] [stdout] test test_search_input_renders_cursor_at_current_position ... ok [INFO] [stdout] test test_save_queue_to_existing_playlist_preserves_current_order ... ok [INFO] [stdout] test test_right_panel_add_current_track_to_playlist ... ok [INFO] [stdout] test test_search_after_album_select_clears_local_songs ... ok [INFO] [stdout] test test_search_on_local_tab_shows_hint ... ok [INFO] [stdout] test test_settings_opens_and_closes ... ok [INFO] [stdout] test test_settings_duplicate_local_source_shows_feedback ... ok [INFO] [stdout] test test_seek_without_playback_shows_feedback ... ok [INFO] [stdout] test test_settings_startup_playback_modes_update_config ... ok [INFO] [stdout] test test_streaming_album_search_no_results_shows_guidance ... ok [INFO] [stdout] test test_space_in_queue_view_jumps_to_selected_queue_track ... ok [INFO] [stdout] test test_seek_feedback_clamps_to_track_duration ... ok [INFO] [stdout] test test_streaming_album_with_no_tracks_shows_guidance ... ok [INFO] [stdout] test test_toggle_mute_zeroes_and_restores_previous_volume ... ok [INFO] [stdout] test test_tidal_login_pending_auth_shows_same_notice_in_popup_and_log ... ok [INFO] [stdout] test test_streaming_artist_search_no_results_shows_guidance ... ok [INFO] [stdout] test test_transport_controls_without_playback_show_feedback ... ok [INFO] [stdout] test test_timeout_cancels_stale_search_and_replacement_wins ... ok [INFO] [stderr] Doc-tests rmus [INFO] [stdout] test test_search_status_visible_while_background_query_runs ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 197 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.26s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "e3944ab290589c6fceb4147010391d87c0d84d49a076c59d5600a55d05d0a0b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e3944ab290589c6fceb4147010391d87c0d84d49a076c59d5600a55d05d0a0b5", kill_on_drop: false }` [INFO] [stdout] e3944ab290589c6fceb4147010391d87c0d84d49a076c59d5600a55d05d0a0b5