[INFO] fetching crate bm3d_core 0.9.0... [INFO] testing bm3d_core-0.9.0 against beta-2026-04-21 for beta-1.96-1 [INFO] extracting crate bm3d_core 0.9.0 into /workspace/builds/worker-3-tc2/source [INFO] started tweaking crates.io crate bm3d_core 0.9.0 [INFO] removed 0 missing examples [INFO] finished tweaking crates.io crate bm3d_core 0.9.0 [INFO] tweaked toml for crates.io crate bm3d_core 0.9.0 written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate bm3d_core 0.9.0 on toolchain beta-2026-04-21 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate bm3d_core 0.9.0 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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c77aeba2d7b8aff92f9ba39cabcf3fe8021070221a46e8c56fd85bd7601487ac [INFO] running `Command { std: "docker" "start" "-a" "c77aeba2d7b8aff92f9ba39cabcf3fe8021070221a46e8c56fd85bd7601487ac", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c77aeba2d7b8aff92f9ba39cabcf3fe8021070221a46e8c56fd85bd7601487ac", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c77aeba2d7b8aff92f9ba39cabcf3fe8021070221a46e8c56fd85bd7601487ac", kill_on_drop: false }` [INFO] [stdout] c77aeba2d7b8aff92f9ba39cabcf3fe8021070221a46e8c56fd85bd7601487ac [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 286048630e01f5de3da8baba33a24a64560cbdcd9b1d53c159a4cd2cd1090ea4 [INFO] running `Command { std: "docker" "start" "-a" "286048630e01f5de3da8baba33a24a64560cbdcd9b1d53c159a4cd2cd1090ea4", kill_on_drop: false }` [INFO] [stderr] Compiling matrixmultiply v0.3.10 [INFO] [stderr] Compiling strength_reduce v0.2.4 [INFO] [stderr] Compiling rawpointer v0.2.1 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling primal-check v0.3.4 [INFO] [stderr] Compiling transpose v0.2.3 [INFO] [stderr] Compiling ndarray v0.15.6 [INFO] [stderr] Compiling rustfft v6.4.1 [INFO] [stderr] Compiling bm3d_core v0.9.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.32s [INFO] running `Command { std: "docker" "inspect" "286048630e01f5de3da8baba33a24a64560cbdcd9b1d53c159a4cd2cd1090ea4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "286048630e01f5de3da8baba33a24a64560cbdcd9b1d53c159a4cd2cd1090ea4", kill_on_drop: false }` [INFO] [stdout] 286048630e01f5de3da8baba33a24a64560cbdcd9b1d53c159a4cd2cd1090ea4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] efff3c69bf57a1e0419465d6f2d5258ebd0c9a30bf147a0b700cf40ed95b5c14 [INFO] running `Command { std: "docker" "start" "-a" "efff3c69bf57a1e0419465d6f2d5258ebd0c9a30bf147a0b700cf40ed95b5c14", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.105 [INFO] [stderr] Compiling quote v1.0.43 [INFO] [stderr] Compiling zerocopy v0.8.33 [INFO] [stderr] Compiling libc v0.2.179 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling zmij v1.0.12 [INFO] [stderr] Compiling regex-syntax v0.8.8 [INFO] [stderr] Compiling plotters-backend v0.3.7 [INFO] [stderr] Compiling ciborium-io v0.2.2 [INFO] [stderr] Compiling clap_lex v0.7.6 [INFO] [stderr] Compiling primal-check v0.3.4 [INFO] [stderr] Compiling transpose v0.2.3 [INFO] [stderr] Compiling clap_builder v4.5.54 [INFO] [stderr] Compiling plotters-svg v0.3.7 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling cast v0.3.0 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling ndarray v0.15.6 [INFO] [stderr] Compiling syn v2.0.113 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling criterion-plot v0.5.0 [INFO] [stderr] Compiling is-terminal v0.4.17 [INFO] [stderr] Compiling rustfft v6.4.1 [INFO] [stderr] Compiling anes v0.1.6 [INFO] [stderr] Compiling oorandom v11.1.5 [INFO] [stderr] Compiling clap v4.5.54 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Compiling zerocopy-derive v0.8.33 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling bm3d_core v0.9.0 (/opt/rustwide/workdir) [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stderr] Compiling rand_distr v0.4.3 [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 54s [INFO] running `Command { std: "docker" "inspect" "efff3c69bf57a1e0419465d6f2d5258ebd0c9a30bf147a0b700cf40ed95b5c14", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "efff3c69bf57a1e0419465d6f2d5258ebd0c9a30bf147a0b700cf40ed95b5c14", kill_on_drop: false }` [INFO] [stdout] efff3c69bf57a1e0419465d6f2d5258ebd0c9a30bf147a0b700cf40ed95b5c14 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 8ed56d1d8fd13fb37f1c84e6ac841ab94cbf309e4a8825935a33a2406d40063f [INFO] running `Command { std: "docker" "start" "-a" "8ed56d1d8fd13fb37f1c84e6ac841ab94cbf309e4a8825935a33a2406d40063f", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.15s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/bm3d_core-1f94d38bab848725) [INFO] [stdout] [INFO] [stdout] running 171 tests [INFO] [stdout] test block_matching::tests::test_find_similar_boundary_patch ... ok [INFO] [stdout] test block_matching::tests::test_compute_squared_distance_identical ... ok [INFO] [stdout] test block_matching::tests::test_find_similar_distinct_regions ... ok [INFO] [stdout] test block_matching::tests::test_find_similar_known_distance ... ok [INFO] [stdout] test block_matching::tests::test_find_similar_identical_image ... ok [INFO] [stdout] test block_matching::tests::test_find_similar_minimum_image ... ok [INFO] [stdout] test block_matching::tests::test_compute_squared_distance_8x8_f32_simd_matches_scalar ... ok [INFO] [stdout] test block_matching::tests::test_find_similar_respects_max_matches ... ok [INFO] [stdout] test block_matching::tests::test_find_similar_results_sorted ... ok [INFO] [stdout] test block_matching::tests::test_find_similar_patch_equals_image ... ok [INFO] [stdout] test block_matching::tests::test_integral_image_rectangular ... ok [INFO] [stdout] test block_matching::tests::test_integral_image_large_values ... ok [INFO] [stdout] test block_matching::tests::test_integral_image_ones ... ok [INFO] [stdout] test block_matching::tests::test_find_similar_with_step ... ok [INFO] [stdout] test block_matching::tests::test_find_similar_search_window ... ok [INFO] [stdout] test block_matching::tests::test_find_similar_f64 ... ok [INFO] [stdout] test block_matching::tests::test_find_similar_self_match ... ok [INFO] [stdout] test block_matching::tests::test_integral_image_simple ... ok [INFO] [stdout] test block_matching::tests::test_integral_image_single_element ... ok [INFO] [stdout] test block_matching::tests::test_integral_image_simple_f64 ... ok [INFO] [stdout] test block_matching::tests::test_patch_match_heap_behavior ... ok [INFO] [stdout] test block_matching::tests::test_patch_match_heap_with_equal_distances ... ok [INFO] [stdout] test block_matching::tests::test_patch_match_equal_distance ... ok [INFO] [stdout] test block_matching::tests::test_patch_match_ordering_by_distance ... ok [INFO] [stdout] test block_matching::tests::test_integral_image_zeros ... ok [INFO] [stdout] test float_trait::tests::test_f32_trait_impl ... ok [INFO] [stdout] test float_trait::tests::test_f64_trait_impl ... ok [INFO] [stdout] test float_trait::tests::test_gaussian_truncate ... ok [INFO] [stdout] test float_trait::tests::test_pi_constants ... ok [INFO] [stdout] test multiscale::tests::test_compute_num_scales_small ... ok [INFO] [stdout] test multiscale::tests::test_compute_num_scales_large ... ok [INFO] [stdout] test multiscale::tests::test_config_validation_invalid_debin_iterations ... ok [INFO] [stdout] test multiscale::tests::test_binning_factor_1_identity ... ok [INFO] [stdout] test multiscale::tests::test_config_validation_invalid_filter_strength ... ok [INFO] [stdout] test multiscale::tests::test_config_validation_valid ... ok [INFO] [stdout] test multiscale::tests::test_debin_factor_1_identity ... ok [INFO] [stdout] test multiscale::tests::test_binning_preserves_sum_approximately ... ok [INFO] [stdout] test multiscale::tests::test_compute_num_scales_medium ... ok [INFO] [stdout] test multiscale::tests::test_binning_reduces_width ... ok [INFO] [stdout] test multiscale::tests::test_default_config ... ok [INFO] [stdout] test multiscale::kernel_tests::test_verify_residual_kernel_properties ... ok [INFO] [stdout] test multiscale::tests::test_bin_debin_approximate_recovery ... ok [INFO] [stdout] test multiscale::tests::test_debin_restores_width ... ok [INFO] [stdout] test multiscale::tests::test_k0_equals_single_scale ... ok [INFO] [stdout] test multiscale::tests::test_psd_all_non_negative ... ok [INFO] [stdout] test multiscale::tests::test_psd_coarsest_flat ... ok [INFO] [stdout] test multiscale::tests::test_psd_shapes_count ... ok [INFO] [stdout] test multiscale::tests::test_psd_shapes_sizes ... ok [INFO] [stdout] test multiscale::tests::test_multiscale_smoke_small ... ok [INFO] [stdout] test noise_estimation::tests::test_estimate_noise_sigma_zero_width_input ... ok [INFO] [stdout] test noise_estimation::tests::test_f64_support ... ok [INFO] [stdout] test noise_estimation::tests::test_estimate_known_sigma_vertical_streaks ... ok [INFO] [stdout] test multiscale::tests::test_multiscale_f64 ... ok [INFO] [stdout] test noise_estimation::tests::test_relative_noise_levels ... ok [INFO] [stdout] test orchestration::tests::test_config_validation_invalid_patch_size ... ok [INFO] [stdout] test orchestration::tests::test_config_validation_invalid_psd_width ... ok [INFO] [stdout] test orchestration::tests::test_config_validation_invalid_step_size ... ok [INFO] [stdout] test orchestration::tests::test_config_validation_negative_sigma ... ok [INFO] [stdout] test orchestration::tests::test_config_validation_valid ... ok [INFO] [stdout] test orchestration::tests::test_constant_image_unchanged ... ok [INFO] [stdout] test orchestration::tests::test_default_config_matches_spec ... ok [INFO] [stdout] test noise_estimation::tests::test_horizontal_structure_insensitivity ... ok [INFO] [stdout] test orchestration::tests::test_auto_sigma_estimation ... ok [INFO] [stdout] test orchestration::tests::test_different_sigma_random ... ok [INFO] [stdout] test multiscale::tests::test_multiscale_smoke_medium ... ok [INFO] [stdout] test orchestration::tests::test_f64_streak_mode ... ok [INFO] [stdout] test orchestration::tests::test_f64_generic_mode ... ok [INFO] [stdout] test orchestration::tests::test_generic_mode_smoke ... ok [INFO] [stdout] test orchestration::tests::test_image_too_small ... ok [INFO] [stdout] test orchestration::tests::test_invalid_config_rejected ... ok [INFO] [stdout] test orchestration::tests::test_handles_non_normalized_input ... ok [INFO] [stdout] test orchestration::tests::test_psd_all_positive ... ok [INFO] [stdout] test orchestration::tests::test_psd_columns_identical ... ok [INFO] [stdout] test orchestration::tests::test_psd_fft_symmetry ... ok [INFO] [stdout] test orchestration::tests::test_different_patch_sizes ... ok [INFO] [stdout] test orchestration::tests::test_psd_odd_patch_size_symmetry ... ok [INFO] [stdout] test orchestration::tests::test_psd_shape ... ok [INFO] [stdout] test orchestration::tests::test_psd_symmetry_known_values ... ok [INFO] [stdout] test orchestration::tests::test_sigma_map_compact_row_profile ... ok [INFO] [stdout] test orchestration::tests::test_psd_gaussian_profile ... ok [INFO] [stdout] test orchestration::tests::test_sigma_map_non_negative ... ok [INFO] [stdout] test orchestration::tests::test_sigma_map_shape ... ok [INFO] [stdout] test orchestration::tests::test_generic_and_streak_differ ... ok [INFO] [stdout] test pipeline::tests::test_aggregate_patch_into_tiles_matches_reference ... ok [INFO] [stdout] test pipeline::tests::test_constant_image_approximately_unchanged ... ok [INFO] [stdout] test orchestration::tests::test_streak_mode_smoke ... ok [INFO] [stdout] test pipeline::tests::test_denoising_modifies_noisy_input ... ok [INFO] [stdout] test pipeline::tests::test_different_max_matches ... ok [INFO] [stdout] test orchestration::tests::test_streak_mode_reduces_vertical_artifacts ... ok [INFO] [stdout] test pipeline::tests::test_denoising_reduces_noise ... ok [INFO] [stdout] test pipeline::tests::test_fft2d_8x8_specialized_matches_rustfft ... ok [INFO] [stdout] test pipeline::tests::test_hadamard_override_precedence_over_env ... ok [INFO] [stdout] test pipeline::tests::test_different_patch_sizes ... ok [INFO] [stdout] test pipeline::tests::test_hard_thresholding_smoke ... ok [INFO] [stdout] test multiscale::tests::test_force_k0 ... ok [INFO] [stdout] test pipeline::tests::test_ifft2d_8x8_specialized_matches_rustfft ... ok [INFO] [stdout] test pipeline::tests::test_minimum_viable_image ... ok [INFO] [stdout] test pipeline::tests::test_non_square_image ... ok [INFO] [stdout] test pipeline::tests::test_different_search_windows ... ok [INFO] [stdout] test multiscale::tests::test_override_num_scales ... ok [INFO] [stdout] test multiscale::tests::test_multiscale_handles_wide_streak ... ok [INFO] [stdout] test pipeline::tests::test_output_in_valid_range ... ok [INFO] [stdout] test pipeline::tests::test_single_slice_stack ... ok [INFO] [stdout] test pipeline::tests::test_hard_thresholding_stack_smoke ... ok [INFO] [stdout] test pipeline::tests::test_wiener_filtering_smoke ... ok [INFO] [stdout] test orchestration::tests::test_output_shape_matches_input ... ok [INFO] [stdout] test pipeline::tests::test_wiener_filtering_stack_smoke ... ok [INFO] [stdout] test streak::tests::test_gaussian_1d_identity ... ok [INFO] [stdout] test streak::tests::test_gaussian_1d_identity_f64 ... ok [INFO] [stdout] test streak::tests::test_gaussian_1d_preserves_mean ... ok [INFO] [stdout] test streak::tests::test_gaussian_1d_smoothing ... ok [INFO] [stdout] test streak::tests::test_gaussian_1d_uniform ... ok [INFO] [stdout] test streak::tests::test_gaussian_1d_uniform_f64 ... ok [INFO] [stdout] test streak::tests::test_gaussian_2d_anisotropic ... ok [INFO] [stdout] test streak::tests::test_gaussian_2d_separable ... ok [INFO] [stdout] test streak::tests::test_gaussian_2d_uniform ... ok [INFO] [stdout] test streak::tests::test_gaussian_kernel_sums_to_one ... ok [INFO] [stdout] test streak::tests::test_gaussian_kernel_symmetric ... ok [INFO] [stdout] test streak::tests::test_gaussian_kernel_zero_sigma ... ok [INFO] [stdout] test streak::tests::test_median_axis0_even_rows ... ok [INFO] [stdout] test streak::tests::test_median_axis0_simple ... ok [INFO] [stdout] test streak::tests::test_median_axis0_single_row ... ok [INFO] [stdout] test streak::tests::test_median_axis0_unsorted ... ok [INFO] [stdout] test streak::tests::test_reflect_index_beyond_end ... ok [INFO] [stdout] test streak::tests::test_reflect_index_in_bounds ... ok [INFO] [stdout] test streak::tests::test_reflect_index_negative ... ok [INFO] [stdout] test streak::tests::test_streak_profile_horizontal_structure_ignored ... ok [INFO] [stdout] test streak::tests::test_streak_profile_iterations_matter ... ok [INFO] [stdout] test streak::tests::test_streak_profile_large_sigma ... ok [INFO] [stdout] test streak::tests::test_streak_profile_multiple_stripes ... ok [INFO] [stdout] test streak::tests::test_streak_profile_shape ... ok [INFO] [stdout] test pipeline::tests::test_hard_thresholding_preserves_shape ... ok [INFO] [stdout] test streak::tests::test_streak_profile_uniform_image ... ok [INFO] [stdout] test streak::tests::test_streak_profile_small_sigma ... ok [INFO] [stdout] test transforms::tests::test_fft2d_constant ... ok [INFO] [stdout] test transforms::tests::test_fft2d_impulse ... ok [INFO] [stdout] test transforms::tests::test_fft2d_into_matches_fft2d ... ok [INFO] [stdout] test transforms::tests::test_fft2d_large_values ... ok [INFO] [stdout] test transforms::tests::test_fft2d_non_square ... ok [INFO] [stdout] test transforms::tests::test_fft2d_parseval ... ok [INFO] [stdout] test transforms::tests::test_fft2d_roundtrip_8x8 ... ok [INFO] [stdout] test transforms::tests::test_fft2d_roundtrip_8x8_f64 ... ok [INFO] [stdout] test transforms::tests::test_fft2d_roundtrip_multiple_seeds ... ok [INFO] [stdout] test streak::tests::test_streak_profile_vertical_stripe ... ok [INFO] [stdout] test transforms::tests::test_fft2d_roundtrip_various_sizes ... ok [INFO] [stdout] test transforms::tests::test_fft2d_single_element ... ok [INFO] [stdout] test transforms::tests::test_fft2d_small_values ... ok [INFO] [stdout] test transforms::tests::test_fft2d_zeros ... ok [INFO] [stdout] test transforms::tests::test_ifft2d_inplace_to_real_matches_ifft2d ... ok [INFO] [stdout] test transforms::tests::test_ifft2d_into_matches_ifft2d ... ok [INFO] [stdout] test transforms::tests::test_wht_8x8_roundtrip ... ok [INFO] [stdout] test transforms::tests::test_wht_8x8_roundtrip_f64 ... ok [INFO] [stdout] test transforms::tests::test_wht_8x8_roundtrip_multiple ... ok [INFO] [stdout] test transforms::tests::test_wht_8x8_roundtrip_multiple_f64 ... ok [INFO] [stdout] test transforms::tests::test_fft2d_roundtrip_various_sizes_f64 ... ok [INFO] [stdout] test transforms::tests::test_wht_alternating_pattern ... ok [INFO] [stdout] test transforms::tests::test_wht_constant ... ok [INFO] [stdout] test transforms::tests::test_wht_imaginary_part_ignored ... ok [INFO] [stdout] test transforms::tests::test_wht_forward_into_matches_forward ... ok [INFO] [stdout] test transforms::tests::test_wht_impulse ... ok [INFO] [stdout] test transforms::tests::test_wht_inverse_into_matches_inverse ... ok [INFO] [stdout] test transforms::tests::test_wht_large_values ... ok [INFO] [stdout] test transforms::tests::test_wht_near_zero ... ok [INFO] [stdout] test transforms::tests::test_wht_symmetry ... ok [INFO] [stdout] test transforms::tests::test_wht_zeros ... ok [INFO] [stdout] test pipeline::tests::test_wiener_filtering_preserves_shape ... ok [INFO] [stdout] test pipeline::tests::test_stack_preserves_shape ... ok [INFO] [stdout] test multiscale::tests::test_multiscale_differs_from_single ... ok [INFO] [stdout] test pipeline::tests::test_step_size_variations ... ok [INFO] [stdout] test pipeline::tests::test_wiener_with_pilot ... ok [INFO] [stdout] test pipeline::tests::test_stack_denoising_reduces_noise ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 171 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 28.32s [INFO] [stdout] [INFO] [stderr] Doc-tests bm3d_core [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test src/orchestration.rs - orchestration::bm3d_ring_artifact_removal (line 536) ... ok [INFO] [stdout] test src/multiscale.rs - multiscale::multiscale_bm3d_streak_removal (line 687) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 36.52s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "8ed56d1d8fd13fb37f1c84e6ac841ab94cbf309e4a8825935a33a2406d40063f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8ed56d1d8fd13fb37f1c84e6ac841ab94cbf309e4a8825935a33a2406d40063f", kill_on_drop: false }` [INFO] [stdout] 8ed56d1d8fd13fb37f1c84e6ac841ab94cbf309e4a8825935a33a2406d40063f