[INFO] fetching crate oximedia-dedup 0.1.5...
[INFO] testing oximedia-dedup-0.1.5 against 1.95.0 for beta-1.96-2
[INFO] extracting crate oximedia-dedup 0.1.5 into /workspace/builds/worker-6-tc1/source
[INFO] started tweaking crates.io crate oximedia-dedup 0.1.5
[INFO] finished tweaking crates.io crate oximedia-dedup 0.1.5
[INFO] tweaked toml for crates.io crate oximedia-dedup 0.1.5 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate oximedia-dedup 0.1.5 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate oximedia-dedup 0.1.5 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.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded oxifft-codegen v0.2.0
[INFO] [stderr]   Downloaded transpose v0.2.3
[INFO] [stderr]   Downloaded visibility v0.1.1
[INFO] [stderr]   Downloaded audio-core v0.2.1
[INFO] [stderr]   Downloaded windowfunctions v0.1.1
[INFO] [stderr]   Downloaded realfft v3.5.0
[INFO] [stderr]   Downloaded strength_reduce v0.2.4
[INFO] [stderr]   Downloaded constant_time_eq v0.4.3
[INFO] [stderr]   Downloaded oxiarc-core v0.2.6
[INFO] [stderr]   Downloaded audioadapter-sample v3.0.0
[INFO] [stderr]   Downloaded audioadapter v3.0.0
[INFO] [stderr]   Downloaded oximedia-io v0.1.5
[INFO] [stderr]   Downloaded oxiarc-deflate v0.2.6
[INFO] [stderr]   Downloaded rubato v2.0.0
[INFO] [stderr]   Downloaded primal-check v0.3.4
[INFO] [stderr]   Downloaded blake3 v1.8.4
[INFO] [stderr]   Downloaded portable-atomic-util v0.2.7
[INFO] [stderr]   Downloaded oxifft v0.2.0
[INFO] [stderr]   Downloaded rustfft v6.4.1
[INFO] [stderr]   Downloaded oximedia-core v0.1.5
[INFO] [stderr]   Downloaded oximedia-audio v0.1.5
[INFO] [stderr]   Downloaded oximedia-cv v0.1.5
[INFO] [stderr]   Downloaded audioadapter-buffers v3.0.0
[INFO] [stderr]   Downloaded jpeg-decoder v0.3.2
[INFO] [stderr]   Downloaded oximedia-codec v0.1.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 61b86243c28711426710fdf50d565c27265bf437c070b0339735a466d3e035b2
[INFO] running `Command { std: "docker" "start" "-a" "61b86243c28711426710fdf50d565c27265bf437c070b0339735a466d3e035b2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "61b86243c28711426710fdf50d565c27265bf437c070b0339735a466d3e035b2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "61b86243c28711426710fdf50d565c27265bf437c070b0339735a466d3e035b2", kill_on_drop: false }`
[INFO] [stdout] 61b86243c28711426710fdf50d565c27265bf437c070b0339735a466d3e035b2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6df16a66bd15f26d472bae7eb00852969114850a54ad2c62a55790076d0b8b61
[INFO] running `Command { std: "docker" "start" "-a" "6df16a66bd15f26d472bae7eb00852969114850a54ad2c62a55790076d0b8b61", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.185
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling audio-core v0.2.1
[INFO] [stderr]    Compiling strength_reduce v0.2.4
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling oximedia-core v0.1.5
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling oxifft v0.2.0
[INFO] [stderr]    Compiling hashbrown v0.17.0
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling primal-check v0.3.4
[INFO] [stderr]    Compiling transpose v0.2.3
[INFO] [stderr]    Compiling audioadapter v3.0.0
[INFO] [stderr]    Compiling audioadapter-sample v3.0.0
[INFO] [stderr]    Compiling oxiarc-core v0.2.6
[INFO] [stderr]    Compiling oxifft-codegen v0.2.0
[INFO] [stderr]    Compiling rustfft v6.4.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling seahash v4.1.0
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling spin v0.10.0
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling oxiarc-deflate v0.2.6
[INFO] [stderr]    Compiling jpeg-decoder v0.3.2
[INFO] [stderr]    Compiling audioadapter-buffers v3.0.0
[INFO] [stderr]    Compiling png v0.18.1
[INFO] [stderr]    Compiling windowfunctions v0.1.1
[INFO] [stderr]    Compiling blake3 v1.8.4
[INFO] [stderr]    Compiling visibility v0.1.1
[INFO] [stderr]    Compiling oximedia-cv v0.1.5
[INFO] [stderr]    Compiling ndarray v0.17.2
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling constant_time_eq v0.4.3
[INFO] [stderr]    Compiling realfft v3.5.0
[INFO] [stderr]    Compiling rubato v2.0.0
[INFO] [stderr]    Compiling oximedia-audio v0.1.5
[INFO] [stderr]    Compiling oximedia-io v0.1.5
[INFO] [stderr]    Compiling oximedia-codec v0.1.5
[INFO] [stderr]    Compiling oximedia-dedup v0.1.5 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 51s
[INFO] running `Command { std: "docker" "inspect" "6df16a66bd15f26d472bae7eb00852969114850a54ad2c62a55790076d0b8b61", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6df16a66bd15f26d472bae7eb00852969114850a54ad2c62a55790076d0b8b61", kill_on_drop: false }`
[INFO] [stdout] 6df16a66bd15f26d472bae7eb00852969114850a54ad2c62a55790076d0b8b61
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5c24d59fc36e934f0d0f30fe3be72e247858a68d3caa3c57deb5a8b8a702c94e
[INFO] running `Command { std: "docker" "start" "-a" "5c24d59fc36e934f0d0f30fe3be72e247858a68d3caa3c57deb5a8b8a702c94e", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling oximedia-core v0.1.5
[INFO] [stderr]    Compiling png v0.18.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling oximedia-io v0.1.5
[INFO] [stderr]    Compiling oximedia-audio v0.1.5
[INFO] [stderr]    Compiling oximedia-codec v0.1.5
[INFO] [stderr]    Compiling oximedia-cv v0.1.5
[INFO] [stderr]    Compiling oximedia-dedup v0.1.5 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 22s
[INFO] running `Command { std: "docker" "inspect" "5c24d59fc36e934f0d0f30fe3be72e247858a68d3caa3c57deb5a8b8a702c94e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5c24d59fc36e934f0d0f30fe3be72e247858a68d3caa3c57deb5a8b8a702c94e", kill_on_drop: false }`
[INFO] [stdout] 5c24d59fc36e934f0d0f30fe3be72e247858a68d3caa3c57deb5a8b8a702c94e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.95.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] cf4352b576d069bb665c7660db493c476248149d8fccbbe7982e08f480c450db
[INFO] running `Command { std: "docker" "start" "-a" "cf4352b576d069bb665c7660db493c476248149d8fccbbe7982e08f480c450db", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.22s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/oximedia_dedup-8c640caa201d0a30)
[INFO] [stdout] 
[INFO] [stdout] running 626 tests
[INFO] [stdout] test audio::tests::test_audio_creation ... ok
[INFO] [stdout] test audio::tests::test_audio_duration ... ok
[INFO] [stdout] test audio::tests::test_to_mono ... ok
[INFO] [stdout] test audio::tests::test_downsample ... ok
[INFO] [stdout] test audio::tests::test_window_functions ... ok
[INFO] [stdout] test bloom_filter::tests::test_bloom_clear ... ok
[INFO] [stdout] test bloom_filter::tests::test_bloom_different_fpr_different_hashes ... ok
[INFO] [stdout] test audio::tests::test_waveform_similarity ... ok
[INFO] [stdout] test bloom_filter::tests::test_bloom_estimated_count_after_inserts ... ok
[INFO] [stdout] test bloom_filter::tests::test_bloom_estimated_count_zero_initially ... ok
[INFO] [stdout] test audio::tests::test_extract ... ok
[INFO] [stdout] test bloom_filter::tests::test_bloom_larger_capacity_more_bits ... ok
[INFO] [stdout] test bloom_filter::tests::test_bloom_initially_empty ... ok
[INFO] [stdout] test bloom_filter::tests::test_bloom_insert_and_contains ... ok
[INFO] [stdout] test bloom_filter::tests::test_bloom_multiple_inserts ... ok
[INFO] [stdout] test bloom_filter::tests::test_bloom_new_non_empty ... ok
[INFO] [stdout] test bloom_filter::tests::test_near_dup_estimated_unique_count ... ok
[INFO] [stdout] test bloom_filter::tests::test_near_dup_first_occurrence_not_duplicate ... ok
[INFO] [stdout] test bloom_filter::tests::test_near_dup_new ... ok
[INFO] [stdout] test bloom_filter::tests::test_near_dup_multiple_unique_items ... ok
[INFO] [stdout] test bloom_filter::tests::test_near_dup_reset_clears_state ... ok
[INFO] [stdout] test bloom_filter::tests::test_near_dup_second_occurrence_is_duplicate ... ok
[INFO] [stdout] test bloom_filter::tests::test_pipeline_all_identical ... ok
[INFO] [stdout] test bloom_filter::tests::test_pipeline_all_unique ... ok
[INFO] [stdout] test bloom_filter::tests::test_pipeline_config_default ... ok
[INFO] [stdout] test bloom_filter::tests::test_pipeline_empty ... ok
[INFO] [stdout] test bloom_filter::tests::test_pipeline_near_duplicates ... ok
[INFO] [stdout] test bloom_filter::tests::test_pipeline_result_bloom_rejection_rate ... ok
[INFO] [stdout] test bloom_filter::tests::test_pipeline_result_empty_total ... ok
[INFO] [stdout] test bloom_filter::tests::test_prescreen_all_unique ... ok
[INFO] [stdout] test bloom_filter::tests::test_prescreen_empty_input ... ok
[INFO] [stdout] test bloom_filter::tests::test_prescreen_candidate_rate ... ok
[INFO] [stdout] test bloom_filter::tests::test_prescreen_perceptual_hashes_all_different ... ok
[INFO] [stdout] test bloom_filter::tests::test_prescreen_result_rates_sum_to_one ... ok
[INFO] [stdout] test bloom_filter::tests::test_prescreen_with_duplicates ... ok
[INFO] [stdout] test cluster::tests::test_builder_groups_by_threshold ... ok
[INFO] [stdout] test cluster::tests::test_builder_separate_clusters ... ok
[INFO] [stdout] test cluster::tests::test_builder_with_strategy_complete_linkage ... ok
[INFO] [stdout] test cluster::tests::test_cluster_add_member ... ok
[INFO] [stdout] test bloom_filter::tests::test_prescreen_perceptual_hashes_identical ... ok
[INFO] [stdout] test cluster::tests::test_cluster_average_similarity ... ok
[INFO] [stdout] test cluster::tests::test_cluster_average_similarity_empty_edges ... ok
[INFO] [stdout] test cluster::tests::test_cluster_select_representative_single ... ok
[INFO] [stdout] test cluster::tests::test_cluster_new ... ok
[INFO] [stdout] test cluster::tests::test_cluster_single_member_not_duplicate ... ok
[INFO] [stdout] test bloom_filter::tests::test_pipeline_mixed ... ok
[INFO] [stdout] test cluster::tests::test_cluster_select_representative_two ... ok
[INFO] [stdout] test cluster::tests::test_cluster_summary_with_clusters ... ok
[INFO] [stdout] test cluster::tests::test_similarity_pair_new ... ok
[INFO] [stdout] test cluster::tests::test_cluster_summary_empty ... ok
[INFO] [stdout] test cluster::tests::test_transitive_closure_chain ... ok
[INFO] [stdout] test cluster::tests::test_transitive_closure_edges_attached ... ok
[INFO] [stdout] test cluster::tests::test_transitive_closure_empty ... ok
[INFO] [stdout] test cluster::tests::test_transitive_closure_selects_representative ... ok
[INFO] [stdout] test cluster::tests::test_merge_clusters ... ok
[INFO] [stdout] test cluster::tests::test_transitive_closure_single_pair ... ok
[INFO] [stdout] test cluster::tests::test_transitive_closure_star_topology ... ok
[INFO] [stdout] test cluster::tests::test_transitive_closure_threshold_filters ... ok
[INFO] [stdout] test cluster::tests::test_transitive_groups_from_pairs_convenience ... ok
[INFO] [stdout] test content_id::tests::test_audio_code_similarity_disjoint ... ok
[INFO] [stdout] test cluster::tests::test_transitive_closure_long_chain ... ok
[INFO] [stdout] test content_id::tests::test_content_id_deterministic ... ok
[INFO] [stdout] test content_id::tests::test_content_id_different_inputs ... ok
[INFO] [stdout] test content_id::tests::test_content_id_display ... ok
[INFO] [stdout] test content_id::tests::test_content_id_empty_data ... ok
[INFO] [stdout] test cluster::tests::test_transitive_closure_two_components ... ok
[INFO] [stdout] test content_id::tests::test_audio_code_similarity_empty ... ok
[INFO] [stdout] test content_id::tests::test_content_id_generate_hex_chars ... ok
[INFO] [stdout] test content_id::tests::test_content_id_generate_length ... ok
[INFO] [stdout] test content_id::tests::test_registry_duplicate_not_stored ... ok
[INFO] [stdout] test content_id::tests::test_registry_empty ... ok
[INFO] [stdout] test content_id::tests::test_registry_find_by_audio_match ... ok
[INFO] [stdout] test content_id::tests::test_registry_find_by_audio_no_match ... ok
[INFO] [stdout] test content_id::tests::test_registry_register_and_lookup ... ok
[INFO] [stdout] test content_id::tests::test_registry_stats_initial ... ok
[INFO] [stdout] test content_signature::robust_tests::test_radial_variance_different_images ... ok
[INFO] [stdout] test content_signature::robust_tests::test_radial_variance_self_similarity ... ok
[INFO] [stdout] test content_signature::robust_tests::test_radial_variance_uniform_image ... ok
[INFO] [stdout] test content_signature::robust_tests::test_robust_signature_different ... ok
[INFO] [stdout] test content_signature::robust_tests::test_robust_signature_duration_reject ... ok
[INFO] [stdout] test content_signature::robust_tests::test_robust_signature_identical ... ok
[INFO] [stdout] test content_id::tests::test_registry_find_by_visual_match ... ok
[INFO] [stdout] test content_signature::robust_tests::test_robust_signature_no_signals ... ok
[INFO] [stdout] test content_signature::robust_tests::test_robust_signature_partial_signals ... ok
[INFO] [stdout] test content_signature::robust_tests::test_robust_signature_signal_count ... ok
[INFO] [stdout] test content_signature::robust_tests::test_robust_signature_watermark_resilience ... ok
[INFO] [stdout] test content_signature::robust_tests::test_spectral_peaks_empty ... ok
[INFO] [stdout] test content_id::tests::test_registry_multiple_unique ... ok
[INFO] [stdout] test content_signature::robust_tests::test_spectral_peaks_identical ... ok
[INFO] [stdout] test content_signature::robust_tests::test_spectral_peaks_tolerance ... ok
[INFO] [stdout] test content_signature::robust_tests::test_spectral_peaks_truncation ... ok
[INFO] [stdout] test content_signature::robust_tests::test_temporal_rhythm_constant ... ok
[INFO] [stdout] test audio::tests::test_fingerprint ... ok
[INFO] [stdout] test content_signature::robust_tests::test_temporal_rhythm_empty ... ok
[INFO] [stdout] test content_signature::robust_tests::test_temporal_rhythm_self_similarity ... ok
[INFO] [stdout] test content_signature::tests::test_database_find_matches ... ok
[INFO] [stdout] test content_signature::tests::test_database_lookup_missing ... ok
[INFO] [stdout] test content_signature::tests::test_database_match_count ... ok
[INFO] [stdout] test content_signature::robust_tests::test_spectral_peaks_no_overlap ... ok
[INFO] [stdout] test content_signature::tests::test_database_store_and_lookup ... ok
[INFO] [stdout] test content_signature::tests::test_database_remove_asset ... ok
[INFO] [stdout] test content_signature::tests::test_sig_type_is_perceptual_visual ... ok
[INFO] [stdout] test content_signature::tests::test_sig_type_not_perceptual_crypto ... ok
[INFO] [stdout] test content_signature::tests::test_sig_type_supports_exact_match ... ok
[INFO] [stdout] test content_signature::tests::test_signature_exact_match_different ... ok
[INFO] [stdout] test content_signature::tests::test_signature_exact_match_identical ... ok
[INFO] [stdout] test content_signature::tests::test_signature_perceptual_exceeds_tolerance ... ok
[INFO] [stdout] test content_signature::tests::test_signature_perceptual_within_tolerance ... ok
[INFO] [stdout] test content_signature::tests::test_signature_type_mismatch ... ok
[INFO] [stdout] test cross_format::tests::test_add_batch ... ok
[INFO] [stdout] test cross_format::tests::test_audio_fingerprint_similarity_different ... ok
[INFO] [stdout] test cross_format::tests::test_audio_fingerprint_similarity_identical ... ok
[INFO] [stdout] test cross_format::tests::test_audio_fingerprint_similarity_missing ... ok
[INFO] [stdout] test cross_format::tests::test_cross_format_config_normalised_weights ... ok
[INFO] [stdout] test cross_format::tests::test_detector_audio_only_content ... ok
[INFO] [stdout] test cross_format::tests::test_detector_duration_too_different ... ok
[INFO] [stdout] test cross_format::tests::test_detector_empty_pool ... ok
[INFO] [stdout] test cross_format::tests::test_detector_find_groups ... ok
[INFO] [stdout] test cross_format::tests::test_detector_identical_content_different_format ... ok
[INFO] [stdout] test cross_format::tests::test_detector_partial_signals ... ok
[INFO] [stdout] test cross_format::tests::test_detector_same_format_not_matched ... ok
[INFO] [stdout] test cross_format::tests::test_detector_single_item ... ok
[INFO] [stdout] test cross_format::tests::test_detector_two_separate_groups ... ok
[INFO] [stdout] test cross_format::tests::test_duration_similarity_close ... ok
[INFO] [stdout] test cross_format::tests::test_duration_similarity_identical ... ok
[INFO] [stdout] test cross_format::tests::test_duration_similarity_missing ... ok
[INFO] [stdout] test cross_format::tests::test_duration_similarity_too_far ... ok
[INFO] [stdout] test cross_format::tests::test_format_info_builders ... ok
[INFO] [stdout] test cross_format::tests::test_format_info_creation ... ok
[INFO] [stdout] test cross_format::tests::test_is_different_format ... ok
[INFO] [stdout] test cross_format::tests::test_item_count ... ok
[INFO] [stdout] test cross_format::tests::test_matches_sorted_by_confidence ... ok
[INFO] [stdout] test cross_format::tests::test_phash_similarity_close ... ok
[INFO] [stdout] test cross_format::tests::test_phash_similarity_too_far ... ok
[INFO] [stdout] test content_signature::tests::test_sig_type_is_perceptual_audio ... ok
[INFO] [stdout] test content_signature::tests::test_sig_type_label_nonempty ... ok
[INFO] [stdout] test cross_format::tests::test_phash_similarity_identical ... ok
[INFO] [stdout] test cross_format::tests::test_resolution_similarity_different ... ok
[INFO] [stdout] test cross_format::tests::test_resolution_similarity_missing ... ok
[INFO] [stdout] test cross_format::tests::test_resolution_similarity_partial ... ok
[INFO] [stdout] test cross_format::tests::test_signal_scores_populated ... ok
[INFO] [stdout] test dedup_cache::tests::test_cache_stats_default ... ok
[INFO] [stdout] test dedup_cache::tests::test_cache_stats_display ... ok
[INFO] [stdout] test dedup_cache::tests::test_cache_stats_hit_rate ... ok
[INFO] [stdout] test dedup_cache::tests::test_cache_stats_reset ... ok
[INFO] [stdout] test dedup_cache::tests::test_hash_cache_basic ... ok
[INFO] [stdout] test dedup_cache::tests::test_hash_cache_clear ... ok
[INFO] [stdout] test dedup_cache::tests::test_hash_cache_eviction ... ok
[INFO] [stdout] test dedup_cache::tests::test_lru_cache_access_promotes ... ok
[INFO] [stdout] test dedup_cache::tests::test_lru_cache_clear ... ok
[INFO] [stdout] test dedup_cache::tests::test_lru_cache_eviction ... ok
[INFO] [stdout] test dedup_cache::tests::test_lru_cache_insert_and_get ... ok
[INFO] [stdout] test dedup_cache::tests::test_lru_cache_update_existing ... ok
[INFO] [stdout] test cross_format::tests::test_resolution_similarity_exact ... ok
[INFO] [stdout] test dedup_cache::tests::test_lru_cache_stats ... ok
[INFO] [stdout] test dedup_index::tests::test_add_or_increment_existing_entry ... ok
[INFO] [stdout] test dedup_index::tests::test_clear ... ok
[INFO] [stdout] test dedup_index::tests::test_duplicate_rate ... ok
[INFO] [stdout] test dedup_index::tests::test_entry_hash_hex ... ok
[INFO] [stdout] test dedup_index::tests::test_entry_is_duplicate_false_when_once ... ok
[INFO] [stdout] test dedup_index::tests::test_entry_is_duplicate_true_when_multiple ... ok
[INFO] [stdout] test dedup_index::tests::test_entry_space_savings_correct ... ok
[INFO] [stdout] test dedup_index::tests::test_entry_space_savings_zero_when_once ... ok
[INFO] [stdout] test dedup_index::tests::test_find_by_hash_found ... ok
[INFO] [stdout] test dedup_index::tests::test_find_by_hash_not_found ... ok
[INFO] [stdout] test dedup_index::tests::test_find_by_id ... ok
[INFO] [stdout] test dedup_index::tests::test_find_duplicates ... ok
[INFO] [stdout] test dedup_index::tests::test_index_new_empty ... ok
[INFO] [stdout] test dedup_index::tests::test_most_common_ordering ... ok
[INFO] [stdout] test dedup_index::tests::test_remove_by_hash ... ok
[INFO] [stdout] test dedup_index::tests::test_remove_nonexistent_returns_false ... ok
[INFO] [stdout] test dedup_index::tests::test_total_insertions ... ok
[INFO] [stdout] test dedup_index::tests::test_total_space_savings ... ok
[INFO] [stdout] test dedup_policy::tests::test_action_description_nonempty ... ok
[INFO] [stdout] test dedup_policy::tests::test_action_is_destructive_delete ... ok
[INFO] [stdout] test dedup_policy::tests::test_action_is_destructive_quarantine ... ok
[INFO] [stdout] test cross_format::tests::test_resolution_similarity_near_identical ... ok
[INFO] [stdout] test dedup_policy::tests::test_action_not_destructive_symlink ... ok
[INFO] [stdout] test dedup_index::tests::test_add_or_increment_new_entry ... ok
[INFO] [stdout] test dedup_policy::tests::test_action_not_destructive_keep ... ok
[INFO] [stdout] test dedup_policy::tests::test_decision_no_review_for_exact_destructive ... ok
[INFO] [stdout] test dedup_policy::tests::test_decision_requires_review_destructive_near_dup ... ok
[INFO] [stdout] test dedup_policy::tests::test_decision_skip_no_review ... ok
[INFO] [stdout] test dedup_policy::tests::test_decision_requires_review_for_review_action ... ok
[INFO] [stdout] test dedup_policy::tests::test_group_policy_too_few_files ... ok
[INFO] [stdout] test dedup_policy::tests::test_group_decision_reason_contains_criterion ... ok
[INFO] [stdout] test dedup_policy::tests::test_group_policy_default ... ok
[INFO] [stdout] test dedup_policy::tests::test_policy_config_defaults ... ok
[INFO] [stdout] test dedup_policy::tests::test_keep_criterion_all_variants_non_destructive ... ok
[INFO] [stdout] test dedup_policy::tests::test_keep_criterion_longest_path ... ok
[INFO] [stdout] test dedup_policy::tests::test_keep_criterion_shortest_path ... ok
[INFO] [stdout] test dedup_policy::tests::test_policy_exact_duplicate ... ok
[INFO] [stdout] test dedup_policy::tests::test_policy_skip_below_threshold ... ok
[INFO] [stdout] test dedup_report::tests::test_dedup_stat_as_f64 ... ok
[INFO] [stdout] test dedup_report::tests::test_dedup_stat_as_u64 ... ok
[INFO] [stdout] test dedup_report::tests::test_dedup_stat_name_bytes ... ok
[INFO] [stdout] test dedup_report::tests::test_dedup_stat_name_count ... ok
[INFO] [stdout] test dedup_report::tests::test_dedup_stat_name_label ... ok
[INFO] [stdout] test dedup_report::tests::test_dedup_stat_name_ratio ... ok
[INFO] [stdout] test dedup_report::tests::test_estimate_savings_empty ... ok
[INFO] [stdout] test dedup_report::tests::test_estimate_savings_from_summary ... ok
[INFO] [stdout] test dedup_policy::tests::test_policy_config_strict_mode_toggle ... ok
[INFO] [stdout] test dedup_report::tests::test_estimate_savings_nonexistent_files ... ok
[INFO] [stdout] test dedup_report::tests::test_estimate_savings_single_file_group_skipped ... ok
[INFO] [stdout] test dedup_report::tests::test_format_bytes_compact ... ok
[INFO] [stdout] test dedup_policy::tests::test_policy_near_duplicate ... ok
[INFO] [stdout] test dedup_policy::tests::test_policy_protect_original ... ok
[INFO] [stdout] test dedup_report::tests::test_report_add_and_get_stat ... ok
[INFO] [stdout] test dedup_report::tests::test_report_generate_summary ... ok
[INFO] [stdout] test dedup_report::tests::test_estimate_savings_with_temp_files ... ok
[INFO] [stdout] test dedup_report::tests::test_multiple_groups_savings ... ok
[INFO] [stdout] test dedup_report::tests::test_report_stat_count ... ok
[INFO] [stdout] test dedup_report::tests::test_report_overwrite_stat ... ok
[INFO] [stdout] test dedup_report::tests::test_savings_summary_recovery_ratio ... ok
[INFO] [stdout] test dedup_report::tests::test_savings_summary_description ... ok
[INFO] [stdout] test dedup_report::tests::test_report_stat_names_sorted ... ok
[INFO] [stdout] test dedup_report::tests::test_savings_summary_recovery_ratio_zero ... ok
[INFO] [stdout] test dedup_report::tests::test_summary_duplication_ratio ... ok
[INFO] [stdout] test dedup_report::tests::test_summary_space_saved_bytes ... ok
[INFO] [stdout] test dedup_report_ext::tests::test_duplicate_entry_extension ... ok
[INFO] [stdout] test dedup_report_ext::tests::test_filter_by_path ... ok
[INFO] [stdout] test dedup_report_ext::tests::test_format_breakdown ... ok
[INFO] [stdout] test dedup_report::tests::test_summary_description_contains_percentage ... ok
[INFO] [stdout] test dedup_report::tests::test_summary_duplication_ratio_zero_bytes ... ok
[INFO] [stdout] test dedup_report_ext::tests::test_recoverable_bytes ... ok
[INFO] [stdout] test dedup_report_ext::tests::test_report_builder_basic ... ok
[INFO] [stdout] test dedup_report_ext::tests::test_report_builder_min_file_size ... ok
[INFO] [stdout] test dedup_report_ext::tests::test_report_builder_min_group_size ... ok
[INFO] [stdout] test dedup_report_ext::tests::test_most_common_ext ... ok
[INFO] [stdout] test dedup_report_ext::tests::test_summary_text ... ok
[INFO] [stdout] test dedup_report_ext::tests::test_report_builder_title ... ok
[INFO] [stdout] test dedup_report_ext::tests::test_size_distribution ... ok
[INFO] [stdout] test dedup_stats::tests::test_action_recommendation_info ... ok
[INFO] [stdout] test dedup_stats::tests::test_action_recommendation_critical ... ok
[INFO] [stdout] test dedup_report_ext::tests::test_empty_report ... ok
[INFO] [stdout] test dedup_stats::tests::test_generate_recommendations ... ok
[INFO] [stdout] test dedup_stats::tests::test_action_severity_ordering ... ok
[INFO] [stdout] test dedup_stats::tests::test_group_stats_compute ... ok
[INFO] [stdout] test dedup_stats::tests::test_action_recommendation_suggestion ... ok
[INFO] [stdout] test dedup_stats::tests::test_similarity_histogram_record_and_total ... ok
[INFO] [stdout] test dedup_stats::tests::test_space_savings_report_add_and_finalise ... ok
[INFO] [stdout] test dedup_stats::tests::test_space_savings_report_summary ... ok
[INFO] [stdout] test dedup_stats::tests::test_similarity_histogram_clamp ... ok
[INFO] [stdout] test dedup_stats::tests::test_group_stats_missing_representative ... ok
[INFO] [stdout] test dedup_stats::tests::test_similarity_histogram_mode ... ok
[INFO] [stdout] test dedup_stats::tests::test_space_savings_report_zero_total ... ok
[INFO] [stdout] test frame_hash::tests::test_hamming_distance_all_different ... ok
[INFO] [stdout] test frame_hash::tests::test_frame_hash_byte_len ... ok
[INFO] [stdout] test frame_hash::tests::test_hamming_distance_algorithm_mismatch ... ok
[INFO] [stdout] test frame_hash::tests::test_hamming_distance_length_mismatch ... ok
[INFO] [stdout] test frame_hash::tests::test_hamming_distance_one_bit ... ok
[INFO] [stdout] test frame_hash::tests::test_hash_algorithm_bit_length ... ok
[INFO] [stdout] test frame_hash::tests::test_hamming_distance_identical ... ok
[INFO] [stdout] test frame_hash::tests::test_hash_algorithm_is_perceptual ... ok
[INFO] [stdout] test frame_hash::tests::test_hash_algorithm_name ... ok
[INFO] [stdout] test frame_hash::tests::test_store_find_similar ... ok
[INFO] [stdout] test frame_hash::tests::test_store_find_similar_sorted_by_distance ... ok
[INFO] [stdout] test frame_hash::tests::test_store_insert_and_count ... ok
[INFO] [stdout] test fuzzy_match::tests::test_bigram_similarity_identical ... ok
[INFO] [stdout] test frame_hash::tests::test_is_similar_false ... ok
[INFO] [stdout] test frame_hash::tests::test_is_similar_true ... ok
[INFO] [stdout] test frame_hash::tests::test_store_contains_and_remove ... ok
[INFO] [stdout] test fuzzy_match::tests::test_edit_distance_bytes ... ok
[INFO] [stdout] test fuzzy_match::tests::test_edit_distance_similarity ... ok
[INFO] [stdout] test fuzzy_match::tests::test_edit_distance_strings_basic ... ok
[INFO] [stdout] test fuzzy_match::tests::test_filename_matcher_custom_weights ... ok
[INFO] [stdout] test fuzzy_match::tests::test_filename_matcher_default ... ok
[INFO] [stdout] test fuzzy_match::tests::test_filename_matcher_different_movies ... ok
[INFO] [stdout] test fuzzy_match::tests::test_filename_matcher_empty_strings ... ok
[INFO] [stdout] test fuzzy_match::tests::test_filename_matcher_find_matching_pairs ... ok
[INFO] [stdout] test fuzzy_match::tests::test_filename_matcher_identical ... ok
[INFO] [stdout] test fuzzy_match::tests::test_filename_matcher_is_match ... ok
[INFO] [stdout] test fuzzy_match::tests::test_filename_matcher_same_content_different_codec ... ok
[INFO] [stdout] test fuzzy_match::tests::test_filename_normalize_basic ... ok
[INFO] [stdout] test fuzzy_match::tests::test_filename_normalize_codec_tags ... ok
[INFO] [stdout] test fuzzy_match::tests::test_filename_normalize_preserves_year ... ok
[INFO] [stdout] test fuzzy_match::tests::test_filename_normalize_strips_directory ... ok
[INFO] [stdout] test fuzzy_match::tests::test_filename_normalize_strips_extension ... ok
[INFO] [stdout] test fuzzy_match::tests::test_fuzzy_score_average ... ok
[INFO] [stdout] test fuzzy_match::tests::test_fuzzy_score_clamp ... ok
[INFO] [stdout] test fuzzy_match::tests::test_fuzzy_score_is_exact ... ok
[INFO] [stdout] test fuzzy_match::tests::test_fuzzy_score_threshold ... ok
[INFO] [stdout] test fuzzy_match::tests::test_fuzzy_score_weighted_average ... ok
[INFO] [stdout] test fuzzy_match::tests::test_hamming_distance_different ... ok
[INFO] [stdout] test fuzzy_match::tests::test_hamming_distance_equal ... ok
[INFO] [stdout] test fuzzy_match::tests::test_hamming_distance_length_mismatch ... ok
[INFO] [stdout] test fuzzy_match::tests::test_hamming_similarity ... ok
[INFO] [stdout] test fuzzy_match::tests::test_remove_noise_token_boundary ... ok
[INFO] [stdout] test fuzzy_match::tests::test_remove_noise_token_standalone ... ok
[INFO] [stdout] test fuzzy_match::tests::test_token_matcher_case_insensitive ... ok
[INFO] [stdout] test fuzzy_match::tests::test_token_matcher_identical ... ok
[INFO] [stdout] test fuzzy_match::tests::test_token_matcher_partial ... ok
[INFO] [stdout] test hash::tests::test_chunk_index ... ok
[INFO] [stdout] test hash::tests::test_compute_data_hash ... ok
[INFO] [stdout] test hash::tests::test_dedup_ratio ... ok
[INFO] [stdout] test hash::tests::test_hamming_distance ... ok
[INFO] [stdout] test hash::tests::test_hash_hex ... ok
[INFO] [stdout] test hash::tests::test_hash_similarity ... ok
[INFO] [stdout] test hash::tests::test_chunker ... ok
[INFO] [stdout] test fuzzy_match::tests::test_edit_distance_strings_identical ... ok
[INFO] [stdout] test hash_store::tests::test_dedup_ratio_all_dupes ... ok
[INFO] [stdout] test hash_store::tests::test_dedup_ratio_empty ... ok
[INFO] [stdout] test hash_store::tests::test_dedup_ratio_no_dupes ... ok
[INFO] [stdout] test hash_store::tests::test_duplicate_bytes ... ok
[INFO] [stdout] test fuzzy_match::tests::test_bigram_similarity_similar ... ok
[INFO] [stdout] test hash_store::tests::test_duplicate_groups ... ok
[INFO] [stdout] test hash_store::tests::test_get_entries ... ok
[INFO] [stdout] test hash_store::tests::test_insert_and_lookup ... ok
[INFO] [stdout] test hash_store::tests::test_new_store_empty ... ok
[INFO] [stdout] test hash_store::tests::test_remove ... ok
[INFO] [stdout] test hash_store::tests::test_remove_nonexistent ... ok
[INFO] [stdout] test hash_store::tests::test_with_capacity ... ok
[INFO] [stdout] test hash_store::tests::test_clear ... ok
[INFO] [stdout] test hash_store::tests::test_duplicate_count ... ok
[INFO] [stdout] test incremental::tests::test_classify_new_file ... ok
[INFO] [stdout] test incremental::tests::test_classify_unchanged_file ... ok
[INFO] [stdout] test incremental::tests::test_classify_modified_file ... ok
[INFO] [stdout] test incremental::tests::test_clear_index ... ok
[INFO] [stdout] test hash::tests::test_rolling_hash ... ok
[INFO] [stdout] test incremental::tests::test_commit_file_with_hash ... ok
[INFO] [stdout] test incremental::tests::test_commit_updates_scan_count ... ok
[INFO] [stdout] test incremental::tests::test_file_change_labels ... ok
[INFO] [stdout] test incremental::tests::test_file_change_needs_processing ... ok
[INFO] [stdout] test incremental::tests::test_file_state_from_path ... ok
[INFO] [stdout] test incremental::tests::test_incremental_index_new_empty ... ok
[INFO] [stdout] test incremental::tests::test_full_incremental_workflow ... ok
[INFO] [stdout] test incremental::tests::test_merge_indices ... ok
[INFO] [stdout] test incremental::tests::test_processing_ratio ... ok
[INFO] [stdout] test incremental::tests::test_processing_ratio_empty ... ok
[INFO] [stdout] test incremental::tests::test_prune_deleted ... ok
[INFO] [stdout] test incremental::tests::test_save_and_load_file ... ok
[INFO] [stdout] test incremental::tests::test_scan_detects_deleted_files ... ok
[INFO] [stdout] test incremental::tests::test_json_roundtrip ... ok
[INFO] [stdout] test incremental::tests::test_scan_mixed_files ... ok
[INFO] [stdout] test incremental::tests::test_tracked_paths ... ok
[INFO] [stdout] test lsh_index::tests::test_bit_lsh_deduplicated_candidates ... ok
[INFO] [stdout] test lsh_index::tests::test_bit_lsh_creation ... ok
[INFO] [stdout] test lsh_index::tests::test_bit_lsh_insert_and_self_query ... ok
[INFO] [stdout] test lsh_index::tests::test_bit_lsh_distant_hashes_not_paired ... ok
[INFO] [stdout] test lsh_index::tests::test_bit_lsh_near_duplicates_within_distance ... ok
[INFO] [stdout] test lsh_index::tests::test_bucket_stats_after_inserts ... ok
[INFO] [stdout] test lsh_index::tests::test_bit_lsh_identical_hashes_found ... ok
[INFO] [stdout] test incremental::tests::test_file_state_matches ... ok
[INFO] [stdout] test lsh_index::tests::test_bucket_stats_avg_max ... ok
[INFO] [stdout] test lsh_index::tests::test_bucket_stats_empty ... ok
[INFO] [stdout] test lsh_index::tests::test_group_by_lsh_pairs_empty ... ok
[INFO] [stdout] test lsh_index::tests::test_group_by_lsh_pairs_two_groups ... ok
[INFO] [stdout] test lsh_index::tests::test_group_by_lsh_pairs_transitive ... ok
[INFO] [stdout] test lsh_index::tests::test_insert_multiple_tables ... ok
[INFO] [stdout] test lsh_index::tests::test_lsh_approximate_neighbors_k_limit ... ok
[INFO] [stdout] test lsh_index::tests::test_lsh_bucket_insert_and_size ... ok
[INFO] [stdout] test lsh_index::tests::test_lsh_bucket_items ... ok
[INFO] [stdout] test lsh_index::tests::test_lsh_bucket_size_empty ... ok
[INFO] [stdout] test lsh_index::tests::test_lsh_dedup_pass_distant_not_paired ... ok
[INFO] [stdout] test lsh_index::tests::test_lsh_dedup_pass_empty ... ok
[INFO] [stdout] test lsh_index::tests::test_lsh_dedup_pass_identical ... ok
[INFO] [stdout] test lsh_index::tests::test_lsh_dedup_pass_many_items_sparse ... ok
[INFO] [stdout] test lsh_index::tests::test_lsh_dedup_pass_near_duplicates ... ok
[INFO] [stdout] test lsh_index::tests::test_lsh_dedup_pass_single ... ok
[INFO] [stdout] test lsh_index::tests::test_lsh_dedup_result_num_pairs ... ok
[INFO] [stdout] test lsh_index::tests::test_lsh_index_creation ... ok
[INFO] [stdout] test lsh_index::tests::test_lsh_index_insert_and_query_self ... ok
[INFO] [stdout] test lsh_index::tests::test_lsh_query_returns_sorted ... ok
[INFO] [stdout] test lsh_index::tests::test_lsh_similar_vectors_in_same_bucket ... ok
[INFO] [stdout] test lsh_index::tests::test_unit_vectors_different_dimensions ... ok
[INFO] [stdout] test merge_strategy::group_resolver_tests::test_group_duplicates_all_are_duplicates_when_representative_absent ... ok
[INFO] [stdout] test merge_strategy::group_resolver_tests::test_group_duplicates_excludes_representative ... ok
[INFO] [stdout] test merge_strategy::group_resolver_tests::test_group_empty ... ok
[INFO] [stdout] test merge_strategy::group_resolver_tests::test_group_is_representative ... ok
[INFO] [stdout] test merge_strategy::group_resolver_tests::test_group_new_and_len ... ok
[INFO] [stdout] test merge_strategy::group_resolver_tests::test_resolver_default_delete ... ok
[INFO] [stdout] test merge_strategy::group_resolver_tests::test_resolver_empty_candidates_returns_none ... ok
[INFO] [stdout] test merge_strategy::group_resolver_tests::test_resolver_keep_highest_quality_from_candidates ... ok
[INFO] [stdout] test merge_strategy::group_resolver_tests::test_resolver_keep_largest_from_candidates ... ok
[INFO] [stdout] test merge_strategy::group_resolver_tests::test_resolver_keep_newest_from_candidates ... ok
[INFO] [stdout] test merge_strategy::group_resolver_tests::test_resolver_keep_oldest_from_candidates ... ok
[INFO] [stdout] test merge_strategy::group_resolver_tests::test_resolver_keep_smallest_from_candidates ... ok
[INFO] [stdout] test merge_strategy::group_resolver_tests::test_resolver_resolve_empty_group ... ok
[INFO] [stdout] test merge_strategy::group_resolver_tests::test_resolver_resolve_filesystem_fallback ... ok
[INFO] [stdout] test merge_strategy::group_resolver_tests::test_resolver_strategy_and_link_mode_accessors ... ok
[INFO] [stdout] test merge_strategy::tests::test_bytes_saved ... ok
[INFO] [stdout] test merge_strategy::tests::test_empty_candidates ... ok
[INFO] [stdout] test merge_strategy::tests::test_hardlink_mode ... ok
[INFO] [stdout] test merge_strategy::tests::test_is_preferred_path ... ok
[INFO] [stdout] test merge_strategy::tests::test_keep_highest_quality ... ok
[INFO] [stdout] test merge_strategy::tests::test_keep_largest ... ok
[INFO] [stdout] test merge_strategy::tests::test_keep_newest ... ok
[INFO] [stdout] test merge_strategy::tests::test_keep_oldest ... ok
[INFO] [stdout] test merge_strategy::tests::test_keep_smallest ... ok
[INFO] [stdout] test merge_strategy::tests::test_single_candidate ... ok
[INFO] [stdout] test merge_strategy::tests::test_strategy_label ... ok
[INFO] [stdout] test merge_strategy::tests::test_symlink_mode ... ok
[INFO] [stdout] test metadata::tests::test_aspect_ratio ... ok
[INFO] [stdout] test metadata::tests::test_codec_comparison ... ok
[INFO] [stdout] test metadata::tests::test_duration_comparison ... ok
[INFO] [stdout] test metadata::tests::test_filename_comparison ... ok
[INFO] [stdout] test metadata::tests::test_filename_comparison_audio_codecs_stripped ... ok
[INFO] [stdout] test metadata::tests::test_filename_comparison_different_content ... ok
[INFO] [stdout] test lsh_index::tests::test_bit_lsh_many_items ... ok
[INFO] [stdout] test lsh_index::tests::test_group_by_lsh_pairs_single_pair ... ok
[INFO] [stdout] test metadata::tests::test_filename_comparison_strips_release_markers ... ok
[INFO] [stdout] test metadata::tests::test_filename_extraction ... ok
[INFO] [stdout] test metadata::tests::test_filename_comparison_uhd_vs_hd ... ok
[INFO] [stdout] test metadata::tests::test_fuzzy_search ... ok
[INFO] [stdout] test metadata::tests::test_levenshtein_distance ... ok
[INFO] [stdout] test metadata::tests::test_metadata_comparison_uses_fuzzy_filename ... ok
[INFO] [stdout] test metadata::tests::test_metadata_creation ... ok
[INFO] [stdout] test metadata::tests::test_metadata_quality ... ok
[INFO] [stdout] test metadata::tests::test_metadata_similarity ... ok
[INFO] [stdout] test metadata::tests::test_resolution ... ok
[INFO] [stdout] test metadata::tests::test_resolution_comparison ... ok
[INFO] [stdout] test metadata::tests::test_size_comparison ... ok
[INFO] [stdout] test near_duplicate::tests::test_lsh_different_item_not_found_high_threshold ... ok
[INFO] [stdout] test near_duplicate::tests::test_lsh_empty_index ... ok
[INFO] [stdout] test near_duplicate::tests::test_lsh_identical_item_found ... ok
[INFO] [stdout] test near_duplicate::tests::test_lsh_len ... ok
[INFO] [stdout] test near_duplicate::tests::test_lsh_multiple_items ... ok
[INFO] [stdout] test near_duplicate::tests::test_minhash_deterministic ... ok
[INFO] [stdout] test near_duplicate::tests::test_minhash_disjoint_sets_low_similarity ... ok
[INFO] [stdout] test metadata::tests::test_filename_comparison_strips_codec_tags ... ok
[INFO] [stdout] test near_duplicate::tests::test_minhash_identical_sets_max_similarity ... ok
[INFO] [stdout] test near_duplicate::tests::test_minhash_partial_overlap ... ok
[INFO] [stdout] test metadata::tests::test_find_metadata_duplicates ... ok
[INFO] [stdout] test near_duplicate::tests::test_simhash_all_ones ... ok
[INFO] [stdout] test near_duplicate::tests::test_simhash_deterministic ... ok
[INFO] [stdout] test near_duplicate::tests::test_simhash_empty ... ok
[INFO] [stdout] test near_duplicate::tests::test_simhash_hamming_range ... ok
[INFO] [stdout] test near_duplicate::tests::test_simhash_hamming_same ... ok
[INFO] [stdout] test near_duplicate::tests::test_simhash_identical_features_equal ... ok
[INFO] [stdout] test near_duplicate::tests::test_simhash_similarity_range ... ok
[INFO] [stdout] test perceptual_hash::tests::test_ahash_at_resolution_default_matches ... ok
[INFO] [stdout] test perceptual_hash::tests::test_ahash_at_resolution_empty ... ok
[INFO] [stdout] test perceptual_hash::tests::test_compute_ahash_deterministic ... ok
[INFO] [stdout] test perceptual_hash::tests::test_compute_ahash_empty ... ok
[INFO] [stdout] test perceptual_hash::tests::test_compute_ahash_uniform_produces_all_ones ... ok
[INFO] [stdout] test perceptual_hash::tests::test_compute_dhash_64_bits ... ok
[INFO] [stdout] test perceptual_hash::tests::test_compute_dhash_deterministic ... ok
[INFO] [stdout] test perceptual_hash::tests::test_compute_dhash_empty ... ok
[INFO] [stdout] test perceptual_hash::tests::test_compute_dhash_uniform_gray ... ok
[INFO] [stdout] test perceptual_hash::tests::test_compute_multi_hash ... ok
[INFO] [stdout] test perceptual_hash::tests::test_compute_whash_deterministic ... ok
[INFO] [stdout] test perceptual_hash::tests::test_compute_whash_empty ... ok
[INFO] [stdout] test perceptual_hash::tests::test_compute_whash_uniform_gray ... ok
[INFO] [stdout] test perceptual_hash::tests::test_deduplicator_new ... ok
[INFO] [stdout] test perceptual_hash::tests::test_dhash_at_resolution_clamped ... ok
[INFO] [stdout] test near_duplicate::tests::test_minhash_empty_shingles ... ok
[INFO] [stdout] test perceptual_hash::tests::test_compute_whash_similar_to_self ... ok
[INFO] [stdout] test perceptual_hash::tests::test_dhash_at_resolution_default_matches ... ok
[INFO] [stdout] test perceptual_hash::tests::test_dhash_at_resolution_empty ... ok
[INFO] [stdout] test perceptual_hash::tests::test_display ... ok
[INFO] [stdout] test perceptual_hash::tests::test_dhash_at_resolution_higher ... ok
[INFO] [stdout] test perceptual_hash::tests::test_find_duplicates_all_same ... ok
[INFO] [stdout] test perceptual_hash::tests::test_find_duplicates_empty ... ok
[INFO] [stdout] test perceptual_hash::tests::test_find_duplicates_none ... ok
[INFO] [stdout] test perceptual_hash::tests::test_hamming_distance_all_different ... ok
[INFO] [stdout] test perceptual_hash::tests::test_hamming_distance_same ... ok
[INFO] [stdout] test perceptual_hash::tests::test_hash_algo_bits ... ok
[INFO] [stdout] test perceptual_hash::tests::test_hash_algo_name ... ok
[INFO] [stdout] test perceptual_hash::tests::test_is_duplicate_identical ... ok
[INFO] [stdout] test perceptual_hash::tests::test_is_duplicate_maximally_different ... ok
[INFO] [stdout] test perceptual_hash::tests::test_multi_hash_similarity_different ... ok
[INFO] [stdout] test perceptual_hash::tests::test_multi_hash_similarity_empty ... ok
[INFO] [stdout] test perceptual_hash::tests::test_multi_hash_similarity_identical ... ok
[INFO] [stdout] test perceptual_hash::tests::test_similarity_identical ... ok
[INFO] [stdout] test perceptual_hash::tests::test_similarity_maximally_different ... ok
[INFO] [stdout] test perceptual_hash::tests::test_similarity_range ... ok
[INFO] [stdout] test perceptual_hash::tests::test_to_hex_length ... ok
[INFO] [stdout] test lsh_index::tests::test_lsh_dedup_pass_comparison_ratio ... ok
[INFO] [stdout] test phash::tests::test_audio_fingerprint_empty ... ok
[INFO] [stdout] test phash::tests::test_audio_fingerprint_different_signals_lower_similarity ... ok
[INFO] [stdout] test phash::tests::test_audio_fingerprint_non_empty ... ok
[INFO] [stdout] test phash::tests::test_audio_fingerprint_hamming_symmetry ... ok
[INFO] [stdout] test perceptual_hash::tests::test_find_clusters_basic ... ok
[INFO] [stdout] test phash::tests::test_compute_phash_rgb_wrong_size ... ok
[INFO] [stdout] test phash::tests::test_detect_frozen_empty ... ok
[INFO] [stdout] test phash::tests::test_detect_frozen_segments ... ok
[INFO] [stdout] test phash::tests::test_compute_phash_rgb ... ok
[INFO] [stdout] test phash::tests::test_gray_frame_from_rgb ... ok
[INFO] [stdout] test phash::tests::test_audio_fingerprint_similarity_symmetric ... ok
[INFO] [stdout] test phash::tests::test_phash_different_frames_nonzero_distance ... ok
[INFO] [stdout] test phash::tests::test_audio_fingerprint_same_signal_high_similarity ... ok
[INFO] [stdout] test phash::tests::test_phash_invalid_hex ... ok
[INFO] [stdout] test phash::tests::test_phash_near_duplicate ... ok
[INFO] [stdout] test phash::tests::test_phash_hex_roundtrip ... ok
[INFO] [stdout] test phash::tests::test_phash_identical_frames_zero_distance ... ok
[INFO] [stdout] test phash::tests::test_fingerprint_comparison ... ok
[INFO] [stdout] test phash::tests::test_phash_within_distance ... ok
[INFO] [stdout] test phash::tests::test_sliding_window_identical_sequence ... ok
[INFO] [stdout] test phash::tests::test_sliding_window_empty ... ok
[INFO] [stdout] test phash::tests::test_sliding_window_no_duplicates ... ok
[INFO] [stdout] test phash::tests::test_sliding_window_single ... ok
[INFO] [stdout] test progress::tests::test_callback_reporter_cancellation ... ok
[INFO] [stdout] test progress::tests::test_callback_reporter ... ok
[INFO] [stdout] test progress::tests::test_logging_reporter_error_event ... ok
[INFO] [stdout] test progress::tests::test_logging_reporter_captures_events ... ok
[INFO] [stdout] test progress::tests::test_multi_reporter ... ok
[INFO] [stdout] test progress::tests::test_null_reporter ... ok
[INFO] [stdout] test progress::tests::test_progress_event_percentage ... ok
[INFO] [stdout] test progress::tests::test_progress_event_percentage_batch ... ok
[INFO] [stdout] test progress::tests::test_progress_tracker_batch ... ok
[INFO] [stdout] test progress::tests::test_progress_tracker_error_reporting ... ok
[INFO] [stdout] test progress::tests::test_progress_tracker_lifecycle ... ok
[INFO] [stdout] test progress::tests::test_run_completed_event ... ok
[INFO] [stdout] test progress::tests::test_throttled_reporter_forwards_phase_events ... ok
[INFO] [stdout] test progress::tests::test_throttled_reporter_throttles_items ... ok
[INFO] [stdout] test report::tests::test_add_group ... ok
[INFO] [stdout] test report::tests::test_duplicate_group ... ok
[INFO] [stdout] test report::tests::test_filter_by_similarity ... ok
[INFO] [stdout] test report::tests::test_format_bytes ... ok
[INFO] [stdout] test report::tests::test_html_escape ... ok
[INFO] [stdout] test report::tests::test_html_export ... ok
[INFO] [stdout] test report::tests::test_json_export ... ok
[INFO] [stdout] test report::tests::test_report_creation ... ok
[INFO] [stdout] test report::tests::test_similarity_score ... ok
[INFO] [stdout] test report::tests::test_sort_by_similarity ... ok
[INFO] [stdout] test rolling_hash::tests::test_buzhash_deterministic ... ok
[INFO] [stdout] test rolling_hash::tests::test_buzhash_different_input ... ok
[INFO] [stdout] test phash::tests::test_phash_similarity_range ... ok
[INFO] [stdout] test rolling_hash::tests::test_buzhash_reset ... ok
[INFO] [stdout] test rolling_hash::tests::test_chunk_boundary_equality ... ok
[INFO] [stdout] test progress::tests::test_progress_event_no_percentage_for_phase ... ok
[INFO] [stdout] test rolling_hash::tests::test_chunker_config_boundary_mask ... ok
[INFO] [stdout] test rolling_hash::tests::test_buzhash_new ... ok
[INFO] [stdout] test rolling_hash::tests::test_chunker_config_default ... ok
[INFO] [stdout] test rolling_hash::tests::test_chunker_config_small ... ok
[INFO] [stdout] test rolling_hash::tests::test_content_chunker_max_chunk ... ok
[INFO] [stdout] test rolling_hash::tests::test_content_chunker_small_input ... ok
[INFO] [stdout] test rolling_hash::tests::test_chunker_config_large ... ok
[INFO] [stdout] test audio::tests::test_spectrogram ... ok
[INFO] [stdout] test segment_dedup::tests::test_add_segment_unique_count ... ok
[INFO] [stdout] test segment_dedup::tests::test_add_segment_duplicate_increments_total_not_unique ... ok
[INFO] [stdout] test segment_dedup::tests::test_config_window_size_frames ... ok
[INFO] [stdout] test segment_dedup::tests::test_config_default ... ok
[INFO] [stdout] test segment_dedup::tests::test_find_duplicates_empty ... ok
[INFO] [stdout] test segment_dedup::tests::test_find_duplicates_no_dups ... ok
[INFO] [stdout] test segment_dedup::tests::test_find_duplicates_with_dups ... ok
[INFO] [stdout] test rolling_hash::tests::test_chunk_bytes_convenience ... ok
[INFO] [stdout] test segment_dedup::tests::test_multiple_sources_multiple_segments ... ok
[INFO] [stdout] test segment_dedup::tests::test_segment_hash_from_bytes ... ok
[INFO] [stdout] test segment_dedup::tests::test_segment_hash_hamming_tolerance ... ok
[INFO] [stdout] test segment_dedup::tests::test_segment_hash_is_match_exact ... ok
[INFO] [stdout] test segment_dedup::tests::test_segment_hash_no_match_different_frames ... ok
[INFO] [stdout] test similarity_index::tests::test_bucket_index_miss ... ok
[INFO] [stdout] test similarity_index::tests::test_hamming_identical ... ok
[INFO] [stdout] test similarity_index::tests::test_hamming_one_bit ... ok
[INFO] [stdout] test similarity_index::tests::test_index_entry_with_size ... ok
[INFO] [stdout] test similarity_index::tests::test_linear_index_all_pairs ... ok
[INFO] [stdout] test segment_dedup::tests::test_segment_record_fields ... ok
[INFO] [stdout] test segment_dedup::tests::test_with_config_preserves_config ... ok
[INFO] [stdout] test similarity_index::tests::test_linear_index_excludes_self ... ok
[INFO] [stdout] test similarity_index::tests::test_linear_index_insert_and_len ... ok
[INFO] [stdout] test similarity_index::tests::test_linear_index_query_finds_near ... ok
[INFO] [stdout] test similarity_index::tests::test_linear_index_remove ... ok
[INFO] [stdout] test similarity_index::tests::test_similarity_identical ... ok
[INFO] [stdout] test similarity_index::tests::test_similarity_partial ... ok
[INFO] [stdout] test similarity_index::tests::test_similarity_zero_bits ... ok
[INFO] [stdout] test tests::test_config_bloom_defaults ... ok
[INFO] [stdout] test tests::test_config_default ... ok
[INFO] [stdout] test tests::test_config_lsh_defaults ... ok
[INFO] [stdout] test tests::test_detection_strategy ... ok
[INFO] [stdout] test video_dedup::tests::test_clusters_chain ... ok
[INFO] [stdout] test video_dedup::tests::test_clusters_empty_pairs ... ok
[INFO] [stdout] test video_dedup::tests::test_clusters_single_pair ... ok
[INFO] [stdout] test video_dedup::tests::test_clusters_two_separate ... ok
[INFO] [stdout] test video_dedup::tests::test_detector_empty ... ok
[INFO] [stdout] test video_dedup::tests::test_detector_identical_pair ... ok
[INFO] [stdout] test video_dedup::tests::test_detector_single ... ok
[INFO] [stdout] test video_dedup::tests::test_keyframe_similarity_disjoint ... ok
[INFO] [stdout] test video_dedup::tests::test_keyframe_similarity_empty_both ... ok
[INFO] [stdout] test video_dedup::tests::test_keyframe_similarity_identical ... ok
[INFO] [stdout] test video_dedup::tests::test_keyframe_similarity_partial ... ok
[INFO] [stdout] test video_dedup::tests::test_temporal_hash_deterministic ... ok
[INFO] [stdout] test video_dedup::tests::test_temporal_hash_empty ... ok
[INFO] [stdout] test video_dedup::tests::test_temporal_hash_order_sensitive ... ok
[INFO] [stdout] test video_dedup::tests::test_trimmed_identical ... ok
[INFO] [stdout] test video_dedup::tests::test_trimmed_no_match ... ok
[INFO] [stdout] test video_dedup::tests::test_trimmed_offset ... ok
[INFO] [stdout] test video_segment_dedup::tests::test_deduplicator_empty ... ok
[INFO] [stdout] test video_segment_dedup::tests::test_deduplicator_identical_videos_match ... ok
[INFO] [stdout] test video_segment_dedup::tests::test_deduplicator_query_without_indexing ... ok
[INFO] [stdout] test video_segment_dedup::tests::test_deduplicator_single_video_no_matches ... ok
[INFO] [stdout] test video_segment_dedup::tests::test_deduplicator_time_offset_computed ... ok
[INFO] [stdout] test video_segment_dedup::tests::test_from_frame_data_deterministic ... ok
[INFO] [stdout] test video_segment_dedup::tests::test_from_frame_data_different_inputs_differ ... ok
[INFO] [stdout] test video_segment_dedup::tests::test_from_frame_data_empty ... ok
[INFO] [stdout] test video_segment_dedup::tests::test_hamming_distance_all_differ ... ok
[INFO] [stdout] test video_segment_dedup::tests::test_hamming_distance_identical ... ok
[INFO] [stdout] test video_segment_dedup::tests::test_match_segments_completely_different ... ok
[INFO] [stdout] test video_segment_dedup::tests::test_match_segments_half_different ... ok
[INFO] [stdout] test video_segment_dedup::tests::test_match_segments_identical ... ok
[INFO] [stdout] test video_segment_dedup::tests::test_match_segments_ignores_frame_count ... ok
[INFO] [stdout] test video_segment_dedup::tests::test_match_segments_near_identical ... ok
[INFO] [stdout] test video_segment_dedup::tests::test_matcher_compare_identical_sequences ... ok
[INFO] [stdout] test video_segment_dedup::tests::test_matcher_compare_too_short ... ok
[INFO] [stdout] test video_segment_dedup::tests::test_matcher_find_best_alignment_empty_sequences ... ok
[INFO] [stdout] test video_segment_dedup::tests::test_matcher_find_best_alignment_identical ... ok
[INFO] [stdout] test video_segment_dedup::tests::test_ms_per_frame ... ok
[INFO] [stdout] test video_segment_dedup::tests::test_ms_per_frame_zero_frames ... ok
[INFO] [stdout] test video_segment_dedup::tests::test_segment_fingerprint_new ... ok
[INFO] [stdout] test video_segment_dedup::tests::test_temporal_window_from_fingerprints ... ok
[INFO] [stdout] test video_segment_dedup::tests::test_temporal_window_similarity_different_lengths ... ok
[INFO] [stdout] test video_segment_dedup::tests::test_temporal_window_similarity_empty ... ok
[INFO] [stdout] test video_segment_dedup::tests::test_temporal_window_similarity_identical ... ok
[INFO] [stdout] test visual::tests::test_ahash ... ok
[INFO] [stdout] test visual::tests::test_dhash ... ok
[INFO] [stdout] test video_dedup::tests::test_detector_no_match_below_threshold ... ok
[INFO] [stdout] test similarity_index::tests::test_bucket_index_insert_and_query ... ok
[INFO] [stdout] test visual::tests::test_grayscale_conversion ... ok
[INFO] [stdout] test visual::tests::test_hash_similarity ... ok
[INFO] [stdout] test visual::tests::test_histogram ... ok
[INFO] [stdout] test visual::tests::test_histogram_comparison ... ok
[INFO] [stdout] test visual::tests::test_image_creation ... ok
[INFO] [stdout] test visual::tests::test_image_resize ... ok
[INFO] [stdout] test rolling_hash::tests::test_content_chunker_reset ... ok
[INFO] [stdout] test visual::tests::test_feature_extraction ... ok
[INFO] [stdout] test visual::tests::test_whash ... ok
[INFO] [stdout] test visual::tests::test_whash_deterministic ... ok
[INFO] [stdout] test visual::tests::test_whash_different ... ok
[INFO] [stdout] test visual::tests::test_whash_identical ... ok
[INFO] [stdout] test visual::tests::test_ssim ... ok
[INFO] [stdout] test audio::tests::test_mfcc ... ok
[INFO] [stdout] test visual::tests::test_feature_matching ... ok
[INFO] [stdout] test visual::tests::test_phash ... ok
[INFO] [stdout] test audio::tests::test_spectral_similarity ... ok
[INFO] [stdout] test audio::tests::test_fingerprint_similarity ... ok
[INFO] [stdout] test visual::tests::test_compare_images_includes_whash ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 626 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 41.65s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests oximedia_dedup
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test src/progress.rs - progress (line 9) ... ok
[INFO] [stdout] test src/lib.rs - (line 24) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/lib.rs - (line 24) stdout ----
[INFO] [stdout] error[E0432]: unresolved import `oximedia_dedup::DuplicateDetector`
[INFO] [stdout]    --> src/lib.rs:26:22
[INFO] [stdout]     |
[INFO] [stdout]  26 | use oximedia_dedup::{DuplicateDetector, DetectionStrategy, DedupConfig};
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^ no `DuplicateDetector` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:419:12
[INFO] [stdout]     |
[INFO] [stdout] 418 | #[cfg(feature = "sqlite")]
[INFO] [stdout]     |       ------------------ the item is gated behind the `sqlite` feature
[INFO] [stdout] 419 | pub struct DuplicateDetector {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/lib.rs - (line 24)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.60s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "cf4352b576d069bb665c7660db493c476248149d8fccbbe7982e08f480c450db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cf4352b576d069bb665c7660db493c476248149d8fccbbe7982e08f480c450db", kill_on_drop: false }`
[INFO] [stdout] cf4352b576d069bb665c7660db493c476248149d8fccbbe7982e08f480c450db
