[INFO] fetching crate oximedia-repair 0.1.5...
[INFO] testing oximedia-repair-0.1.5 against 1.95.0 for beta-1.96-2
[INFO] extracting crate oximedia-repair 0.1.5 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate oximedia-repair 0.1.5
[INFO] finished tweaking crates.io crate oximedia-repair 0.1.5
[INFO] tweaked toml for crates.io crate oximedia-repair 0.1.5 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate oximedia-repair 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-repair 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 oximedia-io v0.1.5
[INFO] [stderr]   Downloaded oximedia-container v0.1.5
[INFO] [stderr]   Downloaded oximedia-codec v0.1.5
[INFO] [stderr]   Downloaded jpeg-decoder v0.3.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 551b762bb405d00cf235bd8ff5ac4b4ed5cfb90d01a162342701d29a58057d8a
[INFO] running `Command { std: "docker" "start" "-a" "551b762bb405d00cf235bd8ff5ac4b4ed5cfb90d01a162342701d29a58057d8a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "551b762bb405d00cf235bd8ff5ac4b4ed5cfb90d01a162342701d29a58057d8a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "551b762bb405d00cf235bd8ff5ac4b4ed5cfb90d01a162342701d29a58057d8a", kill_on_drop: false }`
[INFO] [stdout] 551b762bb405d00cf235bd8ff5ac4b4ed5cfb90d01a162342701d29a58057d8a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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] 5fbf256af1145b39822cc0209359f55b1966e3f6cb254934138b0dfa52df6a49
[INFO] running `Command { std: "docker" "start" "-a" "5fbf256af1145b39822cc0209359f55b1966e3f6cb254934138b0dfa52df6a49", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling libc v0.2.185
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling const-oid v0.10.2
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling nom v8.0.0
[INFO] [stderr]    Compiling hybrid-array v0.4.10
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling png v0.18.1
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling memmap2 v0.9.10
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling block-buffer v0.12.0
[INFO] [stderr]    Compiling crypto-common v0.2.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling digest v0.11.2
[INFO] [stderr]    Compiling jpeg-decoder v0.3.2
[INFO] [stderr]    Compiling md-5 v0.11.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling oxiarc-core v0.2.6
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling oxiarc-deflate v0.2.6
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling oximedia-core v0.1.5
[INFO] [stderr]    Compiling oximedia-io v0.1.5
[INFO] [stderr]    Compiling oximedia-container v0.1.5
[INFO] [stderr]    Compiling oximedia-codec v0.1.5
[INFO] [stderr]    Compiling oximedia-repair v0.1.5 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 35.73s
[INFO] running `Command { std: "docker" "inspect" "5fbf256af1145b39822cc0209359f55b1966e3f6cb254934138b0dfa52df6a49", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5fbf256af1145b39822cc0209359f55b1966e3f6cb254934138b0dfa52df6a49", kill_on_drop: false }`
[INFO] [stdout] 5fbf256af1145b39822cc0209359f55b1966e3f6cb254934138b0dfa52df6a49
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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] 4726918505e23bca90721bb205c5adaeb49b0135a7571fbab6fdab88307e5d24
[INFO] running `Command { std: "docker" "start" "-a" "4726918505e23bca90721bb205c5adaeb49b0135a7571fbab6fdab88307e5d24", kill_on_drop: false }`
[INFO] [stderr]    Compiling oximedia-repair v0.1.5 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 6.17s
[INFO] running `Command { std: "docker" "inspect" "4726918505e23bca90721bb205c5adaeb49b0135a7571fbab6fdab88307e5d24", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4726918505e23bca90721bb205c5adaeb49b0135a7571fbab6fdab88307e5d24", kill_on_drop: false }`
[INFO] [stdout] 4726918505e23bca90721bb205c5adaeb49b0135a7571fbab6fdab88307e5d24
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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] 8b709ce768e0f02494e8c556a06454e6010dd90a7bd5441813cd7a02c8b30a97
[INFO] running `Command { std: "docker" "start" "-a" "8b709ce768e0f02494e8c556a06454e6010dd90a7bd5441813cd7a02c8b30a97", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/oximedia_repair-d03dc2507fcfc9b8)
[INFO] [stdout] 
[INFO] [stdout] running 651 tests
[INFO] [stdout] test audio_repair::tests::test_artifact_type_is_impulsive_pop ... ok
[INFO] [stdout] test audio_repair::tests::test_artifact_type_distortion_not_impulsive ... ok
[INFO] [stdout] test audio_repair::tests::test_artifact_type_is_not_impulsive_dropout ... ok
[INFO] [stdout] test audio_repair::tests::test_artifact_type_is_not_impulsive_hum ... ok
[INFO] [stdout] test audio_repair::tests::test_audio_artifact_new ... ok
[INFO] [stdout] test audio_repair::tests::test_audio_repair_report_success_rate ... ok
[INFO] [stdout] test audio_repair::tests::test_click_repairer_basic ... ok
[INFO] [stdout] test audio_repair::tests::test_audio_repair_report_success_rate_zero_found ... ok
[INFO] [stdout] test audio_repair::tests::test_click_repairer_zero_window ... ok
[INFO] [stdout] test audio_repair::tests::test_click_repairer_empty ... ok
[INFO] [stdout] test audio_repair::tests::test_clipping_repairer_clips_above_threshold ... ok
[INFO] [stdout] test audio_repair::tests::test_clipping_repairer_no_effect_below_threshold ... ok
[INFO] [stdout] test audio_repair::tests::test_dropout_repairer_at_start ... ok
[INFO] [stdout] test audio_repair::tests::test_artifact_type_is_not_impulsive_clipping ... ok
[INFO] [stdout] test audio_repair::tests::test_dropout_repairer_basic ... ok
[INFO] [stdout] test audio_restore::tests::test_apply_gain_clamps ... ok
[INFO] [stdout] test audio_restore::tests::test_apply_linear_fade_empty ... ok
[INFO] [stdout] test audio_restore::tests::test_apply_linear_fade_in_starts_near_zero ... ok
[INFO] [stdout] test audio_restore::tests::test_apply_linear_fade_out_ends_near_zero ... ok
[INFO] [stdout] test audio_restore::tests::test_detect_clicks_finds_spike ... ok
[INFO] [stdout] test audio_restore::tests::test_detect_clicks_no_clicks_in_smooth_signal ... ok
[INFO] [stdout] test audio_restore::tests::test_fill_dropout_interpolates ... ok
[INFO] [stdout] test audio_restore::tests::test_detect_dropouts_finds_silence ... ok
[INFO] [stdout] test audio_restore::tests::test_detect_dropouts_none_in_loud_signal ... ok
[INFO] [stdout] test audio_repair::tests::test_artifact_type_is_impulsive_click ... ok
[INFO] [stdout] test audio_repair::tests::test_dropout_repairer_empty ... ok
[INFO] [stdout] test audio_restore::tests::test_noise_gate_zeros_quiet_samples ... ok
[INFO] [stdout] test audio_restore::tests::test_remove_click_empty ... ok
[INFO] [stdout] test audio_restore::tests::test_rms_level_all_ones ... ok
[INFO] [stdout] test audio_restore::tests::test_rms_level_empty ... ok
[INFO] [stdout] test bitstream_repair::tests::test_bitstream_repair_default_strategy ... ok
[INFO] [stdout] test bitstream_repair::tests::test_detect_forbidden_bit ... ok
[INFO] [stdout] test bitstream_repair::tests::test_error_label_invalid_start_code ... ok
[INFO] [stdout] test bitstream_repair::tests::test_error_offset_absent_for_missing_ref ... ok
[INFO] [stdout] test bitstream_repair::tests::test_detect_errors_max_errors_limit ... ok
[INFO] [stdout] test bitstream_repair::tests::test_error_offset_present ... ok
[INFO] [stdout] test bitstream_repair::tests::test_detect_errors_clean_stream ... ok
[INFO] [stdout] test bitstream_repair::tests::test_repair_substitute_clears_forbidden_bit ... ok
[INFO] [stdout] test bitstream_repair::tests::test_report_success_rate_no_errors ... ok
[INFO] [stdout] test bitstream_repair::tests::test_report_success_rate_partial ... ok
[INFO] [stdout] test bitstream_repair::tests::test_strategy_names ... ok
[INFO] [stdout] test checksum_repair::tests::test_adler32_empty ... ok
[INFO] [stdout] test checksum_repair::tests::test_adler32_known ... ok
[INFO] [stdout] test checksum_repair::tests::test_checksum_entry_no_computed ... ok
[INFO] [stdout] test bitstream_repair::tests::test_report_is_fully_repaired ... ok
[INFO] [stdout] test checksum_repair::tests::test_checksum_entry_valid ... ok
[INFO] [stdout] test checksum_repair::tests::test_crc32_empty ... ok
[INFO] [stdout] test checksum_repair::tests::test_crc32_known_value ... ok
[INFO] [stdout] test checksum_repair::tests::test_engine_compute_adler32 ... ok
[INFO] [stdout] test bitstream_repair::tests::test_error_label_forbidden_bit ... ok
[INFO] [stdout] test checksum_repair::tests::test_engine_compute_crc32 ... ok
[INFO] [stdout] test checksum_repair::tests::test_engine_compute_xor8 ... ok
[INFO] [stdout] test audio_restore::tests::test_level_correction_gain ... ok
[INFO] [stdout] test checksum_repair::tests::test_decide_action_rewrite ... ok
[INFO] [stdout] test checksum_repair::tests::test_engine_compute_crc16 ... ok
[INFO] [stdout] test checksum_repair::tests::test_engine_compute_fletcher16 ... ok
[INFO] [stdout] test checksum_repair::tests::test_repair_options_default ... ok
[INFO] [stdout] test checksum_repair::tests::test_process_entries_mismatch_repaired ... ok
[INFO] [stdout] test codec_probe::tests::test_av1_obu_forbidden_bit_set ... ok
[INFO] [stdout] test codec_probe::tests::test_av1_obu_temporal_delimiter ... ok
[INFO] [stdout] test checksum_repair::tests::test_crc32_update_matches_full ... ok
[INFO] [stdout] test checksum_repair::tests::test_decide_action_valid ... ok
[INFO] [stdout] test checksum_repair::tests::test_checksum_entry_mismatch ... ok
[INFO] [stdout] test codec_probe::tests::test_av1_sequence_header_profile ... ok
[INFO] [stdout] test codec_probe::tests::test_flac_no_match ... ok
[INFO] [stdout] test codec_probe::tests::test_h264_nal_detection ... ok
[INFO] [stdout] test codec_probe::tests::test_h265_nal_detection ... ok
[INFO] [stdout] test codec_probe::tests::test_opus_identification_header ... ok
[INFO] [stdout] test codec_probe::tests::test_opus_no_match ... ok
[INFO] [stdout] test audio_restore::tests::test_restore_level_brings_rms_close_to_target ... ok
[INFO] [stdout] test codec_probe::tests::test_flac_stream_marker ... ok
[INFO] [stdout] test codec_probe::tests::test_h264_3byte_start_code ... ok
[INFO] [stdout] test checksum_repair::tests::test_xor8_simple ... ok
[INFO] [stdout] test checksum_repair::tests::test_xor8_empty ... ok
[INFO] [stdout] test codec_probe::tests::test_probe_codec_display ... ok
[INFO] [stdout] test codec_probe::tests::test_probe_empty_data ... ok
[INFO] [stdout] test codec_probe::tests::test_probe_picks_flac_over_noise ... ok
[INFO] [stdout] test color_repair::tests::test_apply_tone_curve_identity ... ok
[INFO] [stdout] test codec_probe::tests::test_probe_picks_opus_over_noise ... ok
[INFO] [stdout] test codec_probe::tests::test_read_leb128_single_byte ... ok
[INFO] [stdout] test codec_probe::tests::test_read_leb128_two_bytes ... ok
[INFO] [stdout] test codec_probe::tests::test_vp8_invalid_start_code ... ok
[INFO] [stdout] test codec_probe::tests::test_vp9_superframe_marker ... ok
[INFO] [stdout] test color_repair::tests::test_apply_tone_curve_compress_highlights_lowers_bright ... ok
[INFO] [stdout] test codec_probe::tests::test_probe_random_data ... ok
[INFO] [stdout] test bitstream_repair::tests::test_repair_truncate_strategy ... ok
[INFO] [stdout] test codec_probe::tests::test_vp9_frame_marker ... ok
[INFO] [stdout] test codec_probe::tests::test_read_leb128_empty ... ok
[INFO] [stdout] test color_repair::tests::test_color_cast_dominant_channel_red ... ok
[INFO] [stdout] test color_repair::tests::test_color_cast_estimate_neutral ... ok
[INFO] [stdout] test color_repair::tests::test_color_cast_u8_dominant_channel_blue ... ok
[INFO] [stdout] test color_repair::tests::test_color_cast_u8_magnitude_zero_when_neutral ... ok
[INFO] [stdout] test color_repair::tests::test_estimate_color_cast_empty_returns_none ... ok
[INFO] [stdout] test color_repair::tests::test_estimate_color_cast_neutral_grey ... ok
[INFO] [stdout] test color_repair::tests::test_estimate_color_cast_red_dominant ... ok
[INFO] [stdout] test color_repair::tests::test_apply_tone_curve_lift_shadows_raises_dark ... ok
[INFO] [stdout] test color_repair::tests::test_faded_film_severity_max_when_full_fade ... ok
[INFO] [stdout] test color_repair::tests::test_faded_film_severity_zero_when_no_fade ... ok
[INFO] [stdout] test codec_probe::tests::test_vp8_keyframe_detection ... ok
[INFO] [stdout] test color_repair::tests::test_color_cast_estimate_none_when_empty ... ok
[INFO] [stdout] test color_repair::tests::test_gray_world_empty_returns_unit_gains ... ok
[INFO] [stdout] test color_repair::tests::test_fix_desaturation_boost_one_is_identity ... ok
[INFO] [stdout] test color_repair::tests::test_gray_world_neutral_returns_unit_gains ... ok
[INFO] [stdout] test color_repair::tests::test_is_desaturated_coloured_pixel ... ok
[INFO] [stdout] test color_repair::tests::test_gray_world_red_dominant_reduces_red_gain ... ok
[INFO] [stdout] test color_repair::tests::test_is_desaturated_grey_pixel ... ok
[INFO] [stdout] test color_repair::tests::test_remove_color_cast_u8_clamps_at_zero ... ok
[INFO] [stdout] test color_repair::tests::test_remove_color_cast_u8_shifts_channels ... ok
[INFO] [stdout] test color_repair::tests::test_remove_color_cast_neutralises ... ok
[INFO] [stdout] test color_repair::tests::test_restore_tones_mutates_buffer ... ok
[INFO] [stdout] test color_repair::tests::test_rgb_luma_grey ... ok
[INFO] [stdout] test color_repair::tests::test_rgb_new_clamps ... ok
[INFO] [stdout] test color_repair::tests::test_rgb_saturation_estimate_grey ... ok
[INFO] [stdout] test color_repair::tests::test_rgb_to_grey ... ok
[INFO] [stdout] test color_repair::tests::test_restore_faded_film_reduces_luminance_shift ... ok
[INFO] [stdout] test color_repair::tests::test_white_balance_neutral_ref ... ok
[INFO] [stdout] test color_repair::tests::test_rgb_saturation_estimate_red ... ok
[INFO] [stdout] test conceal::audio::tests::test_conceal_audio_interpolation ... ok
[INFO] [stdout] test conceal::error::tests::test_apply_concealment_copy_previous ... ok
[INFO] [stdout] test conceal::error::tests::test_apply_concealment_empty_data ... ok
[INFO] [stdout] test conceal::error::tests::test_apply_concealment_insert_blank ... ok
[INFO] [stdout] test conceal::audio::tests::test_insert_silence ... ok
[INFO] [stdout] test conceal::error::tests::test_apply_concealment_interpolate ... ok
[INFO] [stdout] test conceal::frame::tests::test_conceal_spatial_surrounded ... ok
[INFO] [stdout] test conceal::frame::tests::test_conceal_with_interpolation ... ok
[INFO] [stdout] test conceal::frame::tests::test_conceal_with_interpolation_different_values ... ok
[INFO] [stdout] test conceal::frame::tests::test_conceal_motion_compensated ... ok
[INFO] [stdout] test conceal::frame::tests::test_conceal_with_previous ... ok
[INFO] [stdout] test conceal::frame::tests::test_insert_black_frame ... ok
[INFO] [stdout] test conceal::frame::tests::test_conceal_spatial_empty ... ok
[INFO] [stdout] test conceal::frame::tests::test_conceal_with_previous_different_lengths ... ok
[INFO] [stdout] test conceal::error::tests::test_detect_concealment_areas ... ok
[INFO] [stdout] test checksum_repair::tests::test_process_entries_all_valid ... ok
[INFO] [stdout] test container_migrate::tests::test_migrate_matroska_multiple_streams ... ok
[INFO] [stdout] test container_migrate::tests::test_migrate_mpegts_single_stream ... ok
[INFO] [stdout] test container_migrate::tests::test_remux_file_empty ... ok
[INFO] [stdout] test container_migrate::tests::test_migrate_raw_es_single_stream ... ok
[INFO] [stdout] test container_migrate::tests::test_migrate_result_lossless ... ok
[INFO] [stdout] test container_migrate::tests::test_write_vint_size_medium ... ok
[INFO] [stdout] test container_migrate::tests::test_packetize_stream_produces_ts_sync ... ok
[INFO] [stdout] test container_repair::tests::test_detect_flv ... ok
[INFO] [stdout] test container_migrate::tests::test_remux_file_with_data ... ok
[INFO] [stdout] test container_repair::tests::test_container_format_equality ... ok
[INFO] [stdout] test container_repair::tests::test_detect_avi ... ok
[INFO] [stdout] test container_repair::tests::test_detect_unknown ... ok
[INFO] [stdout] test container_repair::tests::test_remove_duplicates ... ok
[INFO] [stdout] test container_repair::tests::test_detect_short_header ... ok
[INFO] [stdout] test container_repair::tests::test_repair_options_default ... ok
[INFO] [stdout] test container_repair::tests::test_fix_atom_sizes ... ok
[INFO] [stdout] test container_repair::tests::test_detect_matroska ... ok
[INFO] [stdout] test container_migrate::tests::test_target_container_display ... ok
[INFO] [stdout] test container_repair::tests::test_detect_mp4 ... ok
[INFO] [stdout] test container_repair::tests::test_repair_pipeline ... ok
[INFO] [stdout] test container_repair::tests::test_scan_atoms_corrupted_header ... ok
[INFO] [stdout] test container_repair::tests::test_scan_atoms_no_issues ... ok
[INFO] [stdout] test conversion::revert::tests::test_detect_conversion_history ... ok
[INFO] [stdout] test container_repair::tests::test_scanner_with_max_depth ... ok
[INFO] [stdout] test container_repair::tests::test_scanner_default ... ok
[INFO] [stdout] test container_repair::tests::test_scan_atoms_size_mismatch ... ok
[INFO] [stdout] test corruption_map::tests::test_corruption_pct_calculation ... ok
[INFO] [stdout] test corruption_map::tests::test_corruption_map_new ... ok
[INFO] [stdout] test corruption_map::tests::test_corruption_pct_zero_on_empty ... ok
[INFO] [stdout] test corruption_map::tests::test_critical_regions_filter ... ok
[INFO] [stdout] test conversion::fix::tests::test_conversion_error_types ... ok
[INFO] [stdout] test corruption_map::tests::test_is_repairable_one_unrepairable ... ok
[INFO] [stdout] test corruption_map::tests::test_corruption_pct_zero_file_size ... ok
[INFO] [stdout] test corruption_map::tests::test_region_is_critical_header_damage ... ok
[INFO] [stdout] test corruption_map::tests::test_region_is_critical_sync_loss_high_severity ... ok
[INFO] [stdout] test corruption_map::tests::test_region_is_critical_truncation ... ok
[INFO] [stdout] test corruption_map::tests::test_region_is_not_critical_sync_loss_low_severity ... ok
[INFO] [stdout] test corruption_map::tests::test_region_size_bytes ... ok
[INFO] [stdout] test corruption_map::tests::test_region_size_bytes_zero_when_start_equals_end ... ok
[INFO] [stdout] test corruption_simulator::tests::test_block_corruption ... ok
[INFO] [stdout] test corruption_simulator::tests::test_block_corruption_clamps ... ok
[INFO] [stdout] test corruption_simulator::tests::test_byte_deletion ... ok
[INFO] [stdout] test corruption_simulator::tests::test_bit_flip_changes_data ... ok
[INFO] [stdout] test corruption_simulator::tests::test_bit_flip_reproducible ... ok
[INFO] [stdout] test corruption_simulator::tests::test_bit_flip_empty_data ... ok
[INFO] [stdout] test corruption_simulator::tests::test_byte_deletion_clamps ... ok
[INFO] [stdout] test corruption_simulator::tests::test_byte_deletion_out_of_bounds ... ok
[INFO] [stdout] test corruption_simulator::tests::test_byte_insertion_at_end ... ok
[INFO] [stdout] test corruption_simulator::tests::test_byte_insertion ... ok
[INFO] [stdout] test corruption_simulator::tests::test_corruption_config_default ... ok
[INFO] [stdout] test corruption_simulator::tests::test_byte_insertion_zero_count ... ok
[INFO] [stdout] test corruption_simulator::tests::test_corruption_record_tracks_lengths ... ok
[INFO] [stdout] test corruption_simulator::tests::test_header_wipe_out_of_bounds ... ok
[INFO] [stdout] test corruption_simulator::tests::test_header_wipe_partial ... ok
[INFO] [stdout] test corruption_simulator::tests::test_rng_deterministic ... ok
[INFO] [stdout] test corruption_simulator::tests::test_simulate_corruption_deterministic ... ok
[INFO] [stdout] test corruption_simulator::tests::test_simulate_corruption_modifies_data ... ok
[INFO] [stdout] test corruption_simulator::tests::test_rng_zero_seed_becomes_one ... ok
[INFO] [stdout] test corruption_simulator::tests::test_simulate_corruption_empty_data ... ok
[INFO] [stdout] test corruption_simulator::tests::test_truncation ... ok
[INFO] [stdout] test corruption_simulator::tests::test_truncation_beyond_length ... ok
[INFO] [stdout] test corruption_simulator::tests::test_undo_bit_flips ... ok
[INFO] [stdout] test detect::analyze::tests::test_analyze_timestamps_empty_buffer ... ok
[INFO] [stdout] test detect::analyze::tests::test_calculate_entropy_random ... ok
[INFO] [stdout] test detect::analyze::tests::test_compute_index_stats_duplicates ... ok
[INFO] [stdout] test detect::analyze::tests::test_calculate_entropy_uniform ... ok
[INFO] [stdout] test detect::analyze::tests::test_calculate_entropy_empty ... ok
[INFO] [stdout] test detect::analyze::tests::test_compute_index_stats_valid ... ok
[INFO] [stdout] test detect::analyze::tests::test_compute_index_stats_empty ... ok
[INFO] [stdout] test detect::analyze::tests::test_compute_index_stats_out_of_bounds ... ok
[INFO] [stdout] test detect::analyze::tests::test_compute_timestamp_stats_large_gap ... ok
[INFO] [stdout] test detect::analyze::tests::test_compute_timestamp_stats_duplicates ... ok
[INFO] [stdout] test detect::analyze::tests::test_compute_timestamp_stats_basic ... ok
[INFO] [stdout] test detect::analyze::tests::test_compute_timestamp_stats_negative ... ok
[INFO] [stdout] test detect::analyze::tests::test_compute_timestamp_stats_non_monotonic ... ok
[INFO] [stdout] test detect::analyze::tests::test_detect_patterns ... ok
[INFO] [stdout] test detect::analyze::tests::test_read_ebml_vint_1byte ... ok
[INFO] [stdout] test detect::analyze::tests::test_read_ebml_vint_2byte ... ok
[INFO] [stdout] test detect::corruption::tests::test_detect_format_avi ... ok
[INFO] [stdout] test detect::corruption::tests::test_detect_format_matroska ... ok
[INFO] [stdout] test detect::corruption::tests::test_detect_format_mp4 ... ok
[INFO] [stdout] test detect::corruption::tests::test_detect_format_mpeg ... ok
[INFO] [stdout] test detect::corruption::tests::test_detect_format_unknown ... ok
[INFO] [stdout] test detect::scan::tests::test_calculate_checksum ... ok
[INFO] [stdout] test detect::scan::tests::test_calculate_checksum_empty ... ok
[INFO] [stdout] test detect::scan::tests::test_detect_zero_runs ... ok
[INFO] [stdout] test container_repair::tests::test_scanner_for_format ... ok
[INFO] [stdout] test detect::analyze::tests::test_parse_pes_timestamp_zeros ... ok
[INFO] [stdout] test detect::scan::tests::test_detect_zero_runs_none ... ok
[INFO] [stdout] test detect::scan::tests::test_detect_zero_runs_all ... ok
[INFO] [stdout] test detect::scan::tests::test_scan_keyframes ... ok
[INFO] [stdout] test dropout_concealment::tests::test_conceal_frame_exceeds_limit ... ok
[INFO] [stdout] test dropout_concealment::tests::test_conceal_frame_fallback_no_next_frame ... ok
[INFO] [stdout] test dropout_concealment::tests::test_conceal_frame_within_limit ... ok
[INFO] [stdout] test dropout_concealment::tests::test_dropout_severity_clamped ... ok
[INFO] [stdout] test dropout_concealment::tests::test_dropout_is_flash ... ok
[INFO] [stdout] test dropout_concealment::tests::test_dropout_is_long ... ok
[INFO] [stdout] test dropout_concealment::tests::test_method_name ... ok
[INFO] [stdout] test dropout_concealment::tests::test_method_requires_next_frame ... ok
[INFO] [stdout] test dropout_concealment::tests::test_method_quality_ratings ... ok
[INFO] [stdout] test dropout_concealment::tests::test_statistics_all_concealed ... ok
[INFO] [stdout] test dropout_concealment::tests::test_statistics_average_severity ... ok
[INFO] [stdout] test dropout_concealment::tests::test_statistics_concealment_rate ... ok
[INFO] [stdout] test dropout_concealment::tests::test_statistics_empty_dropouts ... ok
[INFO] [stdout] test error_correction::tests::test_corruption_region_pixel_count ... ok
[INFO] [stdout] test error_correction::tests::test_frame_interpolator_basic ... ok
[INFO] [stdout] test error_correction::tests::test_frame_interpolator_out_of_bounds ... ok
[INFO] [stdout] test error_correction::tests::test_median_inpainter_basic ... ok
[INFO] [stdout] test error_correction::tests::test_repair_log_add_and_summary ... ok
[INFO] [stdout] test error_correction::tests::test_repair_log_multiple_repairs ... ok
[INFO] [stdout] test error_correction::tests::test_repair_record_new ... ok
[INFO] [stdout] test error_correction::tests::test_strategy_block_corruption_inpaint_median ... ok
[INFO] [stdout] test error_correction::tests::test_strategy_byte_stutter_inpaint_bilateral ... ok
[INFO] [stdout] test error_correction::tests::test_strategy_dropout_copy_neighbor ... ok
[INFO] [stdout] test error_correction::tests::test_strategy_freeze_interpolate ... ok
[INFO] [stdout] test error_correction::tests::test_strategy_partial_frame_interpolate ... ok
[INFO] [stdout] test error_correction::tests::test_strategy_skip_high_severity ... ok
[INFO] [stdout] test bitstream_repair::tests::test_strategy_is_destructive ... ok
[INFO] [stdout] test color_repair::tests::test_estimate_color_cast_not_multiple_of_3_returns_none ... ok
[INFO] [stdout] test frame_concealment::tests::test_conceal_audio_gap_empty_prev ... ok
[INFO] [stdout] test frame_concealment::tests::test_interpolate_frame_alpha_one ... ok
[INFO] [stdout] test frame_concealment::tests::test_interpolate_frame_alpha_zero ... ok
[INFO] [stdout] test frame_concealment::tests::test_interpolate_frame_different_lengths ... ok
[INFO] [stdout] test frame_concealment::tests::test_conceal_audio_gap_output_length ... ok
[INFO] [stdout] test corruption_map::tests::test_total_corrupted_bytes_multiple_regions ... ok
[INFO] [stdout] test frame_concealment::tests::test_select_strategy_both_neighbours_long_gap ... ok
[INFO] [stdout] test frame_concealment::tests::test_is_temporal_false ... ok
[INFO] [stdout] test frame_concealment::tests::test_is_temporal_true ... ok
[INFO] [stdout] test frame_concealment::tests::test_conceal_audio_gap_starts_near_amplitude ... ok
[INFO] [stdout] test corruption_map::tests::test_is_repairable_all_repairable ... ok
[INFO] [stdout] test frame_concealment::tests::test_select_strategy_no_neighbours ... ok
[INFO] [stdout] test frame_concealment::tests::test_select_strategy_only_prev ... ok
[INFO] [stdout] test frame_concealment::tests::test_strategy_quality_score_ordering ... ok
[INFO] [stdout] test frame_concealment::tests::test_strategy_quality_score_range ... ok
[INFO] [stdout] test frame_repair::tests::test_average_quality_score_nonzero ... ok
[INFO] [stdout] test frame_concealment::tests::test_select_strategy_both_neighbours_short_gap ... ok
[INFO] [stdout] test frame_concealment::tests::test_select_strategy_only_next ... ok
[INFO] [stdout] test frame_repair::tests::test_average_quality_empty ... ok
[INFO] [stdout] test frame_repair::tests::test_checksum_mismatch_temporal ... ok
[INFO] [stdout] test frame_repair::tests::test_clear_history ... ok
[INFO] [stdout] test frame_repair::tests::test_description_contains_frame_index ... ok
[INFO] [stdout] test frame_repair::tests::test_missing_frame_concealment_when_disabled ... ok
[INFO] [stdout] test frame_repair::tests::test_color_corruption_inpainting ... ok
[INFO] [stdout] test frame_repair::tests::test_count_at_least ... ok
[INFO] [stdout] test frame_repair::tests::test_partial_low_damage_inpainting ... ok
[INFO] [stdout] test frame_repair::tests::test_repair_batch ... ok
[INFO] [stdout] test frame_repair::tests::test_quality_ordering ... ok
[INFO] [stdout] test frame_repair::tests::test_repair_records_history ... ok
[INFO] [stdout] test frame_repair::tests::test_unexpected_black_concealment ... ok
[INFO] [stdout] test gap_fill::tests::test_detect_gaps_empty ... ok
[INFO] [stdout] test gap_fill::tests::test_cubic_interpolate ... ok
[INFO] [stdout] test error_correction::tests::test_repair_log_empty_summary ... ok
[INFO] [stdout] test gap_fill::tests::test_detect_gaps_single ... ok
[INFO] [stdout] test gap_fill::tests::test_engine_set_strategy ... ok
[INFO] [stdout] test gap_fill::tests::test_fill_crossfade ... ok
[INFO] [stdout] test gap_fill::tests::test_fill_repeat ... ok
[INFO] [stdout] test gap_fill::tests::test_fill_linear_interpolation ... ok
[INFO] [stdout] test gap_fill::tests::test_fill_result_quality ... ok
[INFO] [stdout] test gap_fill::tests::test_fill_strategy_default ... ok
[INFO] [stdout] test gap_fill::tests::test_fill_silence ... ok
[INFO] [stdout] test gap_fill::tests::test_fill_skips_large_gaps ... ok
[INFO] [stdout] test gap_fill::tests::test_gap_fill_config_default ... ok
[INFO] [stdout] test gap_fill::tests::test_gap_is_fillable ... ok
[INFO] [stdout] test gap_fill::tests::test_gap_low_confidence_not_fillable ... ok
[INFO] [stdout] test gap_fill::tests::test_gap_new ... ok
[INFO] [stdout] test gap_fill::tests::test_pending_gaps_lifecycle ... ok
[INFO] [stdout] test header::avi::tests::test_index_size_validation ... ok
[INFO] [stdout] test header::avi::tests::test_riff_size_calculation ... ok
[INFO] [stdout] test header::matroska::tests::test_encode_element_size_2_bytes ... ok
[INFO] [stdout] test header::matroska::tests::test_encode_element_size_3_bytes ... ok
[INFO] [stdout] test header::mp4::tests::test_is_valid_atom_type ... ok
[INFO] [stdout] test header::repair::tests::test_calculate_header_checksum ... ok
[INFO] [stdout] test header::repair::tests::test_is_avi_header ... ok
[INFO] [stdout] test header::repair::tests::test_is_matroska_header ... ok
[INFO] [stdout] test header::repair::tests::test_is_mp4_header ... ok
[INFO] [stdout] test index::cue::tests::test_encode_cues_element_nonempty ... ok
[INFO] [stdout] test index::cue::tests::test_encode_ebml_uint_multi_byte ... ok
[INFO] [stdout] test index::cue::tests::test_encode_ebml_uint_small ... ok
[INFO] [stdout] test index::cue::tests::test_encode_ebml_uint_zero ... ok
[INFO] [stdout] test index::cue::tests::test_encode_ebml_vint_size_medium ... ok
[INFO] [stdout] test index::cue::tests::test_encode_ebml_vint_size_small ... ok
[INFO] [stdout] test index::cue::tests::test_find_first_track_in_cluster_simple_block ... ok
[INFO] [stdout] test index::cue::tests::test_read_ebml_vint_1byte ... ok
[INFO] [stdout] test index::cue::tests::test_read_ebml_vint_2byte ... ok
[INFO] [stdout] test index::cue::tests::test_read_ebml_vint_empty ... ok
[INFO] [stdout] test index::cue::tests::test_scan_and_build_no_clusters ... ok
[INFO] [stdout] test header::matroska::tests::test_element_size_length ... ok
[INFO] [stdout] test header::matroska::tests::test_encode_element_size_1_byte ... ok
[INFO] [stdout] test header::mp4::tests::test_create_ftyp_atom ... ok
[INFO] [stdout] test index::cue::tests::test_validate_cue_points_invalid ... ok
[INFO] [stdout] test index::cue::tests::test_validate_cue_points_valid ... ok
[INFO] [stdout] test index::rebuild::tests::test_estimate_timestamp_half ... ok
[INFO] [stdout] test index::rebuild::tests::test_estimate_timestamp ... ok
[INFO] [stdout] test index::cue::tests::test_validate_cue_points_empty ... ok
[INFO] [stdout] test audio_restore::tests::test_remove_click_reduces_spike ... ok
[INFO] [stdout] test index::rebuild::tests::test_index_entry_creation ... ok
[INFO] [stdout] test container_migrate::tests::test_write_vint_size_small ... ok
[INFO] [stdout] test container_repair::tests::test_container_damage_variants ... ok
[INFO] [stdout] test corruption_simulator::tests::test_header_wipe ... ok
[INFO] [stdout] test container_repair::tests::test_container_issue_fields ... ok
[INFO] [stdout] test index::seek::tests::test_calculate_bitrate_insufficient_data ... ok
[INFO] [stdout] test index::seek::tests::test_optimize_seek_table ... ok
[INFO] [stdout] test integrity::tests::test_batch_checker_empty ... ok
[INFO] [stdout] test integrity::tests::test_batch_checker_failure_count ... ok
[INFO] [stdout] test integrity::tests::test_crc32_different_for_different_data ... ok
[INFO] [stdout] test integrity::tests::test_crc32_known_value ... ok
[INFO] [stdout] test integrity::tests::test_crc32_empty ... ok
[INFO] [stdout] test integrity::tests::test_integrity_result_is_ok ... ok
[INFO] [stdout] test integrity::tests::test_integrity_result_is_repairable_size_mismatch ... ok
[INFO] [stdout] test index::seek::tests::test_calculate_bitrate ... ok
[INFO] [stdout] test frame_repair::tests::test_missing_frame_full_reconstruction ... ok
[INFO] [stdout] test dropout_concealment::tests::test_dropout_duration_ms ... ok
[INFO] [stdout] test integrity::tests::test_integrity_result_is_repairable_truncated ... ok
[INFO] [stdout] test integrity::tests::test_integrity_result_not_repairable_checksum ... ok
[INFO] [stdout] test integrity::tests::test_integrity_result_not_repairable_missing ... ok
[INFO] [stdout] test integrity::tests::test_verify_check_missing ... ok
[INFO] [stdout] test integrity::tests::test_verify_check_ok ... ok
[INFO] [stdout] test level_repair::tests::test_check_level_jumps_short_buffer ... ok
[INFO] [stdout] test level_repair::tests::test_compute_rms ... ok
[INFO] [stdout] test integrity::tests::test_verify_check_truncated ... ok
[INFO] [stdout] test level_repair::tests::test_compute_rms_empty ... ok
[INFO] [stdout] test level_repair::tests::test_default_config ... ok
[INFO] [stdout] test level_repair::tests::test_level_anomaly_eq ... ok
[INFO] [stdout] test level_repair::tests::test_level_issue_fields ... ok
[INFO] [stdout] test integrity::tests::test_verify_check_size_mismatch_larger ... ok
[INFO] [stdout] test level_repair::tests::test_detect_clipping ... ok
[INFO] [stdout] test level_repair::tests::test_full_repair_pass ... ok
[INFO] [stdout] test level_repair::tests::test_remove_dc_offset ... ok
[INFO] [stdout] test level_repair::tests::test_no_dc_offset_clean_signal ... ok
[INFO] [stdout] test level_repair::tests::test_remove_dc_offset_empty ... ok
[INFO] [stdout] test level_repair::tests::test_repair_clipping ... ok
[INFO] [stdout] test level_repair::tests::test_severity_ordering ... ok
[INFO] [stdout] test metadata::extract::tests::test_extract_from_header_mp4 ... ok
[INFO] [stdout] test metadata::recreate::tests::test_create_default_metadata ... ok
[INFO] [stdout] test integrity::tests::test_batch_checker_all_ok ... ok
[INFO] [stdout] test metadata::recreate::tests::test_create_default_metadata_mkv ... ok
[INFO] [stdout] test metadata::repair::tests::test_repair_duration ... ok
[INFO] [stdout] test metadata::repair::tests::test_repair_date ... ok
[INFO] [stdout] test level_repair::tests::test_detect_dc_offset ... ok
[INFO] [stdout] test metadata::repair::tests::test_sanitize_string ... ok
[INFO] [stdout] test metadata_repair::tests::test_analysis_from_fields ... ok
[INFO] [stdout] test metadata_repair::tests::test_default_config ... ok
[INFO] [stdout] test metadata_repair::tests::test_fields_needing_repair ... ok
[INFO] [stdout] test metadata_repair::tests::test_metadata_field_needs_repair ... ok
[INFO] [stdout] test metadata_repair::tests::test_metadata_field_new ... ok
[INFO] [stdout] test metadata_repair::tests::test_health_after_repair ... ok
[INFO] [stdout] test metadata_repair::tests::test_metadata_field_with_value ... ok
[INFO] [stdout] test metadata_repair::tests::test_repair_codec_config ... ok
[INFO] [stdout] test metadata_repair::tests::test_repair_preserves_valid ... ok
[INFO] [stdout] test metadata_repair::tests::test_validate_consistency_clean ... ok
[INFO] [stdout] test metadata_repair::tests::test_repair_user_tag_language ... ok
[INFO] [stdout] test metadata_repair::tests::test_validate_consistency_duplicates ... ok
[INFO] [stdout] test metadata_repair::tests::test_repair_missing_timing ... ok
[INFO] [stdout] test packet::interpolate::tests::test_interpolate_audio_fade ... ok
[INFO] [stdout] test packet::interpolate::tests::test_interpolate_data ... ok
[INFO] [stdout] test packet::discard::tests::test_renumber_sequences ... ok
[INFO] [stdout] test packet::interpolate::tests::test_predict_packet_data ... ok
[INFO] [stdout] test packet::recover::tests::test_calculate_packet_loss ... ok
[INFO] [stdout] test packet::discard::tests::test_discard_corrupt_packets ... ok
[INFO] [stdout] test packet::discard::tests::test_remove_duplicates ... ok
[INFO] [stdout] test packet::recover::tests::test_count_mpegts_syncs ... ok
[INFO] [stdout] test packet::recover::tests::test_has_annexb_start_codes_true ... ok
[INFO] [stdout] test packet::recover::tests::test_interpolate_timestamp ... ok
[INFO] [stdout] test packet::recover::tests::test_detect_format_annexb ... ok
[INFO] [stdout] test packet::recover::tests::test_mp3_frame_length_mpeg1_128kbps ... ok
[INFO] [stdout] test packet::recover::tests::test_is_valid_ps_stream_id ... ok
[INFO] [stdout] test packet::recover::tests::test_detect_format_mpegts ... ok
[INFO] [stdout] test packet::recover::tests::test_recover_adts_minimal ... ok
[INFO] [stdout] test packet::recover::tests::test_recover_annexb_3byte_start_code ... ok
[INFO] [stdout] test packet::recover::tests::test_recover_annexb_h264 ... ok
[INFO] [stdout] test packet::recover::tests::test_has_annexb_start_codes_false ... ok
[INFO] [stdout] test packet::recover::tests::test_recover_mpegts_valid_packets ... ok
[INFO] [stdout] test packet::recover::tests::test_validate_packet_valid ... ok
[INFO] [stdout] test packet::recover::tests::test_recover_mpeg_ps_pack_header ... ok
[INFO] [stdout] test packet::recover::tests::test_validate_packet_invalid ... ok
[INFO] [stdout] test packet_recovery::tests::test_add_packet_in_window ... ok
[INFO] [stdout] test packet::recover::tests::test_recover_generic_picks_best ... ok
[INFO] [stdout] test packet::recover::tests::test_recover_empty ... ok
[INFO] [stdout] test packet_recovery::tests::test_attempt_recovery_success ... ok
[INFO] [stdout] test packet_recovery::tests::test_encode_redundancy_empty ... ok
[INFO] [stdout] test packet_recovery::tests::test_encode_redundancy_xor ... ok
[INFO] [stdout] test packet_recovery::tests::test_fec_default_group_size ... ok
[INFO] [stdout] test packet_recovery::tests::test_fec_group_size ... ok
[INFO] [stdout] test packet_recovery::tests::test_loss_rate_zero_expected ... ok
[INFO] [stdout] test packet_recovery::tests::test_is_perfect ... ok
[INFO] [stdout] test packet_recovery::tests::test_add_packet_out_of_window ... ok
[INFO] [stdout] test packet_recovery::tests::test_loss_stats ... ok
[INFO] [stdout] test packet_recovery::tests::test_advance_window ... ok
[INFO] [stdout] test packet_recovery::tests::test_missing_count ... ok
[INFO] [stdout] test packet_recovery::tests::test_loss_rate_25_percent ... ok
[INFO] [stdout] test packet_recovery::tests::test_recover_missing_no_fec ... ok
[INFO] [stdout] test packet_recovery::tests::test_recover_missing_with_fec ... ok
[INFO] [stdout] test packet_repair::tests::test_accumulate_multiple_calls ... ok
[INFO] [stdout] test packet_repair::tests::test_burst_pattern_classification ... ok
[INFO] [stdout] test packet_repair::tests::test_config_custom ... ok
[INFO] [stdout] test packet_repair::tests::test_loss_event_timestamp ... ok
[INFO] [stdout] test packet_repair::tests::test_loss_percentage ... ok
[INFO] [stdout] test packet_repair::tests::test_multiple_gaps ... ok
[INFO] [stdout] test packet_repair::tests::test_mark_repaired ... ok
[INFO] [stdout] test packet_repair::tests::test_pattern_unknown_no_events ... ok
[INFO] [stdout] test packet_repair::tests::test_no_loss ... ok
[INFO] [stdout] test packet_recovery::tests::test_recover_missing_two_losses_fails ... ok
[INFO] [stdout] test packet_repair::tests::test_choose_strategy_random ... ok
[INFO] [stdout] test packet_repair::tests::test_single_gap ... ok
[INFO] [stdout] test packet_repair::tests::test_random_pattern_classification ... ok
[INFO] [stdout] test packet_repair::tests::test_zero_packets_no_panic ... ok
[INFO] [stdout] test parallel_repair::tests::test_analyze_batch_empty ... ok
[INFO] [stdout] test parallel_repair::tests::test_analyze_batch_with_files ... ok
[INFO] [stdout] test packet_repair::tests::test_repair_strategy_fec ... ok
[INFO] [stdout] test parallel_repair::tests::test_empty_batch ... ok
[INFO] [stdout] test parallel_repair::tests::test_batch_stats_fields ... ok
[INFO] [stdout] test packet::recover::tests::test_recover_packets_fills_gaps ... ok
[INFO] [stdout] test parallel_repair::tests::test_parallel_config_default ... ok
[INFO] [stdout] test parallel_repair::tests::test_parallel_engine_creation ... ok
[INFO] [stdout] test parallel_repair::tests::test_parallel_engine_debug ... ok
[INFO] [stdout] test parallel_repair::tests::test_with_engine ... ok
[INFO] [stdout] test parallel_repair::tests::test_fail_fast_mode ... ok
[INFO] [stdout] test partial::validate::tests::test_has_corruption_indicators ... ok
[INFO] [stdout] test parallel_repair::tests::test_parallel_engine_with_config ... ok
[INFO] [stdout] test partial::validate::tests::test_has_sync_patterns ... ok
[INFO] [stdout] test partial::extract::tests::test_is_playable_chunk ... ok
[INFO] [stdout] test partial::validate::tests::test_validate_portion_empty ... ok
[INFO] [stdout] test reorder::detect::tests::test_detect_frame_order_issues ... ok
[INFO] [stdout] test reorder::detect::tests::test_is_presentation_order ... ok
[INFO] [stdout] test reorder::fix::tests::test_fix_dts_pts ... ok
[INFO] [stdout] test reorder::fix::tests::test_reorder_to_presentation_order ... ok
[INFO] [stdout] test reorder::fix::tests::test_resequence_frames ... ok
[INFO] [stdout] test repair_log::tests::test_all_success ... ok
[INFO] [stdout] test repair_log::tests::test_av_resync_action ... ok
[INFO] [stdout] test repair_log::tests::test_count_outcome ... ok
[INFO] [stdout] test repair_log::tests::test_custom_action ... ok
[INFO] [stdout] test repair_log::tests::test_elapsed_nonnegative ... ok
[INFO] [stdout] test parallel_repair::tests::test_batch_with_nonexistent_files ... ok
[INFO] [stdout] test repair_log::tests::test_frame_repair_action ... ok
[INFO] [stdout] test repair_log::tests::test_header_rewrite_action ... ok
[INFO] [stdout] test repair_log::tests::test_empty_log_success_rate ... ok
[INFO] [stdout] test parallel_repair::tests::test_batch_progress_callback ... ok
[INFO] [stdout] test parallel_repair::tests::test_batch_with_valid_files ... ok
[INFO] [stdout] test repair_log::tests::test_note_preserved ... ok
[INFO] [stdout] test repair_log::tests::test_len ... ok
[INFO] [stdout] test repair_log::tests::test_mixed_outcomes ... ok
[INFO] [stdout] test repair_log::tests::test_packet_concealment_action ... ok
[INFO] [stdout] test repair_log::tests::test_summary_contains_total ... ok
[INFO] [stdout] test repair_profile::tests::test_container_format_display ... ok
[INFO] [stdout] test repair_log::tests::test_is_empty ... ok
[INFO] [stdout] test repair_profile::tests::test_issue_type_round_trip ... ok
[INFO] [stdout] test detect::analyze::tests::test_detect_patterns_none ... ok
[INFO] [stdout] test repair_log::tests::test_timestamp_correction_action ... ok
[INFO] [stdout] test repair_profile::tests::test_default_profile_mode ... ok
[INFO] [stdout] test repair_profile::tests::test_mp4_safe_profile ... ok
[INFO] [stdout] test repair_profile::tests::test_builtin_profiles_count ... ok
[INFO] [stdout] test repair_profile::tests::test_find_builtin_not_found ... ok
[INFO] [stdout] test repair_profile::tests::test_mkv_aggressive_profile ... ok
[INFO] [stdout] test repair_profile::tests::test_find_builtin_found ... ok
[INFO] [stdout] test packet_repair::tests::test_reset ... ok
[INFO] [stdout] test container_migrate::tests::test_migrate_matroska_single_stream ... ok
[INFO] [stdout] test container_migrate::tests::test_migrate_raw_es_empty_streams ... ok
[INFO] [stdout] test frame_concealment::tests::test_interpolate_frame_alpha_half ... ok
[INFO] [stdout] test integrity::tests::test_crc32_deterministic ... ok
[INFO] [stdout] test frame_repair::tests::test_partial_high_damage_temporal ... ok
[INFO] [stdout] test packet::recover::tests::test_recover_mpegts_with_garbage ... ok
[INFO] [stdout] test metadata::extract::tests::test_extract_from_header_avi ... ok
[INFO] [stdout] test repair_profile::tests::test_mpeg_extract_profile ... ok
[INFO] [stdout] test repair_profile::tests::test_profile_new_defaults ... ok
[INFO] [stdout] test repair_profile::tests::test_repair_mode_round_trip ... ok
[INFO] [stdout] test repair_profile::tests::test_to_options_fix_issues_conversion ... ok
[INFO] [stdout] test repair_profile::tests::test_to_options_mode_conversion ... ok
[INFO] [stdout] test report::generate::tests::test_generate_issue_report ... ok
[INFO] [stdout] test scratch::tests::test_detect_scratches_empty_pixels ... ok
[INFO] [stdout] test repair_profile::tests::test_to_json_and_back ... ok
[INFO] [stdout] test scratch::tests::test_detect_scratches_finds_bright_column_run ... ok
[INFO] [stdout] test scratch::tests::test_blend_temporal_blends ... ok
[INFO] [stdout] test scratch::tests::test_detect_scratches_no_scratches ... ok
[INFO] [stdout] test repair_profile::tests::test_save_and_load_profile ... ok
[INFO] [stdout] test scratch::tests::test_detect_scratches_mismatched_size ... ok
[INFO] [stdout] test scratch::tests::test_detect_vertical_scratch_empty_returns_empty ... ok
[INFO] [stdout] test scratch::tests::test_detect_vertical_scratch_finds_bright_column ... ok
[INFO] [stdout] test scratch::tests::test_detect_vertical_scratch_too_narrow_returns_empty ... ok
[INFO] [stdout] test scratch::tests::test_detect_vertical_scratch_uniform_frame_no_scratches ... ok
[INFO] [stdout] test scratch::tests::test_inpaint_scratch_fills_region ... ok
[INFO] [stdout] test scratch::tests::test_detection_params_default ... ok
[INFO] [stdout] test scratch::tests::test_is_temporally_consistent_false ... ok
[INFO] [stdout] test scratch::tests::test_is_temporally_consistent_out_of_bounds ... ok
[INFO] [stdout] test scratch::tests::test_is_temporally_consistent_true ... ok
[INFO] [stdout] test scratch::tests::test_repair_vertical_scratch_out_of_bounds_no_panic ... ok
[INFO] [stdout] test scratch::tests::test_scratch_detection_spans_frame_false ... ok
[INFO] [stdout] test scratch::tests::test_repair_vertical_scratch_replaces_column ... ok
[INFO] [stdout] test report::generate::tests::test_generate_report ... ok
[INFO] [stdout] test report::generate::tests::test_generate_summary ... ok
[INFO] [stdout] test scratch::tests::test_scratch_region_area ... ok
[INFO] [stdout] test scratch::tests::test_scratch_detection_spans_frame_true ... ok
[INFO] [stdout] test scratch::tests::test_scratch_region_is_confident ... ok
[INFO] [stdout] test scratch::tests::test_scratch_region_confidence_clamped ... ok
[INFO] [stdout] test scratch::tests::test_scratch_repairer_process_frame_detects_and_repairs ... ok
[INFO] [stdout] test scratch::tests::test_scratch_type_is_linear_diagonal ... ok
[INFO] [stdout] test scratch::tests::test_scratch_type_is_linear_horizontal ... ok
[INFO] [stdout] test scratch::tests::test_scratch_type_is_linear_vertical ... ok
[INFO] [stdout] test scratch::tests::test_scratch_type_is_linear_noise ... ok
[INFO] [stdout] test scratch::tests::test_scratch_repairer_new_stores_params ... ok
[INFO] [stdout] test stream_recovery::tests::test_assess_confidence_high ... ok
[INFO] [stdout] test stream_recovery::tests::test_assess_confidence_low ... ok
[INFO] [stdout] test stream_recovery::tests::test_confidence_ordering ... ok
[INFO] [stdout] test stream_recovery::tests::test_build_result ... ok
[INFO] [stdout] test stream_recovery::tests::test_find_sync_points_empty ... ok
[INFO] [stdout] test stream_recovery::tests::test_find_sync_points_short_data ... ok
[INFO] [stdout] test stream_recovery::tests::test_find_sync_points_mp3 ... ok
[INFO] [stdout] test stream_recovery::tests::test_pattern_library_supported_types ... ok
[INFO] [stdout] test stream_recovery::tests::test_pattern_library_new ... ok
[INFO] [stdout] test stream_recovery::tests::test_reconstruct_timestamps ... ok
[INFO] [stdout] test stream_recovery::tests::test_pattern_library_unsupported ... ok
[INFO] [stdout] test stream_recovery::tests::test_reconstruct_timestamps_zero_fps ... ok
[INFO] [stdout] test stream_recovery::tests::test_recovery_options_default ... ok
[INFO] [stdout] test stream_recovery::tests::test_stream_type_equality ... ok
[INFO] [stdout] test stream_recovery::tests::test_count_gaps ... ok
[INFO] [stdout] test stream_recovery::tests::test_assess_confidence_zero ... ok
[INFO] [stdout] test stream_splice::tests::test_auto_detect_mpegts ... ok
[INFO] [stdout] test stream_splice::tests::test_extract_segment ... ok
[INFO] [stdout] test stream_recovery::tests::test_validate_sync_run_filters_short ... ok
[INFO] [stdout] test stream_splice::tests::test_auto_detect_annexb ... ok
[INFO] [stdout] test stream_splice::tests::test_extract_segment_out_of_bounds ... ok
[INFO] [stdout] test stream_splice::tests::test_find_adts_sync_points ... ok
[INFO] [stdout] test stream_splice::tests::test_find_annexb_sync_points ... ok
[INFO] [stdout] test stream_splice::tests::test_find_mpegts_sync_points ... ok
[INFO] [stdout] test stream_splice::tests::test_quality_from_consecutive ... ok
[INFO] [stdout] test stream_splice::tests::test_splice_annexb ... ok
[INFO] [stdout] test stream_splice::tests::test_splice_file_nonexistent ... ok
[INFO] [stdout] test stream_splice::tests::test_splice_mpegts ... ok
[INFO] [stdout] test stream_recovery::tests::test_validate_sync_run_keeps_long ... ok
[INFO] [stdout] test stream_splice::tests::test_splice_result_recovery_ratio ... ok
[INFO] [stdout] test stream_splice::tests::test_spliced_segment_empty ... ok
[INFO] [stdout] test stream_splice::tests::test_spliced_segment_len ... ok
[INFO] [stdout] test stream_splice::tests::test_splice_mpeg_start_codes ... ok
[INFO] [stdout] test stream_splice::tests::test_splicer_debug ... ok
[INFO] [stdout] test stream_splice::tests::test_splicer_default_config ... ok
[INFO] [stdout] test sync::detect::tests::test_calculate_av_offset ... ok
[INFO] [stdout] test sync::detect::tests::test_detect_sync_issues_audio_ahead ... ok
[INFO] [stdout] test sync::detect::tests::test_detect_sync_issues_in_sync ... ok
[INFO] [stdout] test sync::fix::tests::test_align_start_times ... ok
[INFO] [stdout] test sync::fix::tests::test_fix_sync ... ok
[INFO] [stdout] test sync::offset::tests::test_calculate_optimal_offset ... ok
[INFO] [stdout] test stream_splice::tests::test_splice_file_real ... ok
[INFO] [stdout] test sync::offset::tests::test_detect_variable_offset ... ok
[INFO] [stdout] test sync_repair::tests::test_create_sync_plan_audio_ahead ... ok
[INFO] [stdout] test sync::offset::tests::test_find_closest_timestamp ... ok
[INFO] [stdout] test sync_repair::tests::test_cross_correlate_empty_returns_empty ... ok
[INFO] [stdout] test sync_repair::tests::test_create_sync_plan_no_offset ... ok
[INFO] [stdout] test sync_repair::tests::test_create_sync_plan_video_ahead ... ok
[INFO] [stdout] test sync_repair::tests::test_cross_correlate_peak_at_zero_lag_for_identical ... ok
[INFO] [stdout] test sync_repair::tests::test_detect_offset_by_energy_empty_returns_zero ... ok
[INFO] [stdout] test sync_repair::tests::test_sync_analyzer_empty_input ... ok
[INFO] [stdout] test sync_repair::tests::test_sync_analyzer_perfect_sync ... ok
[INFO] [stdout] test sync_repair::tests::test_sync_analyzer_single_element ... ok
[INFO] [stdout] test sync_repair::tests::test_sync_error_audio_is_ahead_negative ... ok
[INFO] [stdout] test stream_splice::tests::test_splicer_empty_data ... ok
[INFO] [stdout] test sync_repair::tests::test_cross_correlate_unit_impulses ... ok
[INFO] [stdout] test sync_repair::tests::test_sync_analyzer_constant_offset ... ok
[INFO] [stdout] test sync_repair::tests::test_sync_offset_av_delay_audio_ahead ... ok
[INFO] [stdout] test sync_repair::tests::test_detect_offset_by_energy_identical_returns_zero ... ok
[INFO] [stdout] test sync_repair::tests::test_sync_offset_av_delay_video_ahead ... ok
[INFO] [stdout] test sync_repair::tests::test_sync_offset_is_in_sync_false ... ok
[INFO] [stdout] test sync_repair::tests::test_sync_analyzer_with_drift ... ok
[INFO] [stdout] test sync_repair::tests::test_sync_repair_action_new ... ok
[INFO] [stdout] test sync_repair::tests::test_sync_repair_plan_is_significant_false ... ok
[INFO] [stdout] test sync_repair::tests::test_sync_repairer_drop_frames ... ok
[INFO] [stdout] test sync_repair::tests::test_sync_repairer_audio_shift ... ok
[INFO] [stdout] test sync_repair::tests::test_sync_repair_plan_is_significant_true ... ok
[INFO] [stdout] test sync_repair::tests::test_sync_validator_zero_fps ... ok
[INFO] [stdout] test sync_repair::tests::test_sync_validator_zero_sample_rate ... ok
[INFO] [stdout] test sync_repair::tests::test_sync_error_audio_is_ahead_positive ... ok
[INFO] [stdout] test tests::test_extract_timestamps_around_empty_file ... ok
[INFO] [stdout] test tests::test_extract_av_timestamps_small_file ... ok
[INFO] [stdout] test tests::test_fix_issue_av_desync_dispatches ... ok
[INFO] [stdout] test tests::test_fix_issue_conversion_error_dispatches ... ok
[INFO] [stdout] test tests::test_fix_issue_corrupt_metadata_dispatches ... ok
[INFO] [stdout] test sync_repair::tests::test_sync_offset_is_in_sync_true ... ok
[INFO] [stdout] test sync_repair::tests::test_sync_validator_perfect ... ok
[INFO] [stdout] test sync_repair::tests::test_sync_repairer_resample_high_drift ... ok
[INFO] [stdout] test sync_repair::tests::test_sync_repairer_video_shift ... ok
[INFO] [stdout] test sync_repair::tests::test_sync_repairer_duplicate_frames ... ok
[INFO] [stdout] test sync_repair::tests::test_sync_validator_drift_detected ... ok
[INFO] [stdout] test tests::test_fix_issue_invalid_frame_order_dispatches ... ok
[INFO] [stdout] test tests::test_fix_issue_corrupt_packets_dispatches ... ok
[INFO] [stdout] test tests::test_fix_issue_invalid_timestamps_dispatches ... ok
[INFO] [stdout] test tests::test_fix_issue_corrupted_header_dispatches ... ok
[INFO] [stdout] test tests::test_repair_mode_default ... ok
[INFO] [stdout] test tests::test_severity_ordering ... ok
[INFO] [stdout] test tests::test_repair_options_default ... ok
[INFO] [stdout] test timestamp::fix::tests::test_fix_negative_timestamps ... ok
[INFO] [stdout] test timestamp::fix::tests::test_normalize_timestamps ... ok
[INFO] [stdout] test timestamp::regenerate::tests::test_interpolate_timestamps ... ok
[INFO] [stdout] test timestamp::fix::tests::test_fix_duplicates ... ok
[INFO] [stdout] test timestamp::regenerate::tests::test_regenerate_from_existing ... ok
[INFO] [stdout] test timestamp::regenerate::tests::test_regenerate_timestamps ... ok
[INFO] [stdout] test timestamp::validate::tests::test_is_monotonic_false ... ok
[INFO] [stdout] test tests::test_repair_engine_creation ... ok
[INFO] [stdout] test timestamp::validate::tests::test_has_inconsistent_spacing ... ok
[INFO] [stdout] test tests::test_fix_issue_missing_keyframes_extract_mode ... ok
[INFO] [stdout] test timestamp::regenerate::tests::test_regenerate_timestamps_30fps ... ok
[INFO] [stdout] test tests::test_fix_issue_missing_index_dispatches ... ok
[INFO] [stdout] test timestamp::fix::tests::test_calculate_average_delta ... ok
[INFO] [stdout] test tests::test_fix_issue_truncated_dispatches ... ok
[INFO] [stdout] test tests::test_fix_issue_missing_keyframes_returns_false_in_balanced ... ok
[INFO] [stdout] test timestamp::fix::tests::test_fix_out_of_order ... ok
[INFO] [stdout] test timestamp::validate::tests::test_has_consistent_spacing ... ok
[INFO] [stdout] test timestamp::validate::tests::test_is_monotonic_true ... ok
[INFO] [stdout] test timestamp::validate::tests::test_validate_timestamps_valid ... ok
[INFO] [stdout] test truncation::finalize::tests::test_eos_marker_creation ... ok
[INFO] [stdout] test truncation::recover::tests::test_find_last_sync_byte_none ... ok
[INFO] [stdout] test truncation::recover::tests::test_scan_for_frames ... ok
[INFO] [stdout] test verify::integrity::tests::test_is_valid_header_avi ... ok
[INFO] [stdout] test verify::integrity::tests::test_is_valid_header_mp4 ... ok
[INFO] [stdout] test verify::integrity::tests::test_is_valid_header_invalid ... ok
[INFO] [stdout] test verify::playback::tests::test_quick_playability_check_nonexistent ... ok
[INFO] [stdout] test timestamp::validate::tests::test_validate_timestamps_negative ... ok
[INFO] [stdout] test truncation::recover::tests::test_find_last_sync_byte ... ok
[INFO] [stdout] test truncation::detect::tests::test_truncation_info_creation ... ok
[INFO] [stdout] test stream_splice::tests::test_splice_with_corruption_gap ... ok
[INFO] [stdout] test tests::test_issue_type_equality ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 651 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests oximedia_repair
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/lib.rs - (line 20) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "8b709ce768e0f02494e8c556a06454e6010dd90a7bd5441813cd7a02c8b30a97", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8b709ce768e0f02494e8c556a06454e6010dd90a7bd5441813cd7a02c8b30a97", kill_on_drop: false }`
[INFO] [stdout] 8b709ce768e0f02494e8c556a06454e6010dd90a7bd5441813cd7a02c8b30a97
