[INFO] fetching crate oximedia-edit 0.1.3... [INFO] testing oximedia-edit-0.1.3 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-2 [INFO] extracting crate oximedia-edit 0.1.3 into /workspace/builds/worker-7-tc1/source [INFO] started tweaking crates.io crate oximedia-edit 0.1.3 [INFO] removed 0 missing examples [INFO] finished tweaking crates.io crate oximedia-edit 0.1.3 [INFO] tweaked toml for crates.io crate oximedia-edit 0.1.3 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate oximedia-edit 0.1.3 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate oximedia-edit 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" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded windowfunctions v0.1.1 [INFO] [stderr] Downloaded realfft v3.5.0 [INFO] [stderr] Downloaded audioadapter-sample v3.0.0 [INFO] [stderr] Downloaded oxifft-codegen v0.2.0 [INFO] [stderr] Downloaded audio-core v0.2.1 [INFO] [stderr] Downloaded audioadapter v3.0.0 [INFO] [stderr] Downloaded audioadapter-buffers v3.0.0 [INFO] [stderr] Downloaded rubato v2.0.0 [INFO] [stderr] Downloaded fontdue v0.9.3 [INFO] [stderr] Downloaded oximedia-io v0.1.3 [INFO] [stderr] Downloaded oximedia-core v0.1.3 [INFO] [stderr] Downloaded ttf-parser v0.21.1 [INFO] [stderr] Downloaded oximedia-graph v0.1.3 [INFO] [stderr] Downloaded rustfft v6.4.1 [INFO] [stderr] Downloaded oxifft v0.2.0 [INFO] [stderr] Downloaded oximedia-audio v0.1.3 [INFO] [stderr] Downloaded tokio v1.52.0 [INFO] [stderr] Downloaded oximedia-codec v0.1.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 804283973c9f824e095d764204943ad19e5eea2fc062d7ddf95f66945869edf1 [INFO] running `Command { std: "docker" "start" "-a" "804283973c9f824e095d764204943ad19e5eea2fc062d7ddf95f66945869edf1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "804283973c9f824e095d764204943ad19e5eea2fc062d7ddf95f66945869edf1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "804283973c9f824e095d764204943ad19e5eea2fc062d7ddf95f66945869edf1", kill_on_drop: false }` [INFO] [stdout] 804283973c9f824e095d764204943ad19e5eea2fc062d7ddf95f66945869edf1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] acfa5504ca8209da9a15f5904365608a3794867665adbf74d5a6af18ae55b6ea [INFO] running `Command { std: "docker" "start" "-a" "acfa5504ca8209da9a15f5904365608a3794867665adbf74d5a6af18ae55b6ea", kill_on_drop: false }` [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling bitflags v2.11.1 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling simd-adler32 v0.3.9 [INFO] [stderr] Compiling audio-core v0.2.1 [INFO] [stderr] Compiling strength_reduce v0.2.4 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling rayon v1.12.0 [INFO] [stderr] Compiling oxifft v0.2.0 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling hashbrown v0.17.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling windowfunctions v0.1.1 [INFO] [stderr] Compiling oxifft-codegen v0.2.0 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling audioadapter-sample v3.0.0 [INFO] [stderr] Compiling audioadapter v3.0.0 [INFO] [stderr] Compiling transpose v0.2.3 [INFO] [stderr] Compiling primal-check v0.3.4 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling fdeflate v0.3.7 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling tokio v1.52.0 [INFO] [stderr] Compiling audioadapter-buffers v3.0.0 [INFO] [stderr] Compiling visibility v0.1.1 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling spin v0.10.0 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling seahash v4.1.0 [INFO] [stderr] Compiling rustfft v6.4.1 [INFO] [stderr] Compiling ttf-parser v0.21.1 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling oximedia-core v0.1.3 [INFO] [stderr] Compiling oxiarc-core v0.2.6 [INFO] [stderr] Compiling oxiarc-deflate v0.2.6 [INFO] [stderr] Compiling png v0.18.1 [INFO] [stderr] Compiling fontdue v0.9.3 [INFO] [stderr] Compiling jpeg-decoder v0.3.2 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling realfft v3.5.0 [INFO] [stderr] Compiling rubato v2.0.0 [INFO] [stderr] Compiling oximedia-io v0.1.3 [INFO] [stderr] Compiling oximedia-audio v0.1.3 [INFO] [stderr] Compiling oximedia-codec v0.1.3 [INFO] [stderr] Compiling oximedia-graph v0.1.3 [INFO] [stderr] Compiling oximedia-edit v0.1.3 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 57.15s [INFO] running `Command { std: "docker" "inspect" "acfa5504ca8209da9a15f5904365608a3794867665adbf74d5a6af18ae55b6ea", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "acfa5504ca8209da9a15f5904365608a3794867665adbf74d5a6af18ae55b6ea", kill_on_drop: false }` [INFO] [stdout] acfa5504ca8209da9a15f5904365608a3794867665adbf74d5a6af18ae55b6ea [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 82b1725a8c43209b5aa9a1e34514775ba8474d5aa54e88eae0e41d195d60f369 [INFO] running `Command { std: "docker" "start" "-a" "82b1725a8c43209b5aa9a1e34514775ba8474d5aa54e88eae0e41d195d60f369", kill_on_drop: false }` [INFO] [stderr] Compiling oximedia-edit v0.1.3 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 9.39s [INFO] running `Command { std: "docker" "inspect" "82b1725a8c43209b5aa9a1e34514775ba8474d5aa54e88eae0e41d195d60f369", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "82b1725a8c43209b5aa9a1e34514775ba8474d5aa54e88eae0e41d195d60f369", kill_on_drop: false }` [INFO] [stdout] 82b1725a8c43209b5aa9a1e34514775ba8474d5aa54e88eae0e41d195d60f369 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 89a15e8a9dc46409a598a8d6123f1eff7a1eb105d51df879983eb4aa8c9e8ce5 [INFO] running `Command { std: "docker" "start" "-a" "89a15e8a9dc46409a598a8d6123f1eff7a1eb105d51df879983eb4aa8c9e8ce5", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/oximedia_edit-6c91257668fa69b2) [INFO] [stdout] [INFO] [stdout] running 792 tests [INFO] [stdout] test auto_edit::tests::test_auto_clip_duration ... ok [INFO] [stdout] test auto_edit::tests::test_auto_clip_zero_duration ... ok [INFO] [stdout] test auto_edit::tests::test_duck_config_default ... ok [INFO] [stdout] test auto_edit::tests::test_ducked_level_above_threshold ... ok [INFO] [stdout] test auto_edit::tests::test_ducked_level_below_threshold ... ok [INFO] [stdout] test auto_edit::tests::test_detect_gaps ... ok [INFO] [stdout] test blade_tool::tests::test_all_tracks_cuts_all ... ok [INFO] [stdout] test blade_tool::tests::test_blade_cut_at_frame ... ok [INFO] [stdout] test blade_tool::tests::test_blade_mode_labels ... ok [INFO] [stdout] test auto_edit::tests::test_ripple_close_gaps ... ok [INFO] [stdout] test blade_tool::tests::test_blade_result_cuts_applied ... ok [INFO] [stdout] test blade_tool::tests::test_blade_result_empty ... ok [INFO] [stdout] test blade_tool::tests::test_blade_tool_all_tracks_cut_multiple ... ok [INFO] [stdout] test blade_tool::tests::test_blade_tool_cut_single_clip ... ok [INFO] [stdout] test blade_tool::tests::test_blade_tool_no_cut_at_boundary ... ok [INFO] [stdout] test blade_tool::tests::test_blade_tool_default_fields ... ok [INFO] [stdout] test blade_tool::tests::test_blade_tool_no_cut_outside_range ... ok [INFO] [stdout] test blade_tool::tests::test_preview_cut_matches_cut ... ok [INFO] [stdout] test blade_tool::tests::test_single_not_all ... ok [INFO] [stdout] test clip_arrange::tests::test_align_starts ... ok [INFO] [stdout] test clip_arrange::tests::test_close_gaps_already_contiguous ... ok [INFO] [stdout] test clip_arrange::tests::test_close_gaps_removes_all_gaps ... ok [INFO] [stdout] test clip_arrange::tests::test_close_gaps_single_clip_noop ... ok [INFO] [stdout] test clip_arrange::tests::test_distribute_evenly_overflow_packs ... ok [INFO] [stdout] test clip_arrange::tests::test_distribute_evenly_single_clip ... ok [INFO] [stdout] test clip_arrange::tests::test_reverse_order_single_noop ... ok [INFO] [stdout] test clip_arrange::tests::test_ripple_insert_gap ... ok [INFO] [stdout] test auto_edit::tests::test_detect_no_gaps ... ok [INFO] [stdout] test clip_arrange::tests::test_align_ends ... ok [INFO] [stdout] test clip_arrange::tests::test_total_gap_empty ... ok [INFO] [stdout] test auto_edit::tests::test_sequence_fixed_gap ... ok [INFO] [stdout] test clip_arrange::tests::test_snap_to_grid_rounds_nearest ... ok [INFO] [stdout] test clip_arrange::tests::test_distribute_evenly_two_clips ... ok [INFO] [stdout] test clip_arrange::tests::test_total_span ... ok [INFO] [stdout] test clip_arrange::tests::test_total_span_empty ... ok [INFO] [stdout] test clip_speed::tests::test_clip_speed_is_normal ... ok [INFO] [stdout] test clip_speed::tests::test_clip_speed_is_slow_motion_false_fast ... ok [INFO] [stdout] test clip_speed::tests::test_clip_speed_not_normal_when_reverse ... ok [INFO] [stdout] test clip_speed::tests::test_clip_speed_output_duration_reverse ... ok [INFO] [stdout] test clip_speed::tests::test_clip_speed_output_duration_normal ... ok [INFO] [stdout] test clip_arrange::tests::test_reverse_order_three_clips ... ok [INFO] [stdout] test clip_speed::tests::test_clip_speed_is_slow_motion_false_variable ... ok [INFO] [stdout] test clip_speed::tests::test_clip_speed_is_slow_motion_true ... ok [INFO] [stdout] test blade_tool::tests::test_linked_not_all ... ok [INFO] [stdout] test clip_speed::tests::test_speed_effect_constant_double ... ok [INFO] [stdout] test clip_speed::tests::test_speed_effect_constant_half ... ok [INFO] [stdout] test clip_speed::tests::test_speed_effect_default_is_normal ... ok [INFO] [stdout] test clip_speed::tests::test_speed_effect_constant_with_offset ... ok [INFO] [stdout] test clip_speed::tests::test_clip_speed_output_duration_slow_motion ... ok [INFO] [stdout] test clip_speed::tests::test_clip_speed_output_duration_variable ... ok [INFO] [stdout] test clip_speed::tests::test_constant_factor_returns_none_for_non_constant ... ok [INFO] [stdout] test clip_speed::tests::test_freeze_frame_returns_none_for_non_freeze ... ok [INFO] [stdout] test clip_speed::tests::test_speed_effect_normal ... ok [INFO] [stdout] test auto_edit::tests::test_sequence_overlap ... ok [INFO] [stdout] test clip_speed::tests::test_speed_effect_normal_with_source_offset ... ok [INFO] [stdout] test clip_arrange::tests::test_total_gap_contiguous ... ok [INFO] [stdout] test auto_edit::tests::test_sequence_back_to_back ... ok [INFO] [stdout] test clip_arrange::tests::test_snap_to_grid_zero_grid_noop ... ok [INFO] [stdout] test clip_speed::tests::test_speed_effect_variable_ramp ... ok [INFO] [stdout] test clip_speed::tests::test_speed_effect_variable_empty_keyframes ... ok [INFO] [stdout] test clip_speed::tests::test_speed_effect_variable_single_constant_segment ... ok [INFO] [stdout] test clip_speed::tests::test_speed_keyframe_interpolate_end ... ok [INFO] [stdout] test clip_speed::tests::test_speed_freeze_frame ... ok [INFO] [stdout] test clip_speed::tests::test_speed_keyframe_interpolate_midpoint ... ok [INFO] [stdout] test clip_speed::tests::test_speed_keyframe_interpolate_start ... ok [INFO] [stdout] test clip_speed::tests::test_speed_keyframe_t_at_frame ... ok [INFO] [stdout] test clip_speed::tests::test_speed_keyframe_t_at_frame_same_frame_returns_none ... ok [INFO] [stdout] test clip_speed::tests::test_speed_mode_is_reverse ... ok [INFO] [stdout] test clip_speed::tests::test_speed_mode_is_variable ... ok [INFO] [stdout] test collab_edit::tests::test_add_remove_peer ... ok [INFO] [stdout] test collab_edit::tests::test_apply_edit_increments_revision ... ok [INFO] [stdout] test collab_edit::tests::test_broadcast_drains_events ... ok [INFO] [stdout] test collab_edit::tests::test_new_session ... ok [INFO] [stdout] test collab_edit::tests::test_ot_concurrent_trims_suppressed ... ok [INFO] [stdout] test collab_edit::tests::test_ot_delete_wins_over_move ... ok [INFO] [stdout] test collab_edit::tests::test_ot_non_concurrent_ops_pass_through ... ok [INFO] [stdout] test collab_edit::tests::test_shared_edit_state_operations ... ok [INFO] [stdout] test color_grade_edit::tests::test_color_grade_edit_is_destructive ... ok [INFO] [stdout] test color_grade_edit::tests::test_color_grade_edit_not_destructive ... ok [INFO] [stdout] test color_grade_edit::tests::test_grade_node_name_curves ... ok [INFO] [stdout] test color_grade_edit::tests::test_grade_node_name_hsl ... ok [INFO] [stdout] test color_grade_edit::tests::test_grade_node_name_lgg ... ok [INFO] [stdout] test color_grade_edit::tests::test_grade_node_name_lut ... ok [INFO] [stdout] test color_grade_edit::tests::test_stack_apply_bypass_skips_node ... ok [INFO] [stdout] test color_grade_edit::tests::test_stack_apply_empty ... ok [INFO] [stdout] test color_grade_edit::tests::test_stack_apply_identity_lgg ... ok [INFO] [stdout] test color_grade_edit::tests::test_stack_edits_len ... ok [INFO] [stdout] test color_grade_edit::tests::test_stack_hsl_full_saturation ... ok [INFO] [stdout] test color_grade_edit::tests::test_stack_lut_identity_opacity ... ok [INFO] [stdout] test color_grade_edit::tests::test_stack_node_count ... ok [INFO] [stdout] test color_grade_edit::tests::test_toggle_bypass ... ok [INFO] [stdout] test color_label::tests::test_color_label_rgb ... ok [INFO] [stdout] test color_label::tests::test_color_label_rgb_black ... ok [INFO] [stdout] test color_label::tests::test_color_label_invalid_rgb ... ok [INFO] [stdout] test color_label::tests::test_color_label_rgb_lowercase_hex ... ok [INFO] [stdout] test color_label::tests::test_color_label_rgb_short_hex_invalid ... ok [INFO] [stdout] test color_label::tests::test_color_label_rgb_white ... ok [INFO] [stdout] test color_label::tests::test_color_label_shortcut ... ok [INFO] [stdout] test color_label::tests::test_color_label_shortcut_clamp_zero ... ok [INFO] [stdout] test color_label::tests::test_color_label_without_shortcut_is_none ... ok [INFO] [stdout] test color_label::tests::test_label_manager_add_remove ... ok [INFO] [stdout] test color_label::tests::test_label_manager_clip_label ... ok [INFO] [stdout] test color_label::tests::test_label_manager_clip_tags ... ok [INFO] [stdout] test color_label::tests::test_label_manager_clips_with_label_empty_when_none_assigned ... ok [INFO] [stdout] test color_label::tests::test_label_manager_clips_with_tag_value_exact_match ... ok [INFO] [stdout] test color_label::tests::test_label_manager_find_by_tag ... ok [INFO] [stdout] test color_label::tests::test_label_manager_remove_clip ... ok [INFO] [stdout] test color_label::tests::test_label_manager_clear ... ok [INFO] [stdout] test color_label::tests::test_label_manager_remove_clip_clears_both_label_and_tags ... ok [INFO] [stdout] test color_label::tests::test_label_manager_known_keys ... ok [INFO] [stdout] test color_label::tests::test_label_manager_set_clip_label_updates_existing ... ok [INFO] [stdout] test color_label::tests::test_standard_labels_all_have_shortcuts ... ok [INFO] [stdout] test color_label::tests::test_standard_labels_all_have_valid_rgb ... ok [INFO] [stdout] test color_label::tests::test_label_manager_find_clips ... ok [INFO] [stdout] test color_label::tests::test_label_manager_known_tag_keys_deduplicated ... ok [INFO] [stdout] test color_label::tests::test_tag_creation ... ok [INFO] [stdout] test color_label::tests::test_removing_label_definition_removes_from_clips ... ok [INFO] [stdout] test edit_context::tests::test_context_scope_stored ... ok [INFO] [stdout] test edit_context::tests::test_edit_context_has_undo_false ... ok [INFO] [stdout] test edit_context::tests::test_manager_pop_empty_is_none ... ok [INFO] [stdout] test color_label::tests::test_standard_labels ... ok [INFO] [stdout] test edit_context::tests::test_manager_pop_returns_context ... ok [INFO] [stdout] test edit_context::tests::test_reversible_contexts_filtered ... ok [INFO] [stdout] test edit_context::tests::test_manager_push_returns_id ... ok [INFO] [stdout] test edit_context::tests::test_manager_current_is_latest ... ok [INFO] [stdout] test auto_edit::tests::test_sequence_empty ... ok [INFO] [stdout] test edit_context::tests::test_manager_depth_grows ... ok [INFO] [stdout] test edit_context::tests::test_edit_context_has_undo_true ... ok [INFO] [stdout] test edit_context::tests::test_scope_global_downstream ... ok [INFO] [stdout] test edit_context::tests::test_scope_local_not_downstream ... ok [INFO] [stdout] test edit_macro::tests::test_action_label ... ok [INFO] [stdout] test edit_context::tests::test_scope_track_downstream ... ok [INFO] [stdout] test edit_context::tests::test_scope_labels ... ok [INFO] [stdout] test edit_macro::tests::test_library_crud ... ok [INFO] [stdout] test edit_context::tests::test_manager_new_empty ... ok [INFO] [stdout] test color_label::tests::test_tag_equality ... ok [INFO] [stdout] test color_label::tests::test_label_manager_multiple_tags_same_key_different_values ... ok [INFO] [stdout] test clip_arrange::tests::test_total_gap_with_gaps ... ok [INFO] [stdout] test edit_macro::tests::test_macro_display ... ok [INFO] [stdout] test edit_macro::tests::test_macro_referenced_clip_ids ... ok [INFO] [stdout] test edit_macro::tests::test_macro_chain ... ok [INFO] [stdout] test edit_macro::tests::test_macro_remap_ids ... ok [INFO] [stdout] test edit_macro::tests::test_library_find_missing_returns_none ... ok [INFO] [stdout] test edit_macro::tests::test_macro_to_text ... ok [INFO] [stdout] test edit_macro::tests::test_remap_noop_and_gap_unchanged ... ok [INFO] [stdout] test edit_preset::tests::test_builtin_pip ... ok [INFO] [stdout] test edit_preset::tests::test_builtin_montage ... ok [INFO] [stdout] test edit_preset::tests::test_library_builtins ... ok [INFO] [stdout] test edit_macro::tests::test_macro_compact_removes_noops ... ok [INFO] [stdout] test edit_preset::tests::test_library_by_category ... ok [INFO] [stdout] test edit_macro::tests::test_macro_repeat ... ok [INFO] [stdout] test edit_macro::tests::test_recorder_basic_flow ... ok [INFO] [stdout] test edit_preset::tests::test_track_layout_audio ... ok [INFO] [stdout] test edit_preset::tests::test_library_empty ... ok [INFO] [stdout] test edit_macro::tests::test_recorder_undo_last ... ok [INFO] [stdout] test edit_preset::tests::test_preset_metadata ... ok [INFO] [stdout] test edit_preset::tests::test_preset_new ... ok [INFO] [stdout] test edit_preset::tests::test_track_layout_opacity_clamped ... ok [INFO] [stdout] test edit_preset::tests::test_track_layout_transform ... ok [INFO] [stdout] test edit_preset::tests::test_library_register_get ... ok [INFO] [stdout] test edit_preset::tests::test_track_layout_video ... ok [INFO] [stdout] test edit_preset::tests::test_preset_builder ... ok [INFO] [stdout] test edit_macro::tests::test_action_display_all_variants ... ok [INFO] [stdout] test edl::ale::tests::test_ale_custom_columns ... ok [INFO] [stdout] test edl::ale::tests::test_ale_to_edl ... ok [INFO] [stdout] test edl::cmx3600::tests::test_timecode_format ... ok [INFO] [stdout] test edl::cmx3600::tests::test_roundtrip ... ok [INFO] [stdout] test edit_macro::tests::test_recorder_finish_stops_recording ... ok [INFO] [stdout] test edit_preset::tests::test_library_remove ... ok [INFO] [stdout] test edl::cmx3600::tests::test_parse_simple_edl ... ok [INFO] [stdout] test edl::cmx3600::tests::test_timecode_conversion ... ok [INFO] [stdout] test edit_macro::tests::test_action_targets_clip ... ok [INFO] [stdout] test edl::ale::tests::test_write_ale ... ok [INFO] [stdout] test edl::cmx3600::tests::test_timecode_parse ... ok [INFO] [stdout] test edl::cmx3600::tests::test_write_edl ... ok [INFO] [stdout] test edl::cmx3600::tests::test_parse_freeze_frame ... ok [INFO] [stdout] test edl::ale::tests::test_parse_ale ... ok [INFO] [stdout] test edl::cmx3600::tests::test_parse_motion_effect ... ok [INFO] [stdout] test edl::cmx3600::tests::test_parse_dissolve ... ok [INFO] [stdout] test edl_import::tests::test_clip_ids_match_event_numbers ... ok [INFO] [stdout] test edl_import::tests::test_clip_types_inferred_from_track ... ok [INFO] [stdout] test edl_import::tests::test_from_cmx3600_cut_events_only ... ok [INFO] [stdout] test edl_import::tests::test_parse_timecode_invalid ... ok [INFO] [stdout] test edl_import::tests::test_source_in_out_in_frames ... ok [INFO] [stdout] test edl_import::tests::test_parse_timecode_drop_frame_semicolon ... ok [INFO] [stdout] test edl_import::tests::test_empty_edl ... ok [INFO] [stdout] test edl_import::tests::test_timeline_position_in_frames ... ok [INFO] [stdout] test export::tests::test_export_csv_muted_flag ... ok [INFO] [stdout] test export::tests::test_export_csv_has_header ... ok [INFO] [stdout] test edl_import::tests::test_with_fps_25 ... ok [INFO] [stdout] test export::tests::test_export_csv_speed_column ... ok [INFO] [stdout] test edl_import::tests::test_reel_name_in_metadata ... ok [INFO] [stdout] test export::tests::test_collect_clips_event_numbers_sequential ... ok [INFO] [stdout] test export::tests::test_export_edl_clip_name_comments ... ok [INFO] [stdout] test edl_import::tests::test_parse_timecode_basic ... ok [INFO] [stdout] test export::tests::test_export_csv_row_count ... ok [INFO] [stdout] test export::tests::test_export_edl_event_count ... ok [INFO] [stdout] test export::tests::test_export_edl_has_title ... ok [INFO] [stdout] test export::tests::test_export_edl_has_fcm ... ok [INFO] [stdout] test export::tests::test_export_csv_escapes_comma_in_name ... ok [INFO] [stdout] test export::tests::test_export_xml_escapes_special_chars ... ok [INFO] [stdout] test export::tests::test_export_xml_has_sequence_name ... ok [INFO] [stdout] test export::tests::test_frames_to_tc_compound ... ok [INFO] [stdout] test export::tests::test_export_xml_has_audio_block ... ok [INFO] [stdout] test export::tests::test_frames_to_tc_one_hour ... ok [INFO] [stdout] test export::tests::test_export_edl_drop_frame_mode ... ok [INFO] [stdout] test export::tests::test_frames_to_tc_roundtrip ... ok [INFO] [stdout] test export::tests::test_export_xml_has_video_block ... ok [INFO] [stdout] test export::tests::test_export_edl_track_label_video ... ok [INFO] [stdout] test export::tests::test_export_edl_track_label_audio ... ok [INFO] [stdout] test export::tests::test_export_xml_clipitem_count ... ok [INFO] [stdout] test export::tests::test_xml_escape_all_chars ... ok [INFO] [stdout] test frame_prefetch::tests::test_engine_disabled ... ok [INFO] [stdout] test frame_prefetch::tests::test_cached_positions_not_re_requested ... ok [INFO] [stdout] test frame_prefetch::tests::test_engine_does_not_exceed_max_position ... ok [INFO] [stdout] test frame_prefetch::tests::test_engine_invalidate ... ok [INFO] [stdout] test frame_prefetch::tests::test_prefetch_config_for_playback ... ok [INFO] [stdout] test frame_prefetch::tests::test_prefetch_request ... ok [INFO] [stdout] test export::tests::test_export_xml_has_xmeml_root ... ok [INFO] [stdout] test frame_prefetch::tests::test_engine_does_not_go_below_zero ... ok [INFO] [stdout] test fx_strip::tests::test_fx_chain_preset_effect_count ... ok [INFO] [stdout] test frame_prefetch::tests::test_engine_mark_cached ... ok [INFO] [stdout] test fx_strip::tests::test_fx_chain_preset_name ... ok [INFO] [stdout] test fx_strip::tests::test_fx_chain_preset_to_strip ... ok [INFO] [stdout] test frame_prefetch::tests::test_engine_stationary ... ok [INFO] [stdout] test frame_prefetch::tests::test_engine_reverse_playback ... ok [INFO] [stdout] test export::tests::test_frames_to_tc_zero ... ok [INFO] [stdout] test frame_prefetch::tests::test_prefetch_config_default ... ok [INFO] [stdout] test frame_prefetch::tests::test_engine_forward_playback ... ok [INFO] [stdout] test fx_strip::tests::test_fx_slot_is_enabled_default ... ok [INFO] [stdout] test fx_strip::tests::test_fx_strip_active_count_after_disable ... ok [INFO] [stdout] test fx_strip::tests::test_fx_strip_active_count_all_enabled ... ok [INFO] [stdout] test fx_strip::tests::test_fx_strip_add_effect ... ok [INFO] [stdout] test fx_strip::tests::test_fx_strip_disable_all_active_zero ... ok [INFO] [stdout] test fx_strip::tests::test_fx_strip_enable_returns_true ... ok [INFO] [stdout] test fx_strip::tests::test_fx_strip_len_and_is_empty ... ok [INFO] [stdout] test group_edit::tests::test_batch_op_display ... ok [INFO] [stdout] test group_edit::tests::test_batch_result_default ... ok [INFO] [stdout] test group_edit::tests::test_batch_result_with_errors ... ok [INFO] [stdout] test fx_strip::tests::test_fx_strip_enable_disable_returns_false_oob ... ok [INFO] [stdout] test group_edit::tests::test_edit_group_new ... ok [INFO] [stdout] test group_edit::tests::test_edit_group_builders ... ok [INFO] [stdout] test group_edit::tests::test_group_behavior_display ... ok [INFO] [stdout] test group_edit::tests::test_delete_group_cleans_reverse_index ... ok [INFO] [stdout] test group_edit::tests::test_registry_plan_batch_op ... ok [INFO] [stdout] test group_edit::tests::test_registry_add_clip_to_group ... ok [INFO] [stdout] test group_edit::tests::test_registry_plan_batch_op_locked ... ok [INFO] [stdout] test group_edit::tests::test_edit_group_add_remove_member ... ok [INFO] [stdout] test group_edit::tests::test_registry_remove_clip_from_group ... ok [INFO] [stdout] test history::tests::test_action_descriptions ... ok [INFO] [stdout] test history::tests::test_clear_resets_both_stacks ... ok [INFO] [stdout] test fx_strip::tests::test_fx_slot_disable_enable ... ok [INFO] [stdout] test group_edit::tests::test_group_id_display ... ok [INFO] [stdout] test history::tests::test_default_max_depth ... ok [INFO] [stdout] test history::tests::test_max_depth_enforced ... ok [INFO] [stdout] test group_edit::tests::test_registry_create_delete ... ok [INFO] [stdout] test group_edit::tests::test_registry_groups_for_clip ... ok [INFO] [stdout] test group_edit::tests::test_registry_default ... ok [INFO] [stdout] test history::tests::test_new_history_is_empty ... ok [INFO] [stdout] test history::tests::test_multiple_undo_redo_cycle ... ok [INFO] [stdout] test history::tests::test_push_clears_redo_stack ... ok [INFO] [stdout] test history::tests::test_move_clip_action ... ok [INFO] [stdout] test history::tests::test_push_enables_undo ... ok [INFO] [stdout] test history::tests::test_redo_empty_returns_none ... ok [INFO] [stdout] test history::tests::test_redo_returns_action ... ok [INFO] [stdout] test history::tests::test_undo_returns_action ... ok [INFO] [stdout] test history_tree::tests::test_action_descriptions ... ok [INFO] [stdout] test history::tests::test_undo_enables_redo ... ok [INFO] [stdout] test history_tree::tests::test_branch_list ... ok [INFO] [stdout] test history_tree::tests::test_clear ... ok [INFO] [stdout] test history_tree::tests::test_branching ... ok [INFO] [stdout] test history_tree::tests::test_compound_action ... ok [INFO] [stdout] test history_tree::tests::test_create_named_branch ... ok [INFO] [stdout] test history_tree::tests::test_current_action ... ok [INFO] [stdout] test history_tree::tests::test_default_tree ... ok [INFO] [stdout] test history_tree::tests::test_deserialize_invalid_data ... ok [INFO] [stdout] test history_tree::tests::test_diff_branches_diverged ... ok [INFO] [stdout] test history_tree::tests::test_diff_branches_identical ... ok [INFO] [stdout] test history_tree::tests::test_empty_tree ... ok [INFO] [stdout] test history_tree::tests::test_get_node ... ok [INFO] [stdout] test history_tree::tests::test_action_inverse ... ok [INFO] [stdout] test history_tree::tests::test_max_nodes_pruning ... ok [INFO] [stdout] test history::tests::test_undo_empty_returns_none ... ok [INFO] [stdout] test history_tree::tests::test_merge_no_conflict ... ok [INFO] [stdout] test history_tree::tests::test_merge_with_conflict ... ok [INFO] [stdout] test history_tree::tests::test_path_to_branch_tip ... ok [INFO] [stdout] test history_tree::tests::test_prune_active_branch_fails ... ok [INFO] [stdout] test history_tree::tests::test_prune_branch ... ok [INFO] [stdout] test history_tree::tests::test_rename_branch ... ok [INFO] [stdout] test history_tree::tests::test_push_and_undo ... ok [INFO] [stdout] test history_tree::tests::test_serialize_compound_action ... ok [INFO] [stdout] test history_tree::tests::test_prune_all_except ... ok [INFO] [stdout] test history_tree::tests::test_serialize_deserialize_roundtrip ... ok [INFO] [stdout] test history_tree::tests::test_switch_branch ... ok [INFO] [stdout] test history_tree::tests::test_path_to_cursor ... ok [INFO] [stdout] test history_tree::tests::test_undo_redo_cycle ... ok [INFO] [stdout] test history_tree::tests::test_switch_to_named_branch_and_push ... ok [INFO] [stdout] test incremental_render::tests::test_dirty_region_merge ... ok [INFO] [stdout] test incremental_render::tests::test_mark_all_dirty ... ok [INFO] [stdout] test history_tree::tests::test_serialize_empty_tree ... ok [INFO] [stdout] test incremental_render::tests::test_merge_adjacent_regions ... ok [INFO] [stdout] test incremental_render::tests::test_mark_dirty_and_is_dirty ... ok [INFO] [stdout] test incremental_render::tests::test_merge_overlapping_regions ... ok [INFO] [stdout] test incremental_render::tests::test_non_overlapping_regions_stay_separate ... ok [INFO] [stdout] test history_tree::tests::test_serialize_with_branches ... ok [INFO] [stdout] test insert_mode::tests::test_insert_point_new ... ok [INFO] [stdout] test insert_mode::tests::test_overwrite_description ... ok [INFO] [stdout] test incremental_render::tests::test_dirty_region_frame_count ... ok [INFO] [stdout] test insert_mode::tests::test_overwrite_extending_timeline ... ok [INFO] [stdout] test insert_mode::tests::test_overwrite_within_timeline ... ok [INFO] [stdout] test insert_mode::tests::test_overwrite_does_not_shift ... ok [INFO] [stdout] test insert_mode::tests::test_ripple_description ... ok [INFO] [stdout] test insert_mode::tests::test_ripple_resulting_duration ... ok [INFO] [stdout] test incremental_render::tests::test_clear_dirty ... ok [INFO] [stdout] test insert_mode::tests::test_push_pull_description ... ok [INFO] [stdout] test insert_mode::tests::test_push_pull_shifts ... ok [INFO] [stdout] test insert_mode::tests::test_push_pull_resulting_duration ... ok [INFO] [stdout] test insert_mode::tests::test_snap_empty_candidates ... ok [INFO] [stdout] test interval_tree::tests::test_build_tree ... ok [INFO] [stdout] test interval_tree::tests::test_clip_interval_contains_point ... ok [INFO] [stdout] test interval_tree::tests::test_clip_interval_overlaps ... ok [INFO] [stdout] test interval_tree::tests::test_clip_interval_duration ... ok [INFO] [stdout] test insert_mode::tests::test_ripple_shifts ... ok [INFO] [stdout] test interval_tree::tests::test_empty_tree ... ok [INFO] [stdout] test insert_mode::tests::test_snap_to_nearest_within_threshold ... ok [INFO] [stdout] test interval_tree::tests::test_interval_tree_query ... ok [INFO] [stdout] test interval_tree::tests::test_nearest_edge ... ok [INFO] [stdout] test interval_tree::tests::test_build_from_timeline ... ok [INFO] [stdout] test interval_tree::tests::test_nearest_edge_empty_tree ... ok [INFO] [stdout] test interval_tree::tests::test_many_intervals ... ok [INFO] [stdout] test interval_tree::tests::test_point_query ... ok [INFO] [stdout] test interval_tree::tests::test_point_query_at_boundary ... ok [INFO] [stdout] test interval_tree::tests::test_range_query ... ok [INFO] [stdout] test interval_tree::tests::test_query_point_no_match ... ok [INFO] [stdout] test interval_tree::tests::test_range_query_no_results ... ok [INFO] [stdout] test interval_tree::tests::test_single_interval ... ok [INFO] [stdout] test insert_mode::tests::test_snap_outside_threshold_no_snap ... ok [INFO] [stdout] test interval_tree::tests::test_range_query_all ... ok [INFO] [stdout] test magnetic_snap::tests::test_beat_grid_interval ... ok [INFO] [stdout] test magnetic_snap::tests::test_all_enabled_config ... ok [INFO] [stdout] test magnetic_snap::tests::test_beat_grid_with_offset ... ok [INFO] [stdout] test magnetic_snap::tests::test_beat_grid_generate ... ok [INFO] [stdout] test magnetic_snap::tests::test_default_config ... ok [INFO] [stdout] test magnetic_snap::tests::test_detect_gaps ... ok [INFO] [stdout] test magnetic_snap::tests::test_collect_targets_from_timeline ... ok [INFO] [stdout] test magnetic_snap::tests::test_beat_grid_to_snap_targets ... ok [INFO] [stdout] test magnetic_snap::tests::test_extended_engine_snap_with_zones ... ok [INFO] [stdout] test magnetic_snap::tests::test_snap_clip_region ... ok [INFO] [stdout] test magnetic_snap::tests::test_multitrack_target_collection ... ok [INFO] [stdout] test magnetic_snap::tests::test_snap_edge_enum ... ok [INFO] [stdout] test magnetic_snap::tests::test_collect_targets_excludes_clips ... ok [INFO] [stdout] test magnetic_snap::tests::test_snap_marker_creation ... ok [INFO] [stdout] test magnetic_snap::tests::test_extended_engine_markers ... ok [INFO] [stdout] test magnetic_snap::tests::test_snap_multitrack_ignores_same_track ... ok [INFO] [stdout] test magnetic_snap::tests::test_disabled_engine_returns_no_snap ... ok [INFO] [stdout] test magnetic_snap::tests::test_snap_on_timeline ... ok [INFO] [stdout] test magnetic_snap::tests::test_snap_picks_closest ... ok [INFO] [stdout] test magnetic_snap::tests::test_snap_result_no_snap ... ok [INFO] [stdout] test magnetic_snap::tests::test_extended_engine_with_beats ... ok [INFO] [stdout] test magnetic_snap::tests::test_gap_to_snap_targets ... ok [INFO] [stdout] test magnetic_snap::tests::test_grid_snapping ... ok [INFO] [stdout] test magnetic_snap::tests::test_detect_gaps_no_gaps ... ok [INFO] [stdout] test magnetic_snap::tests::test_snap_multitrack_cross_track ... ok [INFO] [stdout] test incremental_render::tests::test_render_incremental_clears_dirty ... ok [INFO] [stdout] test magnetic_snap::tests::test_snap_strength_multiplier ... ok [INFO] [stdout] test magnetic_snap::tests::test_snap_within_threshold ... ok [INFO] [stdout] test marker_edit::tests::test_edit_marker_contains_position_point ... ok [INFO] [stdout] test magnetic_snap::tests::test_strength_zone_at_center ... ok [INFO] [stdout] test marker_edit::tests::test_edit_marker_contains_position_range ... ok [INFO] [stdout] test magnetic_snap::tests::test_strength_zone_interpolation ... ok [INFO] [stdout] test marker_edit::tests::test_edit_marker_nudge_range ... ok [INFO] [stdout] test marker_edit::tests::test_edit_marker_point ... ok [INFO] [stdout] test marker_edit::tests::test_edit_marker_range ... ok [INFO] [stdout] test marker_edit::tests::test_edit_marker_nudge ... ok [INFO] [stdout] test magnetic_snap::tests::test_snap_result_snapped ... ok [INFO] [stdout] test marker_edit::tests::test_marker_category_display ... ok [INFO] [stdout] test marker_edit::tests::test_edit_marker_nudge_negative_clamps ... ok [INFO] [stdout] test marker_edit::tests::test_edit_marker_nudge_locked ... ok [INFO] [stdout] test marker_edit::tests::test_marker_builders ... ok [INFO] [stdout] test magnetic_snap::tests::test_snap_target_creation ... ok [INFO] [stdout] test marker_edit::tests::test_marker_editor_default ... ok [INFO] [stdout] test magnetic_snap::tests::test_strength_zone_at_boundary ... ok [INFO] [stdout] test marker_edit::tests::test_marker_editor_delete_by_category ... ok [INFO] [stdout] test marker_edit::tests::test_marker_editor_filter_by_category ... ok [INFO] [stdout] test marker_edit::tests::test_marker_editor_remove ... ok [INFO] [stdout] test marker_edit::tests::test_marker_editor_nudge_all ... ok [INFO] [stdout] test marker_edit::tests::test_snap_to_nearest_found ... ok [INFO] [stdout] test marker_edit::tests::test_marker_editor_sorted ... ok [INFO] [stdout] test marker_edit::tests::test_snap_to_nearest_not_found ... ok [INFO] [stdout] test multi_export::tests::test_clear_jobs ... ok [INFO] [stdout] test multi_export::tests::test_all_done ... ok [INFO] [stdout] test multi_export::tests::test_completed_count ... ok [INFO] [stdout] test marker_edit::tests::test_marker_editor_add_and_get ... ok [INFO] [stdout] test marker_edit::tests::test_marker_editor_clear ... ok [INFO] [stdout] test multi_export::tests::test_export_job_progress ... ok [INFO] [stdout] test marker_edit::tests::test_marker_editor_markers_at ... ok [INFO] [stdout] test multi_export::tests::test_export_profile_pixel_count ... ok [INFO] [stdout] test multi_export::tests::test_export_profile_aspect_ratio ... ok [INFO] [stdout] test multi_export::tests::test_export_profile_zero_height ... ok [INFO] [stdout] test multi_export::tests::test_multi_export_manager ... ok [INFO] [stdout] test multi_export::tests::test_export_status ... ok [INFO] [stdout] test multi_export::tests::test_queue_all ... ok [INFO] [stdout] test multi_export::tests::test_queue_export ... ok [INFO] [stdout] test multi_export::tests::test_export_profile_defaults ... ok [INFO] [stdout] test multicam::multicam_session_tests::test_camera_track_clip_at_ms_found ... ok [INFO] [stdout] test multicam::multicam_session_tests::test_camera_track_clip_at_ms_not_found ... ok [INFO] [stdout] test multi_export::tests::test_overall_progress ... ok [INFO] [stdout] test multicam::multicam_session_tests::test_camera_track_add_and_count ... ok [INFO] [stdout] test multicam::multicam_session_tests::test_camera_track_timecode_start_offset ... ok [INFO] [stdout] test multicam::multicam_session_tests::test_clip_ref_end_ms ... ok [INFO] [stdout] test multicam::multicam_session_tests::test_editor_add_cut_invalid_to_camera ... ok [INFO] [stdout] test multicam::multicam_session_tests::test_editor_add_cut_valid ... ok [INFO] [stdout] test multicam::multicam_session_tests::test_editor_cuts_sorted ... ok [INFO] [stdout] test multicam::multicam_session_tests::test_editor_generate_timeline_empty_cuts ... ok [INFO] [stdout] test multicam::multicam_session_tests::test_editor_generate_timeline_single_cut ... ok [INFO] [stdout] test multicam::multicam_session_tests::test_clip_ref_creation ... ok [INFO] [stdout] test multicam::multicam_session_tests::test_camera_track_clip_at_ms_second_clip ... ok [INFO] [stdout] test multicam::multicam_session_tests::test_editor_remove_cut_at_found ... ok [INFO] [stdout] test multicam::multicam_session_tests::test_editor_remove_cut_at_not_found ... ok [INFO] [stdout] test multicam::multicam_session_tests::test_session_add_camera ... ok [INFO] [stdout] test multicam::multicam_session_tests::test_multicam_cut_creation ... ok [INFO] [stdout] test multicam::multicam_session_tests::test_session_camera_local_ms ... ok [INFO] [stdout] test multicam::multicam_session_tests::test_session_set_sync_offset_out_of_bounds ... ok [INFO] [stdout] test multicam::multicam_session_tests::test_sync_both_empty ... ok [INFO] [stdout] test multicam::multicam_session_tests::test_session_set_sync_offset_valid ... ok [INFO] [stdout] test multi_export::tests::test_standard_presets ... ok [INFO] [stdout] test multicam::multicam_session_tests::test_editor_add_cut_invalid_from_camera ... ok [INFO] [stdout] test multicam::multicam_session_tests::test_sync_empty_a ... ok [INFO] [stdout] test multicam::multicam_session_tests::test_sync_empty_b ... ok [INFO] [stdout] test multicam::multicam_session_tests::test_sync_shifted_signal ... ok [INFO] [stdout] test multicam::tests::test_angle_switch_creation ... ok [INFO] [stdout] test multicam::tests::test_camera_angle_clips ... ok [INFO] [stdout] test multicam::multicam_session_tests::test_sync_identical_signals_zero_lag ... ok [INFO] [stdout] test multicam::tests::test_camera_angle_compute_alignment ... ok [INFO] [stdout] test multicam::tests::test_multicam_group_remove_angle_removes_switches ... ok [INFO] [stdout] test multicam::tests::test_multicam_group_switches ... ok [INFO] [stdout] test multicam::tests::test_multicam_group_remove_switch ... ok [INFO] [stdout] test multicam::tests::test_multicam_group_sync_all_angles ... ok [INFO] [stdout] test multicam::tests::test_multicam_manager ... ok [INFO] [stdout] test multicam::tests::test_multicam_group_add_remove_angle ... ok [INFO] [stdout] test multicam::tests::test_multicam_manager_all_groups ... ok [INFO] [stdout] test multicam::tests::test_sync_method_label ... ok [INFO] [stdout] test multicam::tests::test_sync_point_confidence_clamped ... ok [INFO] [stdout] test multicam::tests::test_sync_point_creation ... ok [INFO] [stdout] test multicam::tests::test_sync_point_is_confident ... ok [INFO] [stdout] test multitrack::tests::test_is_audible_muted ... ok [INFO] [stdout] test multitrack::tests::test_is_audible_no_solo_not_muted ... ok [INFO] [stdout] test multitrack::tests::test_is_audible_solo_mode_is_soloed ... ok [INFO] [stdout] test multitrack::tests::test_is_audible_solo_mode_not_soloed ... ok [INFO] [stdout] test multitrack::tests::test_multitrack_audible_tracks_all_active ... ok [INFO] [stdout] test multitrack::tests::test_multitrack_lock_track ... ok [INFO] [stdout] test multitrack::tests::test_multitrack_mute_track ... ok [INFO] [stdout] test multicam::tests::test_camera_angle_compute_alignment_weighted ... ok [INFO] [stdout] test multitrack::tests::test_track_type_audio_is_av ... ok [INFO] [stdout] test multitrack::tests::test_track_type_effect_not_av ... ok [INFO] [stdout] test multitrack::tests::test_track_type_title_not_av ... ok [INFO] [stdout] test nested_sequence::tests::test_conform_method_display ... ok [INFO] [stdout] test nested_sequence::tests::test_frame_rate_as_f64 ... ok [INFO] [stdout] test nested_sequence::tests::test_frame_rate_display_integer ... ok [INFO] [stdout] test multitrack::tests::test_multitrack_add_track ... ok [INFO] [stdout] test nested_sequence::tests::test_frame_rate_display_rational ... ok [INFO] [stdout] test nested_sequence::tests::test_nested_ref_duration_double_speed ... ok [INFO] [stdout] test nested_sequence::tests::test_nested_ref_duration_normal_speed ... ok [INFO] [stdout] test multitrack::tests::test_multitrack_solo_track ... ok [INFO] [stdout] test nested_sequence::tests::test_nested_ref_duration_zero_speed ... ok [INFO] [stdout] test multitrack::tests::test_track_visibility_defaults ... ok [INFO] [stdout] test nested_sequence::tests::test_frame_rate_zero_den ... ok [INFO] [stdout] test nested_sequence::tests::test_nested_ref_end_position ... ok [INFO] [stdout] test nested_sequence::tests::test_nested_ref_with_conform ... ok [INFO] [stdout] test nested_sequence::tests::test_nested_sequence_add_and_remove_ref ... ok [INFO] [stdout] test multitrack::tests::test_track_lock_locked_cannot_edit ... ok [INFO] [stdout] test nested_sequence::tests::test_nested_sequence_builders ... ok [INFO] [stdout] test multitrack::tests::test_track_lock_new_unlocked ... ok [INFO] [stdout] test nested_sequence::tests::test_registry_default ... ok [INFO] [stdout] test nested_sequence::tests::test_registry_remove_cleans_refs ... ok [INFO] [stdout] test nested_sequence::tests::test_registry_depth ... ok [INFO] [stdout] test nested_sequence::tests::test_sequence_id_display ... ok [INFO] [stdout] test parallel_render::tests::test_config_builder ... ok [INFO] [stdout] test parallel_render::tests::test_render_chunk_frame_count ... ok [INFO] [stdout] test parallel_render::tests::test_split_chunks_exact_multiple ... ok [INFO] [stdout] test nested_sequence::tests::test_registry_cycle_detection_indirect ... ok [INFO] [stdout] test nested_sequence::tests::test_registry_create_and_get ... ok [INFO] [stdout] test nested_sequence::tests::test_registry_cycle_detection_self ... ok [INFO] [stdout] test parallel_render::tests::test_render_parallel_all_succeed ... ok [INFO] [stdout] test multitrack::tests::test_track_type_video_is_av ... ok [INFO] [stdout] test parallel_render::tests::test_split_chunks_non_multiple ... ok [INFO] [stdout] test parallel_render::tests::test_split_chunks_zero_frames ... ok [INFO] [stdout] test picture_in_picture::pip_compositor_tests::test_pip_compositor_clamped_to_main_bounds ... ok [INFO] [stdout] test picture_in_picture::pip_compositor_tests::test_pip_compositor_fully_opaque_overwrites ... ok [INFO] [stdout] test picture_in_picture::tests::test_pip_layout_with_opacity_clamped ... ok [INFO] [stdout] test picture_in_picture::tests::test_pip_layout_with_size ... ok [INFO] [stdout] test picture_in_picture::tests::test_pip_layout_compute_rect_stays_within_frame ... ok [INFO] [stdout] test picture_in_picture::pip_compositor_tests::test_pip_compositor_fully_transparent_keeps_main ... ok [INFO] [stdout] test picture_in_picture::tests::test_pip_position_anchor_pct_named ... ok [INFO] [stdout] test picture_in_picture::tests::test_pip_position_anchor_pct_custom ... ok [INFO] [stdout] test picture_in_picture::pip_compositor_tests::test_pip_compositor_output_size ... ok [INFO] [stdout] test picture_in_picture::tests::test_pip_animation_duration_empty ... ok [INFO] [stdout] test picture_in_picture::tests::test_pip_animation_layout_at_step_hold ... ok [INFO] [stdout] test parallel_render::tests::test_total_frames_for ... ok [INFO] [stdout] test picture_in_picture::tests::test_pip_animation_add_keyframes_sorted ... ok [INFO] [stdout] test picture_in_picture::tests::test_pip_layout_compute_rect_proportions ... ok [INFO] [stdout] test pip::tests::test_pip_layout_keyframe_after_last ... ok [INFO] [stdout] test pip::tests::test_pip_layout_keyframe_before_first ... ok [INFO] [stdout] test pip::tests::test_pip_layout_keyframe_interpolation ... ok [INFO] [stdout] test pip::tests::test_pip_layout_remove_keyframes_at ... ok [INFO] [stdout] test picture_in_picture::tests::test_pip_animation_no_keyframes_returns_none ... ok [INFO] [stdout] test picture_in_picture::tests::test_pip_position_name ... ok [INFO] [stdout] test picture_in_picture::tests::test_pip_animation_duration_secs ... ok [INFO] [stdout] test pip::tests::test_pip_layout_active_at ... ok [INFO] [stdout] test pip::tests::test_pip_layout_no_keyframes_returns_default ... ok [INFO] [stdout] test pip::tests::test_pip_manager_active_at ... ok [INFO] [stdout] test pip::tests::test_pip_manager_add_remove ... ok [INFO] [stdout] test pip::tests::test_pip_state_invisible ... ok [INFO] [stdout] test pip::tests::test_pip_presets_normalised_range ... ok [INFO] [stdout] test proxy::tests::test_generation_queue_basic_flow ... ok [INFO] [stdout] test proxy::tests::test_fnv_hash_deterministic ... ok [INFO] [stdout] test proxy::tests::test_generation_queue_failure ... ok [INFO] [stdout] test pip::tests::test_pip_state_pixel_rect ... ok [INFO] [stdout] test proxy::tests::test_generation_queue_idle_after_drain ... ok [INFO] [stdout] test proxy::tests::test_generation_queue_overall_progress ... ok [INFO] [stdout] test proxy::tests::test_generation_queue_progress ... ok [INFO] [stdout] test proxy::tests::test_proxy_chain_add_and_select ... ok [INFO] [stdout] test proxy::tests::test_proxy_chain_fallback_to_highest_ready ... ok [INFO] [stdout] test proxy::tests::test_proxy_chain_no_ready ... ok [INFO] [stdout] test proxy::tests::test_proxy_chain_sorted_by_scale ... ok [INFO] [stdout] test proxy::tests::test_proxy_job_progress_complete ... ok [INFO] [stdout] test proxy::tests::test_proxy_codec_labels ... ok [INFO] [stdout] test proxy::tests::test_proxy_manager_pending_generation ... ok [INFO] [stdout] test proxy::tests::test_proxy_manager_unknown_path_returns_false ... ok [INFO] [stdout] test proxy::tests::test_proxy_mapping_zero_original_width ... ok [INFO] [stdout] test proxy::tests::test_proxy_mapping_scale_factor ... ok [INFO] [stdout] test proxy::tests::test_proxy_mode_logic ... ok [INFO] [stdout] test proxy::tests::test_proxy_resolution_dimensions ... ok [INFO] [stdout] test proxy::tests::test_proxy_resolution_zero_dimensions ... ok [INFO] [stdout] test proxy::tests::test_proxy_resolution_label ... ok [INFO] [stdout] test proxy::tests::test_proxy_manager_source_count ... ok [INFO] [stdout] test proxy::tests::test_proxy_status_is_usable ... ok [INFO] [stdout] test proxy::tests::test_proxy_workflow_config_defaults ... ok [INFO] [stdout] test proxy::tests::test_proxy_manager_mark_outdated ... ok [INFO] [stdout] test proxy::tests::test_proxy_manager_register_and_resolve ... ok [INFO] [stdout] test proxy::tests::test_relinker_hash_match ... ok [INFO] [stdout] test proxy::tests::test_relinker_no_match ... ok [INFO] [stdout] test proxy::tests::test_workflow_manager_register_with_chain ... ok [INFO] [stdout] test proxy::tests::test_workflow_manager_select_for_zoom ... ok [INFO] [stdout] test proxy::tests::test_workflow_manager_enqueue_pending ... ok [INFO] [stdout] test render::raw_cache_tests::test_raw_frame_cache_basic_get_or_render ... ok [INFO] [stdout] test render::raw_cache_tests::test_raw_frame_cache_capacity_clamped_to_one ... ok [INFO] [stdout] test render::raw_cache_tests::test_raw_frame_cache_capacity_32 ... ok [INFO] [stdout] test render::raw_cache_tests::test_raw_frame_cache_clear ... ok [INFO] [stdout] test render::raw_cache_tests::test_raw_frame_cache_debug_format ... ok [INFO] [stdout] test proxy::tests::test_proxy_job_progress_new ... ok [INFO] [stdout] test render::raw_cache_tests::test_raw_frame_cache_eviction_order ... ok [INFO] [stdout] test render::raw_cache_tests::test_raw_frame_cache_get_missing ... ok [INFO] [stdout] test render::raw_cache_tests::test_raw_frame_cache_invalidate ... ok [INFO] [stdout] test render::raw_cache_tests::test_raw_frame_cache_insert_and_get ... ok [INFO] [stdout] test render::raw_cache_tests::test_raw_frame_cache_lru_eviction ... ok [INFO] [stdout] test render::raw_cache_tests::test_raw_frame_cache_is_empty_initially ... ok [INFO] [stdout] test proxy::tests::test_relinker_stem_match ... ok [INFO] [stdout] test render_queue::tests::test_add_job_len_increases ... ok [INFO] [stdout] test render_queue::tests::test_complete_job ... ok [INFO] [stdout] test render_queue::tests::test_cancel_pending_job ... ok [INFO] [stdout] test render_queue::tests::test_export_config_default_resolution ... ok [INFO] [stdout] test render_queue::tests::test_export_config_new_sets_path ... ok [INFO] [stdout] test render_queue::tests::test_fail_job_sets_error_message ... ok [INFO] [stdout] test render_queue::tests::test_fail_job_error_message_stored ... ok [INFO] [stdout] test render_queue::tests::test_get_job_found ... ok [INFO] [stdout] test render_queue::tests::test_cancel_running_job_via_update_status ... ok [INFO] [stdout] test render_queue::tests::test_job_status_is_terminal ... ok [INFO] [stdout] test render_queue::tests::test_jobs_with_status ... ok [INFO] [stdout] test render_queue::tests::test_next_job_fifo_within_same_priority ... ok [INFO] [stdout] test render_queue::tests::test_next_job_transitions_status_to_running ... ok [INFO] [stdout] test render_queue::tests::test_next_job_returns_highest_priority ... ok [INFO] [stdout] test render_queue::tests::test_add_job_assigns_sequential_ids ... ok [INFO] [stdout] test render_queue::tests::test_complete_job_sets_progress_100 ... ok [INFO] [stdout] test render_queue::tests::test_next_job_returns_none_when_empty ... ok [INFO] [stdout] test render_queue::tests::test_job_label ... ok [INFO] [stdout] test render_queue::tests::test_pending_count ... ok [INFO] [stdout] test render_queue::tests::test_next_job_skips_cancelled_pending ... ok [INFO] [stdout] test render_queue::tests::test_purge_completed_removes_terminal ... ok [INFO] [stdout] test render_queue::tests::test_get_job_not_found ... ok [INFO] [stdout] test render_queue::tests::test_render_queue_get_job_mut ... ok [INFO] [stdout] test render_queue::tests::test_purge_completed_retains_pending_and_running ... ok [INFO] [stdout] test render_queue::tests::test_status_counts ... ok [INFO] [stdout] test render_queue::tests::test_timeline_snapshot_fields ... ok [INFO] [stdout] test render_queue::tests::test_update_status_invalid_transition_rejected ... ok [INFO] [stdout] test render_queue::tests::test_status_counts_all_statuses ... ok [INFO] [stdout] test render_queue::tests::test_set_progress_clamps_to_100 ... ok [INFO] [stdout] test render_queue::tests::test_set_progress_on_pending_job_fails ... ok [INFO] [stdout] test render_queue::tests::test_remove_nonexistent_job_returns_none ... ok [INFO] [stdout] test render_queue::tests::test_remove_job_returns_correct_job ... ok [INFO] [stdout] test render_queue::tests::test_render_job_is_pending_after_creation ... ok [INFO] [stdout] test render_queue::tests::test_render_job_initial_progress_is_zero ... ok [INFO] [stdout] test ripple::tests::test_clip_end ... ok [INFO] [stdout] test ripple::tests::test_ripple_delete_zero_range ... ok [INFO] [stdout] test ripple::tests::test_ripple_delete_returns_deleted_duration ... ok [INFO] [stdout] test ripple::tests::test_ripple_insert_different_track_unchanged ... ok [INFO] [stdout] test ripple::tests::test_ripple_mode_overwrite_no_shift ... ok [INFO] [stdout] test ripple::tests::test_ripple_trim_left_shortens_clip ... ok [INFO] [stdout] test ripple::tests::test_ripple_insert_shifts_clips_after_point ... ok [INFO] [stdout] test ripple::tests::test_ripple_trim_left_clip_not_found ... ok [INFO] [stdout] test ripple::tests::test_ripple_trim_right_zero_duration_error ... ok [INFO] [stdout] test ripple::tests::test_ripple_trim_right_clip_not_found ... ok [INFO] [stdout] test ripple::tests::test_three_point_edit_invalid_range ... ok [INFO] [stdout] test selection::tests::test_edit_selection_add_no_duplicate ... ok [INFO] [stdout] test selection::tests::test_clear ... ok [INFO] [stdout] test selection::tests::test_edit_selection_add_and_contains ... ok [INFO] [stdout] test selection::tests::test_edit_selection_clear ... ok [INFO] [stdout] test selection::tests::test_edit_selection_count ... ok [INFO] [stdout] test selection::tests::test_linked_selection_add_group ... ok [INFO] [stdout] test selection::tests::test_linked_selection_empty_group_ignored ... ok [INFO] [stdout] test selection::tests::test_linked_selection_no_links ... ok [INFO] [stdout] test selection::tests::test_merge_overlapping_three_ranges ... ok [INFO] [stdout] test selection::tests::test_linked_selection_clip_not_in_any_group ... ok [INFO] [stdout] test selection::tests::test_range_contains_time ... ok [INFO] [stdout] test selection::tests::test_range_duration ... ok [INFO] [stdout] test ripple::tests::test_ripple_delete_removes_clips_inside_range ... ok [INFO] [stdout] test selection::tests::test_edit_selection_remove ... ok [INFO] [stdout] test selection::tests::test_edit_selection_tracks_unique ... ok [INFO] [stdout] test selection::tests::test_range_overlaps ... ok [INFO] [stdout] test selection::tests::test_select_all_in_range ... ok [INFO] [stdout] test selection::tests::test_select_clip_add_no_duplicates ... ok [INFO] [stdout] test selection::tests::test_select_clip_replace ... ok [INFO] [stdout] test selection::tests::test_linked_selection_multiple_groups ... ok [INFO] [stdout] test selection::tests::test_range_merge ... ok [INFO] [stdout] test selection::tests::test_select_clip_toggle ... ok [INFO] [stdout] test selection::tests::test_selection_item_same_track_false ... ok [INFO] [stdout] test selection::tests::test_select_range_add_merges ... ok [INFO] [stdout] test selection::tests::test_track_selection ... ok [INFO] [stdout] test selection::tests::test_select_range_replace ... ok [INFO] [stdout] test slip_slide::tests::test_extend_edit_duration_change_negative ... ok [INFO] [stdout] test selection::tests::test_selected_duration ... ok [INFO] [stdout] test slip_slide::tests::test_extend_edit_duration_change_zero ... ok [INFO] [stdout] test selection::tests::test_select_range_subtract ... ok [INFO] [stdout] test slip_slide::tests::test_slide_edit_is_forward_negative ... ok [INFO] [stdout] test slip_slide::tests::test_extend_edit_new ... ok [INFO] [stdout] test selection::tests::test_selection_item_same_track_true ... ok [INFO] [stdout] test slip_slide::tests::test_slide_edit_is_forward_positive ... ok [INFO] [stdout] test slip_slide::tests::test_extend_edit_duration_change_positive ... ok [INFO] [stdout] test slip_slide::tests::test_slip_apply_valid_backward ... ok [INFO] [stdout] test slip_slide::tests::test_slide_edit_zero_shift ... ok [INFO] [stdout] test slip_slide::tests::test_slip_apply_clamps_above_duration ... ok [INFO] [stdout] test slip_slide::tests::test_slip_apply_exact_boundary ... ok [INFO] [stdout] test slip_slide::tests::test_slip_apply_valid_forward ... ok [INFO] [stdout] test ripple::tests::test_ripple_trim_right_shortens_clip ... ok [INFO] [stdout] test slip_slide::tests::test_slip_apply_zero_offset ... ok [INFO] [stdout] test ripple::tests::test_three_point_edit_insert ... ok [INFO] [stdout] test slip_slide::tests::test_slip_apply_clamps_below_zero ... ok [INFO] [stdout] test selection::tests::test_is_empty_initially ... ok [INFO] [stdout] test slip_slide::tests::test_slide_edit_new ... ok [INFO] [stdout] test slip_slide::tests::test_slip_edit_is_forward_negative ... ok [INFO] [stdout] test slip_slide::tests::test_slip_edit_is_forward_positive ... ok [INFO] [stdout] test slip_slide::tests::test_slip_edit_is_forward_zero ... ok [INFO] [stdout] test slip_slide::tests::test_slip_edit_new ... ok [INFO] [stdout] test smart_trim::tests::test_analyze_clip_subtitle_returns_empty ... ok [INFO] [stdout] test smart_trim::tests::test_analyze_clip_video_returns_two_suggestions ... ok [INFO] [stdout] test smart_trim::tests::test_apply_suggestions_returns_count ... ok [INFO] [stdout] test smart_trim::tests::test_apply_suggestions_skips_low_confidence ... ok [INFO] [stdout] test smart_trim::tests::test_apply_suggestions_skips_missing_clips ... ok [INFO] [stdout] test slip_slide::tests::test_validate_slide_negative_result ... ok [INFO] [stdout] test slip_slide::tests::test_validate_slide_valid ... ok [INFO] [stdout] test slip_slide::tests::test_validate_slide_zero_shift ... ok [INFO] [stdout] test slip_slide::tests::test_validate_slip_invalid_out_of_bounds ... ok [INFO] [stdout] test slip_slide::tests::test_validate_slip_valid ... ok [INFO] [stdout] test smart_trim::tests::test_config_builder ... ok [INFO] [stdout] test slip_slide::tests::test_validate_slip_zero_offset_always_valid ... ok [INFO] [stdout] test smart_trim::tests::test_analyze_all_clips_in_timeline ... ok [INFO] [stdout] test smart_trim::tests::test_analyze_clip_audio_returns_two_suggestions ... ok [INFO] [stdout] test timeline_export::tests::test_frames_to_timecode ... ok [INFO] [stdout] test timeline_export::tests::test_ms_to_frames ... ok [INFO] [stdout] test timeline_export::tests::test_timeline_edl_export_has_events ... ok [INFO] [stdout] test timeline_export::tests::test_xml_duration_field ... ok [INFO] [stdout] test timeline_export::tests::test_xml_structure ... ok [INFO] [stdout] test timeline_validator::tests::test_empty_track_info ... ok [INFO] [stdout] test smart_trim::tests::test_suggest_in_point ... ok [INFO] [stdout] test smart_trim::tests::test_suggest_out_point ... ok [INFO] [stdout] test timeline_validator::tests::test_invalid_source_range_error ... ok [INFO] [stdout] test timeline_export::tests::test_edl_empty_timeline ... ok [INFO] [stdout] test timeline_export::tests::test_edl_event_count_matches_clips ... ok [INFO] [stdout] test timeline_export::tests::test_edl_source_name_from_metadata ... ok [INFO] [stdout] test timeline_export::tests::test_edl_timecode_accuracy ... ok [INFO] [stdout] test timeline_export::tests::test_xml_valid_xml_like_structure ... ok [INFO] [stdout] test timeline_validator::tests::test_duration_mismatch_warning ... ok [INFO] [stdout] test timeline_validator::tests::test_gap_detected ... ok [INFO] [stdout] test timeline_validator::tests::test_negative_speed_error ... ok [INFO] [stdout] test timeline_validator::tests::test_negative_timeline_start_warning ... ok [INFO] [stdout] test timeline_validator::tests::test_opacity_out_of_range_warning ... ok [INFO] [stdout] test timeline_validator::tests::test_severity_ordering ... ok [INFO] [stdout] test timeline_validator::tests::test_single_clip_no_issues ... ok [INFO] [stdout] test title_overlay::tests::test_font_scale_factors ... ok [INFO] [stdout] test title_overlay::tests::test_glyph_pixel_space_is_blank ... ok [INFO] [stdout] test title_overlay::tests::test_background_fills_buffer ... ok [INFO] [stdout] test title_overlay::tests::test_overlay_manager_active_at ... ok [INFO] [stdout] test timeline_validator::tests::test_zero_duration_clip_error ... ok [INFO] [stdout] test title_overlay::tests::test_overlay_renderer_composites_white_pixel ... ok [INFO] [stdout] test timeline_validator::tests::test_overlapping_clips_detected ... ok [INFO] [stdout] test timeline_validator::tests::test_report_is_clean_when_no_issues ... ok [INFO] [stdout] test title_overlay::tests::test_glyph_pixel_uppercase_a_has_pixels ... ok [INFO] [stdout] test title_overlay::tests::test_glyph_unknown_char_returns_question_mark ... ok [INFO] [stdout] test timeline_validator::tests::test_severity_label ... ok [INFO] [stdout] test title_overlay::tests::test_overlay_manager_add_remove ... ok [INFO] [stdout] test title_overlay::tests::test_position_keyframes_interpolation ... ok [INFO] [stdout] test title_overlay::tests::test_position_no_keyframes_returns_static ... ok [INFO] [stdout] test title_overlay::tests::test_title_overlay_is_active_at ... ok [INFO] [stdout] test track_lock::tests::test_check_clip_lock_overrides ... ok [INFO] [stdout] test title_overlay::tests::test_rgba_white_black ... ok [INFO] [stdout] test track_lock::tests::test_check_fully_locked_track ... ok [INFO] [stdout] test track_lock::tests::test_check_unlocked ... ok [INFO] [stdout] test track_lock::tests::test_clip_lock_new ... ok [INFO] [stdout] test track_lock::tests::test_lock_level_blocks_content ... ok [INFO] [stdout] test title_overlay::tests::test_overlay_renderer_inactive_not_rendered ... ok [INFO] [stdout] test title_overlay::tests::test_title_overlay_text_width ... ok [INFO] [stdout] test title_overlay::tests::test_position_keyframes_before_first ... ok [INFO] [stdout] test track_lock::tests::test_clear_all ... ok [INFO] [stdout] test title_overlay::tests::test_title_overlay_text_width_empty ... ok [INFO] [stdout] test track_lock::tests::test_check_position_locked_allows_content_edit ... ok [INFO] [stdout] test track_lock::tests::test_check_content_locked_allows_move ... ok [INFO] [stdout] test track_lock::tests::test_lock_level_is_locked ... ok [INFO] [stdout] test track_lock::tests::test_manager_lock_unlock_clip ... ok [INFO] [stdout] test track_lock::tests::test_manager_lock_unlock_track ... ok [INFO] [stdout] test track_lock::tests::test_operation_kind_classification ... ok [INFO] [stdout] test track_lock::tests::test_manager_pin_unpin ... ok [INFO] [stdout] test track_lock::tests::test_track_lock_new ... ok [INFO] [stdout] test trim_mode::tests::test_dual_roller_get_transition_point ... ok [INFO] [stdout] test trim_mode::tests::test_dual_roller_new ... ok [INFO] [stdout] test trim_mode::tests::test_dual_roller_shift_backward ... ok [INFO] [stdout] test trim_mode::tests::test_trim_constraints_default ... ok [INFO] [stdout] test track_lock::tests::test_lock_level_blocks_position ... ok [INFO] [stdout] test trim_mode::tests::test_dual_roller_shift_forward ... ok [INFO] [stdout] test trim_mode::tests::test_trim_constraints_validate_minimum ... ok [INFO] [stdout] test trim_mode::tests::test_trim_constraints_validate_negative_duration ... ok [INFO] [stdout] test trim_mode::tests::test_trim_constraints_validate_zero_duration ... ok [INFO] [stdout] test trim_mode::tests::test_trim_duration_constraints_clamp_to_max ... ok [INFO] [stdout] test trim_mode::tests::test_trim_duration_constraints_clamp_to_min ... ok [INFO] [stdout] test trim_mode::tests::test_trim_constraints_validate_valid ... ok [INFO] [stdout] test trim_mode::tests::test_trim_edge_opposite_out_point ... ok [INFO] [stdout] test trim_mode::tests::test_trim_edge_opposite_in_point ... ok [INFO] [stdout] test trim_mode::tests::test_trim_history_redo_after_undo ... ok [INFO] [stdout] test trim_mode::tests::test_trim_mode_description_not_empty ... ok [INFO] [stdout] test trim_mode::tests::test_trim_mode_affects_neighbors ... ok [INFO] [stdout] test trim_mode::tests::test_trim_operation_is_extend_in_point_negative ... ok [INFO] [stdout] test trim_mode::tests::test_trim_operation_is_shrink_in_point_positive ... ok [INFO] [stdout] test trim_mode::tests::test_trim_duration_constraints_clamp_within_bounds ... ok [INFO] [stdout] test trim_mode::tests::test_trim_operation_is_extend_out_point_positive ... ok [INFO] [stdout] test trim_mode::tests::test_trim_history_can_undo_after_push ... ok [INFO] [stdout] test trim_mode::tests::test_trim_history_push_clears_redo ... ok [INFO] [stdout] test trim_mode::tests::test_trim_history_max_undos_enforced ... ok [INFO] [stdout] test trim_mode::tests::test_trim_operation_is_shrink_out_point_negative ... ok [INFO] [stdout] test trim_mode::tests::test_trim_operation_zero_delta_neither ... ok [INFO] [stdout] test trim_mode::tests::test_trim_roller_offset_zero ... ok [INFO] [stdout] test trim_mode::tests::test_trim_roller_offset_positive ... ok [INFO] [stdout] test trim_mode::tests::test_trim_side_in_is_in_point ... ok [INFO] [stdout] test trim_selection::tests::test_trim_both_boundaries ... ok [INFO] [stdout] test trim_mode::tests::test_trim_side_out_is_out_point ... ok [INFO] [stdout] test trim_mode::tests::test_trim_side_both ... ok [INFO] [stdout] test trim_selection::tests::test_trim_left_boundary ... ok [INFO] [stdout] test trim_selection::tests::test_trim_clips_fully_outside ... ok [INFO] [stdout] test trim_selection::tests::test_trim_multiple_clips_mixed ... ok [INFO] [stdout] test waveform::tests::test_generate_empty_audio_returns_silent ... ok [INFO] [stdout] test trim_mode::tests::test_trim_roller_new ... ok [INFO] [stdout] test trim_selection::tests::test_trim_clips_fully_inside ... ok [INFO] [stdout] test trim_mode::tests::test_trim_roller_offset_negative ... ok [INFO] [stdout] test trim_selection::tests::test_trim_empty_range ... ok [INFO] [stdout] test waveform::tests::test_generate_single_pixel_output ... ok [INFO] [stdout] test waveform::tests::test_generate_zero_width_clamps_to_one ... ok [INFO] [stdout] test waveform::tests::test_generator_default_is_mono ... ok [INFO] [stdout] test waveform::tests::test_generate_width_matches_request ... ok [INFO] [stdout] test trim_selection::tests::test_trim_right_boundary ... ok [INFO] [stdout] test waveform::tests::test_multichannel_four_channels ... ok [INFO] [stdout] test waveform::tests::test_normalised_clamps_rms_proportionally ... ok [INFO] [stdout] test waveform::tests::test_peaks_negative_dc ... ok [INFO] [stdout] test waveform::tests::test_samples_per_pixel_recorded ... ok [INFO] [stdout] test waveform::tests::test_generator_zero_channels_clamped_to_one ... ok [INFO] [stdout] test waveform::tests::test_silence_detection ... ok [INFO] [stdout] test waveform::tests::test_normalised_peak_is_one ... ok [INFO] [stdout] test waveform::tests::test_peaks_min_max_sign_convention ... ok [INFO] [stdout] test waveform::tests::test_rms_positive_for_non_silent ... ok [INFO] [stdout] test waveform::tests::test_normalised_silent_does_not_divide_by_zero ... ok [INFO] [stdout] test waveform::tests::test_stereo_mixdown ... ok [INFO] [stdout] test waveform::tests::test_total_samples_after_stereo_mixdown ... ok [INFO] [stdout] test waveform::tests::test_total_samples_matches_input_length_mono ... ok [INFO] [stdout] test waveform::tests::test_waveform_data_peak_amplitude_silent ... ok [INFO] [stdout] test waveform::tests::test_waveform_data_width_matches_peaks_len ... ok [INFO] [stdout] test waveform::tests::test_waveform_peak_is_silent_false_nonzero_max ... ok [INFO] [stdout] test waveform::tests::test_waveform_peak_is_silent_false_nonzero_rms ... ok [INFO] [stdout] test waveform::tests::test_waveform_peak_is_silent_true ... ok [INFO] [stdout] test waveform::tests::test_peak_amplitude_sine ... ok [INFO] [stdout] test history::tests::test_trim_clip_action ... ok [INFO] [stdout] test auto_edit::tests::test_sequence_sort_by_timecode ... ok [INFO] [stdout] test magnetic_snap::tests::test_find_fitting_gap ... ok [INFO] [stdout] test timeline_validator::tests::test_duplicate_clip_id_error ... ok [INFO] [stdout] test timeline_validator::tests::test_empty_timeline_is_valid ... ok [INFO] [stdout] test trim_mode::tests::test_trim_history_undo_returns_op ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 792 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s [INFO] [stdout] [INFO] [stderr] Doc-tests oximedia_edit [INFO] [stdout] [INFO] [stdout] running 13 tests [INFO] [stdout] test src/edl/mod.rs - edl (line 36) - compile ... ok [INFO] [stdout] test src/picture_in_picture.rs - picture_in_picture::PictureInPicture (line 20) - compile ... ok [INFO] [stdout] test src/edl/mod.rs - edl (line 17) - compile ... ok [INFO] [stdout] test src/timeline_export.rs - timeline_export (line 12) ... ok [INFO] [stdout] test src/timeline_validator.rs - timeline_validator (line 8) ... ok [INFO] [stdout] test src/lib.rs - (line 14) ... ok [INFO] [stdout] test src/clip_speed.rs - clip_speed::ClipSpeedController (line 175) ... ok [INFO] [stdout] test src/edl_import.rs - edl_import (line 19) ... ok [INFO] [stdout] test src/trim_selection.rs - trim_selection (line 11) ... ok [INFO] [stdout] test src/edit_macro.rs - edit_macro (line 8) ... ok [INFO] [stdout] test src/waveform.rs - waveform::WaveformGenerator (line 79) ... ok [INFO] [stdout] test src/render.rs - render::RawFrameCache (line 655) ... ok [INFO] [stdout] test src/clip_arrange.rs - clip_arrange (line 11) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 11.83s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "89a15e8a9dc46409a598a8d6123f1eff7a1eb105d51df879983eb4aa8c9e8ce5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "89a15e8a9dc46409a598a8d6123f1eff7a1eb105d51df879983eb4aa8c9e8ce5", kill_on_drop: false }` [INFO] [stdout] 89a15e8a9dc46409a598a8d6123f1eff7a1eb105d51df879983eb4aa8c9e8ce5