[INFO] fetching crate koan-core 0.18.2... [INFO] testing koan-core-0.18.2 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-1 [INFO] extracting crate koan-core 0.18.2 into /workspace/builds/worker-2-tc1/source [INFO] started tweaking crates.io crate koan-core 0.18.2 [INFO] finished tweaking crates.io crate koan-core 0.18.2 [INFO] tweaked toml for crates.io crate koan-core 0.18.2 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate koan-core 0.18.2 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate koan-core 0.18.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" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded toml_writer v1.0.7+spec-1.1.0 [INFO] [stderr] Downloaded symphonia-utils-xiph v0.5.5 [INFO] [stderr] Downloaded extended v0.1.0 [INFO] [stderr] Downloaded symphonia-metadata v0.5.5 [INFO] [stderr] Downloaded symphonia-format-ogg v0.5.5 [INFO] [stderr] Downloaded symphonia v0.5.5 [INFO] [stderr] Downloaded symphonia-format-riff v0.5.5 [INFO] [stderr] Downloaded symphonia-format-isomp4 v0.5.5 [INFO] [stderr] Downloaded coreaudio-sys v0.2.17 [INFO] [stderr] Downloaded ogg_pager v0.7.1 [INFO] [stderr] Downloaded lofty_attr v0.12.0 [INFO] [stderr] Downloaded symphonia-codec-adpcm v0.5.5 [INFO] [stderr] Downloaded symphonia-codec-pcm v0.5.5 [INFO] [stderr] Downloaded rcue v0.1.3 [INFO] [stderr] Downloaded noisy_float v0.2.1 [INFO] [stderr] Downloaded coreaudio-rs v0.11.3 [INFO] [stderr] Downloaded ndarray-stats v0.6.0 [INFO] [stderr] Downloaded symphonia-bundle-mp3 v0.5.5 [INFO] [stderr] Downloaded alsa v0.9.1 [INFO] [stderr] Downloaded cpal v0.15.3 [INFO] [stderr] Downloaded bliss-audio v0.11.2 [INFO] [stderr] Downloaded dbus v0.9.10 [INFO] [stderr] Downloaded oboe-sys v0.6.1 [INFO] [stderr] Downloaded ebur128 v0.1.10 [INFO] [stderr] Downloaded bindgen v0.64.0 [INFO] [stderr] Downloaded rusqlite v0.38.0 [INFO] [stderr] Downloaded symphonia-core v0.5.5 [INFO] [stderr] Downloaded extended-isolation-forest v0.2.3 [INFO] [stderr] Downloaded lofty v0.23.3 [INFO] [stderr] Downloaded rubato v0.16.2 [INFO] [stderr] Downloaded windows-core v0.54.0 [INFO] [stderr] Downloaded oboe v0.6.1 [INFO] [stderr] Downloaded dbus-secret-service v4.1.0 [INFO] [stderr] Downloaded realfft v3.5.0 [INFO] [stderr] Downloaded rtrb v0.3.3 [INFO] [stderr] Downloaded symphonia-bundle-flac v0.5.5 [INFO] [stderr] Downloaded symphonia-codec-aac v0.5.5 [INFO] [stderr] Downloaded symphonia-codec-vorbis v0.5.5 [INFO] [stderr] Downloaded bliss-audio-aubio-rs v0.2.4 [INFO] [stderr] Downloaded alsa-sys v0.3.1 [INFO] [stderr] Downloaded hashlink v0.11.0 [INFO] [stderr] Downloaded rsqlite-vfs v0.1.0 [INFO] [stderr] Downloaded symphonia-codec-alac v0.5.5 [INFO] [stderr] Downloaded bliss-audio-aubio-sys v0.2.4 [INFO] [stderr] Downloaded libdbus-sys v0.2.7 [INFO] [stderr] Downloaded sqlite-wasm-rs v0.5.2 [INFO] [stderr] Downloaded libsqlite3-sys v0.36.0 [INFO] [stderr] Downloaded windows v0.54.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 981e9d744c55aaa714f9cab2b0a1612e06d973e3ea7e30023d6a750f6d012a38 [INFO] running `Command { std: "docker" "start" "-a" "981e9d744c55aaa714f9cab2b0a1612e06d973e3ea7e30023d6a750f6d012a38", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "981e9d744c55aaa714f9cab2b0a1612e06d973e3ea7e30023d6a750f6d012a38", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "981e9d744c55aaa714f9cab2b0a1612e06d973e3ea7e30023d6a750f6d012a38", kill_on_drop: false }` [INFO] [stdout] 981e9d744c55aaa714f9cab2b0a1612e06d973e3ea7e30023d6a750f6d012a38 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 68e4a6a9096a111d5bc847e6ee84c01a6ae6dd2a5578a420261c59c2b40ec533 [INFO] running `Command { std: "docker" "start" "-a" "68e4a6a9096a111d5bc847e6ee84c01a6ae6dd2a5578a420261c59c2b40ec533", kill_on_drop: false }` [INFO] [stderr] Compiling zeroize_derive v1.4.3 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling aws-lc-sys v0.38.0 [INFO] [stderr] Compiling clang-sys v1.8.1 [INFO] [stderr] Compiling zerocopy v0.8.42 [INFO] [stderr] Compiling aws-lc-rs v1.16.1 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling primal-check v0.3.4 [INFO] [stderr] Compiling transpose v0.2.3 [INFO] [stderr] Compiling rustfft v6.4.1 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling bindgen v0.64.0 [INFO] [stderr] Compiling home v0.5.12 [INFO] [stderr] Compiling which v4.4.2 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling lazycell v1.3.0 [INFO] [stderr] Compiling peeking_take_while v0.1.2 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling symphonia-core v0.5.5 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling libdbus-sys v0.2.7 [INFO] [stderr] Compiling matrixmultiply v0.3.10 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling symphonia-metadata v0.5.5 [INFO] [stderr] Compiling alsa-sys v0.3.1 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling symphonia-utils-xiph v0.5.5 [INFO] [stderr] Compiling libsqlite3-sys v0.36.0 [INFO] [stderr] Compiling proc-macro2-diagnostics v0.10.1 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling dasp_sample v0.11.0 [INFO] [stderr] Compiling extended v0.1.0 [INFO] [stderr] Compiling simd-adler32 v0.3.8 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling rustls-native-certs v0.8.3 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling symphonia-format-riff v0.5.5 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling uncased v0.9.10 [INFO] [stderr] Compiling pear_codegen v0.2.9 [INFO] [stderr] Compiling dbus v0.9.10 [INFO] [stderr] Compiling ndarray v0.16.1 [INFO] [stderr] Compiling symphonia-format-isomp4 v0.5.5 [INFO] [stderr] Compiling symphonia-codec-vorbis v0.5.5 [INFO] [stderr] Compiling symphonia-format-ogg v0.5.5 [INFO] [stderr] Compiling bliss-audio-aubio-sys v0.2.4 [INFO] [stderr] Compiling symphonia-bundle-flac v0.5.5 [INFO] [stderr] Compiling rand_distr v0.4.3 [INFO] [stderr] Compiling symphonia-bundle-mp3 v0.5.5 [INFO] [stderr] Compiling symphonia-codec-aac v0.5.5 [INFO] [stderr] Compiling symphonia-codec-adpcm v0.5.5 [INFO] [stderr] Compiling symphonia-codec-pcm v0.5.5 [INFO] [stderr] Compiling symphonia-codec-alac v0.5.5 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling realfft v3.5.0 [INFO] [stderr] Compiling figment v0.10.19 [INFO] [stderr] Compiling noisy_float v0.2.1 [INFO] [stderr] Compiling cpal v0.15.3 [INFO] [stderr] Compiling winnow v1.0.0 [INFO] [stderr] Compiling ebur128 v0.1.10 [INFO] [stderr] Compiling inlinable_string v0.1.15 [INFO] [stderr] Compiling iri-string v0.7.10 [INFO] [stderr] Compiling bliss-audio v0.11.2 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Compiling toml_parser v1.0.10+spec-1.1.0 [INFO] [stderr] Compiling ndarray-stats v0.6.0 [INFO] [stderr] Compiling pear v0.2.9 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling ogg_pager v0.7.1 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling rubato v0.16.2 [INFO] [stderr] Compiling symphonia v0.5.5 [INFO] [stderr] Compiling extended-isolation-forest v0.2.3 [INFO] [stderr] Compiling dbus-secret-service v4.1.0 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling alsa v0.9.1 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling dasp_frame v0.11.0 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling hashlink v0.11.0 [INFO] [stderr] Compiling serde_spanned v1.0.4 [INFO] [stderr] Compiling toml_datetime v0.7.5+spec-1.1.0 [INFO] [stderr] Compiling lofty_attr v0.12.0 [INFO] [stderr] Compiling data-encoding v2.10.0 [INFO] [stderr] Compiling toml_writer v1.0.7+spec-1.1.0 [INFO] [stderr] Compiling rcue v0.1.3 [INFO] [stderr] Compiling fallible-streaming-iterator v0.1.9 [INFO] [stderr] Compiling fallible-iterator v0.3.0 [INFO] [stderr] Compiling bliss-audio-aubio-rs v0.2.4 [INFO] [stderr] Compiling koan-core v0.18.2 (/opt/rustwide/workdir) [INFO] [stderr] Compiling strum v0.27.2 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling lofty v0.23.3 [INFO] [stderr] Compiling toml v0.9.12+spec-1.1.0 [INFO] [stderr] Compiling rusqlite v0.38.0 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling uuid v1.22.0 [INFO] [stderr] Compiling keyring v3.6.3 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling rtrb v0.3.3 [INFO] [stderr] Compiling md5 v0.8.0 [INFO] [stderr] Compiling rustls-webpki v0.103.9 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling rustls-platform-verifier v0.6.2 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling reqwest v0.13.2 [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 14s [INFO] running `Command { std: "docker" "inspect" "68e4a6a9096a111d5bc847e6ee84c01a6ae6dd2a5578a420261c59c2b40ec533", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "68e4a6a9096a111d5bc847e6ee84c01a6ae6dd2a5578a420261c59c2b40ec533", kill_on_drop: false }` [INFO] [stdout] 68e4a6a9096a111d5bc847e6ee84c01a6ae6dd2a5578a420261c59c2b40ec533 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 04c2a468ac4c3ab390e24145de5953ff2a024477347ac833405bb367a05047be [INFO] running `Command { std: "docker" "start" "-a" "04c2a468ac4c3ab390e24145de5953ff2a024477347ac833405bb367a05047be", kill_on_drop: false }` [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling alsa v0.9.1 [INFO] [stderr] Compiling rusqlite v0.38.0 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling reqwest v0.13.2 [INFO] [stderr] Compiling cpal v0.15.3 [INFO] [stderr] Compiling which v4.4.2 [INFO] [stderr] Compiling bindgen v0.64.0 [INFO] [stderr] Compiling bliss-audio-aubio-sys v0.2.4 [INFO] [stderr] Compiling bliss-audio-aubio-rs v0.2.4 [INFO] [stderr] Compiling bliss-audio v0.11.2 [INFO] [stderr] Compiling koan-core v0.18.2 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 07s [INFO] running `Command { std: "docker" "inspect" "04c2a468ac4c3ab390e24145de5953ff2a024477347ac833405bb367a05047be", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "04c2a468ac4c3ab390e24145de5953ff2a024477347ac833405bb367a05047be", kill_on_drop: false }` [INFO] [stdout] 04c2a468ac4c3ab390e24145de5953ff2a024477347ac833405bb367a05047be [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] fd2aad48275c0f6ba8b19fd57d2df7bd5ca399da2df057f4e8c6c9676fa6f697 [INFO] running `Command { std: "docker" "start" "-a" "fd2aad48275c0f6ba8b19fd57d2df7bd5ca399da2df057f4e8c6c9676fa6f697", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.56s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/koan_core-d3cea042edd90825) [INFO] [stdout] [INFO] [stdout] running 477 tests [INFO] [stdout] test audio::analyzer::tests::bin_to_bar_covers_audible_range ... ok [INFO] [stdout] test audio::analyzer::tests::frequency_scale_bark_normalize_monotonic ... ok [INFO] [stdout] test audio::backend::tests::device_info_construction ... ok [INFO] [stdout] test audio::backend::tests::platform_backend_constructs ... ok [INFO] [stdout] test audio::backend::tests::backend_error_formatting ... ok [INFO] [stdout] test audio::buffer::tests::test_timeline_past_all_boundaries ... ok [INFO] [stdout] test audio::buffer::tests::test_timeline_gapless_transition ... ok [INFO] [stdout] test audio::buffer::tests::test_timeline_reset ... ok [INFO] [stdout] test audio::buffer::tests::test_timeline_seek_offset ... ok [INFO] [stdout] test audio::buffer::tests::test_timeline_single_track ... ok [INFO] [stdout] test audio::buffer::tests::test_timeline_zero_samples ... ok [INFO] [stdout] test audio::cpal_backend::tests::cpal_backend_constructs ... ok [INFO] [stdout] test audio::backend::tests::platform_backend_has_default_device ... ok [INFO] [stdout] test audio::backend::tests::engine_create_with_ring_buffer ... ok [INFO] [stdout] test audio::backend::tests::platform_backend_lists_devices ... ok [INFO] [stdout] test audio::cpal_backend::tests::cpal_set_sample_rate_is_noop ... ok [INFO] [stdout] test audio::replaygain::tests::test_apply_gain_negative_reduces_volume ... ok [INFO] [stdout] test audio::replaygain::tests::test_apply_gain_peak_limiting ... ok [INFO] [stdout] test audio::replaygain::tests::test_apply_gain_positive ... ok [INFO] [stdout] test audio::replaygain::tests::test_apply_gain_empty_buffer ... ok [INFO] [stdout] test audio::replaygain::tests::test_apply_gain_zero_db_is_identity ... ok [INFO] [stdout] test audio::replaygain::tests::test_db_to_linear_conversion ... ok [INFO] [stdout] test audio::replaygain::tests::test_format_gain ... ok [INFO] [stdout] test audio::replaygain::tests::test_format_peak ... ok [INFO] [stdout] test audio::replaygain::tests::test_parse_gain_invalid ... ok [INFO] [stdout] test audio::replaygain::tests::test_apply_gain_with_preamp ... ok [INFO] [stdout] test audio::replaygain::tests::test_parse_gain_with_db_suffix ... ok [INFO] [stdout] test audio::replaygain::tests::test_parse_gain_without_suffix ... ok [INFO] [stdout] test audio::cpal_backend::tests::cpal_list_devices_no_panic ... ok [INFO] [stdout] test audio::cpal_backend::tests::cpal_resolve_nonexistent_device_fails ... ok [INFO] [stdout] test audio::replaygain::tests::test_parse_peak ... ok [INFO] [stdout] test audio::replaygain::tests::test_select_gain_album_falls_back_to_track ... ok [INFO] [stdout] test audio::replaygain::tests::test_select_gain_album_mode ... ok [INFO] [stdout] test audio::replaygain::tests::test_select_gain_no_data ... ok [INFO] [stdout] test audio::replaygain::tests::test_select_gain_off ... ok [INFO] [stdout] test audio::streaming::tests::byte_len_returns_total ... ok [INFO] [stdout] test audio::replaygain::tests::test_select_gain_track_mode ... ok [INFO] [stdout] test audio::streaming::tests::is_complete_when_done ... ok [INFO] [stdout] test audio::streaming::tests::multiple_readers_independent_positions ... ok [INFO] [stdout] test audio::streaming::tests::new_buffer_starts_empty ... ok [INFO] [stdout] test audio::streaming::tests::new_buffer_unknown_total ... ok [INFO] [stdout] test audio::streaming::tests::push_increments_bytes_downloaded ... ok [INFO] [stdout] test audio::streaming::tests::read_all_data_available ... ok [INFO] [stdout] test audio::streaming::tests::read_partial_then_rest ... ok [INFO] [stdout] test audio::streaming::tests::seek_before_start_errors ... ok [INFO] [stdout] test audio::streaming::tests::seek_from_current ... ok [INFO] [stdout] test audio::streaming::tests::seek_from_end ... ok [INFO] [stdout] test audio::streaming::tests::seek_from_start ... ok [INFO] [stdout] test audio::cpal_backend::tests::cpal_device_info_has_sample_rates ... ok [INFO] [stdout] test audio::viz::tests::channels_and_sample_rate ... ok [INFO] [stdout] test audio::viz::tests::push_and_snapshot_basic ... ok [INFO] [stdout] test audio::viz::tests::push_larger_than_buffer ... ok [INFO] [stdout] test audio::viz::tests::viz_snapshot_read_write ... ok [INFO] [stdout] test audio::viz::tests::push_wraps_around ... ok [INFO] [stdout] test audio::streaming::tests::is_seekable_true ... ok [INFO] [stdout] test config::tests::test_cache_dir_default ... ok [INFO] [stdout] test config::tests::test_cache_limit_none_by_default ... ok [INFO] [stdout] test config::tests::test_defaults ... ok [INFO] [stdout] test config::tests::test_cache_dir_explicit ... ok [INFO] [stdout] test config::tests::test_cache_limit_not_serialized_when_none ... ok [INFO] [stdout] test config::tests::test_cache_limit_config_from_toml ... ok [INFO] [stdout] test config::tests::test_env_var_override ... ok [INFO] [stdout] test config::tests::test_figment_layered_loading ... ok [INFO] [stdout] test audio::streaming::tests::test_partial_availability ... ok [INFO] [stdout] test config::tests::test_figment_missing_keys_preserved ... ok [INFO] [stdout] test config::tests::test_graphql_bind_defaults_to_localhost ... ok [INFO] [stdout] test config::tests::test_graphql_bind_omitted_defaults_to_localhost ... ok [INFO] [stdout] test config::tests::test_figment_organize_patterns_merge ... ok [INFO] [stdout] test config::tests::test_organize_config_from_toml ... ok [INFO] [stdout] test config::tests::test_organize_default_pattern ... ok [INFO] [stdout] test config::tests::test_organize_config_roundtrip ... ok [INFO] [stdout] test config::tests::test_organize_default_pattern_missing_name ... ok [INFO] [stdout] test config::tests::test_output_device_config_default_is_none ... ok [INFO] [stdout] test config::tests::test_organize_resolve_named_pattern ... ok [INFO] [stdout] test config::tests::test_output_device_config_from_toml ... ok [INFO] [stdout] test config::tests::test_parse_size_bytes ... ok [INFO] [stdout] test config::tests::test_partial_toml_uses_defaults ... ok [INFO] [stdout] test config::tests::test_graphql_bind_from_toml ... ok [INFO] [stdout] test config::tests::test_load_from_file ... ok [INFO] [stdout] test config::tests::test_organize_config_defaults ... ok [INFO] [stdout] test config::tests::test_output_device_config_roundtrip ... ok [INFO] [stdout] test config::tests::test_roundtrip_toml ... ok [INFO] [stdout] test config::tests::test_update_base_does_not_leak_secrets ... ok [INFO] [stdout] test db::queries::albums::tests::test_album_codec_updated_on_format_upgrade ... ok [INFO] [stdout] test db::queries::albums::tests::test_album_codec_not_nulled_by_missing_codec ... ok [INFO] [stdout] test db::queries::albums::tests::test_album_create_and_dedup ... ok [INFO] [stdout] test db::queries::albums::tests::test_all_albums_and_tracks ... ok [INFO] [stdout] test db::queries::favourites::tests::test_add_favourite_is_idempotent ... ok [INFO] [stdout] test db::queries::favourites::tests::test_import_remote_favourites_adds_matching_tracks ... ok [INFO] [stdout] test audio::analyzer::tests::analyzer_spawns_and_shuts_down ... ok [INFO] [stdout] test db::queries::artists::tests::test_artist_create_and_dedup ... ok [INFO] [stdout] test db::queries::favourites::tests::test_import_remote_favourites_is_idempotent ... ok [INFO] [stdout] test db::queries::favourites::tests::test_add_and_remove_favourite ... ok [INFO] [stdout] test db::queries::favourites::tests::test_toggle_favourite_nonexistent_track_path_handled_gracefully ... ok [INFO] [stdout] test db::queries::favourites::tests::test_import_remote_favourites_skips_unknown_remote_ids ... ok [INFO] [stdout] test db::queries::favourites::tests::test_load_favourites_returns_empty_when_none_added ... ok [INFO] [stdout] test db::queries::playback_state::tests::test_db_id_round_trip ... ok [INFO] [stdout] test db::queries::playback_state::tests::test_db_id_migration_from_old_format ... ok [INFO] [stdout] test db::queries::playback_state::tests::test_clear_playback_state ... ok [INFO] [stdout] test db::queries::playback_state::tests::test_to_playlist_item_marks_existing_path_as_ready ... ok [INFO] [stdout] test db::queries::playback_state::tests::test_to_playlist_item_marks_missing_path_as_pending ... ok [INFO] [stdout] test db::queries::favourites::tests::test_toggle_favourite_on_then_off ... ok [INFO] [stdout] test db::queries::lyrics::tests::test_cache_and_retrieve_lyrics ... ok [INFO] [stdout] test audio::analyzer::tests::analyzer_produces_nonzero_output_for_sine ... ok [INFO] [stdout] test db::queries::playback_state::tests::test_save_and_load_playback_state ... ok [INFO] [stdout] test db::queries::playback_state::tests::test_load_returns_none_when_empty ... ok [INFO] [stdout] test db::queries::radio::tests::test_fresh_similar_artists_per_source ... ok [INFO] [stdout] test db::queries::playback_state::tests::test_save_overwrites_previous_state ... ok [INFO] [stdout] test db::queries::radio::tests::test_get_similar_artists_empty ... ok [INFO] [stdout] test db::queries::radio::tests::test_has_fresh_similar_artists ... ok [INFO] [stdout] test db::queries::radio::tests::test_all_genres ... ok [INFO] [stdout] test db::queries::radio::tests::test_has_fresh_similar_artists_stale ... ok [INFO] [stdout] test db::queries::radio::tests::test_save_and_get_similar_artists ... ok [INFO] [stdout] test db::queries::radio::tests::test_random_tracks_excluding_empty_library ... ok [INFO] [stdout] test db::queries::radio::tests::test_record_and_query_play_history ... ok [INFO] [stdout] test db::queries::radio::tests::test_similar_artists_detailed ... ok [INFO] [stdout] test db::queries::radio::tests::test_save_replaces_per_source ... ok [INFO] [stdout] test db::queries::radio::tests::test_random_tracks_excluding ... ok [INFO] [stdout] test audio::analyzer::tests::analysis_state_decays_to_zero_on_silence ... ok [INFO] [stdout] test db::queries::scan_cache::tests::test_load_scan_cache ... ok [INFO] [stdout] test db::queries::radio::tests::test_random_tracks_prefers_artist_and_genre ... ok [INFO] [stdout] test db::queries::scan_cache::tests::test_scan_cache ... ok [INFO] [stdout] test db::queries::snapshots::tests::load_nonexistent_returns_none ... ok [INFO] [stdout] test db::queries::snapshots::tests::save_overwrites_existing ... ok [INFO] [stdout] test db::queries::snapshots::tests::list_snapshots_returns_all ... ok [INFO] [stdout] test db::queries::snapshots::tests::save_and_load_snapshot ... ok [INFO] [stdout] test db::queries::snapshots::tests::delete_snapshot_works ... ok [INFO] [stdout] test db::queries::stats::tests::test_library_stats ... ok [INFO] [stdout] test db::queries::tracks::tests::test_cached_albums_lru_excludes_favourites ... ok [INFO] [stdout] test db::queries::search::tests::test_search_fts ... ok [INFO] [stdout] test db::queries::tracks::tests::test_clear_cache_for_tracks ... ok [INFO] [stdout] test db::queries::tracks::tests::test_cached_albums_lru_sorted_by_last_play ... ok [INFO] [stdout] test db::queries::tracks::tests::test_dedup_remote_then_local ... ok [INFO] [stdout] test db::queries::tracks::tests::test_favourite_album_ids_batch ... ok [INFO] [stdout] test db::queries::tracks::tests::test_dedup_local_then_remote ... ok [INFO] [stdout] test db::queries::tracks::tests::test_clear_cached_paths_clears_all_tracking ... ok [INFO] [stdout] test db::queries::tracks::tests::test_genres_by_album_ids ... ok [INFO] [stdout] test db::queries::tracks::tests::test_nonexistent_track_resolution ... ok [INFO] [stdout] test db::queries::tracks::tests::test_genres_by_artist_ids_empty ... ok [INFO] [stdout] test db::queries::tracks::tests::test_favourite_artist_ids_batch_empty ... ok [INFO] [stdout] test db::queries::tracks::tests::test_favourite_album_ids_batch_empty ... ok [INFO] [stdout] test db::queries::tracks::tests::test_favourite_artist_ids_batch ... ok [INFO] [stdout] test db::queries::tracks::tests::test_genres_by_artist_ids ... ok [INFO] [stdout] test db::queries::tracks::tests::test_reattach_on_rescan ... ok [INFO] [stdout] test db::queries::tracks::tests::test_remove_track_by_path ... ok [INFO] [stdout] test db::queries::tracks::tests::test_remove_stale_preserves_remote_backed ... ok [INFO] [stdout] test db::queries::tracks::tests::test_resolve_playback_local_wins ... ok [INFO] [stdout] test db::queries::tracks::tests::test_remove_tracks_by_source ... ok [INFO] [stdout] test db::queries::tracks::tests::test_set_cached_path_records_size_and_date ... ok [INFO] [stdout] test db::queries::tracks::tests::test_resolve_playback_remote_fallback ... ok [INFO] [stdout] test db::queries::tracks::tests::test_total_cache_size ... ok [INFO] [stdout] test db::queries::tracks::tests::test_upsert_track ... ok [INFO] [stdout] test db::queries::tracks::tests::test_remove_stale_deletes_pure_local ... ok [INFO] [stdout] test db::queries::vectors::tests::find_similar_no_vector_returns_empty ... ok [INFO] [stdout] test db::queries::vectors::tests::find_similar_returns_nearest ... ok [INFO] [stdout] test format::eval::tests::basic_field ... ok [INFO] [stdout] test format::eval::tests::conditional_does_not_poison_parent ... ok [INFO] [stdout] test format::eval::tests::conditional_missing ... ok [INFO] [stdout] test format::eval::tests::conditional_present ... ok [INFO] [stdout] test format::eval::tests::conditional_with_function_returning_empty ... ok [INFO] [stdout] test format::eval::tests::conditional_with_only_literals_always_renders ... ok [INFO] [stdout] test format::eval::tests::deeply_nested_conditionals ... ok [INFO] [stdout] test format::eval::tests::function_in_conditional ... ok [INFO] [stdout] test format::eval::tests::function_with_empty_arg ... ok [INFO] [stdout] test format::eval::tests::literal_passthrough ... ok [INFO] [stdout] test format::eval::tests::missing_field ... ok [INFO] [stdout] test format::eval::tests::missing_field_produces_empty ... ok [INFO] [stdout] test format::eval::tests::multiple_failed_conditionals ... ok [INFO] [stdout] test format::eval::tests::multiple_fields ... ok [INFO] [stdout] test db::queries::vectors::tests::find_similar_empty_db ... ok [INFO] [stdout] test db::queries::vectors::tests::has_vector_returns_true_after_store ... ok [INFO] [stdout] test format::eval::tests::nested_conditional_inner_missing ... ok [INFO] [stdout] test format::eval::tests::stricmp_with_if_else ... ok [INFO] [stdout] test db::queries::vectors::tests::tracks_missing_vectors_works ... ok [INFO] [stdout] test format::eval::tests::stricmp_with_if_empty_then ... ok [INFO] [stdout] test format::functions::tests::abbr ... ok [INFO] [stdout] test format::functions::tests::add ... ok [INFO] [stdout] test format::functions::tests::add_negative ... ok [INFO] [stdout] test db::queries::vectors::tests::has_vector_returns_false_when_missing ... ok [INFO] [stdout] test format::functions::tests::and_both_truthy ... ok [INFO] [stdout] test format::functions::tests::caps ... ok [INFO] [stdout] test format::functions::tests::and_one_empty ... ok [INFO] [stdout] test format::functions::tests::caps2_articles ... ok [INFO] [stdout] test format::eval::tests::nested_conditional ... ok [INFO] [stdout] test format::functions::tests::caps_mixed_case ... ok [INFO] [stdout] test format::functions::tests::char_function ... ok [INFO] [stdout] test format::functions::tests::crlf ... ok [INFO] [stdout] test format::functions::tests::directory ... ok [INFO] [stdout] test format::eval::tests::function_in_conditional_field_missing ... ok [INFO] [stdout] test format::functions::tests::directory_path ... ok [INFO] [stdout] test format::functions::tests::div ... ok [INFO] [stdout] test format::functions::tests::div_by_zero ... ok [INFO] [stdout] test format::functions::tests::div_non_numeric ... ok [INFO] [stdout] test format::functions::tests::ext ... ok [INFO] [stdout] test db::queries::vectors::tests::vector_count_works ... ok [INFO] [stdout] test format::functions::tests::ext_no_extension ... ok [INFO] [stdout] test format::functions::tests::filename ... ok [INFO] [stdout] test format::functions::tests::filename_with_path ... ok [INFO] [stdout] test format::functions::tests::fix_eol ... ok [INFO] [stdout] test format::functions::tests::fix_eol_custom ... ok [INFO] [stdout] test format::functions::tests::greater_equal ... ok [INFO] [stdout] test format::functions::tests::greater_false ... ok [INFO] [stdout] test db::queries::vectors::tests::store_and_retrieve_vector ... ok [INFO] [stdout] test format::functions::tests::greater_true ... ok [INFO] [stdout] test format::functions::tests::hex_basic ... ok [INFO] [stdout] test format::functions::tests::hex_padded ... ok [INFO] [stdout] test format::functions::tests::if2_fallback ... ok [INFO] [stdout] test format::functions::tests::if2_first ... ok [INFO] [stdout] test format::functions::tests::if3_all_empty ... ok [INFO] [stdout] test format::functions::tests::if3_third ... ok [INFO] [stdout] test format::functions::tests::if_empty ... ok [INFO] [stdout] test format::functions::tests::if_empty_then_branch ... ok [INFO] [stdout] test format::functions::tests::if_no_else ... ok [INFO] [stdout] test format::functions::tests::ifequal_match ... ok [INFO] [stdout] test format::functions::tests::ifequal_no_match ... ok [INFO] [stdout] test format::functions::tests::ifgreater_true ... ok [INFO] [stdout] test format::functions::tests::ifgreater_false ... ok [INFO] [stdout] test format::functions::tests::iflonger_true ... ok [INFO] [stdout] test format::functions::tests::iflonger_false ... ok [INFO] [stdout] test format::functions::tests::info ... ok [INFO] [stdout] test format::functions::tests::insert ... ok [INFO] [stdout] test format::functions::tests::left_exceeds_length ... ok [INFO] [stdout] test format::functions::tests::left_no_args ... ok [INFO] [stdout] test format::functions::tests::left_unicode ... ok [INFO] [stdout] test format::functions::tests::left_zero ... ok [INFO] [stdout] test format::functions::tests::len ... ok [INFO] [stdout] test format::functions::tests::len_empty ... ok [INFO] [stdout] test format::functions::tests::longer ... ok [INFO] [stdout] test format::functions::tests::longest ... ok [INFO] [stdout] test format::functions::tests::max ... ok [INFO] [stdout] test format::functions::tests::min ... ok [INFO] [stdout] test format::functions::tests::mod_by_zero ... ok [INFO] [stdout] test format::functions::tests::modulo ... ok [INFO] [stdout] test format::functions::tests::lower ... ok [INFO] [stdout] test format::functions::tests::if_nonempty ... ok [INFO] [stdout] test format::functions::tests::mul ... ok [INFO] [stdout] test format::functions::tests::muldiv ... ok [INFO] [stdout] test format::functions::tests::muldiv_by_zero ... ok [INFO] [stdout] test format::functions::tests::not_falsy ... ok [INFO] [stdout] test format::functions::tests::not_truthy ... ok [INFO] [stdout] test format::functions::tests::num_already_wide ... ok [INFO] [stdout] test format::functions::tests::num_zero_pad ... ok [INFO] [stdout] test format::functions::tests::left ... ok [INFO] [stdout] test format::functions::tests::or_both_empty ... ok [INFO] [stdout] test format::functions::tests::or_one_truthy ... ok [INFO] [stdout] test format::functions::tests::pad_left ... ok [INFO] [stdout] test format::functions::tests::pad_left_already_wider ... ok [INFO] [stdout] test format::functions::tests::pad_right ... ok [INFO] [stdout] test format::functions::tests::repeat ... ok [INFO] [stdout] test format::functions::tests::padcut ... ok [INFO] [stdout] test format::functions::tests::padcut_right ... ok [INFO] [stdout] test format::functions::tests::repeat_zero ... ok [INFO] [stdout] test format::functions::tests::replace ... ok [INFO] [stdout] test format::functions::tests::replace_no_match ... ok [INFO] [stdout] test format::functions::tests::right_exceeds_length ... ok [INFO] [stdout] test format::functions::tests::right ... ok [INFO] [stdout] test format::functions::tests::rot13 ... ok [INFO] [stdout] test format::functions::tests::shortest ... ok [INFO] [stdout] test format::functions::tests::select_valid ... ok [INFO] [stdout] test format::functions::tests::strchr_found ... ok [INFO] [stdout] test format::functions::tests::stricmp_equal ... ok [INFO] [stdout] test format::functions::tests::strcmp_equal ... ok [INFO] [stdout] test format::functions::tests::select_out_of_range ... ok [INFO] [stdout] test format::functions::tests::stripprefix_no_match ... ok [INFO] [stdout] test format::functions::tests::stripprefix_a ... ok [INFO] [stdout] test format::functions::tests::stricmp_various_artists ... ok [INFO] [stdout] test format::functions::tests::strcmp_not_equal ... ok [INFO] [stdout] test format::functions::tests::stricmp_not_equal ... ok [INFO] [stdout] test format::functions::tests::strchr_not_found ... ok [INFO] [stdout] test format::functions::tests::stripprefix_the ... ok [INFO] [stdout] test format::functions::tests::strrchr_found ... ok [INFO] [stdout] test format::functions::tests::sub ... ok [INFO] [stdout] test format::functions::tests::strstr_found ... ok [INFO] [stdout] test format::functions::tests::substr ... ok [INFO] [stdout] test format::functions::tests::swapprefix ... ok [INFO] [stdout] test format::functions::tests::substr_out_of_bounds ... ok [INFO] [stdout] test format::functions::tests::tab ... ok [INFO] [stdout] test format::functions::tests::strstr_not_found ... ok [INFO] [stdout] test format::functions::tests::trim ... ok [INFO] [stdout] test format::functions::tests::swapprefix_no_match ... ok [INFO] [stdout] test format::functions::tests::trim_empty ... ok [INFO] [stdout] test format::functions::tests::xor_different ... ok [INFO] [stdout] test format::functions::tests::unknown_function ... ok [INFO] [stdout] test format::functions::tests::xor_same ... ok [INFO] [stdout] test format::parser::tests::conditional ... ok [INFO] [stdout] test format::functions::tests::upper ... ok [INFO] [stdout] test format::parser::tests::multiple_adjacent_conditionals ... ok [INFO] [stdout] test format::parser::tests::conditional_with_function_inside ... ok [INFO] [stdout] test format::parser::tests::nested_conditional_function ... ok [INFO] [stdout] test format::parser::tests::empty_field_name ... ok [INFO] [stdout] test format::parser::tests::empty_function_arg ... ok [INFO] [stdout] test format::parser::tests::field_with_spaces ... ok [INFO] [stdout] test format::parser::tests::function_with_field_arg ... ok [INFO] [stdout] test format::parser::tests::literal_and_field ... ok [INFO] [stdout] test format::parser::tests::nested_conditionals ... ok [INFO] [stdout] test format::parser::tests::nested_function_calls ... ok [INFO] [stdout] test format::parser::tests::pattern1_parses_successfully ... ok [INFO] [stdout] test format::parser::tests::quoted_literal ... ok [INFO] [stdout] test format::parser::tests::unclosed_conditional ... ok [INFO] [stdout] test format::parser::tests::quoted_parens_in_conditional ... ok [INFO] [stdout] test format::parser::tests::pattern2_parses_successfully ... ok [INFO] [stdout] test format::parser::tests::plain_literal ... ok [INFO] [stdout] test format::parser::tests::quoted_brackets ... ok [INFO] [stdout] test format::parser::tests::simple_field ... ok [INFO] [stdout] test format::parser::tests::stricmp_in_if_pattern ... ok [INFO] [stdout] test format::parser::tests::unclosed_field ... ok [INFO] [stdout] test format::tests::chroma_pattern2_label_present ... ok [INFO] [stdout] test format::parser::tests::unclosed_function ... ok [INFO] [stdout] test format::tests::basic_artist ... ok [INFO] [stdout] test format::tests::chroma_pattern2_no_label_falls_through ... ok [INFO] [stdout] test format::tests::chroma_pattern1_feat_artist ... ok [INFO] [stdout] test format::tests::chroma_pattern1_uses_album_artist_and_date ... ok [INFO] [stdout] test format::tests::chroma_pattern2_with_date_label_present ... ok [INFO] [stdout] test format::tests::chroma_pattern2_with_date_no_label ... ok [INFO] [stdout] test format::tests::conditional_artist_album ... ok [INFO] [stdout] test format::tests::conditional_missing_artist ... ok [INFO] [stdout] test format::tests::chroma_track10_aloe_ii_dots_in_title ... ok [INFO] [stdout] test format::tests::if_function_integration ... ok [INFO] [stdout] test format::tests::chroma_track11_tangz_ii ... ok [INFO] [stdout] test format::tests::chroma_track2_feat_in_title ... ok [INFO] [stdout] test format::tests::complex_display ... ok [INFO] [stdout] test format::tests::empty_format_string ... ok [INFO] [stdout] test format::tests::if2_both_empty ... ok [INFO] [stdout] test format::tests::multiple_conditionals_partial ... ok [INFO] [stdout] test format::tests::nested_function_in_function ... ok [INFO] [stdout] test format::tests::if_function_missing ... ok [INFO] [stdout] test format::tests::multiple_conditionals_adjacent ... ok [INFO] [stdout] test format::tests::only_literals ... ok [INFO] [stdout] test format::tests::if_with_stricmp_nested_in_conditional ... ok [INFO] [stdout] test format::tests::organize_genre_based_no_genre ... ok [INFO] [stdout] test format::tests::organize_if2_fallback ... ok [INFO] [stdout] test format::tests::organize_genre_based ... ok [INFO] [stdout] test format::tests::pattern1_artist_same_as_album_artist ... ok [INFO] [stdout] test format::tests::organize_multi_disc ... ok [INFO] [stdout] test format::tests::organize_multi_disc_no_disc ... ok [INFO] [stdout] test format::tests::organize_standard_layout ... ok [INFO] [stdout] test format::tests::pattern1_normal_album_no_date ... ok [INFO] [stdout] test format::tests::pattern1_multi_disc ... ok [INFO] [stdout] test format::tests::pattern1_normal_album_no_disc ... ok [INFO] [stdout] test format::tests::pattern1_no_artist_tag ... ok [INFO] [stdout] test format::tests::pattern1_normal_album_full_metadata ... ok [INFO] [stdout] test format::tests::pattern1_va_album_skips_date ... ok [INFO] [stdout] test format::tests::pattern1_va_case_insensitive ... ok [INFO] [stdout] test format::tests::pattern2_minimal_metadata ... ok [INFO] [stdout] test format::tests::quoted_literal_missing_date ... ok [INFO] [stdout] test format::tests::stricmp_in_if_else_branch ... ok [INFO] [stdout] test format::tests::pattern2_no_label_fallback_to_artist ... ok [INFO] [stdout] test format::tests::pattern2_with_disc_number ... ok [INFO] [stdout] test format::tests::pattern2_with_label ... ok [INFO] [stdout] test format::tests::quoted_brackets_outside_conditional ... ok [INFO] [stdout] test format::tests::quoted_literal_with_function ... ok [INFO] [stdout] test format::tests::stricmp_in_if_empty_then_branch ... ok [INFO] [stdout] test index::features::tests::centroid_empty ... ok [INFO] [stdout] test index::features::tests::centroid_multiple ... ok [INFO] [stdout] test index::features::tests::euclidean_distance_known ... ok [INFO] [stdout] test index::features::tests::bytes_to_embedding_wrong_length ... ok [INFO] [stdout] test index::features::tests::centroid_single ... ok [INFO] [stdout] test index::features::tests::embedding_serialization_roundtrip ... ok [INFO] [stdout] test index::features::tests::euclidean_distance_identical ... ok [INFO] [stdout] test index::metadata::tests::test_is_audio_file ... ok [INFO] [stdout] test index::metadata::tests::test_is_audio_file_paths ... ok [INFO] [stdout] test index::metadata::tests::test_mp4_codec_non_mp4_file_falls_back_to_aac ... ok [INFO] [stdout] test index::metadata::tests::test_mp4_codec_nonexistent_file_falls_back_to_aac ... ok [INFO] [stdout] test index::metadata::tests::test_probe_defaults ... ok [INFO] [stdout] test index::metadata::tests::test_probe_empty_values_skipped ... ok [INFO] [stdout] test index::metadata::tests::test_probe_original_date_fallback ... ok [INFO] [stdout] test index::metadata::tests::test_probe_original_date_not_used_when_date_present ... ok [INFO] [stdout] test index::metadata::tests::test_probe_track_number_slash_format ... ok [INFO] [stdout] test index::metadata::tests::test_read_metadata_nonexistent ... ok [INFO] [stdout] test lyrics::tests::test_current_line_index_before_first ... ok [INFO] [stdout] test lyrics::tests::test_current_line_index_between_lines ... ok [INFO] [stdout] test index::metadata::tests::test_codec_string ... ok [INFO] [stdout] test lyrics::tests::test_current_line_index_empty ... ok [INFO] [stdout] test lyrics::tests::test_current_line_index_exact_match ... ok [INFO] [stdout] test lyrics::tests::test_parse_lrc_basic ... ok [INFO] [stdout] test lyrics::tests::test_parse_lrc_skips_non_timestamp_lines ... ok [INFO] [stdout] test organize::tests::acdc_artist_name_sanitized ... ok [INFO] [stdout] test organize::tests::ancillary_file_detection ... ok [INFO] [stdout] test organize::tests::format_string_evaluation ... ok [INFO] [stdout] test organize::tests::sanitize_relative_path_rejects_traversal ... ok [INFO] [stdout] test organize::tests::sanitize_relative_path_splits ... ok [INFO] [stdout] test organize::tests::sanitize_replaces_illegal_chars ... ok [INFO] [stdout] test organize::tests::track_metadata_provider_fields ... ok [INFO] [stdout] test player::state::tests::test_advance_cursor_skips_non_ready ... ok [INFO] [stdout] test player::state::tests::test_advance_cursor_stops_at_end_of_playlist ... ok [INFO] [stdout] test player::state::tests::test_advance_cursor_with_no_ready_items_returns_none ... ok [INFO] [stdout] test player::state::tests::test_derive_visible_queue_downloading_statuses ... ok [INFO] [stdout] test player::state::tests::test_derive_visible_queue_no_cursor_all_queued ... ok [INFO] [stdout] test player::state::tests::test_derive_visible_queue_statuses ... ok [INFO] [stdout] test player::state::tests::test_item_db_id_and_load_state ... ok [INFO] [stdout] test player::state::tests::test_move_item_to_front_when_after_is_none ... ok [INFO] [stdout] test player::state::tests::test_move_item_to_reorders_playlist ... ok [INFO] [stdout] test player::state::tests::test_move_items_batch_preserves_relative_order ... ok [INFO] [stdout] test player::state::tests::test_pending_downloads_collects_pending_with_db_id ... ok [INFO] [stdout] test player::state::tests::test_retreat_cursor_goes_to_previous_item ... ok [INFO] [stdout] test player::state::tests::test_retreat_cursor_returns_none_when_at_first_item ... ok [INFO] [stdout] test player::state::tests::test_retreat_cursor_returns_none_when_cursor_is_unset ... ok [INFO] [stdout] test player::state::tests::test_same_album_item_ids_distinguishes_album_artists ... ok [INFO] [stdout] test player::state::tests::test_same_album_item_ids_returns_album_mates ... ok [INFO] [stdout] test player::state::tests::test_same_album_item_ids_unknown_id_returns_empty ... ok [INFO] [stdout] test player::tests::add_remove_undo_undo_produces_original ... ok [INFO] [stdout] test player::tests::interleaved_adds_and_moves_undo ... ok [INFO] [stdout] test player::tests::multiple_undos_in_sequence ... ok [INFO] [stdout] test organize::tests::preview_does_not_move_files ... ok [INFO] [stdout] test organize::tests::extension_not_clobbered_by_dots_in_title ... ok [INFO] [stdout] test player::tests::playback_commands_not_undoable ... ok [INFO] [stdout] test organize::tests::execute_moves_files_and_undo_reverts ... ok [INFO] [stdout] test player::tests::redo_add_restores_items ... ok [INFO] [stdout] test player::tests::redo_batch_remove ... ok [INFO] [stdout] test player::tests::new_action_clears_redo_stack ... ok [INFO] [stdout] test organize::tests::extension_preserved_for_tracknumber_dot ... ok [INFO] [stdout] test player::tests::stop_engine_drops_engine_synchronously ... ok [INFO] [stdout] test player::tests::redo_on_empty_stack_is_noop ... ok [INFO] [stdout] test player::tests::redo_remove ... ok [INFO] [stdout] test player::tests::undo_batch_move ... ok [INFO] [stdout] test player::tests::undo_add_removes_items ... ok [INFO] [stdout] test player::tests::undo_batch_remove_restores_all ... ok [INFO] [stdout] test player::tests::undo_clear_restores_playlist ... ok [INFO] [stdout] test player::tests::undo_insert_removes_inserted_items ... ok [INFO] [stdout] test player::tests::undo_on_empty_stack_is_noop ... ok [INFO] [stdout] test player::tests::undo_remove_first_item ... ok [INFO] [stdout] test player::tests::undo_redo_undo_cycle ... ok [INFO] [stdout] test player::tests::update_paths_not_undoable ... ok [INFO] [stdout] test player::tests::undo_remove_restores_item_at_position ... ok [INFO] [stdout] test player::tests::undo_move_restores_position ... ok [INFO] [stdout] test player::tests::redo_clear ... ok [INFO] [stdout] test player::tests::redo_move ... ok [INFO] [stdout] test player::undo::tests::new_action_clears_redo ... ok [INFO] [stdout] test player::undo::tests::push_and_pop_undo ... ok [INFO] [stdout] test player::undo::tests::max_depth_enforced ... ok [INFO] [stdout] test player::undo::tests::push_undo_keep_redo_preserves_redo ... ok [INFO] [stdout] test radio::tests::test_radio_context_from_queue ... ok [INFO] [stdout] test radio::tests::test_recency_bonus_never_played ... ok [INFO] [stdout] test radio::tests::test_radio_context_build_with_no_history ... ok [INFO] [stdout] test radio::tests::test_signal_overlap_scoring ... ok [INFO] [stdout] test radio::tests::test_weighted_select_empty ... ok [INFO] [stdout] test radio::tests::test_weighted_select_fewer_than_requested ... ok [INFO] [stdout] test radio::tests::test_recency_bonus_recently_played ... ok [INFO] [stdout] test graphql_client::tests::client_constructs_url ... ok [INFO] [stdout] test graphql_client::tests::stream_url_format ... ok [INFO] [stdout] test remote::client::tests::test_deserialize_album_full_empty_song_list ... ok [INFO] [stdout] test remote::client::tests::test_deserialize_album_full_with_songs ... ok [INFO] [stdout] test remote::client::tests::test_deserialize_album_list ... ok [INFO] [stdout] test remote::client::tests::test_auth_params_format ... ok [INFO] [stdout] test remote::client::tests::test_deserialize_search_result_defaults_to_empty ... ok [INFO] [stdout] test remote::client::tests::test_deserialize_search_result_mixed ... ok [INFO] [stdout] test remote::client::tests::test_auth_params_salt_is_different_each_call ... ok [INFO] [stdout] test remote::client::tests::test_deserialize_subsonic_song_optional_fields_absent ... ok [INFO] [stdout] test graphql_client::tests::client_trailing_slash ... ok [INFO] [stdout] test remote::listenbrainz::tests::test_parse_empty_row ... ok [INFO] [stdout] test remote::listenbrainz::tests::test_parse_labs_row ... ok [INFO] [stdout] test remote::client::tests::test_deserialize_subsonic_song ... ok [INFO] [stdout] test remote::lrclib::tests::test_deserialize_lrclib_response_null_lyrics ... ok [INFO] [stdout] test remote::musicbrainz::tests::test_categorize_relation_associated ... ok [INFO] [stdout] test remote::musicbrainz::tests::test_categorize_relation_collaborator ... ok [INFO] [stdout] test remote::lrclib::tests::test_deserialize_lrclib_response ... ok [INFO] [stdout] test remote::musicbrainz::tests::test_categorize_relation_member ... ok [INFO] [stdout] test remote::musicbrainz::tests::test_deserialize_artist_with_relations ... ok [INFO] [stdout] test remote::musicbrainz::tests::test_deserialize_search_response ... ok [INFO] [stdout] test remote::musicbrainz::tests::test_urlencoded ... ok [INFO] [stdout] test remote::sync::tests::parse_epoch ... ok [INFO] [stdout] test remote::sync::tests::parse_fractional_seconds_offset ... ok [INFO] [stdout] test remote::sync::tests::parse_fractional_seconds_z ... ok [INFO] [stdout] test remote::sync::tests::parse_no_timezone_assumes_utc ... ok [INFO] [stdout] test remote::sync::tests::parse_garbage_returns_none ... ok [INFO] [stdout] test remote::sync::tests::parse_no_timezone_fractional ... ok [INFO] [stdout] test remote::sync::tests::parse_rfc3339_negative_offset ... ok [INFO] [stdout] test remote::sync::tests::parse_rfc3339_with_offset ... ok [INFO] [stdout] test remote::sync::tests::parse_rfc3339_with_z ... ok [INFO] [stdout] test remote::sync::tests::parse_space_separator_no_tz ... ok [INFO] [stdout] test remote::sync::tests::parse_space_separator_with_tz ... ok [INFO] [stdout] test radio::tests::test_pick_tracks_excludes_history ... ok [INFO] [stdout] test radio::tests::test_pick_tracks_empty_library ... ok [INFO] [stdout] test remote::client::tests::test_auth_params_token_is_md5_of_password_plus_salt ... ok [INFO] [stdout] test remote::client::tests::test_stream_url_has_auth ... ok [INFO] [stdout] test radio::tests::test_pick_tracks_with_library ... ok [INFO] [stdout] test remote::client::tests::test_stream_url_base_url_trailing_slash_normalised ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 477 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.31s [INFO] [stdout] [INFO] [stderr] Doc-tests koan_core [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" "fd2aad48275c0f6ba8b19fd57d2df7bd5ca399da2df057f4e8c6c9676fa6f697", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fd2aad48275c0f6ba8b19fd57d2df7bd5ca399da2df057f4e8c6c9676fa6f697", kill_on_drop: false }` [INFO] [stdout] fd2aad48275c0f6ba8b19fd57d2df7bd5ca399da2df057f4e8c6c9676fa6f697