[INFO] fetching crate oximedia-multicam 0.1.2...
[INFO] testing oximedia-multicam-0.1.2 against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065
[INFO] extracting crate oximedia-multicam 0.1.2 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate oximedia-multicam 0.1.2
[INFO] finished tweaking crates.io crate oximedia-multicam 0.1.2
[INFO] tweaked toml for crates.io crate oximedia-multicam 0.1.2 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate oximedia-multicam 0.1.2 on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate oximedia-multicam 0.1.2 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" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded audioadapter-sample v2.0.0
[INFO] [stderr]   Downloaded realfft v3.5.0
[INFO] [stderr]   Downloaded visibility v0.1.1
[INFO] [stderr]   Downloaded rubato v1.0.1
[INFO] [stderr]   Downloaded windowfunctions v0.1.1
[INFO] [stderr]   Downloaded nalgebra-macros v0.3.0
[INFO] [stderr]   Downloaded oxifft-codegen v0.1.3
[INFO] [stderr]   Downloaded audio-core v0.2.1
[INFO] [stderr]   Downloaded audioadapter v2.0.0
[INFO] [stderr]   Downloaded audioadapter-buffers v2.0.0
[INFO] [stderr]   Downloaded spin v0.10.0
[INFO] [stderr]   Downloaded miniz_oxide v0.9.1
[INFO] [stderr]   Downloaded zune-jpeg v0.5.13
[INFO] [stderr]   Downloaded tiff v0.11.3
[INFO] [stderr]   Downloaded fontdue v0.9.3
[INFO] [stderr]   Downloaded oximedia-io v0.1.2
[INFO] [stderr]   Downloaded ttf-parser v0.21.1
[INFO] [stderr]   Downloaded oximedia-align v0.1.2
[INFO] [stderr]   Downloaded oximedia-metering v0.1.2
[INFO] [stderr]   Downloaded oximedia-graph v0.1.2
[INFO] [stderr]   Downloaded ndarray v0.17.2
[INFO] [stderr]   Downloaded oxifft v0.1.3
[INFO] [stderr]   Downloaded oximedia-image v0.1.2
[INFO] [stderr]   Downloaded oximedia-analysis v0.1.2
[INFO] [stderr]   Downloaded oximedia-core v0.1.2
[INFO] [stderr]   Downloaded oximedia-timecode v0.1.2
[INFO] [stderr]   Downloaded oximedia-audio v0.1.2
[INFO] [stderr]   Downloaded oximedia-codec v0.1.2
[INFO] [stderr]   Downloaded oximedia-cv v0.1.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9d50dfead230e2e6cfe019eed8238045b16e81e79ee3478b567b9d1efecc9880
[INFO] running `Command { std: "docker" "start" "-a" "9d50dfead230e2e6cfe019eed8238045b16e81e79ee3478b567b9d1efecc9880", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9d50dfead230e2e6cfe019eed8238045b16e81e79ee3478b567b9d1efecc9880", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9d50dfead230e2e6cfe019eed8238045b16e81e79ee3478b567b9d1efecc9880", kill_on_drop: false }`
[INFO] [stdout] 9d50dfead230e2e6cfe019eed8238045b16e81e79ee3478b567b9d1efecc9880
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 322c3dd2dde86cdbb16fcfdeeb3356241d4ce9f3e4a02a06b5e3749cc1fa9527
[INFO] running `Command { std: "docker" "start" "-a" "322c3dd2dde86cdbb16fcfdeeb3356241d4ce9f3e4a02a06b5e3749cc1fa9527", kill_on_drop: false }`
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling audio-core v0.2.1
[INFO] [stderr]    Compiling strength_reduce v0.2.4
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling spin v0.10.0
[INFO] [stderr]    Compiling seahash v4.1.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling zerocopy v0.8.42
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling bytemuck v1.25.0
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling ttf-parser v0.21.1
[INFO] [stderr]    Compiling cc v1.2.57
[INFO] [stderr]    Compiling safe_arch v0.7.4
[INFO] [stderr]    Compiling zune-core v0.5.1
[INFO] [stderr]    Compiling quick-error v2.0.1
[INFO] [stderr]    Compiling weezl v0.1.12
[INFO] [stderr]    Compiling miniz_oxide v0.9.1
[INFO] [stderr]    Compiling zune-jpeg v0.5.13
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling wide v0.7.33
[INFO] [stderr]    Compiling png v0.18.1
[INFO] [stderr]    Compiling oximedia-cv v0.1.2
[INFO] [stderr]    Compiling fontdue v0.9.3
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling audioadapter v2.0.0
[INFO] [stderr]    Compiling audioadapter-sample v2.0.0
[INFO] [stderr]    Compiling windowfunctions v0.1.1
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling audioadapter-buffers v2.0.0
[INFO] [stderr]    Compiling transpose v0.2.3
[INFO] [stderr]    Compiling primal-check v0.3.4
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling rustfft v6.4.1
[INFO] [stderr]    Compiling simba v0.9.1
[INFO] [stderr]    Compiling ndarray v0.17.2
[INFO] [stderr]    Compiling jpeg-decoder v0.3.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling oxifft-codegen v0.1.3
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling visibility v0.1.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zerocopy-derive v0.8.42
[INFO] [stderr]    Compiling fax_derive v0.2.0
[INFO] [stderr]    Compiling nalgebra-macros v0.3.0
[INFO] [stderr]    Compiling fax v0.2.6
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling nalgebra v0.34.1
[INFO] [stderr]    Compiling realfft v3.5.0
[INFO] [stderr]    Compiling rubato v1.0.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling oximedia-core v0.1.2
[INFO] [stderr]    Compiling oxifft v0.1.3
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling tiff v0.11.3
[INFO] [stderr]    Compiling oximedia-io v0.1.2
[INFO] [stderr]    Compiling oximedia-audio v0.1.2
[INFO] [stderr]    Compiling oximedia-codec v0.1.2
[INFO] [stderr]    Compiling oximedia-image v0.1.2
[INFO] [stderr]    Compiling oximedia-metering v0.1.2
[INFO] [stderr]    Compiling oximedia-timecode v0.1.2
[INFO] [stderr]    Compiling oximedia-graph v0.1.2
[INFO] [stderr]    Compiling oximedia-align v0.1.2
[INFO] [stderr]    Compiling oximedia-analysis v0.1.2
[INFO] [stderr]    Compiling oximedia-multicam v0.1.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 47s
[INFO] running `Command { std: "docker" "inspect" "322c3dd2dde86cdbb16fcfdeeb3356241d4ce9f3e4a02a06b5e3749cc1fa9527", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "322c3dd2dde86cdbb16fcfdeeb3356241d4ce9f3e4a02a06b5e3749cc1fa9527", kill_on_drop: false }`
[INFO] [stdout] 322c3dd2dde86cdbb16fcfdeeb3356241d4ce9f3e4a02a06b5e3749cc1fa9527
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b53fac0fe9566601a0256080f9852138c1ac8c3e58e174af1b64033fd11894f5
[INFO] running `Command { std: "docker" "start" "-a" "b53fac0fe9566601a0256080f9852138c1ac8c3e58e174af1b64033fd11894f5", kill_on_drop: false }`
[INFO] [stderr]    Compiling oximedia-multicam v0.1.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 6.92s
[INFO] running `Command { std: "docker" "inspect" "b53fac0fe9566601a0256080f9852138c1ac8c3e58e174af1b64033fd11894f5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b53fac0fe9566601a0256080f9852138c1ac8c3e58e174af1b64033fd11894f5", kill_on_drop: false }`
[INFO] [stdout] b53fac0fe9566601a0256080f9852138c1ac8c3e58e174af1b64033fd11894f5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] ce68f8e184d1a5b3730a54cef67c6d15e806a45c28d36b95124e5c2dfb3b94dd
[INFO] running `Command { std: "docker" "start" "-a" "ce68f8e184d1a5b3730a54cef67c6d15e806a45c28d36b95124e5c2dfb3b94dd", 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_multicam-cc19581513c35f2c)
[INFO] [stdout] 
[INFO] [stdout] running 628 tests
[INFO] [stdout] test angle::tests::test_angle_selector_variety_avoids_previous ... ok
[INFO] [stdout] test angle::tests::test_angle_selector_no_penalty_without_previous ... ok
[INFO] [stdout] test angle::tests::test_angle_statistics_compute ... ok
[INFO] [stdout] test angle::tests::test_angle_selector_picks_largest_subject ... ok
[INFO] [stdout] test angle::tests::test_angle_coverage_creation ... ok
[INFO] [stdout] test angle::tests::test_camera_angle_creation ... ok
[INFO] [stdout] test angle::tests::test_angle_selector_empty ... ok
[INFO] [stdout] test angle::tests::test_switch_reason_variants ... ok
[INFO] [stdout] test angle_group::tests::test_angle_group_add_angle ... ok
[INFO] [stdout] test angle_group::tests::test_angle_group_id_value ... ok
[INFO] [stdout] test angle_group::tests::test_angle_group_no_duplicate_angles ... ok
[INFO] [stdout] test angle_group::tests::test_angle_group_registry_duplicate_rejected ... ok
[INFO] [stdout] test angle_group::tests::test_angle_group_registry_register_and_get ... ok
[INFO] [stdout] test angle_group::tests::test_angle_group_remove_angle ... ok
[INFO] [stdout] test angle_group::tests::test_coverage_map_average ... ok
[INFO] [stdout] test angle_group::tests::test_coverage_map_average_missing_group ... ok
[INFO] [stdout] test angle_group::tests::test_coverage_score_clamped ... ok
[INFO] [stdout] test angle_group::tests::test_group_switch_history_most_visited ... ok
[INFO] [stdout] test angle_group::tests::test_coverage_map_best_angle ... ok
[INFO] [stdout] test angle_group::tests::test_group_switch_history_empty ... ok
[INFO] [stdout] test angle_group::tests::test_group_switch_history_record ... ok
[INFO] [stdout] test angle_priority::tests::test_angle_priority_locked_out ... ok
[INFO] [stdout] test angle_group::tests::test_group_switch_history_switch_counts ... ok
[INFO] [stdout] test angle_priority::tests::test_angle_priority_manual_override ... ok
[INFO] [stdout] test angle_priority::tests::test_dwell_constraint_default ... ok
[INFO] [stdout] test angle_priority::tests::test_criterion_score_clamp ... ok
[INFO] [stdout] test angle_priority::tests::test_criterion_score_weighted ... ok
[INFO] [stdout] test angle_priority::tests::test_selector_force_angle ... ok
[INFO] [stdout] test angle_priority::tests::test_selector_dwell_constraint ... ok
[INFO] [stdout] test angle_priority::tests::test_selector_single_angle ... ok
[INFO] [stdout] test angle_priority::tests::test_selector_hysteresis ... ok
[INFO] [stdout] test angle_priority::tests::test_selector_picks_highest ... ok
[INFO] [stdout] test angle_score::tests::test_composition_metric_weight ... ok
[INFO] [stdout] test angle_score::tests::test_angle_score_partial ... ok
[INFO] [stdout] test angle_score::tests::test_angle_score_zero_total ... ok
[INFO] [stdout] test angle_score::tests::test_focus_weight ... ok
[INFO] [stdout] test angle_score::tests::test_scorer_single_angle ... ok
[INFO] [stdout] test angle_sync::tests::test_all_reliable_false ... ok
[INFO] [stdout] test angle_sync::tests::test_all_reliable_true ... ok
[INFO] [stdout] test angle_priority::tests::test_angle_priority_total ... ok
[INFO] [stdout] test angle_sync::tests::test_audio_clap_is_automatic ... ok
[INFO] [stdout] test angle_priority::tests::test_criteria_count ... ok
[INFO] [stdout] test angle::tests::test_angle_switch_log_empty ... ok
[INFO] [stdout] test angle_sync::tests::test_beat_sync_is_automatic ... ok
[INFO] [stdout] test angle_sync::tests::test_is_reliable_above_threshold ... ok
[INFO] [stdout] test angle::tests::test_angle_statistics_empty_log ... ok
[INFO] [stdout] test angle_score::tests::test_angle_score_perfect ... ok
[INFO] [stdout] test angle_score::tests::test_scorer_best_of_three ... ok
[INFO] [stdout] test angle_score::tests::test_angle_index_preserved ... ok
[INFO] [stdout] test angle_sync::tests::test_is_zero_false_negative ... ok
[INFO] [stdout] test angle_score::tests::test_scorer_best_of_two ... ok
[INFO] [stdout] test angle_sync::tests::test_manual_offset_not_automatic ... ok
[INFO] [stdout] test angle_priority::tests::test_selector_empty_returns_none ... ok
[INFO] [stdout] test angle_sync::tests::test_is_reliable_exact_threshold ... ok
[INFO] [stdout] test angle_sync::tests::test_max_offset_frames ... ok
[INFO] [stdout] test angle_sync::tests::test_offset_for_found ... ok
[INFO] [stdout] test angle_score::tests::test_scorer_empty_best_angle ... ok
[INFO] [stdout] test angle_score::tests::test_scorer_scores_accessor ... ok
[INFO] [stdout] test angle_sync::tests::test_max_offset_empty ... ok
[INFO] [stdout] test angle_score::tests::test_metric_weights_sum_to_one ... ok
[INFO] [stdout] test angle_sync::tests::test_offset_for_not_found ... ok
[INFO] [stdout] test angle_sync::tests::test_is_reliable_below_threshold ... ok
[INFO] [stdout] test angle::tests::test_angle_switch_log_record ... ok
[INFO] [stdout] test angle_sync::tests::test_is_zero_true ... ok
[INFO] [stdout] test angle_sync_ext::tests::test_check_detects_large_offset ... ok
[INFO] [stdout] test angle_sync_ext::tests::test_check_detects_negative_large_offset ... ok
[INFO] [stdout] test angle_sync_ext::tests::test_offset_for_camera_negative ... ok
[INFO] [stdout] test angle_sync_ext::tests::test_is_reliable_high_confidence ... ok
[INFO] [stdout] test angle_sync_ext::tests::test_synchronized_camera_count ... ok
[INFO] [stdout] test angle_sync_ext::tests::test_is_reliable_exactly_threshold_not_reliable ... ok
[INFO] [stdout] test angle_sync_ext::tests::test_is_reliable_just_above_threshold ... ok
[INFO] [stdout] test angle_sync_ext::tests::test_manual_not_automatic ... ok
[INFO] [stdout] test angle_sync::tests::test_timecode_is_automatic ... ok
[INFO] [stdout] test angle_sync_ext::tests::test_audio_peak_is_automatic ... ok
[INFO] [stdout] test angle_sync_ext::tests::test_check_no_violations ... ok
[INFO] [stdout] test angle_sync_ext::tests::test_clapper_detect_is_automatic ... ok
[INFO] [stdout] test angle_sync_ext::tests::test_is_reliable_low_confidence ... ok
[INFO] [stdout] test angle_sync::tests::test_is_zero_false_positive ... ok
[INFO] [stdout] test angle_sync_ext::tests::test_offset_for_camera_found ... ok
[INFO] [stdout] test auto::score::tests::test_angle_score_creation ... ok
[INFO] [stdout] test angle_sync_ext::tests::test_synchronized_camera_count_empty ... ok
[INFO] [stdout] test auto::score::tests::test_calculate_total ... ok
[INFO] [stdout] test auto::rules::tests::test_add_rule ... ok
[INFO] [stdout] test auto::score::tests::test_clear_data ... ok
[INFO] [stdout] test auto::rules::tests::test_clear_rules ... ok
[INFO] [stdout] test angle_sync_ext::tests::test_timecode_is_automatic ... ok
[INFO] [stdout] test auto::score::tests::test_add_face_data ... ok
[INFO] [stdout] test auto::rules::tests::test_concert_rules ... ok
[INFO] [stdout] test auto::score::tests::test_add_motion_data ... ok
[INFO] [stdout] test auto::rules::tests::test_rule_engine_creation ... ok
[INFO] [stdout] test auto::rules::tests::test_sports_rules ... ok
[INFO] [stdout] test auto::score::tests::test_scorer_creation ... ok
[INFO] [stdout] test auto::select::tests::test_auto_switcher_creation ... ok
[INFO] [stdout] test auto::select::tests::test_learning ... ok
[INFO] [stdout] test auto::select::tests::test_reset_preferences ... ok
[INFO] [stdout] test auto::select::tests::test_smart_switcher ... ok
[INFO] [stdout] test auto::score::tests::test_add_audio_data ... ok
[INFO] [stdout] test auto::select::tests::test_set_min_hold_frames ... ok
[INFO] [stdout] test auto::tests::test_default_criteria ... ok
[INFO] [stdout] test bank_ctrl::tests::test_camera_count ... ok
[INFO] [stdout] test bank_ctrl::tests::test_is_self_switch_false ... ok
[INFO] [stdout] test auto::score::tests::test_default_weights ... ok
[INFO] [stdout] test bank_ctrl::tests::test_pip_max_cameras ... ok
[INFO] [stdout] test bank_ctrl::tests::test_active_bank_not_found ... ok
[INFO] [stdout] test bank_ctrl::tests::test_contains_true ... ok
[INFO] [stdout] test bank_ctrl::tests::test_contains_false ... ok
[INFO] [stdout] test bank_ctrl::tests::test_grid_max_cameras ... ok
[INFO] [stdout] test bank_ctrl::tests::test_is_self_switch_true ... ok
[INFO] [stdout] test bank_ctrl::tests::test_active_bank_found ... ok
[INFO] [stdout] test bank_ctrl::tests::test_quad_max_cameras ... ok
[INFO] [stdout] test bank_system::tests::test_assign_angle_success ... ok
[INFO] [stdout] test bank_ctrl::tests::test_switch_rate_zero_window ... ok
[INFO] [stdout] test bank_ctrl::tests::test_single_max_cameras ... ok
[INFO] [stdout] test bank_system::tests::test_cut_to_updates_active_cut ... ok
[INFO] [stdout] test bank_system::tests::test_is_angle_in_bank_false ... ok
[INFO] [stdout] test bank_system::tests::test_four_up_count ... ok
[INFO] [stdout] test bank_system::tests::test_assign_angle_nonexistent_slot_ignored ... ok
[INFO] [stdout] test bank_system::tests::test_nine_up_count ... ok
[INFO] [stdout] test bank_system::tests::test_new_bank_slot_count ... ok
[INFO] [stdout] test bank_system::tests::test_new_bank_slots_unassigned ... ok
[INFO] [stdout] test bank_system::tests::test_slot_is_assigned_false ... ok
[INFO] [stdout] test bank_system::tests::test_three_up_count ... ok
[INFO] [stdout] test bank_system::tests::test_slot_is_assigned_true ... ok
[INFO] [stdout] test bank_system::tests::test_sixteen_up_count ... ok
[INFO] [stdout] test bank_system::tests::test_is_angle_in_bank_true ... ok
[INFO] [stdout] test bank_system::tests::test_two_up_count ... ok
[INFO] [stdout] test bank_ctrl::tests::test_switch_log_grows ... ok
[INFO] [stdout] test cam_label::tests::test_cam_label_new ... ok
[INFO] [stdout] test cam_label::tests::test_camera_role_display ... ok
[INFO] [stdout] test cam_label::tests::test_display ... ok
[INFO] [stdout] test cam_label::tests::test_metadata_label_no_operator ... ok
[INFO] [stdout] test cam_label::tests::test_metadata_label_with_operator ... ok
[INFO] [stdout] test cam_label::tests::test_registry_clear_tallies ... ok
[INFO] [stdout] test cam_label::tests::test_registry_find_by_role ... ok
[INFO] [stdout] test cam_label::tests::test_registry_indices_for_role ... ok
[INFO] [stdout] test bank_ctrl::tests::test_switch_rate_per_hour_simple ... ok
[INFO] [stdout] test bank_ctrl::tests::test_switch_to_invalid_bank_returns_false ... ok
[INFO] [stdout] test bank_ctrl::tests::test_switch_to_valid_bank ... ok
[INFO] [stdout] test cam_label::tests::test_registry_register_and_get ... ok
[INFO] [stdout] test cam_label::tests::test_registry_remove ... ok
[INFO] [stdout] test cam_metadata::tests::test_is_4k_true ... ok
[INFO] [stdout] test cam_label::tests::test_registry_set_on_air ... ok
[INFO] [stdout] test cam_label::tests::test_registry_summary ... ok
[INFO] [stdout] test cam_label::tests::test_switcher_label ... ok
[INFO] [stdout] test cam_label::tests::test_tally_color_display ... ok
[INFO] [stdout] test cam_label::tests::test_tally_state ... ok
[INFO] [stdout] test cam_metadata::tests::test_cinema_sensor_size ... ok
[INFO] [stdout] test cam_metadata::tests::test_is_4k_false_hd ... ok
[INFO] [stdout] test cam_metadata::tests::test_is_8k ... ok
[INFO] [stdout] test cam_metadata::tests::test_is_professional_broadcast ... ok
[INFO] [stdout] test cam_metadata::tests::test_is_professional_phone ... ok
[INFO] [stdout] test cam_metadata::tests::test_megapixels ... ok
[INFO] [stdout] test cam_metadata::tests::test_other_sensor_size_none ... ok
[INFO] [stdout] test cam_metadata::tests::test_phone_sensor_size ... ok
[INFO] [stdout] test cam_metadata::tests::test_registry_find_by_model ... ok
[INFO] [stdout] test cam_metadata::tests::test_registry_find_by_type ... ok
[INFO] [stdout] test cam_metadata::tests::test_registry_is_empty ... ok
[INFO] [stdout] test cam_metadata::tests::test_registry_register_and_count ... ok
[INFO] [stdout] test cam_metadata::tests::test_registry_remove ... ok
[INFO] [stdout] test cam_metadata::tests::test_registry_replace_existing ... ok
[INFO] [stdout] test clip_split::tests::test_auto_split_multiple_points_sorted ... ok
[INFO] [stdout] test clip_split::tests::test_auto_split_no_valid_points_returns_original ... ok
[INFO] [stdout] test clip_split::tests::test_auto_split_single_point ... ok
[INFO] [stdout] test clip_split::tests::test_clip_duration_frames ... ok
[INFO] [stdout] test clip_split::tests::test_clip_overlaps_false_adjacent ... ok
[INFO] [stdout] test clip_split::tests::test_clip_overlaps_false_gap ... ok
[INFO] [stdout] test clip_split::tests::test_clip_overlaps_true ... ok
[INFO] [stdout] test clip_split::tests::test_sequence_add_and_total_duration ... ok
[INFO] [stdout] test clip_split::tests::test_sequence_camera_cut_count ... ok
[INFO] [stdout] test clip_split::tests::test_sequence_clips_for_camera ... ok
[INFO] [stdout] test clip_split::tests::test_sequence_no_cuts_same_camera ... ok
[INFO] [stdout] test clip_split::tests::test_split_at_boundary_returns_none ... ok
[INFO] [stdout] test clip_split::tests::test_split_at_middle ... ok
[INFO] [stdout] test clip_split::tests::test_split_point_clean_cut_above_threshold ... ok
[INFO] [stdout] test clip_split::tests::test_split_point_not_clean_below_threshold ... ok
[INFO] [stdout] test color::balance::tests::test_apply_white_balance ... ok
[INFO] [stdout] test clip_split::tests::test_split_point_not_clean_at_threshold ... ok
[INFO] [stdout] test color::balance::tests::test_calculate_from_gray ... ok
[INFO] [stdout] test color::balance::tests::test_calculate_gains ... ok
[INFO] [stdout] test color::balance::tests::test_update_settings ... ok
[INFO] [stdout] test color::balance::tests::test_wb_matcher_creation ... ok
[INFO] [stdout] test color::balance::tests::test_wb_settings_creation ... ok
[INFO] [stdout] test color::match_color::tests::test_advanced_matcher ... ok
[INFO] [stdout] test color::match_color::tests::test_apply_correction ... ok
[INFO] [stdout] test color::match_color::tests::test_angles_needing_correction ... ok
[INFO] [stdout] test color::match_color::tests::test_color_matcher_creation ... ok
[INFO] [stdout] test color::match_color::tests::test_calculate_corrections ... ok
[INFO] [stdout] test color::match_color::tests::test_transfer_color ... ok
[INFO] [stdout] test color::match_color::tests::test_average_stats ... ok
[INFO] [stdout] test color::balance::tests::test_match_to_reference ... ok
[INFO] [stdout] test color::match_color::tests::test_check_consistency ... ok
[INFO] [stdout] test color::tests::test_identity_matrix ... ok
[INFO] [stdout] test color::tests::test_color_stats_creation ... ok
[INFO] [stdout] test color::match_color::tests::test_update_stats ... ok
[INFO] [stdout] test color::tests::test_color_distance ... ok
[INFO] [stdout] test color::balance::tests::test_estimate_temperature ... ok
[INFO] [stdout] test composite::grid::tests::test_angle_at_position ... ok
[INFO] [stdout] test composite::grid::tests::test_grid_2x2 ... ok
[INFO] [stdout] test color::tests::test_matrix_multiplication ... ok
[INFO] [stdout] test composite::grid::tests::test_grid_3x3 ... ok
[INFO] [stdout] test composite::grid::tests::test_set_angle_at_position ... ok
[INFO] [stdout] test composite::grid::tests::test_optimal_grid ... ok
[INFO] [stdout] test composite::grid::tests::test_spacing ... ok
[INFO] [stdout] test composite::pip::tests::test_animation_position ... ok
[INFO] [stdout] test composite::grid::tests::test_grid_creation ... ok
[INFO] [stdout] test composite::grid::tests::test_spotlight_grid ... ok
[INFO] [stdout] test composite::pip::tests::test_pip_position ... ok
[INFO] [stdout] test composite::pip::tests::test_pip_regions ... ok
[INFO] [stdout] test composite::pip::tests::test_pip_animation ... ok
[INFO] [stdout] test composite::pip::tests::test_pip_creation ... ok
[INFO] [stdout] test composite::pip::tests::test_pip_dimensions ... ok
[INFO] [stdout] test composite::pip::tests::test_swap_angles ... ok
[INFO] [stdout] test composite::split::tests::test_horizontal_split_regions ... ok
[INFO] [stdout] test composite::split::tests::test_multi_split ... ok
[INFO] [stdout] test composite::split::tests::test_swap_angles ... ok
[INFO] [stdout] test composite::split::tests::test_split_creation ... ok
[INFO] [stdout] test composite::split::tests::test_three_way_horizontal ... ok
[INFO] [stdout] test composite::split::tests::test_three_way_main_left ... ok
[INFO] [stdout] test composite::split::tests::test_split_ratio ... ok
[INFO] [stdout] test composite::tests::test_layout_pip ... ok
[INFO] [stdout] test composite::split::tests::test_vertical_split_regions ... ok
[INFO] [stdout] test coverage_map::tests::test_camera_position_fields_stored ... ok
[INFO] [stdout] test coverage_map::tests::test_can_see_negative_angle ... ok
[INFO] [stdout] test coverage_map::tests::test_can_see_target_within_fov ... ok
[INFO] [stdout] test coverage_map::tests::test_compute_coverage_grid_has_correct_cell_count ... ok
[INFO] [stdout] test coverage_map::tests::test_coverage_cell_is_covered_with_cameras ... ok
[INFO] [stdout] test coverage_map::tests::test_coverage_cell_not_covered_when_empty ... ok
[INFO] [stdout] test coverage_map::tests::test_coverage_pct_no_cameras_zero ... ok
[INFO] [stdout] test coverage_map::tests::test_coverage_pct_wide_camera_covers_some_area ... ok
[INFO] [stdout] test coverage_map::tests::test_field_of_view_boundaries ... ok
[INFO] [stdout] test coverage_map::tests::test_uncovered_areas_no_cameras_returns_all_cells ... ok
[INFO] [stdout] test cut_analysis::tests::test_analyzer_empty_report ... ok
[INFO] [stdout] test cut_analysis::tests::test_analyzer_report_duration ... ok
[INFO] [stdout] test cut_analysis::tests::test_cuts_per_minute_sixty_seconds ... ok
[INFO] [stdout] test cut_analysis::tests::test_cut_event_fields ... ok
[INFO] [stdout] test cut_analysis::tests::test_cuts_per_minute_zero_duration ... ok
[INFO] [stdout] test cut_analysis::tests::test_dominant_type_hard ... ok
[INFO] [stdout] test cut_analysis::tests::test_dominant_soft_tie_broken_by_order ... ok
[INFO] [stdout] test cut_analysis::tests::test_dominant_type_jump ... ok
[INFO] [stdout] test cut_analysis::tests::test_dominant_type_none_when_empty ... ok
[INFO] [stdout] test cut_analysis::tests::test_hard_cut_pacing ... ok
[INFO] [stdout] test cut_analysis::tests::test_jump_cut_pacing_highest ... ok
[INFO] [stdout] test coverage_map::tests::test_cannot_see_target_outside_fov ... ok
[INFO] [stdout] test cut_point::tests::test_audio_energy_below_quiet_threshold_no_cut ... ok
[INFO] [stdout] test cut_point::tests::test_audio_energy_detects_sudden_rise ... ok
[INFO] [stdout] test cut_point::tests::test_audio_energy_no_cuts_flat_signal ... ok
[INFO] [stdout] test cut_point::tests::test_cut_point_confidence_clamped_low ... ok
[INFO] [stdout] test cut_point::tests::test_cut_point_list_empty ... ok
[INFO] [stdout] test composite::tests::test_layout_single ... ok
[INFO] [stdout] test coverage_map::tests::test_analyzer_add_camera ... ok
[INFO] [stdout] test coverage_map::tests::test_analyzer_new_no_cameras ... ok
[INFO] [stdout] test cut_point::tests::test_cut_point_confidence_clamped_high ... ok
[INFO] [stdout] test cut_analysis::tests::test_soft_cut_pacing ... ok
[INFO] [stdout] test cut_point::tests::test_cut_point_list_filter_confidence ... ok
[INFO] [stdout] test cut_point::tests::test_cut_point_list_filter_kind ... ok
[INFO] [stdout] test color::balance::tests::test_detect_gray_card ... ok
[INFO] [stdout] test cut_point::tests::test_dialogue_cut_no_cut_same_speaker_short_gap ... ok
[INFO] [stdout] test edit::switch::tests::test_min_hold_time ... ok
[INFO] [stdout] test cut_point::tests::test_cut_point_list_from_merged_sorted ... ok
[INFO] [stdout] test cut_point::tests::test_dialogue_cut_gap_between_speakers ... ok
[INFO] [stdout] test cut_point::tests::test_motion_cut_detects_end_of_move ... ok
[INFO] [stdout] test edit::switch::tests::test_average_interval ... ok
[INFO] [stdout] test edit::switch::tests::test_force_switch ... ok
[INFO] [stdout] test auto::rules::tests::test_talk_show_rules ... ok
[INFO] [stdout] test cut_analysis::tests::test_total_cuts ... ok
[INFO] [stdout] test edit::switch::tests::test_advanced_switcher_modes ... ok
[INFO] [stdout] test edit::switch::tests::test_switch_to ... ok
[INFO] [stdout] test edit::switch::tests::test_switcher_creation ... ok
[INFO] [stdout] test edit::tests::test_edit_decision_cut ... ok
[INFO] [stdout] test edit::tests::test_edit_decision_dissolve ... ok
[INFO] [stdout] test edit::timeline::tests::test_add_edit ... ok
[INFO] [stdout] test edit::timeline::tests::test_optimize ... ok
[INFO] [stdout] test edit::timeline::tests::test_get_angle_at_frame ... ok
[INFO] [stdout] test edit::timeline::tests::test_timeline_creation ... ok
[INFO] [stdout] test edit::timeline::tests::test_ripple ... ok
[INFO] [stdout] test edit::timeline::tests::test_segments ... ok
[INFO] [stdout] test edit::transition::tests::test_easing_functions ... ok
[INFO] [stdout] test edit::timeline::tests::test_transition_progress ... ok
[INFO] [stdout] test edit::transition::tests::test_transition_engine_creation ... ok
[INFO] [stdout] test edit::transition::tests::test_transition_library ... ok
[INFO] [stdout] test edit::transition::tests::test_transition_presets ... ok
[INFO] [stdout] test edit::transition::tests::test_transition_progress ... ok
[INFO] [stdout] test edit::transition::tests::test_library_add_remove ... ok
[INFO] [stdout] test edit::transition::tests::test_wipe_position ... ok
[INFO] [stdout] test edit_decision::tests::test_edit_decision_contains_frame ... ok
[INFO] [stdout] test edit::switch::tests::test_switch_statistics ... ok
[INFO] [stdout] test edit::timeline::tests::test_validate ... ok
[INFO] [stdout] test edit::transition::tests::test_mix_levels ... ok
[INFO] [stdout] test edit_decision::tests::test_edl_add_and_len ... ok
[INFO] [stdout] test edit_decision::tests::test_edl_at_frame_found ... ok
[INFO] [stdout] test cut_point::tests::test_dialogue_cut_speaker_change ... ok
[INFO] [stdout] test edit_decision::tests::test_edl_camera_usage_pct_empty ... ok
[INFO] [stdout] test edit_decision::tests::test_edl_camera_usage_pct_even_split ... ok
[INFO] [stdout] test edit_decision::tests::test_edl_at_frame_not_found ... ok
[INFO] [stdout] test edit_decision::tests::test_edl_camera_usage_pct_uneven ... ok
[INFO] [stdout] test edit_decision::tests::test_edit_decision_duration_single_frame ... ok
[INFO] [stdout] test genlock_master::tests::test_add_source ... ok
[INFO] [stdout] test genlock_master::tests::test_drift_detection ... ok
[INFO] [stdout] test genlock_master::tests::test_genlock_config_defaults ... ok
[INFO] [stdout] test genlock_master::tests::test_frame_interval_25fps ... ok
[INFO] [stdout] test cut_point::tests::test_motion_cut_no_cut_all_motion ... ok
[INFO] [stdout] test edit_decision::tests::test_edl_iter ... ok
[INFO] [stdout] test edit_decision::tests::test_edl_decisions_for_camera ... ok
[INFO] [stdout] test cut_point::tests::test_motion_cut_no_cut_run_too_short ... ok
[INFO] [stdout] test edit_decision::tests::test_edl_total_duration ... ok
[INFO] [stdout] test edit_decision::tests::test_edit_decision_duration_range ... ok
[INFO] [stdout] test genlock_master::tests::test_all_locked ... ok
[INFO] [stdout] test genlock_master::tests::test_lock_status_display ... ok
[INFO] [stdout] test edit_decision::tests::test_edl_is_empty ... ok
[INFO] [stdout] test genlock_master::tests::test_no_signal_report ... ok
[INFO] [stdout] test highlight::tests::test_detect_dense_cuts_region ... ok
[INFO] [stdout] test genlock_master::tests::test_phase_offset_negative ... ok
[INFO] [stdout] test genlock_master::tests::test_lock_acquisition ... ok
[INFO] [stdout] test highlight::tests::test_detect_empty_frames ... ok
[INFO] [stdout] test genlock_master::tests::test_phase_offset_zero ... ok
[INFO] [stdout] test genlock_master::tests::test_ref_standard_display ... ok
[INFO] [stdout] test highlight::tests::test_detect_silent_no_cuts_no_highlights ... ok
[INFO] [stdout] test highlight::tests::test_detect_scores_bounded ... ok
[INFO] [stdout] test genlock_master::tests::test_remove_source ... ok
[INFO] [stdout] test highlight::tests::test_highlight_segment_does_not_overlap_gap ... ok
[INFO] [stdout] test highlight::tests::test_frame_energy_stores_values ... ok
[INFO] [stdout] test highlight::tests::test_highlight_segment_duration ... ok
[INFO] [stdout] test highlight::tests::test_highlight_segment_merge_takes_max_score ... ok
[INFO] [stdout] test genlock_master::tests::test_summary ... ok
[INFO] [stdout] test highlight::tests::test_detect_high_energy_region ... ok
[INFO] [stdout] test genlock_master::tests::test_tick_counter ... ok
[INFO] [stdout] test highlight::tests::test_frame_energy_clamps_negative ... ok
[INFO] [stdout] test genlock_master::tests::test_unlocked_sources ... ok
[INFO] [stdout] test highlight::tests::test_detect_combined_energy_and_cuts ... ok
[INFO] [stdout] test genlock_master::tests::test_phase_offset_display_positive ... ok
[INFO] [stdout] test genlock_master::tests::test_phase_offset_positive ... ok
[INFO] [stdout] test highlight::tests::test_merge_overlapping_merges_adjacent ... ok
[INFO] [stdout] test angle_sync_ext::tests::test_offset_for_camera_not_found ... ok
[INFO] [stdout] test highlight::tests::test_highlight_segment_overlaps_adjacent ... ok
[INFO] [stdout] test highlight_detect::tests::test_detector_builder ... ok
[INFO] [stdout] test highlight_detect::tests::test_merge_moments_keeps_separated ... ok
[INFO] [stdout] test highlight_detect::tests::test_merge_moments_merges_nearby ... ok
[INFO] [stdout] test highlight::tests::test_merge_overlapping_keeps_separated ... ok
[INFO] [stdout] test iso_file_sync::tests::test_add_iso_increases_file_count ... ok
[INFO] [stdout] test angle_group::tests::test_angle_group_registry_by_priority ... ok
[INFO] [stdout] test iso_file_sync::tests::test_frame_at_session_offset_negative_yields_none ... ok
[INFO] [stdout] test iso_file_sync::tests::test_frame_at_session_offset_no_file_returns_none ... ok
[INFO] [stdout] test iso_file_sync::tests::test_to_edl_empty_session ... ok
[INFO] [stdout] test iso_file_sync::tests::test_to_edl_lines_count ... ok
[INFO] [stdout] test iso_file_sync::tests::test_to_edl_line_starts_with_event_number ... ok
[INFO] [stdout] test iso_file_sync::tests::test_to_edl_line_contains_reel ... ok
[INFO] [stdout] test iso_file_sync::tests::test_to_edl_timecode_format ... ok
[INFO] [stdout] test iso_file_sync::tests::test_duration_seconds_zero_fps ... ok
[INFO] [stdout] test iso_record::tests::test_add_channel ... ok
[INFO] [stdout] test iso_file_sync::tests::test_frame_at_session_offset_no_offset_recorded ... ok
[INFO] [stdout] test iso_file_sync::tests::test_duration_seconds ... ok
[INFO] [stdout] test iso_file_sync::tests::test_set_offset_and_synced_count ... ok
[INFO] [stdout] test iso_file_sync::tests::test_frame_at_session_offset_positive_offset ... ok
[INFO] [stdout] test iso_record::tests::test_arm_all ... ok
[INFO] [stdout] test iso_record::tests::test_armed_not_active ... ok
[INFO] [stdout] test iso_record::tests::test_duration_seconds_zero_fps ... ok
[INFO] [stdout] test iso_record::tests::test_idle_not_active ... ok
[INFO] [stdout] test iso_record::tests::test_error_not_active ... ok
[INFO] [stdout] test iso_record::tests::test_recording_channels_count ... ok
[INFO] [stdout] test iso_record::tests::test_recording_channels_empty_when_stopped ... ok
[INFO] [stdout] test iso_record::tests::test_duration_seconds ... ok
[INFO] [stdout] test iso_record::tests::test_recording_is_active ... ok
[INFO] [stdout] test iso_record::tests::test_total_duration_frames ... ok
[INFO] [stdout] test iso_record::tests::test_start_all ... ok
[INFO] [stdout] test iso_recording::tests::test_file_naming_format ... ok
[INFO] [stdout] test iso_record::tests::test_start_recording_from_armed ... ok
[INFO] [stdout] test iso_record::tests::test_start_recording_noop_from_idle ... ok
[INFO] [stdout] test iso_recording::tests::test_file_naming_proxy ... ok
[INFO] [stdout] test iso_recording::tests::test_file_naming_session_uppercase ... ok
[INFO] [stdout] test highlight_detect::tests::test_detect_highlights_empty ... ok
[INFO] [stdout] test iso_recording::tests::test_iso_quality_bitrate_multiplier ... ok
[INFO] [stdout] test iso_file_sync::tests::test_frame_at_session_offset_negative_offset_in_range ... ok
[INFO] [stdout] test iso_record::tests::test_stop_recording_from_recording ... ok
[INFO] [stdout] test iso_record::tests::test_stop_recording_noop_from_armed ... ok
[INFO] [stdout] test highlight_detect::tests::test_detect_highlights_audio_peak ... ok
[INFO] [stdout] test iso_file_sync::tests::test_end_timecode_frames ... ok
[INFO] [stdout] test iso_recording::tests::test_iso_quality_labels ... ok
[INFO] [stdout] test iso_record::tests::test_stopped_not_active ... ok
[INFO] [stdout] test iso_recording::tests::test_iso_recorder_add_stream ... ok
[INFO] [stdout] test iso_recording::tests::test_iso_recorder_double_start ... ok
[INFO] [stdout] test iso_recording::tests::test_iso_recorder_replace_stream ... ok
[INFO] [stdout] test iso_recording::tests::test_iso_recorder_start_stop ... ok
[INFO] [stdout] test iso_sync::tests::test_drift_correction_model_predict ... ok
[INFO] [stdout] test iso_recording::tests::test_iso_session_duration ... ok
[INFO] [stdout] test iso_recording::tests::test_iso_session_streams_by_quality ... ok
[INFO] [stdout] test iso_recording::tests::test_iso_stream_creation ... ok
[INFO] [stdout] test iso_record::tests::test_stop_all ... ok
[INFO] [stdout] test iso_sync::tests::test_drift_correction_model_too_few_samples ... ok
[INFO] [stdout] test highlight_detect::tests::test_detect_highlights_cut_density ... ok
[INFO] [stdout] test iso_sync::tests::test_drift_correction_correct_timestamp ... ok
[INFO] [stdout] test iso_sync::tests::test_iso_sync_session_correlation ... ok
[INFO] [stdout] test iso_sync::tests::test_iso_track_duration_seconds ... ok
[INFO] [stdout] test iso_sync::tests::test_iso_track_id_value ... ok
[INFO] [stdout] test iso_sync::tests::test_drift_correction_model_fit_linear ... ok
[INFO] [stdout] test iso_sync::tests::test_timecode_correlation_offset_ms ... ok
[INFO] [stdout] test manual::control::tests::test_direct_switch ... ok
[INFO] [stdout] test iso_sync::tests::test_timecode_correlation_confidence_clamped ... ok
[INFO] [stdout] test manual::control::tests::test_events_by_type ... ok
[INFO] [stdout] test iso_sync::tests::test_iso_sync_session_track_operations ... ok
[INFO] [stdout] test manual::control::tests::test_keyboard_shortcuts ... ok
[INFO] [stdout] test manual::control::tests::test_tbar_controller ... ok
[INFO] [stdout] test manual::control::tests::test_transition_preview ... ok
[INFO] [stdout] test iso_sync::tests::test_timecode_correlation_is_synced ... ok
[INFO] [stdout] test manual::preview::tests::test_aspect_ratio ... ok
[INFO] [stdout] test manual::preview::tests::test_create_grid_layout ... ok
[INFO] [stdout] test manual::preview::tests::test_main_plus_5 ... ok
[INFO] [stdout] test manual::preview::tests::test_multiview_builder ... ok
[INFO] [stdout] test manual::control::tests::test_preview_program ... ok
[INFO] [stdout] test manual::preview::tests::test_preview_window_creation ... ok
[INFO] [stdout] test manual::tests::test_control_mode ... ok
[INFO] [stdout] test manual::preview::tests::test_select_preview ... ok
[INFO] [stdout] test manual::control::tests::test_manual_controller_creation ... ok
[INFO] [stdout] test manual::preview::tests::test_visibility ... ok
[INFO] [stdout] test manual::preview::tests::test_multiview_layout ... ok
[INFO] [stdout] test iso_sync::tests::test_iso_sync_session_drift_model ... ok
[INFO] [stdout] test metadata::markers::tests::test_add_remove_angle ... ok
[INFO] [stdout] test manual::preview::tests::test_preview_manager_creation ... ok
[INFO] [stdout] test iso_sync::tests::test_drift_correction_model_sample_count ... ok
[INFO] [stdout] test metadata::markers::tests::test_marker_manager_creation ... ok
[INFO] [stdout] test metadata::markers::tests::test_affects_angle ... ok
[INFO] [stdout] test metadata::markers::tests::test_markers_by_type ... ok
[INFO] [stdout] test metadata::markers::tests::test_add_sync_point ... ok
[INFO] [stdout] test metadata::markers::tests::test_markers_at_frame ... ok
[INFO] [stdout] test metadata::markers::tests::test_next_previous_marker ... ok
[INFO] [stdout] test metadata::markers::tests::test_export_csv ... ok
[INFO] [stdout] test metadata::markers::tests::test_remove_marker ... ok
[INFO] [stdout] test metadata::markers::tests::test_markers_for_angle ... ok
[INFO] [stdout] test metadata::markers::tests::test_sync_marker_creation ... ok
[INFO] [stdout] test metadata::markers::tests::test_add_marker ... ok
[INFO] [stdout] test metadata::markers::tests::test_sort_by_frame ... ok
[INFO] [stdout] test metadata::track::tests::test_add_frame_metadata ... ok
[INFO] [stdout] test metadata::track::tests::test_angle_metadata_creation ... ok
[INFO] [stdout] test multicam_export::tests::test_pip_track_count ... ok
[INFO] [stdout] test multicam_export::tests::test_side_by_side_track_count ... ok
[INFO] [stdout] test metadata::track::tests::test_custom_metadata ... ok
[INFO] [stdout] test metadata::track::tests::test_export_json ... ok
[INFO] [stdout] test metadata::markers::tests::test_markers_in_range ... ok
[INFO] [stdout] test metadata::tests::test_metadata_entry_creation ... ok
[INFO] [stdout] test multicam_export::tests::test_angles_accessor ... ok
[INFO] [stdout] test multicam_export::tests::test_build_layout_returns_configured_layout ... ok
[INFO] [stdout] test metadata::track::tests::test_metadata_query ... ok
[INFO] [stdout] test metadata::track::tests::test_find_by_key ... ok
[INFO] [stdout] test metadata::track::tests::test_get_frame_metadata ... ok
[INFO] [stdout] test metadata::track::tests::test_tracker_creation ... ok
[INFO] [stdout] test multicam_export::tests::test_validate_single_angle_ok ... ok
[INFO] [stdout] test replay_buffer::tests::test_angle_buffer_push_and_len ... ok
[INFO] [stdout] test replay_buffer::tests::test_manager_clear_segments ... ok
[INFO] [stdout] test replay_buffer::tests::test_manager_play_pause_stop ... ok
[INFO] [stdout] test multicam_export::tests::test_single_angle_track_count ... ok
[INFO] [stdout] test replay_buffer::tests::test_playback_speed_clamp_high ... ok
[INFO] [stdout] test multicam_export::tests::test_validate_multiple_primary_fails ... ok
[INFO] [stdout] test multicam_export::tests::test_validate_no_angles_fails ... ok
[INFO] [stdout] test multicam_export::tests::test_validate_no_primary_fails ... ok
[INFO] [stdout] test multicam_export::tests::test_validate_side_by_side_missing_angle ... ok
[INFO] [stdout] test multicam_export::tests::test_validate_side_by_side_ok ... ok
[INFO] [stdout] test replay_buffer::tests::test_angle_buffer_circular_eviction ... ok
[INFO] [stdout] test replay_buffer::tests::test_manager_register_and_push ... ok
[INFO] [stdout] test replay_buffer::tests::test_manager_switch_angle ... ok
[INFO] [stdout] test multicam_export::tests::test_export_angle_is_primary ... ok
[INFO] [stdout] test replay_buffer::tests::test_replay_segment_duration ... ok
[INFO] [stdout] test replay_buffer::tests::test_segment_with_label ... ok
[INFO] [stdout] test replay_buffer::tests::test_replay_segment_playback_duration ... ok
[INFO] [stdout] test spatial::align::tests::test_align_point ... ok
[INFO] [stdout] test spatial::align::tests::test_calculate_alignment ... ok
[INFO] [stdout] test spatial::align::tests::test_calculate_centroid ... ok
[INFO] [stdout] test multicam_export::tests::test_export_angle_label ... ok
[INFO] [stdout] test replay_buffer::tests::test_playback_speed_clamp_low ... ok
[INFO] [stdout] test multicam_export::tests::test_grid_track_count ... ok
[INFO] [stdout] test replay_buffer::tests::test_playback_speed_new ... ok
[INFO] [stdout] test spatial::align::tests::test_set_transform ... ok
[INFO] [stdout] test replay_buffer::tests::test_playback_speed_presets ... ok
[INFO] [stdout] test spatial::stitch::tests::test_add_overlap_region ... ok
[INFO] [stdout] test spatial::align::tests::test_aligner_creation ... ok
[INFO] [stdout] test spatial::align::tests::test_alignment_quality ... ok
[INFO] [stdout] test spatial::align::tests::test_reset ... ok
[INFO] [stdout] test spatial::stitch::tests::test_calculate_blend_weight ... ok
[INFO] [stdout] test spatial::stitch::tests::test_calculate_panorama_size ... ok
[INFO] [stdout] test replay_buffer::tests::test_angle_buffer_get_frame ... ok
[INFO] [stdout] test spatial::stitch::tests::test_cylindrical_projection ... ok
[INFO] [stdout] test spatial::stitch::tests::test_find_overlap_at ... ok
[INFO] [stdout] test spatial::stitch::tests::test_projection_roundtrip ... ok
[INFO] [stdout] test spatial::stitch::tests::test_set_blend_mode ... ok
[INFO] [stdout] test spatial::stitch::tests::test_stitcher_creation ... ok
[INFO] [stdout] test spatial::tests::test_identity_transform ... ok
[INFO] [stdout] test spatial::tests::test_inverse ... ok
[INFO] [stdout] test spatial::tests::test_scaling ... ok
[INFO] [stdout] test spatial::tests::test_translation ... ok
[INFO] [stdout] test switch_list::tests::test_active_angle_at ... ok
[INFO] [stdout] test spatial::stitch::tests::test_detect_overlaps ... ok
[INFO] [stdout] test switch_list::tests::test_switch_entry_display ... ok
[INFO] [stdout] test switch_list::tests::test_switch_entry_dissolve ... ok
[INFO] [stdout] test switch_list::tests::test_switch_entry_with_note ... ok
[INFO] [stdout] test switch_list::tests::test_validate_duplicate_frames ... ok
[INFO] [stdout] test switch_list::tests::test_switch_list_add_and_sort ... ok
[INFO] [stdout] test switch_list::tests::test_validate_no_warnings ... ok
[INFO] [stdout] test switch_list::tests::test_switch_list_is_empty ... ok
[INFO] [stdout] test switcher::tests::test_active_sources_filtered ... ok
[INFO] [stdout] test switch_list::tests::test_coverage_stats ... ok
[INFO] [stdout] test switch_list::tests::test_to_text ... ok
[INFO] [stdout] test switch_list::tests::test_last_frame ... ok
[INFO] [stdout] test switch_list::tests::test_transition_counts ... ok
[INFO] [stdout] test switch_list::tests::test_merge ... ok
[INFO] [stdout] test switch_list::tests::test_transition_kind_display ... ok
[INFO] [stdout] test switch_list::tests::test_remove_entry ... ok
[INFO] [stdout] test switch_list::tests::test_validate_out_of_range_angle ... ok
[INFO] [stdout] test switch_list::tests::test_switch_entry_cut ... ok
[INFO] [stdout] test switcher::tests::test_cut_to_invalid_source_returns_false ... ok
[INFO] [stdout] test switcher::tests::test_cut_to_valid_source ... ok
[INFO] [stdout] test switcher::tests::test_cut_transition_frames_zero ... ok
[INFO] [stdout] test switcher::tests::test_set_preview_invalid_source_returns_false ... ok
[INFO] [stdout] test switcher::tests::test_dissolve_to_valid_source ... ok
[INFO] [stdout] test switcher::tests::test_dissolve_transition_frames ... ok
[INFO] [stdout] test switcher::tests::test_set_preview_valid_source ... ok
[INFO] [stdout] test switcher::tests::test_smash_cut_transition_frames_zero ... ok
[INFO] [stdout] test switcher::tests::test_source_fields_stored ... ok
[INFO] [stdout] test switcher::tests::test_source_active_is_ready ... ok
[INFO] [stdout] test switcher::tests::test_state_is_transitioning_during_dissolve ... ok
[INFO] [stdout] test switcher::tests::test_source_new_inactive ... ok
[INFO] [stdout] test switcher::tests::test_state_program_source ... ok
[INFO] [stdout] test switcher::tests::test_state_not_transitioning_when_no_transition ... ok
[INFO] [stdout] test switcher::tests::test_take_without_preview_returns_false ... ok
[INFO] [stdout] test sync::audio::tests::test_downsample ... ok
[INFO] [stdout] test sync::audio::tests::test_audio_sync_creation ... ok
[INFO] [stdout] test switcher::tests::test_take_cuts_preview_to_program ... ok
[INFO] [stdout] test sync::audio::tests::test_normalize_audio ... ok
[INFO] [stdout] test switcher::tests::test_wipe_transition_frames_zero ... ok
[INFO] [stdout] test sync::audio::tests::test_compute_energy ... ok
[INFO] [stdout] test sync::audio::tests::test_add_audio ... ok
[INFO] [stdout] test sync::cross_correlate::tests::test_empty_b_returns_error ... ok
[INFO] [stdout] test highlight_detect::tests::test_scores_bounded ... ok
[INFO] [stdout] test sync::cross_correlate::tests::test_empty_a_returns_error ... ok
[INFO] [stdout] test sync::cross_correlate::tests::test_new_stores_sample_rate ... ok
[INFO] [stdout] test sync::drift::tests::test_drift_correction ... ok
[INFO] [stdout] test sync::drift::tests::test_drift_detector_creation ... ok
[INFO] [stdout] test sync::drift::tests::test_drift_corrector_gradual ... ok
[INFO] [stdout] test sync::drift::tests::test_drift_monitor ... ok
[INFO] [stdout] test sync::drift::tests::test_drift_corrector_immediate ... ok
[INFO] [stdout] test sync::drift::tests::test_drift_detection ... ok
[INFO] [stdout] test sync::genlock::tests::test_align_frame ... ok
[INFO] [stdout] test sync::genlock::tests::test_calculate_vsync ... ok
[INFO] [stdout] test sync::genlock::tests::test_generate_signal ... ok
[INFO] [stdout] test sync::genlock::tests::test_generate_trilevel_sync ... ok
[INFO] [stdout] test sync::genlock::tests::test_set_master_clock ... ok
[INFO] [stdout] test sync::genlock::tests::test_lock_phase ... ok
[INFO] [stdout] test sync::temporal::tests::test_add_timestamps ... ok
[INFO] [stdout] test sync::temporal::tests::test_drift_detection ... ok
[INFO] [stdout] test sync::temporal::tests::test_align_frames ... ok
[INFO] [stdout] test sync::genlock::tests::test_genlock_creation ... ok
[INFO] [stdout] test sync::tests::test_sync_offset_conversion ... ok
[INFO] [stdout] test sync::tests::test_sync_offset ... ok
[INFO] [stdout] test sync::visual::tests::test_filter_markers ... ok
[INFO] [stdout] test sync::timecode::tests::test_find_timecode_at_frame ... ok
[INFO] [stdout] test sync::timecode::tests::test_timecode_entry ... ok
[INFO] [stdout] test sync::timecode::tests::test_timecode_sync_creation ... ok
[INFO] [stdout] test sync::temporal::tests::test_temporal_sync_creation ... ok
[INFO] [stdout] test sync_report::tests::test_entry_is_synced ... ok
[INFO] [stdout] test sync::tests::test_default_config ... ok
[INFO] [stdout] test sync_report::tests::test_report_all_synced_ignores_unknown ... ok
[INFO] [stdout] test sync_report::tests::test_report_all_synced_true ... ok
[INFO] [stdout] test sync_report::tests::test_report_camera_count ... ok
[INFO] [stdout] test sync_report::tests::test_report_drifted_cameras ... ok
[INFO] [stdout] test sync_report::tests::test_report_synced_count ... ok
[INFO] [stdout] test sync_report::tests::test_report_worst_offset_empty ... ok
[INFO] [stdout] test sync_report::tests::test_report_worst_offset_ms ... ok
[INFO] [stdout] test sync_report::tests::test_sync_status_is_active ... ok
[INFO] [stdout] test sync_report::tests::test_sync_status_is_drifted ... ok
[INFO] [stdout] test sync_report::tests::test_sync_status_is_synced ... ok
[INFO] [stdout] test sync_verify::tests::test_diagnostics_at_level_filter ... ok
[INFO] [stdout] test sync_verify::tests::test_duplicate_angle_error ... ok
[INFO] [stdout] test sync_report::tests::test_entry_offset_ms ... ok
[INFO] [stdout] test sync::visual::tests::test_visual_sync_creation ... ok
[INFO] [stdout] test sync_report::tests::test_report_all_synced_false_with_drift ... ok
[INFO] [stdout] test sync_verify::tests::test_empty_offsets_error ... ok
[INFO] [stdout] test sync::visual::tests::test_get_markers_by_type ... ok
[INFO] [stdout] test sync::timecode::tests::test_detect_breaks ... ok
[INFO] [stdout] test sync::visual::tests::test_visual_marker ... ok
[INFO] [stdout] test sync_verify::tests::test_from_sync_config ... ok
[INFO] [stdout] test sync_verify::tests::test_genlock_tight_constraint ... ok
[INFO] [stdout] test sync_verify::tests::test_max_offset_reported ... ok
[INFO] [stdout] test sync_verify::tests::test_missing_angles_warning ... ok
[INFO] [stdout] test sync_verify::tests::test_pairwise_drift_warning ... ok
[INFO] [stdout] test sync_verify::tests::test_passing_verification ... ok
[INFO] [stdout] test sync_verify::tests::test_reference_non_zero_warning ... ok
[INFO] [stdout] test sync_verify::tests::test_sub_frame_out_of_range ... ok
[INFO] [stdout] test sync_verify::tests::test_implausible_offset ... ok
[INFO] [stdout] test sync_verify::tests::test_very_low_confidence_error ... ok
[INFO] [stdout] test tally_system::tests::test_controller_clock ... ok
[INFO] [stdout] test sync_verify::tests::test_low_confidence_warning ... ok
[INFO] [stdout] test tally_system::tests::test_controller_set_preview ... ok
[INFO] [stdout] test tally_system::tests::test_controller_set_program ... ok
[INFO] [stdout] test tally_system::tests::test_controller_update_from_buses ... ok
[INFO] [stdout] test tally_system::tests::test_default_config ... ok
[INFO] [stdout] test tally_system::tests::test_tally_color_is_lit ... ok
[INFO] [stdout] test tally_system::tests::test_controller_default_trait ... ok
[INFO] [stdout] test tests::test_camera_position ... ok
[INFO] [stdout] test tally_system::tests::test_tally_state_program ... ok
[INFO] [stdout] test tally_system::tests::test_tally_state_off ... ok
[INFO] [stdout] test tally_system::tests::test_tally_state_iso_record ... ok
[INFO] [stdout] test tally_system::tests::test_tally_state_preview ... ok
[INFO] [stdout] test tally_system::tests::test_controller_history ... ok
[INFO] [stdout] test tests::test_default_config ... ok
[INFO] [stdout] test timecode_sync::tests::test_align_cameras_empty ... ok
[INFO] [stdout] test timecode_sync::tests::test_sync_validator_large_offset_warning ... ok
[INFO] [stdout] test timecode_sync::tests::test_align_cameras_no_offset ... ok
[INFO] [stdout] test timecode_sync::tests::test_sync_validator_low_confidence_warning ... ok
[INFO] [stdout] test tally_system::tests::test_controller_register_and_get ... ok
[INFO] [stdout] test tests::test_rule_of_thirds_uniform ... ok
[INFO] [stdout] test timecode_sync::tests::test_timecode_from_smpte_invalid ... ok
[INFO] [stdout] test timecode_sync::tests::test_timecode_from_smpte_one_second ... ok
[INFO] [stdout] test timecode_sync::tests::test_sync_validator_no_warnings ... ok
[INFO] [stdout] test timecode_sync::tests::test_timecode_offset_creation ... ok
[INFO] [stdout] test timecode_sync::tests::test_timecode_roundtrip ... ok
[INFO] [stdout] test timecode_sync::tests::test_timecode_to_smpte_one_second ... ok
[INFO] [stdout] test timecode_sync::tests::test_timecode_to_smpte_zero ... ok
[INFO] [stdout] test timecode_sync::tests::test_timecode_from_smpte_frames ... ok
[INFO] [stdout] test timecode_sync::tests::test_timecode_from_smpte_zero ... ok
[INFO] [stdout] test tests::test_dissolve_blend_midpoint ... ok
[INFO] [stdout] test timecode_sync::tests::test_align_cameras_with_offset ... ok
[INFO] [stdout] test tests::test_fft_cross_correlate_offset ... ok
[INFO] [stdout] test sync::cross_correlate::tests::test_find_offset_returns_correct_duration ... ok
[INFO] [stdout] test sync::cross_correlate::tests::test_200ms_offset_500hz_tone ... ok
[INFO] [stdout] test sync::cross_correlate::tests::test_100ms_offset_1khz_tone ... ok
[INFO] [stdout] test sync::cross_correlate::tests::test_50ms_offset_1khz_tone ... ok
[INFO] [stdout] test sync::visual::tests::test_calculate_brightness ... ok
[INFO] [stdout] test sync::cross_correlate::tests::test_10ms_offset_2khz_tone ... ok
[INFO] [stdout] test sync::cross_correlate::tests::test_peak_correlation_identical ... ok
[INFO] [stdout] test sync::cross_correlate::tests::test_zero_offset_identical_signals ... ok
[INFO] [stdout] test sync::cross_correlate::tests::test_peak_correlation_uncorrelated ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 628 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.21s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests oximedia_multicam
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test src/lib.rs - (line 70) ... ok
[INFO] [stdout] test src/highlight.rs - highlight::HighlightDetector (line 89) ... ok
[INFO] [stdout] test src/lib.rs - (line 98) ... ok
[INFO] [stdout] test src/highlight_detect.rs - highlight_detect::HighlightDetector (line 62) ... ok
[INFO] [stdout] test src/iso_recording/mod.rs - iso_recording::IsoFileNaming::generate (line 215) ... ok
[INFO] [stdout] test src/sync/cross_correlate.rs - sync::cross_correlate::CrossCorrelator (line 286) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.80s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "ce68f8e184d1a5b3730a54cef67c6d15e806a45c28d36b95124e5c2dfb3b94dd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ce68f8e184d1a5b3730a54cef67c6d15e806a45c28d36b95124e5c2dfb3b94dd", kill_on_drop: false }`
[INFO] [stdout] ce68f8e184d1a5b3730a54cef67c6d15e806a45c28d36b95124e5c2dfb3b94dd
