[INFO] fetching crate oximedia-timesync 0.1.3... [INFO] testing oximedia-timesync-0.1.3 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-2 [INFO] extracting crate oximedia-timesync 0.1.3 into /workspace/builds/worker-4-tc1/source [INFO] started tweaking crates.io crate oximedia-timesync 0.1.3 [INFO] finished tweaking crates.io crate oximedia-timesync 0.1.3 [INFO] tweaked toml for crates.io crate oximedia-timesync 0.1.3 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate oximedia-timesync 0.1.3 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate oximedia-timesync 0.1.3 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c3cb3d78b93bb7763c9521f99f1c794faec7e13402f4ff502c4f80baecd0aa54 [INFO] running `Command { std: "docker" "start" "-a" "c3cb3d78b93bb7763c9521f99f1c794faec7e13402f4ff502c4f80baecd0aa54", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c3cb3d78b93bb7763c9521f99f1c794faec7e13402f4ff502c4f80baecd0aa54", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c3cb3d78b93bb7763c9521f99f1c794faec7e13402f4ff502c4f80baecd0aa54", kill_on_drop: false }` [INFO] [stdout] c3cb3d78b93bb7763c9521f99f1c794faec7e13402f4ff502c4f80baecd0aa54 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0918e0b1950dbfb55ff2df6f226115f2167cd798384a14fa9e6925c39cde2939 [INFO] running `Command { std: "docker" "start" "-a" "0918e0b1950dbfb55ff2df6f226115f2167cd798384a14fa9e6925c39cde2939", kill_on_drop: false }` [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling strength_reduce v0.2.4 [INFO] [stderr] Compiling audio-core v0.2.1 [INFO] [stderr] Compiling oxifft v0.2.0 [INFO] [stderr] Compiling spin v0.10.0 [INFO] [stderr] Compiling bitflags v2.11.1 [INFO] [stderr] Compiling hashbrown v0.17.0 [INFO] [stderr] Compiling seahash v4.1.0 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling mio v1.2.0 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling memmap2 v0.9.10 [INFO] [stderr] Compiling rayon v1.12.0 [INFO] [stderr] Compiling crc v3.3.0 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling audioadapter v3.0.0 [INFO] [stderr] Compiling audioadapter-sample v3.0.0 [INFO] [stderr] Compiling windowfunctions v0.1.1 [INFO] [stderr] Compiling transpose v0.2.3 [INFO] [stderr] Compiling primal-check v0.3.4 [INFO] [stderr] Compiling audioadapter-buffers v3.0.0 [INFO] [stderr] Compiling rustfft v6.4.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling visibility v0.1.1 [INFO] [stderr] Compiling oxifft-codegen v0.2.0 [INFO] [stderr] Compiling tokio-macros v2.7.0 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling tokio v1.52.0 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling realfft v3.5.0 [INFO] [stderr] Compiling rubato v2.0.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling oximedia-core v0.1.3 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling oximedia-audio v0.1.3 [INFO] [stderr] Compiling oximedia-timecode v0.1.3 [INFO] [stderr] Compiling oximedia-timesync v0.1.3 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 41.38s [INFO] running `Command { std: "docker" "inspect" "0918e0b1950dbfb55ff2df6f226115f2167cd798384a14fa9e6925c39cde2939", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0918e0b1950dbfb55ff2df6f226115f2167cd798384a14fa9e6925c39cde2939", kill_on_drop: false }` [INFO] [stdout] 0918e0b1950dbfb55ff2df6f226115f2167cd798384a14fa9e6925c39cde2939 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bc6498d53ddcb79de006c73d95532fbc1eb6fc3d35adbb8b90da147b5068206f [INFO] running `Command { std: "docker" "start" "-a" "bc6498d53ddcb79de006c73d95532fbc1eb6fc3d35adbb8b90da147b5068206f", kill_on_drop: false }` [INFO] [stderr] Compiling tokio v1.52.0 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling oximedia-timesync v0.1.3 (/opt/rustwide/workdir) [INFO] [stderr] Compiling tokio-test v0.4.5 [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 16.04s [INFO] running `Command { std: "docker" "inspect" "bc6498d53ddcb79de006c73d95532fbc1eb6fc3d35adbb8b90da147b5068206f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bc6498d53ddcb79de006c73d95532fbc1eb6fc3d35adbb8b90da147b5068206f", kill_on_drop: false }` [INFO] [stdout] bc6498d53ddcb79de006c73d95532fbc1eb6fc3d35adbb8b90da147b5068206f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 2d01823ff4cff610c9a1a5ab356ff8e503748fd800c4ddb586cd9be5923569b6 [INFO] running `Command { std: "docker" "start" "-a" "2d01823ff4cff610c9a1a5ab356ff8e503748fd800c4ddb586cd9be5923569b6", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.10s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/oximedia_timesync-0a679039d7432d31) [INFO] [stdout] [INFO] [stdout] running 788 tests [INFO] [stdout] test aes67::tests::test_aes67_config_payload_bytes ... ok [INFO] [stdout] test aes67::tests::test_aes67_jitter_buffer ... ok [INFO] [stdout] test aes67::tests::test_aes67_latency_total ... ok [INFO] [stdout] test aes67::tests::test_aes67_jitter_buffer_reset ... ok [INFO] [stdout] test aes67::tests::test_aes67_latency_total_ms ... ok [INFO] [stdout] test aes67::tests::test_aes67_config_standard ... ok [INFO] [stdout] test aes67::tests::test_rtp_timestamp_diff ... ok [INFO] [stdout] test boundary_clock::tests::test_boundary_clock_active_port_count ... ok [INFO] [stdout] test boundary_clock::tests::test_boundary_clock_master_port_via_slave_state ... ok [INFO] [stdout] test boundary_clock::tests::test_boundary_clock_new ... ok [INFO] [stdout] test boundary_clock::tests::test_boundary_clock_add_port ... ok [INFO] [stdout] test aes67::tests::test_rtp_timestamp_from_sample_count ... ok [INFO] [stdout] test boundary_clock::tests::test_delay_mechanism_e2e_no_pdelay ... ok [INFO] [stdout] test boundary_clock::tests::test_delay_mechanism_no_mechanism_no_pdelay ... ok [INFO] [stdout] test boundary_clock::tests::test_delay_mechanism_p2p_uses_pdelay ... ok [INFO] [stdout] test boundary_clock::tests::test_port_state_disabled_not_active ... ok [INFO] [stdout] test boundary_clock::tests::test_boundary_clock_slave_ports_returns_masters ... ok [INFO] [stdout] test boundary_clock::tests::test_port_state_faulty_not_active ... ok [INFO] [stdout] test aes67::tests::test_aes67_sdp_generate ... ok [INFO] [stdout] test boundary_clock::tests::test_port_state_master_is_active ... ok [INFO] [stdout] test boundary_clock::tests::test_port_state_master_is_master ... ok [INFO] [stdout] test boundary_clock::tests::test_port_state_slave_is_active ... ok [INFO] [stdout] test clock::drift::tests::test_allan_variance_insufficient_data ... ok [INFO] [stdout] test aes67::tests::test_aes67_config_samples_per_packet ... ok [INFO] [stdout] test boundary_clock::tests::test_port_transition_faulty_only_to_initializing ... ok [INFO] [stdout] test clock::discipline::tests::test_clock_discipline ... ok [INFO] [stdout] test clock::drift::tests::test_drift_prediction_zero_drift ... ok [INFO] [stdout] test boundary_clock::tests::test_port_state_slave_is_slave ... ok [INFO] [stdout] test clock::drift::tests::test_drift_estimator_basic ... ok [INFO] [stdout] test clock::drift::tests::test_drift_reset_clears_state ... ok [INFO] [stdout] test clock::drift::tests::test_allan_deviation_plot_length ... ok [INFO] [stdout] test boundary_clock::tests::test_port_transition_initializing_to_listening ... ok [INFO] [stdout] test clock::drift::tests::test_linear_ramp_adev_nonzero ... ok [INFO] [stdout] test boundary_clock::tests::test_port_transition_listening_to_slave ... ok [INFO] [stdout] test clock::discipline::tests::test_pid_controller ... ok [INFO] [stdout] test clock::drift::tests::test_allan_deviation_is_sqrt_of_variance ... ok [INFO] [stdout] test boundary_clock::tests::test_port_transition_listening_to_master ... ok [INFO] [stdout] test clock::discipline::tests::test_holdover ... ok [INFO] [stdout] test boundary_clock::tests::test_port_transition_slave_to_passive ... ok [INFO] [stdout] test clock::drift::tests::test_reset_clears_phase_samples_for_avar ... ok [INFO] [stdout] test clock::offset::tests::test_offset_filter ... ok [INFO] [stdout] test clock::offset::tests::test_offset_filter_median ... ok [INFO] [stdout] test clock::offset::tests::test_offset_filter_std_dev ... ok [INFO] [stdout] test clock::drift::tests::test_update_records_phase_sample ... ok [INFO] [stdout] test clock::offset::tests::test_offset_filter_window ... ok [INFO] [stdout] test clock::tests::test_clock_source ... ok [INFO] [stdout] test clock_discipline::tests::test_clock_error_is_large ... ok [INFO] [stdout] test clock_discipline::tests::test_clock_error_negative_large ... ok [INFO] [stdout] test clock::holdover::tests::test_holdover_manager ... ok [INFO] [stdout] test clock_discipline::tests::test_clock_error_abs_us ... ok [INFO] [stdout] test clock::drift::tests::test_allan_variance_constant_phase_is_zero ... ok [INFO] [stdout] test clock_discipline::tests::test_discipline_action_hold_description ... ok [INFO] [stdout] test clock_discipline::tests::test_discipline_action_slew_description ... ok [INFO] [stdout] test clock::tests::test_sync_state ... ok [INFO] [stdout] test clock::selection::tests::test_priority_ordering ... ok [INFO] [stdout] test clock::tests::test_clock_stats_default ... ok [INFO] [stdout] test clock_discipline::tests::test_clock_error_not_large ... ok [INFO] [stdout] test clock::selection::tests::test_source_selector ... ok [INFO] [stdout] test clock::drift::tests::test_phase_sample_capacity_limit ... ok [INFO] [stdout] test clock::selection::tests::test_source_removal ... ok [INFO] [stdout] test clock_discipline::tests::test_discipline_action_step_description ... ok [INFO] [stdout] test clock_discipline::tests::test_discipliner_add_sample_and_count ... ok [INFO] [stdout] test clock_discipline::tests::test_discipliner_empty_hold ... ok [INFO] [stdout] test clock_discipline::tests::test_discipliner_hold_small_error ... ok [INFO] [stdout] test clock_discipline::tests::test_discipliner_ring_buffer_bounded ... ok [INFO] [stdout] test clock_discipline::tests::test_discipliner_step_large_error ... ok [INFO] [stdout] test clock_discipline::tests::test_discipliner_mean_offset ... ok [INFO] [stdout] test clock_discipline::tests::test_discipliner_slew_medium_error ... ok [INFO] [stdout] test clock_discipline::tests::test_frequency_estimate_not_reliable ... ok [INFO] [stdout] test clock_discipline::tests::test_frequency_estimate_none_few_samples ... ok [INFO] [stdout] test clock_discipline::tests::test_frequency_estimate_ppm_offset ... ok [INFO] [stdout] test clock_discipline::tests::test_frequency_estimate_reliable ... ok [INFO] [stdout] test clock_domain::tests::test_domain_id_clamped ... ok [INFO] [stdout] test clock_discipline::tests::test_frequency_estimate_some_many_samples ... ok [INFO] [stdout] test clock_domain::tests::test_domain_id_default ... ok [INFO] [stdout] test clock_domain::tests::test_elect_master_empty_domain ... ok [INFO] [stdout] test clock_domain::tests::test_elect_master_chooses_best_quality ... ok [INFO] [stdout] test clock_domain::tests::test_domain_id_valid ... ok [INFO] [stdout] test clock::holdover::tests::test_holdover_quality ... ok [INFO] [stdout] test clock_domain::tests::test_isolate ... ok [INFO] [stdout] test clock_domain::tests::test_mark_unreachable_reduces_count ... ok [INFO] [stdout] test clock_domain::tests::test_master_unreachable_triggers_reelection ... ok [INFO] [stdout] test clock_domain::tests::test_master_role_assigned ... ok [INFO] [stdout] test clock_domain::tests::test_registry_remove ... ok [INFO] [stdout] test clock_domain::tests::test_slave_role_assigned ... ok [INFO] [stdout] test clock_domain::tests::test_unisolate ... ok [INFO] [stdout] test clock_ensemble::bayesian_tests::test_bayesian_ensemble_diffuse_prior ... ok [INFO] [stdout] test clock_ensemble::bayesian_tests::test_bayesian_ensemble_two_sources_weighted_by_precision ... ok [INFO] [stdout] test clock_ensemble::bayesian_tests::test_bayesian_ensemble_reset ... ok [INFO] [stdout] test clock_ensemble::bayesian_tests::test_from_clock_ensemble_single_source ... ok [INFO] [stdout] test clock_ensemble::bayesian_tests::test_from_clock_ensemble_no_sources ... ok [INFO] [stdout] test clock_ensemble::bayesian_tests::test_gaussian_state_update_single_measurement ... ok [INFO] [stdout] test clock_ensemble::bayesian_tests::test_gaussian_state_update_two_equal_measurements ... ok [INFO] [stdout] test clock_ensemble::bayesian_tests::test_gaussian_std_dev ... ok [INFO] [stdout] test clock_domain::tests::test_reachable_count ... ok [INFO] [stdout] test clock_domain::tests::test_registry_get_or_create ... ok [INFO] [stdout] test clock_ensemble::tests::test_clock_quality_default ... ok [INFO] [stdout] test clock_ensemble::tests::test_clock_quality_score ... ok [INFO] [stdout] test clock_ensemble::tests::test_clock_quality_unreachable ... ok [INFO] [stdout] test clock_ensemble::tests::test_clock_quality_weight_clamped ... ok [INFO] [stdout] test clock_ensemble::tests::test_clock_source_id ... ok [INFO] [stdout] test clock_ensemble::tests::test_ensemble_add_remove_source ... ok [INFO] [stdout] test clock_ensemble::tests::test_ensemble_compute_no_active ... ok [INFO] [stdout] test clock_ensemble::tests::test_ensemble_compute_single_source ... ok [INFO] [stdout] test clock_ensemble::tests::test_ensemble_compute_unreachable_excluded ... ok [INFO] [stdout] test clock_domain::tests::test_registry_new_is_empty ... ok [INFO] [stdout] test clock_ensemble::tests::test_ensemble_compute_weighted ... ok [INFO] [stdout] test clock_ensemble::tests::test_ensemble_history ... ok [INFO] [stdout] test clock_ensemble::tests::test_ensemble_reset_measurements ... ok [INFO] [stdout] test clock_error::tests::test_clock_error_exceeds_threshold ... ok [INFO] [stdout] test clock_ensemble::tests::test_outlier_rejection_stddev ... ok [INFO] [stdout] test clock_error::tests::test_tracker_empty ... ok [INFO] [stdout] test clock_error::tests::test_clock_error_with_source ... ok [INFO] [stdout] test clock_error::tests::test_error_type_slew_correctable ... ok [INFO] [stdout] test clock_error::tests::test_clock_error_new ... ok [INFO] [stdout] test clock_error::tests::test_error_type_label ... ok [INFO] [stdout] test clock_error::tests::test_tracker_excessive_count ... ok [INFO] [stdout] test clock_error::tests::test_tracker_capacity_eviction ... ok [INFO] [stdout] test clock_error::tests::test_excessive_eviction_decrements_count ... ok [INFO] [stdout] test clock_error::tests::test_tracker_latest_error ... ok [INFO] [stdout] test clock_graph::tests::test_clock_role_display ... ok [INFO] [stdout] test clock_error::tests::test_tracker_reset ... ok [INFO] [stdout] test clock_error::tests::test_tracker_is_stable ... ok [INFO] [stdout] test clock_error::tests::test_tracker_record_and_max_error ... ok [INFO] [stdout] test clock::holdover::tests::test_holdover_prediction ... ok [INFO] [stdout] test clock_graph::tests::test_graph_unknown_node_rejected ... ok [INFO] [stdout] test clock_graph::tests::test_graph_cycle_detection ... ok [INFO] [stdout] test clock_graph::tests::test_graph_parent_of ... ok [INFO] [stdout] test clock_error::tests::test_tracker_stats_empty ... ok [INFO] [stdout] test clock_graph::tests::test_graph_children_of ... ok [INFO] [stdout] test clock_error::tests::test_tracker_stats_basic ... ok [INFO] [stdout] test clock_graph::tests::test_graph_node_count ... ok [INFO] [stdout] test clock_graph::tests::test_graph_compute_levels ... ok [INFO] [stdout] test clock_graph::tests::test_clock_role_is_source ... ok [INFO] [stdout] test clock_graph::tests::test_graph_nodes_at_level ... ok [INFO] [stdout] test clock_graph::tests::test_graph_self_loop_rejected ... ok [INFO] [stdout] test clock_graph::tests::test_graph_to_dot ... ok [INFO] [stdout] test clock_quality::tests::test_accumulator_clear ... ok [INFO] [stdout] test clock_quality::tests::test_accumulator_drift_estimate ... ok [INFO] [stdout] test clock_quality::tests::test_accumulator_max_jitter ... ok [INFO] [stdout] test clock_quality::tests::test_accumulator_mean_and_stddev ... ok [INFO] [stdout] test clock_graph::tests::test_graph_total_path_delay ... ok [INFO] [stdout] test clock_quality::tests::test_stratum_numbers ... ok [INFO] [stdout] test clock_quality::tests::test_classify_stratum1 ... ok [INFO] [stdout] test clock_quality::tests::test_typical_accuracy ... ok [INFO] [stdout] test clock_quality_monitor::tests::test_clock_quality_class_ordering ... ok [INFO] [stdout] test clock_quality::tests::test_accumulator_max_samples_eviction ... ok [INFO] [stdout] test clock_quality_monitor::tests::test_mtie_constant_signal ... ok [INFO] [stdout] test clock_quality::tests::test_accuracy_class_ordering ... ok [INFO] [stdout] test clock_quality::tests::test_compute_metrics ... ok [INFO] [stdout] test clock_quality::tests::test_broadcast_grade ... ok [INFO] [stdout] test clock_quality::tests::test_classify_free_running ... ok [INFO] [stdout] test clock_quality::tests::test_quality_score_perfect ... ok [INFO] [stdout] test clock_quality::tests::test_quality_score_zero_samples ... ok [INFO] [stdout] test clock_quality::tests::test_accuracy_class_labels ... ok [INFO] [stdout] test clock_quality_monitor::tests::test_quality_class_descriptions ... ok [INFO] [stdout] test clock_quality_monitor::tests::test_report_for_tau ... ok [INFO] [stdout] test clock_quality_monitor::tests::test_report_generation ... ok [INFO] [stdout] test clock_quality_monitor::tests::test_reset_clears_samples ... ok [INFO] [stdout] test clock_quality_monitor::tests::test_sample_eviction_respects_max ... ok [INFO] [stdout] test clock_quality_monitor::tests::test_tdev_constant_signal ... ok [INFO] [stdout] test clock_quality_monitor::tests::test_tdev_positive_for_noisy_signal ... ok [INFO] [stdout] test clock_recovery::tests::test_default_config ... ok [INFO] [stdout] test clock_recovery::tests::test_feed_updates_samples ... ok [INFO] [stdout] test clock_recovery::tests::test_first_feed_acquires ... ok [INFO] [stdout] test clock_recovery::tests::test_freq_offset_initial ... ok [INFO] [stdout] test clock_recovery::tests::test_history_bounded ... ok [INFO] [stdout] test clock_recovery::tests::test_history_grows ... ok [INFO] [stdout] test clock_recovery::tests::test_is_locked ... ok [INFO] [stdout] test clock_recovery::tests::test_mean_phase_error_empty ... ok [INFO] [stdout] test clock_recovery::tests::test_missing_resets_good_count ... ok [INFO] [stdout] test clock_recovery::tests::test_new_state ... ok [INFO] [stdout] test clock_recovery::tests::test_peak_phase_error_empty ... ok [INFO] [stdout] test clock_recovery::tests::test_perfect_clock_locks ... ok [INFO] [stdout] test clock_recovery::tests::test_pll_state_display ... ok [INFO] [stdout] test clock_recovery::tests::test_reset ... ok [INFO] [stdout] test clock_recovery::tests::test_rms_phase_error_empty ... ok [INFO] [stdout] test clock_recovery::tests::test_signal_missing_holdover ... ok [INFO] [stdout] test clock_steering::tests::test_convergence_to_lock ... ok [INFO] [stdout] test clock_steering::tests::test_anti_windup ... ok [INFO] [stdout] test clock_steering::tests::test_default_config ... ok [INFO] [stdout] test clock_steering::tests::test_large_offset_steps ... ok [INFO] [stdout] test clock_steering::tests::test_lock_lost_on_large_offset ... ok [INFO] [stdout] test clock_steering::tests::test_mean_absolute_offset ... ok [INFO] [stdout] test clock_steering::tests::test_negative_offset_steps ... ok [INFO] [stdout] test clock_steering::tests::test_noop_action ... ok [INFO] [stdout] test clock_steering::tests::test_reset ... ok [INFO] [stdout] test clock_steering::tests::test_new_controller ... ok [INFO] [stdout] test clock_steering::tests::test_small_offset_slews ... ok [INFO] [stdout] test clock_steering::tests::test_slew_rate_clamped ... ok [INFO] [stdout] test dante_clock::tests::test_clock_mismatch_audible ... ok [INFO] [stdout] test dante_clock::tests::test_clock_mismatch_creation ... ok [INFO] [stdout] test clock_steering::tests::test_steering_mode_label ... ok [INFO] [stdout] test dante_clock::tests::test_clock_mismatch_no_drift ... ok [INFO] [stdout] test dante_clock::tests::test_dante_sample_rate_actual ... ok [INFO] [stdout] test dante_clock::tests::test_dante_sample_rate_compatible ... ok [INFO] [stdout] test dante_clock::tests::test_mismatch_detector_pull_mismatch ... ok [INFO] [stdout] test dante_clock::tests::test_mismatch_detector_different_domain ... ok [INFO] [stdout] test dante_clock::tests::test_pull_factor_down_001 ... ok [INFO] [stdout] test dante_clock::tests::test_mismatch_detector_same_rate ... ok [INFO] [stdout] test dante_clock::tests::test_pull_factor_up_001 ... ok [INFO] [stdout] test dante_clock::tests::test_mismatch_detector_same_domain ... ok [INFO] [stdout] test drift_monitor::tests::test_default_config ... ok [INFO] [stdout] test dante_clock::tests::test_pull_factor_none ... ok [INFO] [stdout] test clock_quality_monitor::tests::test_mtie_insufficient_samples ... ok [INFO] [stdout] test drift_monitor::tests::test_drift_rate_insufficient_samples ... ok [INFO] [stdout] test clock_quality_monitor::tests::test_mtie_known_value ... ok [INFO] [stdout] test drift_monitor::tests::test_drift_rate_linear ... ok [INFO] [stdout] test dante_clock::tests::test_clock_source_display ... ok [INFO] [stdout] test drift_monitor::tests::test_drift_sample_abs ... ok [INFO] [stdout] test clock_quality_monitor::tests::test_mtie_threshold_values ... ok [INFO] [stdout] test drift_monitor::tests::test_mean_offset ... ok [INFO] [stdout] test drift_monitor::tests::test_empty_monitor ... ok [INFO] [stdout] test drift_monitor::tests::test_peak_offset ... ok [INFO] [stdout] test drift_monitor::tests::test_push_sample ... ok [INFO] [stdout] test drift_monitor::tests::test_reset ... ok [INFO] [stdout] test drift_monitor::tests::test_severity_alarm ... ok [INFO] [stdout] test drift_monitor::tests::test_severity_display ... ok [INFO] [stdout] test drift_monitor::tests::test_stddev_offset ... ok [INFO] [stdout] test drift_monitor::tests::test_window_eviction ... ok [INFO] [stdout] test ffi::clock_adjust::tests::test_clock_limits ... ok [INFO] [stdout] test ffi::clock_adjust::tests::test_adjust_clock_validation ... ok [INFO] [stdout] test frequency_estimator::tests::test_clock_estimate_reliable ... ok [INFO] [stdout] test ffi::clock_adjust::tests::test_get_system_time ... ok [INFO] [stdout] test frequency_estimator::tests::test_clock_estimate_unreliable ... ok [INFO] [stdout] test frequency_estimator::tests::test_estimator_clock_estimate_fields ... ok [INFO] [stdout] test frequency_estimator::tests::test_estimator_constant_drift ... ok [INFO] [stdout] test frequency_estimator::tests::test_estimator_one_sample ... ok [INFO] [stdout] test frequency_estimator::tests::test_clock_estimate_confidence_clamped ... ok [INFO] [stdout] test frequency_estimator::tests::test_frequency_error_is_acceptable_exceeds ... ok [INFO] [stdout] test frequency_estimator::tests::test_frequency_error_is_acceptable_within ... ok [INFO] [stdout] test frequency_estimator::tests::test_frequency_error_negative_acceptable ... ok [INFO] [stdout] test frequency_estimator::tests::test_frequency_error_nsec_per_sec ... ok [INFO] [stdout] test frequency_estimator::tests::test_frequency_error_ppm ... ok [INFO] [stdout] test drift_monitor::tests::test_severity_warning ... ok [INFO] [stdout] test frequency_estimator::tests::test_estimator_no_samples ... ok [INFO] [stdout] test frequency_estimator::tests::test_estimator_window_eviction ... ok [INFO] [stdout] test drift_monitor::tests::test_severity_elevated ... ok [INFO] [stdout] test drift_monitor::tests::test_severity_normal ... ok [INFO] [stdout] test clock_quality_monitor::tests::test_from_mtie_thresholds ... ok [INFO] [stdout] test frequency_estimator::tests::test_regressor_no_points_returns_none ... ok [INFO] [stdout] test frequency_estimator::tests::test_regressor_one_point_returns_none ... ok [INFO] [stdout] test frequency_estimator::tests::test_regressor_perfect_line ... ok [INFO] [stdout] test frequency_estimator::tests::test_regressor_r_squared_perfect ... ok [INFO] [stdout] test frequency_estimator::tests::test_regressor_zero_slope ... ok [INFO] [stdout] test frequency_sync::tests::test_av_sync_compute_drift_ms_audio_ahead ... ok [INFO] [stdout] test frequency_sync::tests::test_av_sync_compute_drift_ms_no_drift ... ok [INFO] [stdout] test frequency_sync::tests::test_av_sync_resample_ratio_is_positive ... ok [INFO] [stdout] test frequency_sync::tests::test_estimate_frequency_error_negative ... ok [INFO] [stdout] test frequency_sync::tests::test_estimate_frequency_error_positive ... ok [INFO] [stdout] test frequency_sync::tests::test_frequency_error_correction_factor_no_error ... ok [INFO] [stdout] test frequency_sync::tests::test_frequency_error_is_acceptable_outside ... ok [INFO] [stdout] test frequency_sync::tests::test_frequency_error_is_acceptable_negative_ppm ... ok [INFO] [stdout] test frequency_sync::tests::test_frequency_error_is_acceptable_within ... ok [INFO] [stdout] test frequency_sync::tests::test_estimate_frequency_error_zero ... ok [INFO] [stdout] test frequency_sync::tests::test_sync_pll_is_locked_outside_range ... ok [INFO] [stdout] test frequency_sync::tests::test_sync_pll_initial_output ... ok [INFO] [stdout] test frequency_sync::tests::test_sync_pll_lock_range ... ok [INFO] [stdout] test frequency_sync::tests::test_sync_pll_is_locked_within_range ... ok [INFO] [stdout] test gps_reference::tests::test_fix_quality_from_u8 ... ok [INFO] [stdout] test frequency_sync::tests::test_frequency_error_correction_factor_fast_clock ... ok [INFO] [stdout] test gps_reference::tests::test_gps_clock_utc_time_of_day ... ok [INFO] [stdout] test gps_reference::tests::test_nmea_parser_rmc_void ... ok [INFO] [stdout] test gps_reference::tests::test_nmea_parser_rmc_valid ... ok [INFO] [stdout] test gps_reference::tests::test_gps_clock_stratum_with_pps ... ok [INFO] [stdout] test gps_reference::tests::test_nmea_time_time_of_day_ns ... ok [INFO] [stdout] test gps_reference::tests::test_nmea_time_hours_minutes ... ok [INFO] [stdout] test gps_reference::tests::test_pps_source_corrected_utc ... ok [INFO] [stdout] test gps_reference::tests::test_pps_source_record_pulse ... ok [INFO] [stdout] test gps_reference::tests::test_nmea_parser_rmc_with_millis ... ok [INFO] [stdout] test gps_reference::tests::test_nmea_parser_gga_no_fix ... ok [INFO] [stdout] test gps_reference::tests::test_fix_quality_is_usable ... ok [INFO] [stdout] test gps_reference::tests::test_nmea_parser_gga_valid ... ok [INFO] [stdout] test gptp::tests::test_bmca_compare_priority2 ... ok [INFO] [stdout] test gptp::tests::test_gptp_clock_update_from_sync ... ok [INFO] [stdout] test gptp::tests::test_gptp_clock_update_with_path_delay ... ok [INFO] [stdout] test gptp::tests::test_bmca_compare_priority1 ... ok [INFO] [stdout] test gptp::tests::test_gptp_domain_new ... ok [INFO] [stdout] test gptp::tests::test_gptp_follow_up ... ok [INFO] [stdout] test gptp::tests::test_gptp_domain_with_priorities ... ok [INFO] [stdout] test gptp::tests::test_gptp_path_delay_validity ... ok [INFO] [stdout] test gptp::tests::test_bmca_select_best_empty ... ok [INFO] [stdout] test gptp::tests::test_gptp_timestamp_48bit_mask ... ok [INFO] [stdout] test gptp::tests::test_gptp_clock_default ... ok [INFO] [stdout] test gptp::tests::test_gptp_timestamp_from_ns ... ok [INFO] [stdout] test gptp::tests::test_bmca_select_best ... ok [INFO] [stdout] test gptp::tests::test_bmca_compare_clock_class ... ok [INFO] [stdout] test gptp::tests::test_port_state_is_sync_source ... ok [INFO] [stdout] test holdover_estimator::tests::test_holdover_grade_labels ... ok [INFO] [stdout] test gptp::tests::test_gptp_timestamp_roundtrip ... ok [INFO] [stdout] test holdover_estimator::tests::test_holdover_grade_ordering ... ok [INFO] [stdout] test holdover_estimator::tests::test_max_drift_rate ... ok [INFO] [stdout] test gps_reference::tests::test_gps_clock_process_nmea_rmc ... ok [INFO] [stdout] test holdover_estimator::tests::test_max_samples_eviction ... ok [INFO] [stdout] test holdover_estimator::tests::test_add_samples ... ok [INFO] [stdout] test gptp::tests::test_port_state_is_synchronized ... ok [INFO] [stdout] test holdover_estimator::tests::test_new_estimator ... ok [INFO] [stdout] test holdover_estimator::tests::test_mean_drift_rate ... ok [INFO] [stdout] test holdover_estimator::tests::test_predict_drift ... ok [INFO] [stdout] test holdover_estimator::tests::test_reset ... ok [INFO] [stdout] test holdover_estimator::tests::test_drift_stddev ... ok [INFO] [stdout] test holdover_estimator::tests::test_estimate_grade_excellent ... ok [INFO] [stdout] test gptp::tests::test_gptp_timestamp_to_ns ... ok [INFO] [stdout] test holdover_estimator::tests::test_holdover_lifecycle ... ok [INFO] [stdout] test holdover_estimator::tests::test_time_to_threshold ... ok [INFO] [stdout] test integration::tests::test_adjust_timestamp ... ok [INFO] [stdout] test integration::tests::test_system_time_conversion ... ok [INFO] [stdout] test ipc::shmem::tests::test_lock_free_sequential_writes ... ok [INFO] [stdout] test integration::tests::test_timestamp_sync ... ok [INFO] [stdout] test ipc::socket::tests::test_client_creation ... ok [INFO] [stdout] test ipc::shmem::tests::test_shared_time_data_roundtrip ... ok [INFO] [stdout] test ipc::tests::test_message_serialization ... ok [INFO] [stdout] test jitter_buffer::tests::test_config_default ... ok [INFO] [stdout] test ipc::tests::test_state_info ... ok [INFO] [stdout] test jitter_buffer::tests::test_config_builder ... ok [INFO] [stdout] test jitter_buffer::tests::test_discard_excessive_jitter ... ok [INFO] [stdout] test jitter_buffer::tests::test_jitter_estimate_converges ... ok [INFO] [stdout] test jitter_buffer::tests::test_mean_delay ... ok [INFO] [stdout] test jitter_buffer::tests::test_median_offset_even ... ok [INFO] [stdout] test jitter_buffer::tests::test_overflow_drops_oldest ... ok [INFO] [stdout] test aes67::tests::test_aes67_packet_time_microseconds ... ok [INFO] [stdout] test jitter_buffer::tests::test_peek ... ok [INFO] [stdout] test ipc::shmem::tests::test_mmap_manager_create_and_read ... ok [INFO] [stdout] test jitter_buffer::tests::test_push_and_pop ... ok [INFO] [stdout] test ipc::shmem::tests::test_mmap_manager_reopen ... ok [INFO] [stdout] test ipc::socket::tests::test_server_creation ... ok [INFO] [stdout] test jitter_buffer::tests::test_underrun_tracking ... ok [INFO] [stdout] test leap_second::tests::test_add_event_increments_len ... ok [INFO] [stdout] test leap_second::tests::test_add_events_sorted ... ok [INFO] [stdout] test jitter_buffer::tests::test_config_new ... ok [INFO] [stdout] test boundary_clock::tests::test_port_state_initializing_not_active ... ok [INFO] [stdout] test leap_second::tests::test_empty_table ... ok [INFO] [stdout] test drift_monitor::tests::test_min_max_offset ... ok [INFO] [stdout] test leap_second::tests::test_event_affects_timestamp_exact ... ok [INFO] [stdout] test leap_second::tests::test_event_affects_timestamp_one_second_after ... ok [INFO] [stdout] test leap_second::tests::test_event_does_not_affect_distant_timestamp ... ok [INFO] [stdout] test leap_second::tests::test_historical_table_populated ... ok [INFO] [stdout] test leap_second::tests::test_is_leap_second_at_known_event ... ok [INFO] [stdout] test leap_second::tests::test_is_not_leap_second_at_unrelated_ts ... ok [INFO] [stdout] test leap_second::tests::test_leap_second_type_negative_delta ... ok [INFO] [stdout] test leap_second::tests::test_leap_second_type_positive_delta ... ok [INFO] [stdout] test leap_second::tests::test_next_leap_none_when_past_all_events ... ok [INFO] [stdout] test leap_second::tests::test_next_leap_returns_future_event ... ok [INFO] [stdout] test leap_second::tests::test_tai_utc_at_after_last_known_event ... ok [INFO] [stdout] test leap_second::tests::test_tai_utc_at_before_all_events ... ok [INFO] [stdout] test ntp::client::tests::test_add_server ... ok [INFO] [stdout] test ntp::client::tests::test_config ... ok [INFO] [stdout] test ntp::filter::tests::test_ntp_client_state_default ... ok [INFO] [stdout] test ntp::filter::tests::test_ntp_client_state_initial ... ok [INFO] [stdout] test ntp::filter::tests::test_ntp_client_state_update_offset ... ok [INFO] [stdout] test ntp::filter::tests::test_ntp_clock_filter_best_offset_min_delay ... ok [INFO] [stdout] test ntp::filter::tests::test_ntp_clock_filter_dispersion_zero ... ok [INFO] [stdout] test ntp::filter::tests::test_ntp_clock_filter_empty ... ok [INFO] [stdout] test ntp::filter::tests::test_ntp_filter_timestamp_diff_ms_negative ... ok [INFO] [stdout] test ntp::filter::tests::test_ntp_filter_timestamp_diff_ms_positive ... ok [INFO] [stdout] test ntp::filter::tests::test_ntp_filter_timestamp_from_ms ... ok [INFO] [stdout] test jitter_buffer::tests::test_median_offset ... ok [INFO] [stdout] test ntp::client::tests::test_ntp_client_creation ... ok [INFO] [stdout] test ntp::filter::tests::test_ntp_filter_timestamp_round_trip ... ok [INFO] [stdout] test ntp::filter::tests::test_ntp_filter_timestamp_to_ms ... ok [INFO] [stdout] test ntp::filter::tests::test_ntp_stratum_is_valid ... ok [INFO] [stdout] test ntp::filter::tests::test_ntp_stratum_level ... ok [INFO] [stdout] test ntp::nts::tests::test_algorithm_key_lengths ... ok [INFO] [stdout] test ntp::nts::tests::test_algorithm_round_trip ... ok [INFO] [stdout] test ntp::nts::tests::test_algorithm_unknown_id_errors ... ok [INFO] [stdout] test ntp::nts::tests::test_cookie_accessors ... ok [INFO] [stdout] test ntp::nts::tests::test_empty_cookie ... ok [INFO] [stdout] test ntp::nts::tests::test_key_material_correct_length_ok ... ok [INFO] [stdout] test ntp::nts::tests::test_key_material_wrong_length_errors ... ok [INFO] [stdout] test ntp::nts::tests::test_null_hook_authenticate_returns_empty ... ok [INFO] [stdout] test ntp::nts::tests::test_null_hook_verify_always_ok ... ok [INFO] [stdout] test ntp::nts::tests::test_session_consume_cookie_depletes_pool ... ok [INFO] [stdout] test ntp::nts::tests::test_session_invalidate ... ok [INFO] [stdout] test ntp::nts::tests::test_session_key_material_accessible ... ok [INFO] [stdout] test ntp::nts::tests::test_session_set_ke_result_authenticated ... ok [INFO] [stdout] test ntp::nts::tests::test_session_new_not_authenticated ... ok [INFO] [stdout] test ntp::nts::tests::test_session_set_ke_result_resets_index ... ok [INFO] [stdout] test ntp::nts::tests::test_unique_identifier_length ... ok [INFO] [stdout] test ntp::nts::tests::test_unique_identifier_non_zero ... ok [INFO] [stdout] test ntp::packet::tests::test_ntp_timestamp ... ok [INFO] [stdout] test ntp::packet::tests::test_ntp_packet_serialization ... ok [INFO] [stdout] test ntp::packet::tests::test_ntp_timestamp_zero ... ok [INFO] [stdout] test ntp::pool::tests::test_add_remove_server ... ok [INFO] [stdout] test ntp::packet::tests::test_offset_calculation ... ok [INFO] [stdout] test ntp::pool::tests::test_blacklist ... ok [INFO] [stdout] test ntp::pool::tests::test_default_pool ... ok [INFO] [stdout] test ntp::pool::tests::test_server_pool_creation ... ok [INFO] [stdout] test ntp::pool::tests::test_server_stats ... ok [INFO] [stdout] test ntp::stratum::tests::test_stratum_creation ... ok [INFO] [stdout] test ntp::stratum::tests::test_stratum_display ... ok [INFO] [stdout] test ntp::stratum::tests::test_stratum_ordering ... ok [INFO] [stdout] test ntp::tests::test_leap_indicator ... ok [INFO] [stdout] test ntp::tests::test_mode ... ok [INFO] [stdout] test offset_correction::tests::test_ewma_filter_first_sample ... ok [INFO] [stdout] test offset_correction::tests::test_ewma_filter_reset ... ok [INFO] [stdout] test offset_correction::tests::test_ewma_filter_smooths ... ok [INFO] [stdout] test offset_correction::tests::test_frequency_adjustment_new ... ok [INFO] [stdout] test offset_correction::tests::test_frequency_adjustment_zero ... ok [INFO] [stdout] test offset_correction::tests::test_outlier_filter_detects_outlier ... ok [INFO] [stdout] test offset_correction::tests::test_outlier_filter_mean ... ok [INFO] [stdout] test offset_correction::tests::test_outlier_filter_push_and_count ... ok [INFO] [stdout] test offset_correction::tests::test_outlier_filter_warmup ... ok [INFO] [stdout] test offset_correction::tests::test_pi_controller_output_clamped ... ok [INFO] [stdout] test offset_correction::tests::test_pi_controller_default ... ok [INFO] [stdout] test offset_correction::tests::test_pi_controller_positive_offset_positive_output ... ok [INFO] [stdout] test offset_filter::tests::test_filter_kalman_converges ... ok [INFO] [stdout] test offset_correction::tests::test_pi_controller_zero_offset_zero_output ... ok [INFO] [stdout] test offset_correction::tests::test_pi_controller_reset_clears_integral ... ok [INFO] [stdout] test offset_correction::tests::test_pi_controller_negative_offset_negative_output ... ok [INFO] [stdout] test offset_filter::tests::test_filter_none_empty_returns_none ... ok [INFO] [stdout] test jitter_buffer::tests::test_reset ... ok [INFO] [stdout] test offset_filter::tests::test_filter_median_even_window ... ok [INFO] [stdout] test offset_filter::tests::test_filter_type_names ... ok [INFO] [stdout] test offset_filter::tests::test_filter_none_returns_last_sample ... ok [INFO] [stdout] test offset_filter::tests::test_filter_type_smoothing_factor_kalman ... ok [INFO] [stdout] test offset_filter::tests::test_filter_lopass_smooths ... ok [INFO] [stdout] test offset_filter::tests::test_filter_type_smoothing_factor_none ... ok [INFO] [stdout] test offset_filter::tests::test_offset_sample_is_outlier_true ... ok [INFO] [stdout] test offset_filter::tests::test_outlier_dropped ... ok [INFO] [stdout] test offset_filter::tests::test_filter_median_odd_window ... ok [INFO] [stdout] test offset_filter::tests::test_filter_type_accessor ... ok [INFO] [stdout] test phase_lock::tests::test_pll_config_builder ... ok [INFO] [stdout] test offset_filter::tests::test_offset_sample_is_outlier_false ... ok [INFO] [stdout] test phase_lock::tests::test_pll_config_default ... ok [INFO] [stdout] test phase_lock::tests::test_pll_convergence ... ok [INFO] [stdout] test offset_correction::tests::test_outlier_filter_reset ... ok [INFO] [stdout] test phase_lock::tests::test_pll_freq_clamping ... ok [INFO] [stdout] test phase_lock::tests::test_pll_holdover ... ok [INFO] [stdout] test offset_filter::tests::test_reset_clears_samples ... ok [INFO] [stdout] test phase_lock::tests::test_pll_frequency_adjustment ... ok [INFO] [stdout] test phase_lock::tests::test_pll_initial_state ... ok [INFO] [stdout] test phase_lock::tests::test_pll_lock_acquisition ... ok [INFO] [stdout] test phase_lock::tests::test_pll_lock_loss ... ok [INFO] [stdout] test offset_filter::tests::test_window_size_limit ... ok [INFO] [stdout] test phase_lock::tests::test_pll_reset ... ok [INFO] [stdout] test phase_lock::tests::test_pll_stats_tracking ... ok [INFO] [stdout] test phase_lock::tests::test_pll_update_produces_output ... ok [INFO] [stdout] test ptp::bmca::tests::test_clock_class_comparison ... ok [INFO] [stdout] test ptp::bmca::tests::test_clock_identity_tiebreaker ... ok [INFO] [stdout] test ptp::bmca::tests::test_priority1_comparison ... ok [INFO] [stdout] test ptp::bmca::timeout_tests::test_engine_empty_returns_none ... ok [INFO] [stdout] test ptp::bmca::timeout_tests::test_engine_local_wins_against_worse_candidate ... ok [INFO] [stdout] test ptp::bmca::timeout_tests::test_engine_remove_expired ... ok [INFO] [stdout] test ptp::bmca::timeout_tests::test_engine_single_better_candidate ... ok [INFO] [stdout] test ptp::bmca::timeout_tests::test_tracker_detects_timeout ... ok [INFO] [stdout] test ptp::bmca::timeout_tests::test_tracker_multiple_sources_partial_timeout ... ok [INFO] [stdout] test ptp::bmca::timeout_tests::test_tracker_no_timeout_within_window ... ok [INFO] [stdout] test ptp::bmca::timeout_tests::test_tracker_record_renews_timeout ... ok [INFO] [stdout] test ptp::bmca::timeout_tests::test_tracker_remove_source ... ok [INFO] [stdout] test ptp::clock::tests::test_boundary_clock_creation ... ok [INFO] [stdout] test ptp::clock::tests::test_ordinary_clock_creation ... ok [INFO] [stdout] test ptp::crc_validation::tests::test_append_and_strip_crc_roundtrip ... ok [INFO] [stdout] test ptp::crc_validation::tests::test_crc32_portable_empty ... ok [INFO] [stdout] test ptp::crc_validation::tests::test_crc32_portable_known_vector_hello ... ok [INFO] [stdout] test ptp::crc_validation::tests::test_crc32_simd_matches_portable_short ... ok [INFO] [stdout] test ptp::crc_validation::tests::test_crc32_simd_matches_portable_long ... ok [INFO] [stdout] test ptp::crc_validation::tests::test_crc32_simd_threshold_boundary ... ok [INFO] [stdout] test ptp::crc_validation::tests::test_crc32_single_byte_all_values ... ok [INFO] [stdout] test ptp::crc_validation::tests::test_strip_crc_detects_corruption ... ok [INFO] [stdout] test ptp::crc_validation::tests::test_strip_crc_too_short ... ok [INFO] [stdout] test ptp::crc_validation::tests::test_verify_ptp_crc_corrupt_detected ... ok [INFO] [stdout] test ptp::crc_validation::tests::test_verify_ptp_crc_ok ... ok [INFO] [stdout] test ptp::dataset::tests::test_default_dataset_creation ... ok [INFO] [stdout] test ptp::dataset::tests::test_grandmaster_capable ... ok [INFO] [stdout] test ptp::dataset::tests::test_parent_from_local ... ok [INFO] [stdout] test ptp::dataset::tests::test_slave_only ... ok [INFO] [stdout] test ptp::message::tests::test_flags_encoding ... ok [INFO] [stdout] test ptp::message::tests::test_message_type_conversion ... ok [INFO] [stdout] test ptp::message::tests::test_sync_message_serialization ... ok [INFO] [stdout] test ptp::port::tests::test_batch_processor_enqueue_and_drain ... ok [INFO] [stdout] test ptp::port::tests::test_batch_processor_invalid_short_message ... ok [INFO] [stdout] test ptp::port::tests::test_batch_processor_overflow_drops_oldest ... ok [INFO] [stdout] test ptp::port::tests::test_batch_processor_process_up_to ... ok [INFO] [stdout] test ptp::port::tests::test_interval_to_duration ... ok [INFO] [stdout] test ptp::port::tests::test_message_class_announce ... ok [INFO] [stdout] test ptp::port::tests::test_message_class_management ... ok [INFO] [stdout] test ptp::port::tests::test_message_class_sync ... ok [INFO] [stdout] test ptp::port::tests::test_pairer_clear ... ok [INFO] [stdout] test ptp::port::tests::test_pairer_follow_up_without_sync_returns_none ... ok [INFO] [stdout] test ptp::port::tests::test_pairer_match_sync_followup ... ok [INFO] [stdout] test ptp::port::tests::test_pairer_pending_count ... ok [INFO] [stdout] test ptp::port::tests::test_port_config_default ... ok [INFO] [stdout] test ptp::port::tests::test_port_state_creation ... ok [INFO] [stdout] test ptp::slave::tests::test_bmca_score_beats_clock_class ... ok [INFO] [stdout] test ptp::slave::tests::test_bmca_score_beats_priority1 ... ok [INFO] [stdout] test ptp::slave::tests::test_clock_identity_from_mac ... ok [INFO] [stdout] test ptp::slave::tests::test_clock_identity_to_hex_length ... ok [INFO] [stdout] test ptp::slave::tests::test_clock_identity_to_hex_content ... ok [INFO] [stdout] test ptp::slave::tests::test_port_state_is_synchronized_other ... ok [INFO] [stdout] test ptp::slave::tests::test_port_state_is_synchronized_slave ... ok [INFO] [stdout] test ptp::slave::tests::test_ptp_offset_is_within ... ok [INFO] [stdout] test ptp::slave::tests::test_ptp_offset_total_ns_negative ... ok [INFO] [stdout] test ptp::slave::tests::test_ptp_slave_default ... ok [INFO] [stdout] test ptp::slave::tests::test_ptp_slave_initial_state ... ok [INFO] [stdout] test ptp::slave::tests::test_ptp_slave_update_offset_nonzero ... ok [INFO] [stdout] test ptp::tests::test_domain_creation ... ok [INFO] [stdout] test ptp::tests::test_ptp_timestamp ... ok [INFO] [stdout] test ptp::tests::test_timestamp_add_nanos ... ok [INFO] [stdout] test ptp::slave::tests::test_ptp_offset_total_ns_positive ... ok [INFO] [stdout] test ptp::slave::tests::test_ptp_slave_update_offset_symmetric ... ok [INFO] [stdout] test ptp::tests::test_timestamp_diff ... ok [INFO] [stdout] test ptp::tests::test_clock_identity_from_mac ... ok [INFO] [stdout] test ptp::transparent::tests::test_peer_delay_staleness ... ok [INFO] [stdout] test ptp::transparent::tests::test_residence_time_calculation ... ok [INFO] [stdout] test ptp::transparent::tests::test_transparent_clock_creation ... ok [INFO] [stdout] test ptp_management::tests::test_action_round_trip ... ok [INFO] [stdout] test ptp_management::tests::test_action_unknown_errors ... ok [INFO] [stdout] test ptp_management::tests::test_management_id_unknown_errors ... ok [INFO] [stdout] test ptp_management::tests::test_management_message_command_roundtrip ... ok [INFO] [stdout] test ptp_management::tests::test_management_id_round_trip ... ok [INFO] [stdout] test ptp_management::tests::test_management_message_set_roundtrip ... ok [INFO] [stdout] test ptp_management::tests::test_management_message_get_roundtrip ... ok [INFO] [stdout] test ptp_management::tests::test_priority_snapshot_round_trip ... ok [INFO] [stdout] test ptp_management::tests::test_responder_command_disable_port ... ok [INFO] [stdout] test ptp_management::tests::test_responder_get_priority1 ... ok [INFO] [stdout] test ptp_management::tests::test_responder_response_returns_none ... ok [INFO] [stdout] test ravenna::tests::test_ravenna_clock_domain_jitter_exceeds_budget ... ok [INFO] [stdout] test ptp_management::tests::test_tlv_serialize_deserialize_empty ... ok [INFO] [stdout] test ravenna::tests::test_ravenna_clock_domain_new ... ok [INFO] [stdout] test ptp_management::tests::test_responder_set_priority1 ... ok [INFO] [stdout] test ravenna::tests::test_ravenna_clock_domain_record_sync ... ok [INFO] [stdout] test ravenna::tests::test_ravenna_clock_domain_mark_gm_absent ... ok [INFO] [stdout] test ptp_management::tests::test_tlv_serialize_deserialize_with_data ... ok [INFO] [stdout] test ravenna::tests::test_ravenna_clock_params_bad_variant ... ok [INFO] [stdout] test ravenna::tests::test_ravenna_clock_params_compliance_ok ... ok [INFO] [stdout] test ravenna::tests::test_stream_config_validate_bad_sample_rate ... ok [INFO] [stdout] test ravenna::tests::test_ravenna_clock_domain_jitter_within_budget ... ok [INFO] [stdout] test reference_clock::tests::test_clock_source_stratum_gps ... ok [INFO] [stdout] test ravenna::tests::test_stream_config_validate_bad_bit_depth ... ok [INFO] [stdout] test ravenna::tests::test_stream_config_payload_bytes ... ok [INFO] [stdout] test ravenna::tests::test_stream_config_validate_ok ... ok [INFO] [stdout] test ravenna::tests::test_ravenna_ptime_us1000_samples ... ok [INFO] [stdout] test reference_clock::tests::test_clock_source_name ... ok [INFO] [stdout] test reference_clock::tests::test_clock_source_is_primary ... ok [INFO] [stdout] test reference_clock::tests::test_pool_best_source_empty ... ok [INFO] [stdout] test reference_clock::tests::test_pool_locked_count ... ok [INFO] [stdout] test reference_clock::tests::test_pool_best_source_prefers_lower_priority ... ok [INFO] [stdout] test reference_clock::tests::test_ref_clock_offset_stored ... ok [INFO] [stdout] test reference_clock::tests::test_ref_clock_time_since_update_none ... ok [INFO] [stdout] test reference_clock::tests::test_pool_is_empty ... ok [INFO] [stdout] test reference_clock::tests::test_ref_clock_time_since_update_some ... ok [INFO] [stdout] test reference_clock::tests::test_clock_source_stratum_local ... ok [INFO] [stdout] test smpte_2059::tests::test_align_25fps_exact ... ok [INFO] [stdout] test smpte_2059::tests::test_add_ns_negative ... ok [INFO] [stdout] test smpte_2059::tests::test_add_ns_before_epoch_returns_none ... ok [INFO] [stdout] test smpte_2059::tests::test_add_ns_positive ... ok [INFO] [stdout] test smpte_2059::tests::test_align_25fps_snaps_backward ... ok [INFO] [stdout] test reference_clock::tests::test_ref_clock_unlocks_on_large_offset ... ok [INFO] [stdout] test smpte_2059::tests::test_align_25fps_snaps_forward ... ok [INFO] [stdout] test smpte_2059::tests::test_announce_timeout_ns ... ok [INFO] [stdout] test smpte_2059::tests::test_announce_interval_ns ... ok [INFO] [stdout] test reference_clock::tests::test_ref_clock_config_is_primary ... ok [INFO] [stdout] test reference_clock::tests::test_ref_clock_locks_after_enough_good_samples ... ok [INFO] [stdout] test reference_clock::tests::test_ref_clock_not_locked_initially ... ok [INFO] [stdout] test reference_clock::tests::test_clock_source_stratum_ntp ... ok [INFO] [stdout] test smpte_2059::tests::test_default_profile_values ... ok [INFO] [stdout] test smpte_2059::tests::test_diff_ns ... ok [INFO] [stdout] test smpte_2059::tests::test_frame_number_25fps ... ok [INFO] [stdout] test smpte_2059::tests::test_display_timestamp ... ok [INFO] [stdout] test smpte_2059::tests::test_frame_to_timestamp_25fps ... ok [INFO] [stdout] test smpte_2059::tests::test_frame_to_timestamp_zero_fps_returns_none ... ok [INFO] [stdout] test smpte_2059::tests::test_from_ptp_identity ... ok [INFO] [stdout] test smpte_2059::tests::test_rational_frame_duration_25fps ... ok [INFO] [stdout] test smpte_2059::tests::test_rational_frame_duration_2997 ... ok [INFO] [stdout] test sync::audio::tests::test_audio_sync_creation ... ok [INFO] [stdout] test sync::audio::tests::test_sample_time_conversion ... ok [INFO] [stdout] test sync::genlock::tests::test_genlock_generator ... ok [INFO] [stdout] test sync::genlock::tests::test_phase_adjustment ... ok [INFO] [stdout] test smpte_2059::tests::test_profile_validate_bad_domain ... ok [INFO] [stdout] test smpte_2059::tests::test_rational_zero_den_safe ... ok [INFO] [stdout] test sync::video::tests::test_video_sync_creation ... ok [INFO] [stdout] test sync::video::tests::test_video_sync_next_frame ... ok [INFO] [stdout] test sync_audit::tests::test_alarm_count ... ok [INFO] [stdout] test sync_audit::tests::test_check_alarms_drift ... ok [INFO] [stdout] test sync_audit::tests::test_check_alarms_no_alarm ... ok [INFO] [stdout] test sync_audit::tests::test_check_alarms_offset ... ok [INFO] [stdout] test sync_audit::tests::test_clear ... ok [INFO] [stdout] test sync_audit::tests::test_event_eviction ... ok [INFO] [stdout] test sync::tests::test_sync_mode ... ok [INFO] [stdout] test sync::video::tests::test_frame_accurate_sync ... ok [INFO] [stdout] test sync::genlock::tests::test_genlock_frame_rate ... ok [INFO] [stdout] test smpte_2059::tests::test_profile_validate_ok ... ok [INFO] [stdout] test smpte_2059::tests::test_rational_to_f64 ... ok [INFO] [stdout] test smpte_2059::tests::test_total_ns ... ok [INFO] [stdout] test smpte_2059::tests::test_sync_interval_ns ... ok [INFO] [stdout] test sync_audit::tests::test_event_kind_is_alarm ... ok [INFO] [stdout] test sync_audit::tests::test_event_kind_labels ... ok [INFO] [stdout] test sync::audio::tests::test_advance_samples ... ok [INFO] [stdout] test sync_audit::tests::test_record_snapshot ... ok [INFO] [stdout] test sync_audit::tests::test_events_of_kind ... ok [INFO] [stdout] test sync_chain::tests::test_add_duplicate_node ... ok [INFO] [stdout] test sync_chain::tests::test_chain_grandmasters ... ok [INFO] [stdout] test sync_chain::tests::test_chain_node_count ... ok [INFO] [stdout] test sync_chain::tests::test_chain_endpoints ... ok [INFO] [stdout] test sync_chain::tests::test_chain_node_id_display ... ok [INFO] [stdout] test sync_chain::tests::test_cumulative_error ... ok [INFO] [stdout] test sync_audit::tests::test_record_event ... ok [INFO] [stdout] test sync_audit::tests::test_latest_event ... ok [INFO] [stdout] test sync_chain::tests::test_max_hops ... ok [INFO] [stdout] test sync_audit::tests::test_new_audit_log ... ok [INFO] [stdout] test sync_chain::tests::test_path_to_endpoint ... ok [INFO] [stdout] test sync_chain::tests::test_role_summary ... ok [INFO] [stdout] test sync_chain::tests::test_validate_no_grandmaster ... ok [INFO] [stdout] test sync_metrics::tests::test_max_offset_ns_excellent ... ok [INFO] [stdout] test sync_metrics::tests::test_max_offset_ns_unacceptable ... ok [INFO] [stdout] test sync_chain::tests::test_validate_ok ... ok [INFO] [stdout] test sync_metrics::tests::test_quality_excellent_boundary ... ok [INFO] [stdout] test sync_metrics::tests::test_measurement_quality_poor ... ok [INFO] [stdout] test sync_metrics::tests::test_quality_fair ... ok [INFO] [stdout] test sync_chain::tests::test_node_role_is_reference ... ok [INFO] [stdout] test sync_metrics::tests::test_quality_good ... ok [INFO] [stdout] test sync_metrics::tests::test_report_window_duration ... ok [INFO] [stdout] test sync_metrics::tests::test_quality_poor ... ok [INFO] [stdout] test sync_metrics::tests::test_quality_unacceptable ... ok [INFO] [stdout] test sync_metrics::tests::test_report_outside_spec ... ok [INFO] [stdout] test sync_metrics::tests::test_report_within_spec ... ok [INFO] [stdout] test sync_metrics::tests::test_window_empty ... ok [INFO] [stdout] test sync_metrics::tests::test_window_avg_offset ... ok [INFO] [stdout] test sync_metrics::tests::test_window_eviction ... ok [INFO] [stdout] test sync_metrics::tests::test_window_latest ... ok [INFO] [stdout] test sync_metrics::tests::test_window_max_jitter ... ok [INFO] [stdout] test sync_metrics::tests::test_window_p99_single_element ... ok [INFO] [stdout] test sync_monitor::tests::test_clear_alarms ... ok [INFO] [stdout] test sync_monitor::tests::test_alarm_severity_ordering ... ok [INFO] [stdout] test sync_monitor::tests::test_elapsed_secs_accumulates ... ok [INFO] [stdout] test sync_monitor::tests::test_drift_critical_alarm ... ok [INFO] [stdout] test sync_monitor::tests::test_drift_warning_alarm ... ok [INFO] [stdout] test sync_monitor::tests::test_default_config_thresholds ... ok [INFO] [stdout] test sync_monitor::tests::test_history_capped_at_config_size ... ok [INFO] [stdout] test sync_monitor::tests::test_no_alarms_within_thresholds ... ok [INFO] [stdout] test sync_monitor::tests::test_offset_critical_alarm ... ok [INFO] [stdout] test sync_monitor::tests::test_signal_source_lost ... ok [INFO] [stdout] test sync_monitor::tests::test_offset_warning_alarm ... ok [INFO] [stdout] test sync_monitor::tests::test_signal_holdover ... ok [INFO] [stdout] test sync_monitor::tests::test_stats_mean ... ok [INFO] [stdout] test sync_protocol::tests::test_decode_buffer_too_small ... ok [INFO] [stdout] test sync_protocol::tests::test_decode_unknown_message_type ... ok [INFO] [stdout] test sync_chain::tests::test_node_role_labels ... ok [INFO] [stdout] test sync_metrics::tests::test_measurement_quality ... ok [INFO] [stdout] test sync_metrics::tests::test_window_p99_multiple_elements ... ok [INFO] [stdout] test sync_protocol::tests::test_decode_unknown_version ... ok [INFO] [stdout] test sync_protocol::tests::test_encode_decode_response ... ok [INFO] [stdout] test sync_protocol::tests::test_encode_decode_roundtrip ... ok [INFO] [stdout] test sync_protocol::tests::test_message_type_roundtrip ... ok [INFO] [stdout] test sync_monitor::tests::test_stats_max_offset ... ok [INFO] [stdout] test sync_chain::tests::test_path_to_missing_node ... ok [INFO] [stdout] test sync_protocol::tests::test_new_request_fields ... ok [INFO] [stdout] test sync_chain::tests::test_path_to_grandmaster ... ok [INFO] [stdout] test sync_protocol::tests::test_new_response_mirrors_request ... ok [INFO] [stdout] test sync_protocol::tests::test_next_sequence_increments ... ok [INFO] [stdout] test sync_protocol::tests::test_protocol_version_display ... ok [INFO] [stdout] test sync_protocol::tests::test_protocol_version_negotiate ... ok [INFO] [stdout] test sync_protocol::tests::test_protocol_version_from_wire ... ok [INFO] [stdout] test sync_protocol::tests::test_protocol_version_wire ... ok [INFO] [stdout] test sync_protocol::tests::test_sequence_counter_wraps ... ok [INFO] [stdout] test sync_stats::tests::test_availability_zero ... ok [INFO] [stdout] test sync_stats::tests::test_collector_jitter_constant ... ok [INFO] [stdout] test sync_stats::tests::test_collector_window ... ok [INFO] [stdout] test sync_stats::tests::test_lock_unlock_count ... ok [INFO] [stdout] test sync_stats::tests::test_availability_full ... ok [INFO] [stdout] test sync_stats::tests::test_running_stats_mean ... ok [INFO] [stdout] test sync_stats::tests::test_running_stats_empty ... ok [INFO] [stdout] test sync_stats::tests::test_availability_half ... ok [INFO] [stdout] test sync_stats::tests::test_quality_no_sync ... ok [INFO] [stdout] test sync_stats::tests::test_collector_jitter_nonzero ... ok [INFO] [stdout] test sync_stats::tests::test_collector_record ... ok [INFO] [stdout] test ptp_management::tests::test_responder_command_enable_port ... ok [INFO] [stdout] test sync_stats::tests::test_offset_measurement_creation ... ok [INFO] [stdout] test sync_stats::tests::test_quality_excellent ... ok [INFO] [stdout] test sync_stats::tests::test_running_stats_min_max_range ... ok [INFO] [stdout] test sync_stats::tests::test_running_stats_sample_variance ... ok [INFO] [stdout] test sync_stats::tests::test_running_stats_single ... ok [INFO] [stdout] test sync_stats::tests::test_running_stats_stddev ... ok [INFO] [stdout] test sync_stats::tests::test_summary_string ... ok [INFO] [stdout] test sync_stats::tests::test_sync_quality_display ... ok [INFO] [stdout] test sync_status::tests::test_gps_highest_priority ... ok [INFO] [stdout] test sync_status::tests::test_free_running_lowest_priority ... ok [INFO] [stdout] test sync_status::tests::test_monitor_fallback_on_active_source_loss ... ok [INFO] [stdout] test sync_status::tests::test_monitor_best_source_higher_priority_wins ... ok [INFO] [stdout] test sync_status::tests::test_ptp_higher_priority_than_ntp ... ok [INFO] [stdout] test sync_status::tests::test_monitor_update_activates_source ... ok [INFO] [stdout] test sync_status::tests::test_monitor_lost_source_not_usable ... ok [INFO] [stdout] test sync_status::tests::test_sync_health_degraded_is_usable ... ok [INFO] [stdout] test sync_status::tests::test_sync_health_lost_not_usable ... ok [INFO] [stdout] test sync_status::tests::test_source_name_ptp ... ok [INFO] [stdout] test sync_status::tests::test_sync_status_default ... ok [INFO] [stdout] test sync_status::tests::test_sync_health_degraded_not_ok ... ok [INFO] [stdout] test sync_status::tests::test_sync_health_ok_is_ok ... ok [INFO] [stdout] test sync_status::tests::test_sync_status_offset_us ... ok [INFO] [stdout] test sync_status::tests::test_sync_status_not_synchronized_initially ... ok [INFO] [stdout] test sync_test::tests::test_constant_drift_accumulates_linearly ... ok [INFO] [stdout] test sync_test::tests::test_frequency_ramp_adds_drift ... ok [INFO] [stdout] test sync_test::tests::test_harness_mean_true_offset ... ok [INFO] [stdout] test sync_test::tests::test_harness_rms_error_zero_noise ... ok [INFO] [stdout] test sync_test::tests::test_harness_rms_none_on_empty ... ok [INFO] [stdout] test sync_test::tests::test_phase_step_shifts_offset ... ok [INFO] [stdout] test sync_test::tests::test_harness_sample_count ... ok [INFO] [stdout] test sync_test::tests::test_white_noise_stays_bounded ... ok [INFO] [stdout] test sync_test::tests::test_sample_index_increments ... ok [INFO] [stdout] test sync_test::tests::test_reset_clears_ramp ... ok [INFO] [stdout] test sync_window::tests::test_contains_ms_at_start ... ok [INFO] [stdout] test sync_window::tests::test_contains_ms_at_end_exclusive ... ok [INFO] [stdout] test sync_window::tests::test_contains_ms_outside ... ok [INFO] [stdout] test sync_window::tests::test_sync_window_set_add_and_len ... ok [INFO] [stdout] test sync_window::tests::test_merge_overlapping_consolidates ... ok [INFO] [stdout] test sync_test::tests::test_zero_drift_gives_zero_offset ... ok [INFO] [stdout] test sync_window::tests::test_sync_window_set_overlapping ... ok [INFO] [stdout] test sync_window::tests::test_empty_set ... ok [INFO] [stdout] test sync_window::tests::test_sync_window_zero_duration ... ok [INFO] [stdout] test sync_window::tests::test_contains_ms_inside ... ok [INFO] [stdout] test sync_window::tests::test_sync_window_duration ... ok [INFO] [stdout] test sync_window::tests::test_overlaps_adjacent_no_overlap ... ok [INFO] [stdout] test sync_window::tests::test_merge_windows ... ok [INFO] [stdout] test sync_window::tests::test_overlaps_true ... ok [INFO] [stdout] test sync_window::tests::test_total_coverage_ms ... ok [INFO] [stdout] test sync_window::tests::test_overlaps_disjoint ... ok [INFO] [stdout] test time_reference::tests::test_manager_reference_count ... ok [INFO] [stdout] test time_reference::tests::test_manager_selected_offset_and_quality ... ok [INFO] [stdout] test time_reference::tests::test_manager_remove_selected_clears_selection ... ok [INFO] [stdout] test time_reference::tests::test_manager_usable_count ... ok [INFO] [stdout] test time_reference::tests::test_manager_selects_best_priority ... ok [INFO] [stdout] test time_reference::tests::test_reference_quality_locked_score ... ok [INFO] [stdout] test tests::test_exports ... ok [INFO] [stdout] test time_reference::tests::test_reference_quality_score_no_overflow ... ok [INFO] [stdout] test time_reference::tests::test_manager_get_by_source ... ok [INFO] [stdout] test time_reference::tests::test_manager_priority_override ... ok [INFO] [stdout] test tests::test_version ... ok [INFO] [stdout] test time_reference::tests::test_reference_source_high_precision ... ok [INFO] [stdout] test time_reference::tests::test_reference_source_name ... ok [INFO] [stdout] test time_reference::tests::test_reference_source_priority_ordering ... ok [INFO] [stdout] test time_reference::tests::test_time_reference_is_usable ... ok [INFO] [stdout] test time_scale::tests::test_converter_identity ... ok [INFO] [stdout] test time_scale::tests::test_converter_leap_table_entries ... ok [INFO] [stdout] test time_scale::tests::test_converter_utc_ntp ... ok [INFO] [stdout] test time_reference::tests::test_time_reference_with_label ... ok [INFO] [stdout] test time_reference::tests::test_time_reference_is_fresh ... ok [INFO] [stdout] test time_scale::tests::test_epoch_descriptions ... ok [INFO] [stdout] test time_scale::tests::test_converter_utc_tai ... ok [INFO] [stdout] test time_scale::tests::test_gps_conversion ... ok [INFO] [stdout] test time_scale::tests::test_has_leap_seconds ... ok [INFO] [stdout] test time_scale::tests::test_tai_utc_offset_2020 ... ok [INFO] [stdout] test time_scale::tests::test_tai_utc_offset_before_1972 ... ok [INFO] [stdout] test time_scale::tests::test_ntp_epoch_offset ... ok [INFO] [stdout] test timecode::jam_sync::tests::test_jam_sync_creation ... ok [INFO] [stdout] test time_scale::tests::test_utc_to_ntp_roundtrip ... ok [INFO] [stdout] test timecode::ltc::tests::test_half_period_calculation ... ok [INFO] [stdout] test timecode::ltc::tests::test_ltc_generation ... ok [INFO] [stdout] test time_scale::tests::test_time_scale_names ... ok [INFO] [stdout] test time_scale::tests::test_utc_to_tai_roundtrip ... ok [INFO] [stdout] test timecode::ltc::tests::test_bcd_decoding ... ok [INFO] [stdout] test timecode::jam_sync::tests::test_jam_sync_lock ... ok [INFO] [stdout] test timecode::ltc::tests::test_bcd_encoding ... ok [INFO] [stdout] test timecode::ltc::tests::test_ltc_generator_creation ... ok [INFO] [stdout] test timecode::mtc::tests::test_mtc_decoder ... ok [INFO] [stdout] test timecode::ltc::tests::test_ltc_reader_creation ... ok [INFO] [stdout] test timecode::mtc::tests::test_mtc_full_frame ... ok [INFO] [stdout] test timecode::ltc::tests::test_sync_word_constant ... ok [INFO] [stdout] test timecode::smpte::tests::test_smpte_format ... ok [INFO] [stdout] test timecode::smpte::tests::test_smpte_parse ... ok [INFO] [stdout] test timecode::mtc::tests::test_mtc_encoder ... ok [INFO] [stdout] test timecode::tests::test_timecode_update ... ok [INFO] [stdout] test timecode::smpte::tests::test_smpte_parse_drop_frame ... ok [INFO] [stdout] test timecode::ltc::tests::test_ltc_roundtrip ... ok [INFO] [stdout] test timecode::smpte::tests::test_smpte_validator ... ok [INFO] [stdout] test time_reference::tests::test_reference_quality_unlocked_score ... ok [INFO] [stdout] test white_rabbit::tests::test_compute_wr_offset_zero ... ok [INFO] [stdout] test white_rabbit::tests::test_link_delay_symmetric ... ok [INFO] [stdout] test white_rabbit::tests::test_wr_calibration_update_rtt ... ok [INFO] [stdout] test white_rabbit::tests::test_link_delay_with_fixed_delays ... ok [INFO] [stdout] test white_rabbit::tests::test_compute_wr_offset_nonzero ... ok [INFO] [stdout] test white_rabbit::tests::test_wr_clock_creation ... ok [INFO] [stdout] test white_rabbit::tests::test_wr_clock_transition_valid ... ok [INFO] [stdout] test white_rabbit::tests::test_wr_clock_update_calibration ... ok [INFO] [stdout] test white_rabbit::tests::test_wr_port_state_is_active ... ok [INFO] [stdout] test white_rabbit::tests::test_wr_port_state_is_locked ... ok [INFO] [stdout] test white_rabbit::tests::test_wr_clock_update_phase ... ok [INFO] [stdout] test ptp::crc_validation::tests::test_crc32_simd_matches_portable_large ... ok [INFO] [stdout] test ravenna::tests::test_ravenna_ptime_display ... ok [INFO] [stdout] test ravenna::tests::test_ravenna_ptime_us125_samples ... ok [INFO] [stdout] test sync_monitor::tests::test_stats_empty ... ok [INFO] [stdout] test sync_protocol::tests::test_protocol_version_ordering ... ok [INFO] [stdout] test ptp::bmca::timeout_tests::test_engine_selects_best_of_multiple ... ok [INFO] [stdout] test timecode::tests::test_timecode_increment ... ok [INFO] [stdout] test timecode::tests::test_timecode_state_creation ... ok [INFO] [stdout] test white_rabbit::tests::test_ddmtd_sample_phase_ps ... ok [INFO] [stdout] test white_rabbit::tests::test_link_delay_asymmetric ... ok [INFO] [stdout] test white_rabbit::tests::test_wr_clock_transition_invalid ... ok [INFO] [stdout] test timecode::jam_sync::tests::test_jam_sync_freewheel ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 788 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s [INFO] [stdout] [INFO] [stderr] Doc-tests oximedia_timesync [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test src/clock_ensemble.rs - clock_ensemble::BayesianEnsemble (line 589) ... ignored [INFO] [stdout] test src/ptp/port.rs - ptp::port::PtpBatchProcessor (line 197) ... ignored [INFO] [stdout] test src/lib.rs - (line 44) - compile ... ok [INFO] [stdout] test src/lib.rs - (line 95) ... ok [INFO] [stdout] test src/lib.rs - (line 65) - compile ... ok [INFO] [stdout] test src/clock_graph.rs - clock_graph (line 14) ... ok [INFO] [stdout] test src/lib.rs - (line 83) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.66s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "2d01823ff4cff610c9a1a5ab356ff8e503748fd800c4ddb586cd9be5923569b6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2d01823ff4cff610c9a1a5ab356ff8e503748fd800c4ddb586cd9be5923569b6", kill_on_drop: false }` [INFO] [stdout] 2d01823ff4cff610c9a1a5ab356ff8e503748fd800c4ddb586cd9be5923569b6