[INFO] fetching crate oximedia-repair 0.1.3... [INFO] testing oximedia-repair-0.1.3 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-2 [INFO] extracting crate oximedia-repair 0.1.3 into /workspace/builds/worker-4-tc2/source [INFO] started tweaking crates.io crate oximedia-repair 0.1.3 [INFO] finished tweaking crates.io crate oximedia-repair 0.1.3 [INFO] tweaked toml for crates.io crate oximedia-repair 0.1.3 written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate oximedia-repair 0.1.3 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate oximedia-repair 0.1.3 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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ec09a86133782ed4f3d30415355d0f5c5261224dc06ada6fd8d3317ea66c934b [INFO] running `Command { std: "docker" "start" "-a" "ec09a86133782ed4f3d30415355d0f5c5261224dc06ada6fd8d3317ea66c934b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ec09a86133782ed4f3d30415355d0f5c5261224dc06ada6fd8d3317ea66c934b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ec09a86133782ed4f3d30415355d0f5c5261224dc06ada6fd8d3317ea66c934b", kill_on_drop: false }` [INFO] [stdout] ec09a86133782ed4f3d30415355d0f5c5261224dc06ada6fd8d3317ea66c934b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 37049b1fe6ec4c0c6d508b6cea92623874790b2ac48d2d808d90c7819c01e403 [INFO] running `Command { std: "docker" "start" "-a" "37049b1fe6ec4c0c6d508b6cea92623874790b2ac48d2d808d90c7819c01e403", kill_on_drop: false }` [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling bitflags v2.11.1 [INFO] [stderr] Compiling simd-adler32 v0.3.9 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling mio v1.2.0 [INFO] [stderr] Compiling adler2 v2.0.1 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling const-oid v0.10.2 [INFO] [stderr] Compiling rayon v1.12.0 [INFO] [stderr] Compiling fdeflate v0.3.7 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling memmap2 v0.9.10 [INFO] [stderr] Compiling png v0.18.1 [INFO] [stderr] Compiling hybrid-array v0.4.10 [INFO] [stderr] Compiling crypto-common v0.2.1 [INFO] [stderr] Compiling block-buffer v0.12.0 [INFO] [stderr] Compiling jpeg-decoder v0.3.2 [INFO] [stderr] Compiling digest v0.11.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.0 [INFO] [stderr] Compiling thiserror v2.0.18 [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.3 [INFO] [stderr] Compiling oximedia-io v0.1.3 [INFO] [stderr] Compiling oximedia-codec v0.1.3 [INFO] [stderr] Compiling oximedia-container v0.1.3 [INFO] [stderr] Compiling oximedia-repair v0.1.3 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 13s [INFO] running `Command { std: "docker" "inspect" "37049b1fe6ec4c0c6d508b6cea92623874790b2ac48d2d808d90c7819c01e403", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "37049b1fe6ec4c0c6d508b6cea92623874790b2ac48d2d808d90c7819c01e403", kill_on_drop: false }` [INFO] [stdout] 37049b1fe6ec4c0c6d508b6cea92623874790b2ac48d2d808d90c7819c01e403 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7619ce15414797c185fe8ed7f0a194a99c319414674afbd78c5e6bcc59c81616 [INFO] running `Command { std: "docker" "start" "-a" "7619ce15414797c185fe8ed7f0a194a99c319414674afbd78c5e6bcc59c81616", kill_on_drop: false }` [INFO] [stderr] Compiling oximedia-repair v0.1.3 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 8.31s [INFO] running `Command { std: "docker" "inspect" "7619ce15414797c185fe8ed7f0a194a99c319414674afbd78c5e6bcc59c81616", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7619ce15414797c185fe8ed7f0a194a99c319414674afbd78c5e6bcc59c81616", kill_on_drop: false }` [INFO] [stdout] 7619ce15414797c185fe8ed7f0a194a99c319414674afbd78c5e6bcc59c81616 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] ef0ed71f61e4b61b9654978f3c2d5e3c26b5b388aad1877927a0dbeb9d35ddc9 [INFO] running `Command { std: "docker" "start" "-a" "ef0ed71f61e4b61b9654978f3c2d5e3c26b5b388aad1877927a0dbeb9d35ddc9", 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/oximedia_repair-cc72edb42ce29035) [INFO] [stdout] [INFO] [stdout] running 651 tests [INFO] [stdout] test audio_repair::tests::test_artifact_type_distortion_not_impulsive ... ok [INFO] [stdout] test audio_repair::tests::test_artifact_type_is_impulsive_pop ... ok [INFO] [stdout] test audio_repair::tests::test_artifact_type_is_not_impulsive_dropout ... ok [INFO] [stdout] test audio_repair::tests::test_audio_artifact_new ... ok [INFO] [stdout] test audio_repair::tests::test_artifact_type_is_not_impulsive_clipping ... ok [INFO] [stdout] test audio_repair::tests::test_artifact_type_is_impulsive_click ... 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_basic ... ok [INFO] [stdout] test audio_repair::tests::test_click_repairer_empty ... ok [INFO] [stdout] test audio_repair::tests::test_click_repairer_zero_window ... ok [INFO] [stdout] test audio_repair::tests::test_clipping_repairer_no_effect_below_threshold ... ok [INFO] [stdout] test audio_repair::tests::test_clipping_repairer_clips_above_threshold ... ok [INFO] [stdout] test audio_repair::tests::test_dropout_repairer_at_start ... ok [INFO] [stdout] test audio_repair::tests::test_dropout_repairer_basic ... ok [INFO] [stdout] test audio_repair::tests::test_artifact_type_is_not_impulsive_hum ... ok [INFO] [stdout] test audio_repair::tests::test_audio_repair_report_success_rate ... ok [INFO] [stdout] test audio_repair::tests::test_dropout_repairer_empty ... ok [INFO] [stdout] test audio_restore::tests::test_apply_gain_clamps ... 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_dropouts_finds_silence ... ok [INFO] [stdout] test audio_restore::tests::test_fill_dropout_interpolates ... ok [INFO] [stdout] test audio_restore::tests::test_remove_click_empty ... ok [INFO] [stdout] test audio_restore::tests::test_detect_clicks_no_clicks_in_smooth_signal ... ok [INFO] [stdout] test audio_restore::tests::test_detect_dropouts_none_in_loud_signal ... ok [INFO] [stdout] test audio_restore::tests::test_restore_level_brings_rms_close_to_target ... 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 audio_restore::tests::test_apply_linear_fade_empty ... ok [INFO] [stdout] test audio_restore::tests::test_level_correction_gain ... ok [INFO] [stdout] test audio_restore::tests::test_apply_linear_fade_in_starts_near_zero ... ok [INFO] [stdout] test audio_restore::tests::test_remove_click_reduces_spike ... ok [INFO] [stdout] test audio_restore::tests::test_noise_gate_zeros_quiet_samples ... ok [INFO] [stdout] test bitstream_repair::tests::test_detect_errors_clean_stream ... ok [INFO] [stdout] test bitstream_repair::tests::test_detect_forbidden_bit ... ok [INFO] [stdout] test bitstream_repair::tests::test_error_label_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_repair_truncate_strategy ... ok [INFO] [stdout] test bitstream_repair::tests::test_report_success_rate_no_errors ... ok [INFO] [stdout] test bitstream_repair::tests::test_report_is_fully_repaired ... ok [INFO] [stdout] test bitstream_repair::tests::test_report_success_rate_partial ... ok [INFO] [stdout] test bitstream_repair::tests::test_repair_substitute_clears_forbidden_bit ... ok [INFO] [stdout] test bitstream_repair::tests::test_strategy_is_destructive ... ok [INFO] [stdout] test bitstream_repair::tests::test_strategy_names ... ok [INFO] [stdout] test bitstream_repair::tests::test_error_offset_present ... ok [INFO] [stdout] test bitstream_repair::tests::test_detect_errors_max_errors_limit ... ok [INFO] [stdout] test checksum_repair::tests::test_adler32_empty ... ok [INFO] [stdout] test checksum_repair::tests::test_checksum_entry_mismatch ... 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 checksum_repair::tests::test_crc32_known_value ... ok [INFO] [stdout] test checksum_repair::tests::test_crc32_update_matches_full ... ok [INFO] [stdout] test checksum_repair::tests::test_decide_action_rewrite ... ok [INFO] [stdout] test checksum_repair::tests::test_crc32_empty ... ok [INFO] [stdout] test checksum_repair::tests::test_decide_action_valid ... ok [INFO] [stdout] test checksum_repair::tests::test_engine_compute_crc16 ... ok [INFO] [stdout] test checksum_repair::tests::test_engine_compute_crc32 ... ok [INFO] [stdout] test checksum_repair::tests::test_checksum_entry_valid ... ok [INFO] [stdout] test checksum_repair::tests::test_engine_compute_xor8 ... ok [INFO] [stdout] test checksum_repair::tests::test_engine_compute_fletcher16 ... ok [INFO] [stdout] test checksum_repair::tests::test_process_entries_all_valid ... ok [INFO] [stdout] test checksum_repair::tests::test_engine_compute_adler32 ... ok [INFO] [stdout] test checksum_repair::tests::test_process_entries_mismatch_repaired ... ok [INFO] [stdout] test checksum_repair::tests::test_xor8_simple ... 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 codec_probe::tests::test_av1_sequence_header_profile ... ok [INFO] [stdout] test codec_probe::tests::test_flac_no_match ... ok [INFO] [stdout] test checksum_repair::tests::test_repair_options_default ... ok [INFO] [stdout] test codec_probe::tests::test_flac_stream_marker ... ok [INFO] [stdout] test checksum_repair::tests::test_xor8_empty ... 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_probe_codec_display ... ok [INFO] [stdout] test codec_probe::tests::test_probe_picks_flac_over_noise ... 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 codec_probe::tests::test_probe_picks_opus_over_noise ... ok [INFO] [stdout] test codec_probe::tests::test_probe_empty_data ... ok [INFO] [stdout] test codec_probe::tests::test_probe_random_data ... ok [INFO] [stdout] test codec_probe::tests::test_h264_3byte_start_code ... ok [INFO] [stdout] test codec_probe::tests::test_read_leb128_empty ... 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_frame_marker ... ok [INFO] [stdout] test color_repair::tests::test_apply_tone_curve_compress_highlights_lowers_bright ... ok [INFO] [stdout] test color_repair::tests::test_apply_tone_curve_identity ... ok [INFO] [stdout] test color_repair::tests::test_apply_tone_curve_lift_shadows_raises_dark ... 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_dominant_channel_red ... 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 codec_probe::tests::test_vp8_keyframe_detection ... ok [INFO] [stdout] test color_repair::tests::test_estimate_color_cast_neutral_grey ... ok [INFO] [stdout] test codec_probe::tests::test_vp9_superframe_marker ... ok [INFO] [stdout] test color_repair::tests::test_faded_film_severity_zero_when_no_fade ... ok [INFO] [stdout] test color_repair::tests::test_color_cast_estimate_none_when_empty ... ok [INFO] [stdout] test color_repair::tests::test_estimate_color_cast_not_multiple_of_3_returns_none ... ok [INFO] [stdout] test color_repair::tests::test_estimate_color_cast_red_dominant ... ok [INFO] [stdout] test color_repair::tests::test_faded_film_severity_max_when_full_fade ... 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_gray_world_red_dominant_reduces_red_gain ... ok [INFO] [stdout] test color_repair::tests::test_is_desaturated_coloured_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_gray_world_empty_returns_unit_gains ... ok [INFO] [stdout] test color_repair::tests::test_restore_faded_film_reduces_luminance_shift ... ok [INFO] [stdout] test color_repair::tests::test_restore_tones_mutates_buffer ... ok [INFO] [stdout] test color_repair::tests::test_is_desaturated_grey_pixel ... ok [INFO] [stdout] test color_repair::tests::test_remove_color_cast_neutralises ... ok [INFO] [stdout] test color_repair::tests::test_rgb_luma_grey ... ok [INFO] [stdout] test color_repair::tests::test_rgb_saturation_estimate_red ... ok [INFO] [stdout] test color_repair::tests::test_rgb_to_grey ... ok [INFO] [stdout] test color_repair::tests::test_white_balance_neutral_ref ... ok [INFO] [stdout] test conceal::audio::tests::test_insert_silence ... 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_detect_concealment_areas ... ok [INFO] [stdout] test conceal::frame::tests::test_conceal_spatial_empty ... ok [INFO] [stdout] test conceal::frame::tests::test_conceal_motion_compensated ... ok [INFO] [stdout] test color_repair::tests::test_rgb_new_clamps ... ok [INFO] [stdout] test conceal::error::tests::test_apply_concealment_insert_blank ... ok [INFO] [stdout] test color_repair::tests::test_rgb_saturation_estimate_grey ... 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_insert_black_frame ... ok [INFO] [stdout] test conceal::frame::tests::test_conceal_with_previous ... ok [INFO] [stdout] test conceal::frame::tests::test_conceal_with_previous_different_lengths ... ok [INFO] [stdout] test container_migrate::tests::test_migrate_raw_es_empty_streams ... ok [INFO] [stdout] test container_migrate::tests::test_packetize_stream_produces_ts_sync ... ok [INFO] [stdout] test container_migrate::tests::test_migrate_result_lossless ... ok [INFO] [stdout] test container_migrate::tests::test_target_container_display ... ok [INFO] [stdout] test container_migrate::tests::test_write_vint_size_small ... ok [INFO] [stdout] test container_migrate::tests::test_write_vint_size_medium ... ok [INFO] [stdout] test container_repair::tests::test_container_damage_variants ... ok [INFO] [stdout] test container_repair::tests::test_container_issue_fields ... 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_flv ... ok [INFO] [stdout] test container_repair::tests::test_detect_matroska ... ok [INFO] [stdout] test container_repair::tests::test_detect_mp4 ... ok [INFO] [stdout] test container_repair::tests::test_detect_short_header ... ok [INFO] [stdout] test container_repair::tests::test_detect_unknown ... ok [INFO] [stdout] test container_migrate::tests::test_migrate_matroska_single_stream ... ok [INFO] [stdout] test container_repair::tests::test_fix_atom_sizes ... ok [INFO] [stdout] test container_repair::tests::test_remove_duplicates ... ok [INFO] [stdout] test container_repair::tests::test_repair_pipeline ... ok [INFO] [stdout] test container_repair::tests::test_repair_options_default ... ok [INFO] [stdout] test container_repair::tests::test_scan_atoms_no_issues ... ok [INFO] [stdout] test container_migrate::tests::test_remux_file_empty ... ok [INFO] [stdout] test container_migrate::tests::test_migrate_mpegts_single_stream ... ok [INFO] [stdout] test container_repair::tests::test_scan_atoms_size_mismatch ... ok [INFO] [stdout] test container_repair::tests::test_scanner_for_format ... ok [INFO] [stdout] test container_repair::tests::test_scanner_with_max_depth ... ok [INFO] [stdout] test container_migrate::tests::test_remux_file_with_data ... ok [INFO] [stdout] test container_repair::tests::test_scan_atoms_corrupted_header ... ok [INFO] [stdout] test conversion::revert::tests::test_detect_conversion_history ... ok [INFO] [stdout] test container_repair::tests::test_scanner_default ... ok [INFO] [stdout] test corruption_map::tests::test_corruption_map_new ... ok [INFO] [stdout] test container_migrate::tests::test_migrate_raw_es_single_stream ... ok [INFO] [stdout] test corruption_map::tests::test_is_repairable_all_repairable ... ok [INFO] [stdout] test corruption_map::tests::test_corruption_pct_calculation ... ok [INFO] [stdout] test corruption_map::tests::test_corruption_pct_zero_file_size ... ok [INFO] [stdout] test corruption_map::tests::test_is_repairable_one_unrepairable ... ok [INFO] [stdout] test conversion::fix::tests::test_conversion_error_types ... 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 container_migrate::tests::test_migrate_matroska_multiple_streams ... ok [INFO] [stdout] test corruption_map::tests::test_region_is_critical_sync_loss_high_severity ... ok [INFO] [stdout] test corruption_map::tests::test_region_size_bytes ... ok [INFO] [stdout] test corruption_simulator::tests::test_bit_flip_reproducible ... 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_byte_deletion_clamps ... ok [INFO] [stdout] test corruption_simulator::tests::test_byte_deletion_out_of_bounds ... ok [INFO] [stdout] test corruption_map::tests::test_region_is_critical_header_damage ... 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_is_critical_truncation ... ok [INFO] [stdout] test corruption_map::tests::test_region_size_bytes_zero_when_start_equals_end ... ok [INFO] [stdout] test corruption_map::tests::test_total_corrupted_bytes_multiple_regions ... ok [INFO] [stdout] test corruption_simulator::tests::test_bit_flip_changes_data ... ok [INFO] [stdout] test corruption_simulator::tests::test_bit_flip_empty_data ... ok [INFO] [stdout] test corruption_simulator::tests::test_byte_insertion ... ok [INFO] [stdout] test corruption_simulator::tests::test_byte_insertion_at_end ... ok [INFO] [stdout] test corruption_simulator::tests::test_byte_insertion_zero_count ... ok [INFO] [stdout] test corruption_simulator::tests::test_header_wipe ... 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_simulate_corruption_deterministic ... ok [INFO] [stdout] test corruption_simulator::tests::test_rng_deterministic ... ok [INFO] [stdout] test corruption_simulator::tests::test_corruption_config_default ... ok [INFO] [stdout] test corruption_simulator::tests::test_undo_bit_flips ... ok [INFO] [stdout] test corruption_simulator::tests::test_corruption_record_tracks_lengths ... ok [INFO] [stdout] test corruption_simulator::tests::test_simulate_corruption_empty_data ... ok [INFO] [stdout] test corruption_simulator::tests::test_rng_zero_seed_becomes_one ... ok [INFO] [stdout] test corruption_simulator::tests::test_truncation_beyond_length ... ok [INFO] [stdout] test detect::analyze::tests::test_analyze_timestamps_empty_buffer ... ok [INFO] [stdout] test corruption_simulator::tests::test_truncation ... ok [INFO] [stdout] test detect::analyze::tests::test_calculate_entropy_empty ... ok [INFO] [stdout] test corruption_simulator::tests::test_simulate_corruption_modifies_data ... ok [INFO] [stdout] test detect::analyze::tests::test_calculate_entropy_random ... ok [INFO] [stdout] test detect::analyze::tests::test_calculate_entropy_uniform ... ok [INFO] [stdout] test detect::analyze::tests::test_compute_index_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_duplicates ... ok [INFO] [stdout] test detect::analyze::tests::test_compute_index_stats_valid ... ok [INFO] [stdout] test detect::analyze::tests::test_compute_timestamp_stats_large_gap ... ok [INFO] [stdout] test detect::analyze::tests::test_compute_timestamp_stats_non_monotonic ... ok [INFO] [stdout] test detect::analyze::tests::test_compute_index_stats_empty ... ok [INFO] [stdout] test detect::analyze::tests::test_read_ebml_vint_2byte ... ok [INFO] [stdout] test detect::analyze::tests::test_compute_timestamp_stats_negative ... ok [INFO] [stdout] test detect::analyze::tests::test_compute_index_stats_out_of_bounds ... ok [INFO] [stdout] test detect::corruption::tests::test_detect_format_avi ... ok [INFO] [stdout] test detect::analyze::tests::test_detect_patterns ... 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::analyze::tests::test_parse_pes_timestamp_zeros ... ok [INFO] [stdout] test detect::corruption::tests::test_detect_format_matroska ... ok [INFO] [stdout] test detect::scan::tests::test_calculate_checksum ... ok [INFO] [stdout] test detect::analyze::tests::test_read_ebml_vint_1byte ... ok [INFO] [stdout] test detect::corruption::tests::test_detect_format_mp4 ... ok [INFO] [stdout] test detect::scan::tests::test_detect_zero_runs_none ... ok [INFO] [stdout] test dropout_concealment::tests::test_conceal_frame_exceeds_limit ... ok [INFO] [stdout] test detect::scan::tests::test_detect_zero_runs ... ok [INFO] [stdout] test dropout_concealment::tests::test_conceal_frame_within_limit ... ok [INFO] [stdout] test detect::scan::tests::test_scan_keyframes ... ok [INFO] [stdout] test detect::scan::tests::test_detect_zero_runs_all ... ok [INFO] [stdout] test dropout_concealment::tests::test_conceal_frame_fallback_no_next_frame ... ok [INFO] [stdout] test dropout_concealment::tests::test_dropout_severity_clamped ... 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_statistics_all_concealed ... ok [INFO] [stdout] test dropout_concealment::tests::test_dropout_duration_ms ... 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_quality_ratings ... 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 detect::scan::tests::test_calculate_checksum_empty ... ok [INFO] [stdout] test error_correction::tests::test_repair_log_add_and_summary ... ok [INFO] [stdout] test error_correction::tests::test_frame_interpolator_basic ... ok [INFO] [stdout] test error_correction::tests::test_corruption_region_pixel_count ... ok [INFO] [stdout] test error_correction::tests::test_frame_interpolator_out_of_bounds ... ok [INFO] [stdout] test error_correction::tests::test_repair_log_empty_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 frame_concealment::tests::test_conceal_audio_gap_empty_prev ... ok [INFO] [stdout] test frame_concealment::tests::test_conceal_audio_gap_output_length ... ok [INFO] [stdout] test frame_concealment::tests::test_conceal_audio_gap_starts_near_amplitude ... ok [INFO] [stdout] test frame_concealment::tests::test_interpolate_frame_alpha_half ... 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_is_temporal_false ... ok [INFO] [stdout] test frame_concealment::tests::test_is_temporal_true ... ok [INFO] [stdout] test frame_concealment::tests::test_select_strategy_both_neighbours_long_gap ... ok [INFO] [stdout] test frame_concealment::tests::test_select_strategy_both_neighbours_short_gap ... ok [INFO] [stdout] test frame_concealment::tests::test_select_strategy_no_neighbours ... ok [INFO] [stdout] test frame_concealment::tests::test_select_strategy_only_next ... 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_empty ... ok [INFO] [stdout] test frame_repair::tests::test_average_quality_score_nonzero ... 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_color_corruption_inpainting ... ok [INFO] [stdout] test frame_repair::tests::test_count_at_least ... 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_missing_frame_full_reconstruction ... ok [INFO] [stdout] test frame_repair::tests::test_partial_high_damage_temporal ... ok [INFO] [stdout] test frame_repair::tests::test_partial_low_damage_inpainting ... ok [INFO] [stdout] test frame_repair::tests::test_quality_ordering ... ok [INFO] [stdout] test dropout_concealment::tests::test_statistics_empty_dropouts ... ok [INFO] [stdout] test error_correction::tests::test_median_inpainter_basic ... ok [INFO] [stdout] test frame_repair::tests::test_repair_batch ... 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_cubic_interpolate ... ok [INFO] [stdout] test gap_fill::tests::test_detect_gaps_empty ... 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_linear_interpolation ... ok [INFO] [stdout] test gap_fill::tests::test_fill_repeat ... ok [INFO] [stdout] test gap_fill::tests::test_fill_result_quality ... 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_fill_strategy_default ... 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_element_size_length ... ok [INFO] [stdout] test header::matroska::tests::test_encode_element_size_1_byte ... 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_create_ftyp_atom ... 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 index::cue::tests::test_validate_cue_points_empty ... 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 ... ok [INFO] [stdout] test index::rebuild::tests::test_estimate_timestamp_half ... ok [INFO] [stdout] test index::rebuild::tests::test_index_entry_creation ... ok [INFO] [stdout] test index::seek::tests::test_calculate_bitrate ... 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_all_ok ... 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_deterministic ... ok [INFO] [stdout] test integrity::tests::test_crc32_different_for_different_data ... ok [INFO] [stdout] test integrity::tests::test_crc32_empty ... ok [INFO] [stdout] test integrity::tests::test_crc32_known_value ... 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 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 integrity::tests::test_verify_check_size_mismatch_larger ... ok [INFO] [stdout] test integrity::tests::test_verify_check_truncated ... 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 level_repair::tests::test_default_config ... ok [INFO] [stdout] test level_repair::tests::test_detect_clipping ... ok [INFO] [stdout] test level_repair::tests::test_detect_dc_offset ... ok [INFO] [stdout] test level_repair::tests::test_full_repair_pass ... 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 level_repair::tests::test_no_dc_offset_clean_signal ... ok [INFO] [stdout] test level_repair::tests::test_remove_dc_offset ... 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_avi ... 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 metadata::recreate::tests::test_create_default_metadata_mkv ... ok [INFO] [stdout] test metadata::repair::tests::test_repair_date ... ok [INFO] [stdout] test metadata::repair::tests::test_repair_duration ... 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_health_after_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_metadata_field_with_value ... ok [INFO] [stdout] test metadata_repair::tests::test_repair_codec_config ... ok [INFO] [stdout] test metadata_repair::tests::test_repair_missing_timing ... ok [INFO] [stdout] test metadata_repair::tests::test_repair_preserves_valid ... ok [INFO] [stdout] test metadata_repair::tests::test_repair_user_tag_language ... ok [INFO] [stdout] test metadata_repair::tests::test_validate_consistency_clean ... ok [INFO] [stdout] test metadata_repair::tests::test_validate_consistency_duplicates ... 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::discard::tests::test_renumber_sequences ... ok [INFO] [stdout] test packet::interpolate::tests::test_interpolate_data ... 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::recover::tests::test_count_mpegts_syncs ... ok [INFO] [stdout] test packet::recover::tests::test_detect_format_annexb ... ok [INFO] [stdout] test packet::recover::tests::test_detect_format_mpegts ... ok [INFO] [stdout] test packet::recover::tests::test_has_annexb_start_codes_false ... 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_is_valid_ps_stream_id ... ok [INFO] [stdout] test packet::recover::tests::test_mp3_frame_length_mpeg1_128kbps ... 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_recover_empty ... ok [INFO] [stdout] test packet::recover::tests::test_recover_generic_picks_best ... ok [INFO] [stdout] test packet::recover::tests::test_recover_mpeg_ps_pack_header ... ok [INFO] [stdout] test packet::recover::tests::test_recover_mpegts_valid_packets ... ok [INFO] [stdout] test packet::recover::tests::test_recover_mpegts_with_garbage ... ok [INFO] [stdout] test packet::recover::tests::test_recover_packets_fills_gaps ... ok [INFO] [stdout] test packet::recover::tests::test_validate_packet_invalid ... ok [INFO] [stdout] test packet::recover::tests::test_validate_packet_valid ... ok [INFO] [stdout] test packet_recovery::tests::test_add_packet_in_window ... ok [INFO] [stdout] test packet_recovery::tests::test_add_packet_out_of_window ... ok [INFO] [stdout] test packet_recovery::tests::test_advance_window ... 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_is_perfect ... ok [INFO] [stdout] test packet_recovery::tests::test_loss_rate_25_percent ... ok [INFO] [stdout] test packet_recovery::tests::test_loss_rate_zero_expected ... ok [INFO] [stdout] test packet_recovery::tests::test_loss_stats ... ok [INFO] [stdout] test packet_recovery::tests::test_missing_count ... ok [INFO] [stdout] test packet_recovery::tests::test_recover_missing_no_fec ... ok [INFO] [stdout] test packet_recovery::tests::test_recover_missing_two_losses_fails ... 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_choose_strategy_random ... 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 level_repair::tests::test_compute_rms_empty ... ok [INFO] [stdout] test packet_repair::tests::test_loss_percentage ... ok [INFO] [stdout] test packet::interpolate::tests::test_interpolate_audio_fade ... ok [INFO] [stdout] test packet_repair::tests::test_mark_repaired ... ok [INFO] [stdout] test packet_repair::tests::test_multiple_gaps ... ok [INFO] [stdout] test packet_repair::tests::test_no_loss ... ok [INFO] [stdout] test packet_repair::tests::test_pattern_unknown_no_events ... ok [INFO] [stdout] test packet_repair::tests::test_reset ... ok [INFO] [stdout] test packet_repair::tests::test_single_gap ... 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_batch_stats_fields ... ok [INFO] [stdout] test packet_repair::tests::test_random_pattern_classification ... ok [INFO] [stdout] test packet_repair::tests::test_repair_strategy_fec ... ok [INFO] [stdout] test parallel_repair::tests::test_batch_with_nonexistent_files ... ok [INFO] [stdout] test parallel_repair::tests::test_parallel_config_default ... ok [INFO] [stdout] test parallel_repair::tests::test_batch_with_valid_files ... ok [INFO] [stdout] test parallel_repair::tests::test_analyze_batch_with_files ... 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_parallel_engine_with_config ... ok [INFO] [stdout] test partial::extract::tests::test_is_playable_chunk ... ok [INFO] [stdout] test partial::validate::tests::test_has_corruption_indicators ... 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 parallel_repair::tests::test_empty_batch ... ok [INFO] [stdout] test parallel_repair::tests::test_fail_fast_mode ... ok [INFO] [stdout] test reorder::fix::tests::test_resequence_frames ... ok [INFO] [stdout] test repair_log::tests::test_all_success ... ok [INFO] [stdout] test reorder::fix::tests::test_reorder_to_presentation_order ... ok [INFO] [stdout] test reorder::fix::tests::test_fix_dts_pts ... ok [INFO] [stdout] test repair_log::tests::test_av_resync_action ... ok [INFO] [stdout] test repair_log::tests::test_custom_action ... ok [INFO] [stdout] test repair_log::tests::test_count_outcome ... ok [INFO] [stdout] test partial::validate::tests::test_has_sync_patterns ... ok [INFO] [stdout] test repair_log::tests::test_elapsed_nonnegative ... ok [INFO] [stdout] test parallel_repair::tests::test_batch_progress_callback ... ok [INFO] [stdout] test partial::validate::tests::test_validate_portion_empty ... ok [INFO] [stdout] test repair_log::tests::test_mixed_outcomes ... ok [INFO] [stdout] test repair_log::tests::test_note_preserved ... ok [INFO] [stdout] test repair_log::tests::test_empty_log_success_rate ... ok [INFO] [stdout] test repair_log::tests::test_len ... ok [INFO] [stdout] test detect::analyze::tests::test_detect_patterns_none ... 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_is_empty ... 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_builtin_profiles_count ... ok [INFO] [stdout] test repair_log::tests::test_timestamp_correction_action ... ok [INFO] [stdout] test repair_profile::tests::test_container_format_display ... ok [INFO] [stdout] test repair_profile::tests::test_issue_type_round_trip ... ok [INFO] [stdout] test repair_profile::tests::test_mp4_safe_profile ... ok [INFO] [stdout] test repair_profile::tests::test_default_profile_mode ... ok [INFO] [stdout] test repair_profile::tests::test_repair_mode_round_trip ... 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 repair_profile::tests::test_find_builtin_not_found ... ok [INFO] [stdout] test repair_profile::tests::test_save_and_load_profile ... ok [INFO] [stdout] test repair_profile::tests::test_profile_new_defaults ... ok [INFO] [stdout] test repair_profile::tests::test_mpeg_extract_profile ... ok [INFO] [stdout] test repair_profile::tests::test_to_json_and_back ... ok [INFO] [stdout] test report::generate::tests::test_generate_summary ... ok [INFO] [stdout] test scratch::tests::test_blend_temporal_blends ... ok [INFO] [stdout] test scratch::tests::test_detect_scratches_mismatched_size ... ok [INFO] [stdout] test repair_profile::tests::test_to_options_fix_issues_conversion ... ok [INFO] [stdout] test report::generate::tests::test_generate_report ... ok [INFO] [stdout] test scratch::tests::test_detect_scratches_empty_pixels ... ok [INFO] [stdout] test repair_profile::tests::test_to_options_mode_conversion ... ok [INFO] [stdout] test scratch::tests::test_detect_vertical_scratch_empty_returns_empty ... ok [INFO] [stdout] test scratch::tests::test_detect_scratches_no_scratches ... ok [INFO] [stdout] test report::generate::tests::test_generate_issue_report ... ok [INFO] [stdout] test scratch::tests::test_detect_scratches_finds_bright_column_run ... 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_detection_params_default ... ok [INFO] [stdout] test scratch::tests::test_inpaint_scratch_fills_region ... 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_repair_vertical_scratch_replaces_column ... ok [INFO] [stdout] test scratch::tests::test_scratch_detection_spans_frame_false ... ok [INFO] [stdout] test scratch::tests::test_scratch_detection_spans_frame_true ... ok [INFO] [stdout] test scratch::tests::test_scratch_region_area ... ok [INFO] [stdout] test scratch::tests::test_scratch_region_confidence_clamped ... ok [INFO] [stdout] test scratch::tests::test_scratch_region_is_confident ... ok [INFO] [stdout] test scratch::tests::test_scratch_repairer_new_stores_params ... 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_noise ... ok [INFO] [stdout] test scratch::tests::test_scratch_type_is_linear_vertical ... 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_assess_confidence_zero ... ok [INFO] [stdout] test stream_recovery::tests::test_build_result ... ok [INFO] [stdout] test stream_recovery::tests::test_confidence_ordering ... ok [INFO] [stdout] test stream_recovery::tests::test_count_gaps ... ok [INFO] [stdout] test stream_recovery::tests::test_find_sync_points_empty ... ok [INFO] [stdout] test stream_recovery::tests::test_find_sync_points_mp3 ... ok [INFO] [stdout] test stream_recovery::tests::test_find_sync_points_short_data ... ok [INFO] [stdout] test stream_recovery::tests::test_pattern_library_new ... ok [INFO] [stdout] test stream_recovery::tests::test_pattern_library_supported_types ... ok [INFO] [stdout] test stream_recovery::tests::test_pattern_library_unsupported ... ok [INFO] [stdout] test stream_recovery::tests::test_reconstruct_timestamps ... 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_validate_sync_run_filters_short ... ok [INFO] [stdout] test stream_recovery::tests::test_validate_sync_run_keeps_long ... ok [INFO] [stdout] test stream_splice::tests::test_auto_detect_annexb ... ok [INFO] [stdout] test stream_splice::tests::test_auto_detect_mpegts ... 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_quality_from_consecutive ... ok [INFO] [stdout] test stream_splice::tests::test_find_mpegts_sync_points ... ok [INFO] [stdout] test stream_splice::tests::test_splice_annexb ... ok [INFO] [stdout] test stream_splice::tests::test_extract_segment ... ok [INFO] [stdout] test stream_splice::tests::test_extract_segment_out_of_bounds ... ok [INFO] [stdout] test stream_splice::tests::test_splice_file_nonexistent ... ok [INFO] [stdout] test stream_splice::tests::test_splice_file_real ... ok [INFO] [stdout] test stream_splice::tests::test_splice_mpeg_start_codes ... ok [INFO] [stdout] test stream_splice::tests::test_splice_mpegts ... 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_splicer_debug ... ok [INFO] [stdout] test stream_splice::tests::test_splicer_default_config ... ok [INFO] [stdout] test stream_splice::tests::test_splicer_empty_data ... ok [INFO] [stdout] test sync::detect::tests::test_calculate_av_offset ... 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 sync::offset::tests::test_detect_variable_offset ... ok [INFO] [stdout] test sync::offset::tests::test_find_closest_timestamp ... ok [INFO] [stdout] test sync_repair::tests::test_create_sync_plan_audio_ahead ... ok [INFO] [stdout] test sync::detect::tests::test_detect_sync_issues_audio_ahead ... ok [INFO] [stdout] test sync_repair::tests::test_create_sync_plan_video_ahead ... ok [INFO] [stdout] test sync::detect::tests::test_detect_sync_issues_in_sync ... ok [INFO] [stdout] test sync_repair::tests::test_create_sync_plan_no_offset ... ok [INFO] [stdout] test sync::fix::tests::test_align_start_times ... ok [INFO] [stdout] test sync_repair::tests::test_cross_correlate_unit_impulses ... 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_detect_offset_by_energy_identical_returns_zero ... ok [INFO] [stdout] test sync_repair::tests::test_cross_correlate_empty_returns_empty ... ok [INFO] [stdout] test sync_repair::tests::test_sync_analyzer_constant_offset ... 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_offset_av_delay_audio_ahead ... ok [INFO] [stdout] test sync_repair::tests::test_sync_analyzer_with_drift ... ok [INFO] [stdout] test sync_repair::tests::test_sync_offset_av_delay_video_ahead ... ok [INFO] [stdout] test sync_repair::tests::test_sync_error_audio_is_ahead_negative ... ok [INFO] [stdout] test sync_repair::tests::test_sync_error_audio_is_ahead_positive ... ok [INFO] [stdout] test sync_repair::tests::test_sync_offset_is_in_sync_true ... ok [INFO] [stdout] test sync_repair::tests::test_sync_repair_plan_is_significant_true ... ok [INFO] [stdout] test sync_repair::tests::test_sync_offset_is_in_sync_false ... ok [INFO] [stdout] test sync_repair::tests::test_sync_repair_plan_is_significant_false ... ok [INFO] [stdout] test sync_repair::tests::test_sync_repair_action_new ... ok [INFO] [stdout] test sync_repair::tests::test_sync_repairer_video_shift ... ok [INFO] [stdout] test sync_repair::tests::test_sync_repairer_audio_shift ... ok [INFO] [stdout] test sync_repair::tests::test_sync_repairer_drop_frames ... ok [INFO] [stdout] test sync_repair::tests::test_sync_repairer_duplicate_frames ... ok [INFO] [stdout] test sync_repair::tests::test_sync_repairer_resample_high_drift ... ok [INFO] [stdout] test sync_repair::tests::test_sync_validator_perfect ... ok [INFO] [stdout] test sync_repair::tests::test_sync_validator_drift_detected ... 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 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_corrupt_metadata_dispatches ... 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_missing_keyframes_returns_false_in_balanced ... 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_corrupted_header_dispatches ... ok [INFO] [stdout] test tests::test_fix_issue_missing_keyframes_extract_mode ... ok [INFO] [stdout] test tests::test_repair_options_default ... ok [INFO] [stdout] test tests::test_fix_issue_invalid_timestamps_dispatches ... ok [INFO] [stdout] test tests::test_issue_type_equality ... ok [INFO] [stdout] test tests::test_repair_mode_default ... ok [INFO] [stdout] test tests::test_repair_engine_creation ... ok [INFO] [stdout] test tests::test_severity_ordering ... ok [INFO] [stdout] test timestamp::fix::tests::test_fix_negative_timestamps ... ok [INFO] [stdout] test timestamp::regenerate::tests::test_interpolate_timestamps ... ok [INFO] [stdout] test tests::test_fix_issue_missing_index_dispatches ... 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::regenerate::tests::test_regenerate_timestamps_30fps ... ok [INFO] [stdout] test timestamp::validate::tests::test_has_consistent_spacing ... ok [INFO] [stdout] test timestamp::validate::tests::test_has_inconsistent_spacing ... ok [INFO] [stdout] test timestamp::validate::tests::test_is_monotonic_false ... ok [INFO] [stdout] test timestamp::validate::tests::test_is_monotonic_true ... ok [INFO] [stdout] test timestamp::validate::tests::test_validate_timestamps_negative ... ok [INFO] [stdout] test timestamp::fix::tests::test_fix_out_of_order ... ok [INFO] [stdout] test timestamp::fix::tests::test_fix_duplicates ... ok [INFO] [stdout] test timestamp::fix::tests::test_calculate_average_delta ... ok [INFO] [stdout] test timestamp::fix::tests::test_normalize_timestamps ... ok [INFO] [stdout] test truncation::detect::tests::test_truncation_info_creation ... 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_find_last_sync_byte ... 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_invalid ... ok [INFO] [stdout] test verify::integrity::tests::test_is_valid_header_mp4 ... ok [INFO] [stdout] test stream_splice::tests::test_splice_with_corruption_gap ... ok [INFO] [stdout] test verify::playback::tests::test_quick_playability_check_nonexistent ... ok [INFO] [stdout] test timestamp::validate::tests::test_validate_timestamps_valid ... ok [INFO] [stdout] test tests::test_fix_issue_truncated_dispatches ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 651 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s [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.05s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "ef0ed71f61e4b61b9654978f3c2d5e3c26b5b388aad1877927a0dbeb9d35ddc9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ef0ed71f61e4b61b9654978f3c2d5e3c26b5b388aad1877927a0dbeb9d35ddc9", kill_on_drop: false }` [INFO] [stdout] ef0ed71f61e4b61b9654978f3c2d5e3c26b5b388aad1877927a0dbeb9d35ddc9