[INFO] fetching crate oximedia-ndi 0.1.3... [INFO] testing oximedia-ndi-0.1.3 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-2 [INFO] extracting crate oximedia-ndi 0.1.3 into /workspace/builds/worker-1-tc2/source [INFO] started tweaking crates.io crate oximedia-ndi 0.1.3 [INFO] finished tweaking crates.io crate oximedia-ndi 0.1.3 [INFO] tweaked toml for crates.io crate oximedia-ndi 0.1.3 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate oximedia-ndi 0.1.3 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate oximedia-ndi 0.1.3 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2b4244b3ba8a89de7d9a0a72aaf2991f0b15705229d1be5025b1bfccbd7eb371 [INFO] running `Command { std: "docker" "start" "-a" "2b4244b3ba8a89de7d9a0a72aaf2991f0b15705229d1be5025b1bfccbd7eb371", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2b4244b3ba8a89de7d9a0a72aaf2991f0b15705229d1be5025b1bfccbd7eb371", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2b4244b3ba8a89de7d9a0a72aaf2991f0b15705229d1be5025b1bfccbd7eb371", kill_on_drop: false }` [INFO] [stdout] 2b4244b3ba8a89de7d9a0a72aaf2991f0b15705229d1be5025b1bfccbd7eb371 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 289903b7ed07aaf8282b9d64fa003dda85199d3d6c782b280d64068357bdf59e [INFO] running `Command { std: "docker" "start" "-a" "289903b7ed07aaf8282b9d64fa003dda85199d3d6c782b280d64068357bdf59e", kill_on_drop: false }` [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling rand_core v0.10.1 [INFO] [stderr] Compiling spin v0.9.8 [INFO] [stderr] Compiling mio v1.2.0 [INFO] [stderr] Compiling bitflags v2.11.1 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling cpufeatures v0.3.0 [INFO] [stderr] Compiling socket-pktinfo v0.3.2 [INFO] [stderr] Compiling rayon v1.12.0 [INFO] [stderr] Compiling oxiarc-core v0.2.6 [INFO] [stderr] Compiling if-addrs v0.15.0 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling chacha20 v0.10.0 [INFO] [stderr] Compiling flume v0.11.1 [INFO] [stderr] Compiling oximedia-core v0.1.3 [INFO] [stderr] Compiling png v0.18.1 [INFO] [stderr] Compiling oxiarc-deflate v0.2.6 [INFO] [stderr] Compiling uuid v1.23.0 [INFO] [stderr] Compiling rand v0.10.1 [INFO] [stderr] Compiling tokio v1.52.0 [INFO] [stderr] Compiling mdns-sd v0.19.0 [INFO] [stderr] Compiling jpeg-decoder v0.3.2 [INFO] [stderr] Compiling oximedia-io v0.1.3 [INFO] [stderr] Compiling oximedia-codec v0.1.3 [INFO] [stderr] Compiling oximedia-ndi v0.1.3 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 29.26s [INFO] running `Command { std: "docker" "inspect" "289903b7ed07aaf8282b9d64fa003dda85199d3d6c782b280d64068357bdf59e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "289903b7ed07aaf8282b9d64fa003dda85199d3d6c782b280d64068357bdf59e", kill_on_drop: false }` [INFO] [stdout] 289903b7ed07aaf8282b9d64fa003dda85199d3d6c782b280d64068357bdf59e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 655cf7b730b6cfa10cd7d2d7e28e0f5894d1a74f79b82c63fe218082d59d82fb [INFO] running `Command { std: "docker" "start" "-a" "655cf7b730b6cfa10cd7d2d7e28e0f5894d1a74f79b82c63fe218082d59d82fb", kill_on_drop: false }` [INFO] [stderr] Compiling oximedia-ndi v0.1.3 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 5.40s [INFO] running `Command { std: "docker" "inspect" "655cf7b730b6cfa10cd7d2d7e28e0f5894d1a74f79b82c63fe218082d59d82fb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "655cf7b730b6cfa10cd7d2d7e28e0f5894d1a74f79b82c63fe218082d59d82fb", kill_on_drop: false }` [INFO] [stdout] 655cf7b730b6cfa10cd7d2d7e28e0f5894d1a74f79b82c63fe218082d59d82fb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 0968dad795d7fc88195566b84a8081a53fb88a3eb437a90def90f279001370d0 [INFO] running `Command { std: "docker" "start" "-a" "0968dad795d7fc88195566b84a8081a53fb88a3eb437a90def90f279001370d0", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/oximedia_ndi-10251b9176dd106d) [INFO] [stdout] [INFO] [stdout] running 480 tests [INFO] [stdout] test audio_config::tests::test_audio_config_bitrate ... ok [INFO] [stdout] test audio_config::tests::test_audio_config_description ... ok [INFO] [stdout] test audio_config::tests::test_audio_config_frame_duration ... ok [INFO] [stdout] test audio_config::tests::test_audio_config_mix_compatible ... ok [INFO] [stdout] test audio_config::tests::test_audio_config_frame_byte_size ... ok [INFO] [stdout] test audio_config::tests::test_channel_layout_counts ... ok [INFO] [stdout] test audio_config::tests::test_channel_layout_from_count ... ok [INFO] [stdout] test audio_config::tests::test_channel_layout_is_surround ... ok [INFO] [stdout] test audio_config::tests::test_channel_route_muted ... ok [INFO] [stdout] test audio_config::tests::test_channel_route_unity ... ok [INFO] [stdout] test audio_config::tests::test_invalid_audio_config ... ok [INFO] [stdout] test audio_config::tests::test_routing_matrix_passthrough ... ok [INFO] [stdout] test audio_config::tests::test_frame_duration_zero_sample_rate ... ok [INFO] [stdout] test audio_config::tests::test_sample_format_bit_depth ... ok [INFO] [stdout] test audio_config::tests::test_routing_matrix_stereo_to_mono ... ok [INFO] [stdout] test audio_config::tests::test_sample_format_bytes ... ok [INFO] [stdout] test audio_config::tests::test_sample_format_is_float ... ok [INFO] [stdout] test audio_format::tests::test_audio_buffer_channel_data_planar ... ok [INFO] [stdout] test audio_config::tests::test_surround_configs ... ok [INFO] [stdout] test audio_format::tests::test_audio_buffer_channel_out_of_range ... ok [INFO] [stdout] test audio_format::tests::test_ndi_audio_format_effective_stride_custom ... ok [INFO] [stdout] test audio_format::tests::test_audio_buffer_samples ... ok [INFO] [stdout] test audio_format::tests::test_ndi_audio_format_frame_size ... ok [INFO] [stdout] test audio_config::tests::test_audio_config_default ... ok [INFO] [stdout] test av_buffer::tests::test_add_and_pop_video ... ok [INFO] [stdout] test audio_format::tests::test_audio_buffer_zeroed_size ... ok [INFO] [stdout] test audio_format::tests::test_sample_format_is_planar ... ok [INFO] [stdout] test av_buffer::tests::test_frame_rate_30 ... ok [INFO] [stdout] test audio_format::tests::test_samples_per_frame_zero_fps ... ok [INFO] [stdout] test av_buffer::tests::test_frame_type_is_av_audio ... ok [INFO] [stdout] test audio_format::tests::test_ndi_audio_format_effective_stride_packed ... ok [INFO] [stdout] test av_buffer::tests::test_frame_rate_29_97 ... ok [INFO] [stdout] test av_buffer::tests::test_is_audio_starved_false_after_add ... ok [INFO] [stdout] test av_buffer::tests::test_is_interlaced_false_packed ... ok [INFO] [stdout] test av_buffer::tests::test_is_audio_starved_initially ... ok [INFO] [stdout] test av_buffer::tests::test_frame_type_is_av_metadata_false ... ok [INFO] [stdout] test av_buffer::tests::test_duration_ms_48k ... ok [INFO] [stdout] test av_buffer::tests::test_sample_rate_hz_44100 ... ok [INFO] [stdout] test av_buffer::tests::test_is_interlaced_true_double_stride ... ok [INFO] [stdout] test audio_format::tests::test_sample_format_bytes_i16 ... ok [INFO] [stdout] test audio_format::tests::test_stereo_48k_60fps_samples_per_frame ... ok [INFO] [stdout] test audio_format::tests::test_sample_format_bytes_i32 ... ok [INFO] [stdout] test audio_format::tests::test_stereo_48k_30fps_samples_per_frame ... ok [INFO] [stdout] test bandwidth::tests::test_adaptive_controller_recommended_mode ... ok [INFO] [stdout] test bandwidth::tests::test_adaptive_controller_window_zero ... ok [INFO] [stdout] test bandwidth::tests::test_bandwidth_controller_adjust_high ... ok [INFO] [stdout] test bandwidth::tests::test_bandwidth_controller_adjust_low ... ok [INFO] [stdout] test bandwidth::tests::test_bandwidth_controller_adjust_medium ... ok [INFO] [stdout] test bandwidth::tests::test_bandwidth_controller_adjust_very_low ... ok [INFO] [stdout] test av_buffer::tests::test_frame_type_is_av_status_change_false ... ok [INFO] [stdout] test audio_format::tests::test_frame_bytes_hint ... ok [INFO] [stdout] test bandwidth::tests::test_bandwidth_mode_highest_bitrate ... ok [INFO] [stdout] test bandwidth::tests::test_network_stats_default ... ok [INFO] [stdout] test av_buffer::tests::test_sample_rate_hz_48000 ... ok [INFO] [stdout] test bandwidth::tests::test_qos_config_broadcast ... ok [INFO] [stdout] test av_buffer::tests::test_samples_per_channel ... ok [INFO] [stdout] test av_buffer::tests::test_samples_per_channel_zero_channels ... ok [INFO] [stdout] test av_buffer::tests::test_video_queue_bounded ... ok [INFO] [stdout] test bandwidth::tests::test_adaptive_controller_ewma_update ... ok [INFO] [stdout] test bandwidth::tests::test_adaptive_controller_low_bandwidth ... ok [INFO] [stdout] test av_buffer::tests::test_frame_type_is_av_video ... ok [INFO] [stdout] test bandwidth::tests::test_bandwidth_mode_bitrates ... ok [INFO] [stdout] test bandwidth::tests::test_qos_config_realtime ... ok [INFO] [stdout] test bandwidth::tests::test_qos_realtime_lower_latency_than_broadcast ... ok [INFO] [stdout] test channel_map::tests::test_add_route ... ok [INFO] [stdout] test channel_map::tests::test_apply_f32_identity ... ok [INFO] [stdout] test channel_map::tests::test_channel_display ... ok [INFO] [stdout] test channel_map::tests::test_apply_f32_stereo_to_mono ... ok [INFO] [stdout] test channel_map::tests::test_gain_matrix_entries ... ok [INFO] [stdout] test channel_map::tests::test_identity_map_stereo ... ok [INFO] [stdout] test channel_map::tests::test_layout_channel_counts ... ok [INFO] [stdout] test channel_map::tests::test_name ... ok [INFO] [stdout] test bandwidth::tests::test_bandwidth_mode_audio_only ... ok [INFO] [stdout] test channel_map::tests::test_stats ... ok [INFO] [stdout] test channel_map::tests::test_mono_to_stereo_routes ... ok [INFO] [stdout] test channel_map::tests::test_remove_dest ... ok [INFO] [stdout] test av_buffer::tests::test_add_and_pop_audio ... ok [INFO] [stdout] test channel_map::tests::test_stereo_to_mono_routes ... ok [INFO] [stdout] test channel_map::tests::test_surround51_to_stereo_routes ... ok [INFO] [stdout] test clock_sync::tests::test_clock_sync_stats_average ... ok [INFO] [stdout] test clock_sync::tests::test_clock_sync_stats_initial ... ok [INFO] [stdout] test clock_sync::tests::test_clock_sync_stats_max_offset ... ok [INFO] [stdout] test clock_sync::tests::test_clock_sync_stats_record ... ok [INFO] [stdout] test clock_sync::tests::test_ndi_clock_default ... ok [INFO] [stdout] test clock_sync::tests::test_ndi_clock_local_to_ndi ... ok [INFO] [stdout] test clock_sync::tests::test_ndi_clock_ndi_to_local ... ok [INFO] [stdout] test clock_sync::tests::test_ndi_clock_sync_to_source ... ok [INFO] [stdout] test clock_sync::tests::test_timecode_from_smpte_invalid ... ok [INFO] [stdout] test clock_sync::tests::test_timecode_from_smpte_one_second ... ok [INFO] [stdout] test clock_sync::tests::test_timecode_from_smpte_zero ... ok [INFO] [stdout] test clock_sync::tests::test_timecode_roundtrip ... ok [INFO] [stdout] test codec::tests::test_hardware_acceleration_not_available ... ok [INFO] [stdout] test clock_sync::tests::test_timecode_to_smpte_one_hour ... ok [INFO] [stdout] test codec::tests::test_oxit_codec_quality_settings ... ok [INFO] [stdout] test clock_sync::tests::test_timecode_to_smpte_zero ... ok [INFO] [stdout] test clock_sync::tests::test_timecode_to_smpte_one_second ... ok [INFO] [stdout] test codec::tests::test_oxit_magic_validation ... ok [INFO] [stdout] test codec::tests::test_rgb_yuv_conversion ... ok [INFO] [stdout] test channel_map::tests::test_custom_route ... ok [INFO] [stdout] test connection_config::tests::test_config_builder ... ok [INFO] [stdout] test codec::tests::test_scale_qtable_quality_bounds ... ok [INFO] [stdout] test codec::tests::test_yuv_format_buffer_size ... ok [INFO] [stdout] test connection_config::tests::test_connection_mode_receives_video ... ok [INFO] [stdout] test connection_config::tests::test_connection_mode_bandwidth ... ok [INFO] [stdout] test clock_sync::tests::test_ndi_clock_negative_offset ... ok [INFO] [stdout] test connection_config::tests::test_connection_state_is_active ... ok [INFO] [stdout] test connection_config::tests::test_manager_close ... ok [INFO] [stdout] test codec::tests::test_dct_idct_roundtrip ... ok [INFO] [stdout] test codec::tests::test_oxit_codec_roundtrip_rgb ... ok [INFO] [stdout] test connection_config::tests::test_manager_config_retrieval ... ok [INFO] [stdout] test connection_config::tests::test_manager_register_and_state ... ok [INFO] [stdout] test connection_config::tests::test_manager_set_connected ... ok [INFO] [stdout] test connection_config::tests::test_manager_deregister ... ok [INFO] [stdout] test connection_config::tests::test_manager_pending_retry_keys ... ok [INFO] [stdout] test connection_config::tests::test_manager_set_disconnected_closes_after_max_retries ... ok [INFO] [stdout] test connection_config::tests::test_manager_set_disconnected_triggers_retry ... ok [INFO] [stdout] test connection_config::tests::test_manager_uptime_none_when_not_connected ... ok [INFO] [stdout] test connection_config::tests::test_manager_uptime_some_when_connected ... ok [INFO] [stdout] test connection_state::tests::test_apply_event_with_policy_enters_reconnecting ... ok [INFO] [stdout] test connection_config::tests::test_connection_mode_handles_audio ... ok [INFO] [stdout] test connection_state::tests::test_apply_event_with_policy_exceeds_max_goes_failed ... ok [INFO] [stdout] test connection_state::tests::test_apply_event_with_policy_increments_attempt ... ok [INFO] [stdout] test connection_state::tests::test_connection_event_is_error_false ... ok [INFO] [stdout] test connection_state::tests::test_connection_event_is_error_true ... ok [INFO] [stdout] test connection_state::tests::test_connection_event_kind ... ok [INFO] [stdout] test av_buffer::tests::test_sample_rate_hz_96000 ... ok [INFO] [stdout] test connection_state::tests::test_connection_state_reconnecting_variant ... ok [INFO] [stdout] test connection_state::tests::test_ndi_connection_state_is_healthy ... ok [INFO] [stdout] test connection_state::tests::test_ndi_connection_state_is_terminal ... ok [INFO] [stdout] test connection_state::tests::test_on_reconnect_success ... ok [INFO] [stdout] test connection_state::tests::test_reconnect_backoff_capped ... ok [INFO] [stdout] test connection_state::tests::test_reconnect_backoff_doubling ... ok [INFO] [stdout] test connection_state::tests::test_reconnect_policy_disabled ... ok [INFO] [stdout] test connection_state::tests::test_reconnect_policy_should_attempt ... ok [INFO] [stdout] test connection_state::tests::test_tracker_apply_event_auth_failed_goes_failed ... ok [INFO] [stdout] test connection_state::tests::test_tracker_apply_event_error_goes_recovering ... ok [INFO] [stdout] test connection_state::tests::test_tracker_apply_event_resumed_goes_streaming ... ok [INFO] [stdout] test connection_state::tests::test_tracker_history_iteration ... ok [INFO] [stdout] test connection_state::tests::test_tracker_initial_state ... ok [INFO] [stdout] test connection_state::tests::test_tracker_is_healthy_after_stream ... ok [INFO] [stdout] test connection_state::tests::test_tracker_max_history_trimmed ... ok [INFO] [stdout] test connection_state::tests::test_tracker_state_duration_ms_non_negative ... ok [INFO] [stdout] test connection_state::tests::test_tracker_transition ... ok [INFO] [stdout] test connection_state::tests::test_tracker_transition_count ... ok [INFO] [stdout] test discovery::tests::test_find_available_port ... ok [INFO] [stdout] test discovery::tests::test_source_filter ... ok [INFO] [stdout] test discovery::tests::test_source_info_creation ... ok [INFO] [stdout] test failover::tests::test_failover_group_add_auto_selects ... ok [INFO] [stdout] test failover::tests::test_failover_group_apply_decision ... ok [INFO] [stdout] test failover::tests::test_failover_group_evaluate_no_sources ... ok [INFO] [stdout] test failover::tests::test_failover_group_evaluate_stay_current ... ok [INFO] [stdout] test failover::tests::test_failover_group_healthy_sources_sorted ... ok [INFO] [stdout] test failover::tests::test_failover_group_remove_active_source ... ok [INFO] [stdout] test failover::tests::test_failover_group_source_count ... ok [INFO] [stdout] test failover::tests::test_failover_group_status_summary ... ok [INFO] [stdout] test failover::tests::test_failover_group_switch_on_failure ... ok [INFO] [stdout] test failover::tests::test_failover_policy_immediate ... ok [INFO] [stdout] test failover::tests::test_failover_policy_manual ... ok [INFO] [stdout] test failover::tests::test_failover_policy_threshold ... ok [INFO] [stdout] test failover::tests::test_no_source_available_when_all_unreachable ... ok [INFO] [stdout] test failover::tests::test_source_health_is_usable ... ok [INFO] [stdout] test failover::tests::test_source_health_label ... ok [INFO] [stdout] test failover::tests::test_source_mark_degraded ... ok [INFO] [stdout] test failover::tests::test_source_mark_healthy ... ok [INFO] [stdout] test frame_buffer::tests::test_buffer_drop_newest ... ok [INFO] [stdout] test frame_buffer::tests::test_buffer_drop_oldest ... ok [INFO] [stdout] test frame_buffer::tests::test_buffer_dynamic_grow ... ok [INFO] [stdout] test frame_buffer::tests::test_buffer_dynamic_grow_stops_at_max ... ok [INFO] [stdout] test frame_buffer::tests::test_frame_drop_newest ... ok [INFO] [stdout] test frame_buffer::tests::test_frame_drop_oldest ... ok [INFO] [stdout] test frame_buffer::tests::test_frame_drop_oldest_empty ... ok [INFO] [stdout] test frame_buffer::tests::test_frame_drop_newest_empty ... ok [INFO] [stdout] test frame_buffer::tests::test_reset_stats ... ok [INFO] [stdout] test frame_buffer::tests::test_stats_bytes_total ... ok [INFO] [stdout] test frame_buffer::tests::test_stats_drop_rate ... ok [INFO] [stdout] test discovery::tests::test_source_filter_name_pattern ... ok [INFO] [stdout] test frame_buffer::tests::test_buffer_peek ... ok [INFO] [stdout] test frame_buffer::tests::test_stats_fill_rate ... ok [INFO] [stdout] test frame_buffer::tests::test_frame_drop_if_behind_triggers ... ok [INFO] [stdout] test frame_buffer::tests::test_buffer_push_pop_basic ... ok [INFO] [stdout] test frame_buffer::tests::test_stats_peak_depth ... ok [INFO] [stdout] test codec::tests::test_yuv422_crop ... ok [INFO] [stdout] test frame_buffer::tests::test_buffer_strategy_may_drop ... ok [INFO] [stdout] test frame_buffer::tests::test_fill_fraction ... ok [INFO] [stdout] test frame_buffer::tests::test_frame_data_len ... ok [INFO] [stdout] test failover::tests::test_source_priority_ordering ... ok [INFO] [stdout] test frame_buffer::tests::test_frame_drop_if_behind_no_trigger ... ok [INFO] [stdout] test frame_buffer::tests::test_buffer_clear ... ok [INFO] [stdout] test frame_sync::tests::test_av_sync_error_some ... ok [INFO] [stdout] test frame_sync::tests::test_diff_negative ... ok [INFO] [stdout] test frame_sync::tests::test_diff_positive ... ok [INFO] [stdout] test frame_sync::tests::test_diff_zero ... ok [INFO] [stdout] test frame_sync::tests::test_av_sync_error_none_when_empty ... ok [INFO] [stdout] test frame_sync::tests::test_drain_old_frames ... ok [INFO] [stdout] test frame_sync::tests::test_drain_removes_all_old ... ok [INFO] [stdout] test frame_sync::tests::test_from_ms_roundtrip ... ok [INFO] [stdout] test frame_sync::tests::test_from_ms_ticks ... ok [INFO] [stdout] test frame_sync::tests::test_is_synchronized_within_tolerance ... ok [INFO] [stdout] test frame_sync::tests::test_is_synchronized_false_when_empty ... ok [INFO] [stdout] test frame_sync::tests::test_ordering_pts ... ok [INFO] [stdout] test frame_sync::tests::test_is_synchronized_exceeds_tolerance ... ok [INFO] [stdout] test genlock::tests::test_default_config ... ok [INFO] [stdout] test genlock::tests::test_frame_interval ... ok [INFO] [stdout] test genlock::tests::test_frame_interval_zero_fps ... ok [INFO] [stdout] test genlock::tests::test_jitter_estimate ... ok [INFO] [stdout] test genlock::tests::test_phase_offset_locked ... ok [INFO] [stdout] test genlock::tests::test_phase_offset_magnitude ... ok [INFO] [stdout] test genlock::tests::test_genlock_source_display ... ok [INFO] [stdout] test genlock::tests::test_phase_offset_zero ... ok [INFO] [stdout] test codec::tests::test_yuv422_resize ... ok [INFO] [stdout] test genlock::tests::test_report ... ok [INFO] [stdout] test genlock::tests::test_tracker_initial_state ... ok [INFO] [stdout] test genlock::tests::test_tracker_locks_on_small_offset ... ok [INFO] [stdout] test genlock::tests::test_tracker_reset ... ok [INFO] [stdout] test genlock::tests::test_tracker_unlocks_on_large_offset ... ok [INFO] [stdout] test group::tests::test_add_source_missing_group ... ok [INFO] [stdout] test codec::tests::test_oxit_higher_quality_lower_error ... ok [INFO] [stdout] test group::tests::test_add_source_ok ... ok [INFO] [stdout] test group::tests::test_all_sources_across_groups ... ok [INFO] [stdout] test group::tests::test_create_group ... ok [INFO] [stdout] test group::tests::test_groups_list ... ok [INFO] [stdout] test group::tests::test_remove_source_missing_group ... ok [INFO] [stdout] test group::tests::test_remove_source_not_found ... ok [INFO] [stdout] test group::tests::test_remove_source_ok ... ok [INFO] [stdout] test group::tests::test_source_new_address ... ok [INFO] [stdout] test group::tests::test_sources_in_group_empty ... ok [INFO] [stdout] test group::tests::test_create_group_idempotent ... ok [INFO] [stdout] test metadata::tests::test_metadata_builder_chaining ... ok [INFO] [stdout] test metadata::tests::test_metadata_builder_empty ... ok [INFO] [stdout] test metadata::tests::test_metadata_builder_multiple_fields ... ok [INFO] [stdout] test metadata::tests::test_metadata_builder_single_field ... ok [INFO] [stdout] test metadata::tests::test_metadata_parser_round_trip ... ok [INFO] [stdout] test metadata::tests::test_metadata_parser_empty ... ok [INFO] [stdout] test metadata::tests::test_ptz_metadata_to_xml ... ok [INFO] [stdout] test metadata::tests::test_tally_metadata_to_xml_preview ... ok [INFO] [stdout] test metadata::tests::test_tally_metadata_to_xml_program ... ok [INFO] [stdout] test metadata_frame::tests::test_config_frame_builder ... ok [INFO] [stdout] test metadata::tests::test_xml_escaping ... ok [INFO] [stdout] test metadata_frame::tests::test_metadata_frame_to_xml ... ok [INFO] [stdout] test metadata::tests::test_tally_metadata_round_trip ... ok [INFO] [stdout] test metadata_frame::tests::test_parse_config_frame_empty ... ok [INFO] [stdout] test metadata_frame::tests::test_metadata_frame_type_element_names ... ok [INFO] [stdout] test metadata_frame::tests::test_ptz_builder_auto_focus ... ok [INFO] [stdout] test metadata_frame::tests::test_metadata_frame_byte_len ... ok [INFO] [stdout] test metadata_frame::tests::test_ptz_builder_pan_clamp ... ok [INFO] [stdout] test metadata_frame::tests::test_ptz_builder_stop ... ok [INFO] [stdout] test metadata_frame::tests::test_ptz_builder_zoom ... ok [INFO] [stdout] test metadata_frame::tests::test_ptz_frame_type ... ok [INFO] [stdout] test metadata_frame::tests::test_parse_config_frame_roundtrip ... ok [INFO] [stdout] test metadata::tests::test_ptz_metadata_default ... ok [INFO] [stdout] test group::tests::test_multiple_sources_in_group ... ok [INFO] [stdout] test ndi_stats::tests::test_audio_stats_buffer_errors ... ok [INFO] [stdout] test ndi_stats::tests::test_audio_stats_new ... ok [INFO] [stdout] test ndi_stats::tests::test_audio_stats_buffer_fill_clamped ... ok [INFO] [stdout] test metadata_frame::tests::test_ptz_builder_recall_preset ... ok [INFO] [stdout] test ndi_stats::tests::test_bandwidth_stats_new ... ok [INFO] [stdout] test ndi_stats::tests::test_audio_stats_record ... ok [INFO] [stdout] test ndi_stats::tests::test_bandwidth_stats_reset ... ok [INFO] [stdout] test ndi_stats::tests::test_bandwidth_stats_transfer ... ok [INFO] [stdout] test ndi_stats::tests::test_metric_window_capacity_eviction ... ok [INFO] [stdout] test metadata_frame::tests::test_ptz_builder_store_preset ... ok [INFO] [stdout] test metadata::tests::test_tally_metadata_from_xml ... ok [INFO] [stdout] test metadata_frame::tests::test_metadata_frame_with_timecode ... ok [INFO] [stdout] test ndi_stats::tests::test_metric_window_clear ... ok [INFO] [stdout] test ndi_stats::tests::test_metric_window_empty ... ok [INFO] [stdout] test ndi_stats::tests::test_metric_window_push_and_stats ... ok [INFO] [stdout] test ndi_stats::tests::test_metric_window_std_dev ... ok [INFO] [stdout] test ndi_stats::tests::test_video_stats_drop_rate ... ok [INFO] [stdout] test ndi_stats::tests::test_video_stats_drop_rate_empty ... ok [INFO] [stdout] test ndi_stats::tests::test_video_stats_new ... ok [INFO] [stdout] test ndi_stats::tests::test_video_stats_record_frame ... ok [INFO] [stdout] test metadata_frame::tests::test_ptz_builder_tilt ... ok [INFO] [stdout] test protocol::tests::test_frame_synchronizer ... ok [INFO] [stdout] test ndi_stats::tests::test_video_stats_reset ... ok [INFO] [stdout] test protocol::tests::test_metadata_encode_decode ... ok [INFO] [stdout] test protocol::tests::test_frame_header_encode_decode ... ok [INFO] [stdout] test ptz::tests::test_command_queue_accepts_boundary_speed ... ok [INFO] [stdout] test ptz::tests::test_command_queue_fifo_order ... ok [INFO] [stdout] test ptz::tests::test_command_causes_motion_stop_false ... ok [INFO] [stdout] test ptz::tests::test_command_queue_push_and_pop ... ok [INFO] [stdout] test ptz::tests::test_command_queue_rejects_high_speed ... ok [INFO] [stdout] test ptz::tests::test_preset_store_count ... ok [INFO] [stdout] test ptz::tests::test_ptz_axis_variants ... ok [INFO] [stdout] test ptz::tests::test_speed_magnitude_move ... ok [INFO] [stdout] test ptz::tests::test_speed_magnitude_non_move_is_none ... ok [INFO] [stdout] test ptz::tests::test_preset_store_recall_empty ... ok [INFO] [stdout] test quality::tests::test_monitor_avg_latency ... ok [INFO] [stdout] test quality::tests::test_empty_monitor_recommend ... ok [INFO] [stdout] test ptz::tests::test_command_causes_motion_auto_focus_false ... ok [INFO] [stdout] test quality::tests::test_monitor_total_dropped ... ok [INFO] [stdout] test ptz::tests::test_command_causes_motion_move ... ok [INFO] [stdout] test ptz::tests::test_preset_store_clear ... ok [INFO] [stdout] test ptz::tests::test_preset_store_clear_empty_returns_false ... ok [INFO] [stdout] test quality::tests::test_monitor_empty_avg_latency ... ok [INFO] [stdout] test quality::tests::test_quality_level_offline_bandwidth ... ok [INFO] [stdout] test ptz::tests::test_command_causes_motion_recall ... ok [INFO] [stdout] test quality::tests::test_quality_score_disconnected ... ok [INFO] [stdout] test quality::tests::test_quality_score_degraded ... ok [INFO] [stdout] test ptz::tests::test_preset_store_store_recall ... ok [INFO] [stdout] test quality::tests::test_monitor_window_eviction ... ok [INFO] [stdout] test quality::tests::test_quality_level_best_bandwidth ... ok [INFO] [stdout] test quality::tests::test_recommend_low_bandwidth ... ok [INFO] [stdout] test quality::tests::test_recommend_best ... ok [INFO] [stdout] test quality::tests::test_recommend_offline_when_disconnected ... ok [INFO] [stdout] test quality::tests::test_quality_score_perfect ... ok [INFO] [stdout] test receiver::tests::test_receiver_config_default ... ok [INFO] [stdout] test receiver::tests::test_yuv422_to_rgb ... ok [INFO] [stdout] test receiver::tests::test_receiver_stats ... ok [INFO] [stdout] test quality::tests::test_quality_level_latency_ordering ... ok [INFO] [stdout] test routing::tests::test_ndi_route_ip_string ... ok [INFO] [stdout] test routing::tests::test_ndi_switch_basic ... ok [INFO] [stdout] test routing::tests::test_router_all_routes ... ok [INFO] [stdout] test routing::tests::test_router_add_and_find ... ok [INFO] [stdout] test routing::tests::test_router_remove ... ok [INFO] [stdout] test routing::tests::test_ndi_switch_undo_no_previous ... ok [INFO] [stdout] test routing::tests::test_video_mixer_add_source ... ok [INFO] [stdout] test routing::tests::test_router_replace_existing ... ok [INFO] [stdout] test routing::tests::test_ndi_switch_previous_source ... ok [INFO] [stdout] test routing::tests::test_video_mixer_normalize ... ok [INFO] [stdout] test routing::tests::test_video_mixer_normalize_zero ... ok [INFO] [stdout] test routing::tests::test_video_mixer_set_level ... ok [INFO] [stdout] test sender::tests::test_rgb_to_yuv422 ... ok [INFO] [stdout] test sender::tests::test_sender_config_default ... ok [INFO] [stdout] test sender::tests::test_sender_stats ... ok [INFO] [stdout] test sender_config::tests::test_frame_rate_display ... ok [INFO] [stdout] test sender_config::tests::test_frame_rate_fps2997 ... ok [INFO] [stdout] test sender_config::tests::test_frame_rate_fps25 ... ok [INFO] [stdout] test sender_config::tests::test_registry_active_count ... ok [INFO] [stdout] test sender_config::tests::test_registry_all_names ... ok [INFO] [stdout] test sender_config::tests::test_registry_active_names ... ok [INFO] [stdout] test sender_config::tests::test_registry_deregister ... ok [INFO] [stdout] test sender_config::tests::test_registry_register_and_get ... ok [INFO] [stdout] test sender_config::tests::test_registry_update_bumps_version ... ok [INFO] [stdout] test sender_config::tests::test_registry_update_nonexistent_returns_false ... ok [INFO] [stdout] test sender_config::tests::test_sender_config_builder ... ok [INFO] [stdout] test routing::tests::test_ndi_switch_undo ... ok [INFO] [stdout] test sender_config::tests::test_sender_config_estimated_bitrate ... ok [INFO] [stdout] test sender_config::tests::test_sender_type_has_video ... ok [INFO] [stdout] test sender_config::tests::test_sender_type_label ... ok [INFO] [stdout] test sender_config::tests::test_sender_config_default ... ok [INFO] [stdout] test sender_config::tests::test_sender_config_is_not_4k ... ok [INFO] [stdout] test source_filter::tests::test_filter_by_group ... ok [INFO] [stdout] test source_filter::tests::test_filter_by_max_age_fresh ... ok [INFO] [stdout] test source_filter::tests::test_filter_by_ip_prefix ... ok [INFO] [stdout] test source_filter::tests::test_filter_criteria_default_accepts_all ... ok [INFO] [stdout] test source_filter::tests::test_filter_by_name_case_insensitive ... ok [INFO] [stdout] test source_filter::tests::test_parse_ndi_address_invalid ... ok [INFO] [stdout] test source_filter::tests::test_parse_ndi_address_with_port ... ok [INFO] [stdout] test source_filter::tests::test_registry_evict_stale_keeps_fresh ... ok [INFO] [stdout] test source_filter::tests::test_parse_ndi_address_without_port ... ok [INFO] [stdout] test source_filter::tests::test_registry_filter ... ok [INFO] [stdout] test sender_config::tests::test_sender_type_has_audio ... ok [INFO] [stdout] test source_filter::tests::test_source_filter_combined ... ok [INFO] [stdout] test source_filter::tests::test_registry_upsert_updates_existing ... ok [INFO] [stdout] test source_filter::tests::test_source_filter_empty_accepts_all ... ok [INFO] [stdout] test source_filter::tests::test_source_filter_group_filter ... ok [INFO] [stdout] test source_registry::tests::test_find_by_name_found ... ok [INFO] [stdout] test source_filter::tests::test_scan_subnet_candidates_count ... ok [INFO] [stdout] test source_registry::tests::test_full_name_format ... ok [INFO] [stdout] test source_filter::tests::test_source_filter_name_pattern ... ok [INFO] [stdout] test source_registry::tests::test_is_in_group_false ... ok [INFO] [stdout] test source_registry::tests::test_add_source_and_count ... ok [INFO] [stdout] test source_registry::tests::test_find_by_name_not_found ... ok [INFO] [stdout] test source_filter::tests::test_registry_remove ... ok [INFO] [stdout] test source_filter::tests::test_registry_upsert_and_len ... ok [INFO] [stdout] test source_filter::tests::test_scan_subnet_candidates_range ... ok [INFO] [stdout] test source_registry::tests::test_is_sender_source ... ok [INFO] [stdout] test source_registry::tests::test_local_machine_stored ... ok [INFO] [stdout] test source_registry::tests::test_remove_source_found ... ok [INFO] [stdout] test source_registry::tests::test_sources_in_group ... ok [INFO] [stdout] test source_registry::tests::test_is_in_group_true ... ok [INFO] [stdout] test statistics::tests::test_counters_default_zeros ... ok [INFO] [stdout] test source_registry::tests::test_is_sender_bridge ... ok [INFO] [stdout] test source_registry::tests::test_is_sender_receiver_false ... ok [INFO] [stdout] test source_registry::tests::test_remove_source_not_found ... ok [INFO] [stdout] test source_registry::tests::test_source_count_empty ... ok [INFO] [stdout] test statistics::tests::test_counters_drop_rate_zero_when_no_frames ... ok [INFO] [stdout] test statistics::tests::test_counters_late_rate ... ok [INFO] [stdout] test source_registry::tests::test_local_sources ... ok [INFO] [stdout] test statistics::tests::test_counters_record_drop ... ok [INFO] [stdout] test statistics::tests::test_counters_record_reset ... ok [INFO] [stdout] test statistics::tests::test_counters_record_frame ... ok [INFO] [stdout] test statistics::tests::test_sample_kbps ... ok [INFO] [stdout] test statistics::tests::test_sample_kbps_zero_interval ... ok [INFO] [stdout] test statistics::tests::test_tracker_avg_kbps ... ok [INFO] [stdout] test stream_info::tests::test_capability_variants_distinct ... ok [INFO] [stdout] test stream_info::tests::test_direction_can_receive_send_false ... ok [INFO] [stdout] test stream_info::tests::test_direction_can_receive_receive ... ok [INFO] [stdout] test stream_info::tests::test_direction_can_send_both ... ok [INFO] [stdout] test statistics::tests::test_counters_drop_rate ... ok [INFO] [stdout] test stream_info::tests::test_registry_hd_streams ... ok [INFO] [stdout] test stream_info::tests::test_direction_can_send_send ... ok [INFO] [stdout] test statistics::tests::test_counters_record_late ... ok [INFO] [stdout] test statistics::tests::test_tracker_total_bytes ... ok [INFO] [stdout] test statistics::tests::test_tracker_window_eviction ... ok [INFO] [stdout] test stream_info::tests::test_registry_register_and_find ... ok [INFO] [stdout] test stream_info::tests::test_registry_register_replaces_existing ... ok [INFO] [stdout] test stream_info::tests::test_registry_remove ... ok [INFO] [stdout] test stream_info::tests::test_registry_remove_missing ... ok [INFO] [stdout] test stream_info::tests::test_registry_with_capability ... ok [INFO] [stdout] test stream_info::tests::test_stream_info_frame_rate_zero_den ... ok [INFO] [stdout] test stream_info::tests::test_stream_info_frame_rate ... ok [INFO] [stdout] test stream_info::tests::test_stream_info_address ... ok [INFO] [stdout] test stream_info::tests::test_stream_info_is_hd_false ... ok [INFO] [stdout] test stream_info::tests::test_stream_info_is_hd_true ... ok [INFO] [stdout] test stream_info::tests::test_stream_info_has_capability_false ... ok [INFO] [stdout] test stream_info::tests::test_stream_info_has_capability_true ... ok [INFO] [stdout] test tally::tests::test_tally_aggregator ... ok [INFO] [stdout] test tally::tests::test_tally_state ... ok [INFO] [stdout] test tally::tests::test_tally_message ... ok [INFO] [stdout] test tally::tests::test_tally_state_combine ... ok [INFO] [stdout] test tally::tests::test_tally_state_encode_decode ... ok [INFO] [stdout] test tally_bus::tests::test_encode_decode_tally_byte_roundtrip ... ok [INFO] [stdout] test tally_bus::tests::test_encode_tally_byte_values ... ok [INFO] [stdout] test tally_bus::tests::test_snapshot_preview_sources ... ok [INFO] [stdout] test tally_bus::tests::test_snapshot_program_sources ... ok [INFO] [stdout] test tally_bus::tests::test_snapshot_set_and_get ... ok [INFO] [stdout] test tally_bus::tests::test_tally_bus_cut_to_program ... ok [INFO] [stdout] test tally_bus::tests::test_tally_bus_no_event_on_same_state ... ok [INFO] [stdout] test tally_bus::tests::test_tally_bus_reset ... ok [INFO] [stdout] test tally_bus::tests::test_tally_bus_set_tally_emits_event ... ok [INFO] [stdout] test tally_bus::tests::test_tally_light_is_active ... ok [INFO] [stdout] test protocol::tests::test_current_timestamp ... ok [INFO] [stdout] test tally_bus::tests::test_tally_light_is_preview ... ok [INFO] [stdout] test tally_bus::tests::test_tally_light_is_program ... ok [INFO] [stdout] test tally_bus::tests::test_tally_light_merge ... ok [INFO] [stdout] test tally_manager::tests::test_any_on_air_empty ... ok [INFO] [stdout] test tally_manager::tests::test_any_on_air_false ... ok [INFO] [stdout] test tally_manager::tests::test_get_tally_missing ... ok [INFO] [stdout] test tally_manager::tests::test_any_on_air_true ... ok [INFO] [stdout] test tally_manager::tests::test_on_air_is_on_air ... ok [INFO] [stdout] test tally_manager::tests::test_on_air_not_preview ... ok [INFO] [stdout] test tally_manager::tests::test_off_not_preview ... ok [INFO] [stdout] test tally_manager::tests::test_preview_is_preview ... ok [INFO] [stdout] test tally_manager::tests::test_off_not_on_air ... ok [INFO] [stdout] test tally_manager::tests::test_preview_not_on_air ... ok [INFO] [stdout] test tally_manager::tests::test_on_air_sources ... ok [INFO] [stdout] test tally_manager::tests::test_preview_sources ... ok [INFO] [stdout] test tally_manager::tests::test_tally_info_is_live_off ... ok [INFO] [stdout] test tally_manager::tests::test_set_and_get_tally ... ok [INFO] [stdout] test tally_manager::tests::test_tally_info_is_live_on_air ... ok [INFO] [stdout] test tally_manager::tests::test_set_tally_updates_existing ... ok [INFO] [stdout] test tests::test_audio_format ... ok [INFO] [stdout] test tally_manager::tests::test_on_air_and_preview_is_both ... ok [INFO] [stdout] test tests::test_ndi_config_default ... ok [INFO] [stdout] test tests::test_video_format ... ok [INFO] [stdout] test transport::tests::test_default_config ... ok [INFO] [stdout] test transport::tests::test_fragment_payload_basic ... ok [INFO] [stdout] test transport::tests::test_fragment_zero_mtu ... ok [INFO] [stdout] test statistics::tests::test_tracker_avg_kbps_empty ... ok [INFO] [stdout] test statistics::tests::test_tracker_peak_kbps ... ok [INFO] [stdout] test tally_bus::tests::test_snapshot_get_default_off ... ok [INFO] [stdout] test transport::tests::test_packet_creation ... ok [INFO] [stdout] test transport::tests::test_priority_ordering ... ok [INFO] [stdout] test transport::tests::test_reassemble_missing_fragment ... ok [INFO] [stdout] test transport::tests::test_reassemble_roundtrip ... ok [INFO] [stdout] test transport::tests::test_session_enqueue_dequeue_send ... ok [INFO] [stdout] test transport::tests::test_session_receive ... ok [INFO] [stdout] test transport::tests::test_session_recv_overflow ... ok [INFO] [stdout] test transport::tests::test_session_reset ... ok [INFO] [stdout] test transport::tests::test_stats_avg_packet_size ... ok [INFO] [stdout] test transport::tests::test_stats_loss_ratio ... ok [INFO] [stdout] test transport::tests::test_transport_mode_display ... ok [INFO] [stdout] test video_format::tests::test_color_space_is_hdr_true ... ok [INFO] [stdout] test video_format::tests::test_color_space_label ... ok [INFO] [stdout] test video_format::tests::test_compatible_different_res ... ok [INFO] [stdout] test video_format::tests::test_compatible_same_format ... ok [INFO] [stdout] test video_format::tests::test_hd_1080p30_dimensions ... ok [INFO] [stdout] test video_format::tests::test_hd_1080p30_frame_rate ... ok [INFO] [stdout] test video_format::tests::test_is_4k_true ... ok [INFO] [stdout] test video_format::tests::test_frame_size_yuv422 ... ok [INFO] [stdout] test video_format::tests::test_pixel_rate_hd ... ok [INFO] [stdout] test video_format::tests::test_select_best_empty ... ok [INFO] [stdout] test video_format::tests::test_is_4k_false ... ok [INFO] [stdout] test video_format::tests::test_is_hdr_true ... ok [INFO] [stdout] test video_format::tests::test_select_best_prefers_hdr ... ok [INFO] [stdout] test video_format::tests::test_select_best_single ... ok [INFO] [stdout] test video_format::tests::test_is_hdr_false ... ok [INFO] [stdout] test transport::tests::test_session_send_buffer_overflow ... ok [INFO] [stdout] test video_format::tests::test_color_space_is_hdr_false ... ok [INFO] [stderr] Doc-tests oximedia_ndi [INFO] [stdout] [INFO] [stdout] test result: ok. 480 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test src/lib.rs - (line 19) - compile ... ok [INFO] [stdout] test src/clock_sync.rs - clock_sync::NdiTimecodeConverter::from_smpte (line 143) ... ok [INFO] [stdout] test src/metadata.rs - metadata::NdiMetadataBuilder (line 30) ... ok [INFO] [stdout] test src/clock_sync.rs - clock_sync::NdiTimecodeConverter::to_smpte (line 106) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.81s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "0968dad795d7fc88195566b84a8081a53fb88a3eb437a90def90f279001370d0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0968dad795d7fc88195566b84a8081a53fb88a3eb437a90def90f279001370d0", kill_on_drop: false }` [INFO] [stdout] 0968dad795d7fc88195566b84a8081a53fb88a3eb437a90def90f279001370d0