[INFO] fetching crate tst-rtp 0.8.0...
[INFO] testing tst-rtp-0.8.0 against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate tst-rtp 0.8.0 into /workspace/builds/worker-0-tc1/source
[INFO] started tweaking crates.io crate tst-rtp 0.8.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate tst-rtp 0.8.0
[INFO] tweaked toml for crates.io crate tst-rtp 0.8.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate tst-rtp 0.8.0 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate tst-rtp 0.8.0 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" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded sdp-types v0.2.0
[INFO] [stderr]   Downloaded tst-pipeline v0.8.0
[INFO] [stderr]   Downloaded tst-core v0.8.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 69bbf0b097ad5d7b30ba355d26a1ecb52f63a5f371aadc915a4d7e49875dc49a
[INFO] running `Command { std: "docker" "start" "69bbf0b097ad5d7b30ba355d26a1ecb52f63a5f371aadc915a4d7e49875dc49a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "69bbf0b097ad5d7b30ba355d26a1ecb52f63a5f371aadc915a4d7e49875dc49a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "69bbf0b097ad5d7b30ba355d26a1ecb52f63a5f371aadc915a4d7e49875dc49a" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "69bbf0b097ad5d7b30ba355d26a1ecb52f63a5f371aadc915a4d7e49875dc49a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "69bbf0b097ad5d7b30ba355d26a1ecb52f63a5f371aadc915a4d7e49875dc49a" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling hashbrown v0.17.0
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling spin v0.9.9
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling secrecy v0.10.3
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling sdp-types v0.2.0
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling tst-core v0.8.0
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tst-pipeline v0.8.0
[INFO] [stderr]    Compiling tst-rtp v0.8.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 40.31s
[INFO] running `Command { std: "docker" "inspect" "69bbf0b097ad5d7b30ba355d26a1ecb52f63a5f371aadc915a4d7e49875dc49a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "69bbf0b097ad5d7b30ba355d26a1ecb52f63a5f371aadc915a4d7e49875dc49a" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling time v0.3.41
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling secrecy v0.10.3
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling yasna v0.5.2
[INFO] [stderr]    Compiling rcgen v0.13.2
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tst-rtp v0.8.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 14s
[INFO] running `Command { std: "docker" "inspect" "69bbf0b097ad5d7b30ba355d26a1ecb52f63a5f371aadc915a4d7e49875dc49a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "69bbf0b097ad5d7b30ba355d26a1ecb52f63a5f371aadc915a4d7e49875dc49a" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.13s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/tst_rtp-91c1dfb6ea581948)
[INFO] [stdout] 
[INFO] [stdout] running 676 tests
[INFO] [stdout] test builder::phase3_server_builder_tests::rtsp_server_bind_rejects_dns_name ... ok
[INFO] [stdout] test builder::tests::connect_rejects_nul_user_agent ... ok
[INFO] [stdout] test builder::phase3_server_builder_tests::rtsp_server_builder_auth_basic ... ok
[INFO] [stdout] test builder::tests::connect_rejects_crlf_in_credentials ... ok
[INFO] [stdout] test builder::tests::recv_builder_binds_unicast ... ok
[INFO] [stdout] test builder::tests::connect_rejects_crlf_user_agent_before_socket ... ok
[INFO] [stdout] test builder::phase3_server_builder_tests::rtsp_server_builder_loopback_port_zero ... ok
[INFO] [stdout] test binding_kind::tests::rtsp_classification_with_status_splits ... ok
[INFO] [stdout] test cancel::phase3_server_cancel_tests::server_cancel_handle_clone_shares_flag ... ok
[INFO] [stdout] test cancel::phase3_server_cancel_tests::server_cancel_handle_idempotent ... ok
[INFO] [stdout] test cancel::tests::cancel_sets_flag ... ok
[INFO] [stdout] test binding_kind::tests::rtsp_server_and_mount ... ok
[INFO] [stdout] test builder::phase3_server_builder_tests::rtsp_server_builder_auth_overwrites ... ok
[INFO] [stdout] test builder::tests::rtsp_client_builder_request_timeout_defaults_to_ten_seconds ... ok
[INFO] [stdout] test builder::tests::socket_builder_round_trip_via_build ... ok
[INFO] [stdout] test builder::tests::tcp_keepalive_builder_and_url_paths_set_knob ... ok
[INFO] [stdout] test builder::tests::transport_preference_overrides_url_query ... ok
[INFO] [stdout] test cancel::phase3_server_cancel_tests::server_cancel_handle_default_is_not_canceled ... ok
[INFO] [stdout] test cancel::phase3_server_cancel_tests::server_cancel_handle_toggles ... ok
[INFO] [stdout] test binding_kind::tests::rtp_connect_precision ... ok
[INFO] [stdout] test builder::phase3_server_builder_tests::rtsp_server_builder_min_caps ... ok
[INFO] [stdout] test h264::depacketizer::tests::f_bit_nalu_discarded_and_poisons ... ok
[INFO] [stdout] test h264::depacketizer::tests::f_bit_poisons_au ... ok
[INFO] [stdout] test h264::depacketizer::tests::fu_a_reassembles_across_three_packets ... ok
[INFO] [stdout] test h264::depacketizer::tests::fu_middle_fragment_loss_drops_au ... ok
[INFO] [stdout] test clock::tests::clock_starts_at_start_ticks ... ok
[INFO] [stdout] test cancel::tests::satisfies_transport_cancel_trait ... ok
[INFO] [stdout] test h264::depacketizer::tests::duplicate_seq_ignored ... ok
[INFO] [stdout] test h264::depacketizer::tests::empty_payload_discarded ... ok
[INFO] [stdout] test h264::depacketizer::tests::fu_empty_payload_is_legal ... ok
[INFO] [stdout] test h264::depacketizer::tests::fu_s_and_e_both_set_is_malformed ... ok
[INFO] [stdout] test h264::depacketizer::tests::gap_after_marker_terminated_au_kills_only_next_au ... ok
[INFO] [stdout] test h264::depacketizer::tests::inband_ps_updates_cache_and_counter ... ok
[INFO] [stdout] test cancel::tests::new_is_not_cancelled ... ok
[INFO] [stdout] test h264::depacketizer::tests::interleaved_types_poison_au ... ok
[INFO] [stdout] test h264::depacketizer::tests::injection_idempotent_when_au_already_carries_ps ... ok
[INFO] [stdout] test h264::depacketizer::tests::injection_preflights_combined_over_cap_and_drops ... ok
[INFO] [stdout] test builder::phase3_server_builder_tests::rtsp_server_builder_chainable ... ok
[INFO] [stdout] test builder::phase3_server_builder_tests::rtsp_server_builder_build_succeeds_post_t7 ... ok
[INFO] [stdout] test h264::depacketizer::tests::markerless_au_completed_by_timestamp_change ... ok
[INFO] [stdout] test builder::phase3_server_builder_tests::rtsp_server_builder_new_parses_url ... ok
[INFO] [stdout] test cancel::tests::cancel_visible_across_threads ... ok
[INFO] [stdout] test h264::depacketizer::tests::seq_gap_poisons_current_and_next_au ... ok
[INFO] [stdout] test h264::depacketizer::tests::single_nalu_au_completed_by_marker ... ok
[INFO] [stdout] test h264::depacketizer::tests::sprop_injected_before_idr_when_absent_inband ... ok
[INFO] [stdout] test h264::depacketizer::tests::stap_a_truncated_unit_poisons ... ok
[INFO] [stdout] test cancel::tests::cancel_is_idempotent ... ok
[INFO] [stdout] test h264::depacketizer::tests::injection_cannot_bypass_max_au_bytes ... ok
[INFO] [stdout] test h264::depacketizer::tests::ssrc_change_resets_and_keeps_pts_monotonic_fua ... ok
[INFO] [stdout] test h264::depacketizer::tests::markerless_boundary_gap_kills_both_aus ... ok
[INFO] [stdout] test h264::depacketizer::tests::reserved_types_ignored_without_poisoning ... ok
[INFO] [stdout] test h264::depacketizer::tests::oversize_fu_a_au_is_dropped_and_stats_ticked ... ok
[INFO] [stdout] test h264::depacketizer::tests::stap_a_zero_size_unit_poisons ... ok
[INFO] [stdout] test h264::depacketizer::tests::oversize_inband_sps_is_not_retained_in_cache ... ok
[INFO] [stdout] test h264::depacketizer::tests::timestamp_wrap_unwraps_monotonically ... ok
[INFO] [stdout] test h264::depacketizer::tests::non_idr_aus_never_get_injection ... ok
[INFO] [stdout] test h264::depacketizer::tests::ssrc_change_resets_and_keeps_pts_monotonic ... ok
[INFO] [stdout] test h264::depacketizer::tests::oversize_initial_parameter_sets_are_not_seeded ... ok
[INFO] [stdout] test h264::fmtp::tests::fmtp_bad_sprop_entries_are_skipped_not_fatal ... ok
[INFO] [stdout] test h264::depacketizer::tests::fu_start_loss_discards_tail_fragments ... ok
[INFO] [stdout] test h264::depacketizer::tests::oversize_single_nalu_au_is_dropped ... ok
[INFO] [stdout] test h264::depacketizer::tests::two_nalus_one_timestamp_one_au ... ok
[INFO] [stdout] test h264::fmtp::tests::fmtp_absent_defaults_mode_0 ... ok
[INFO] [stdout] test h264::depacketizer::tests::stap_a_unpacks_units_in_order ... ok
[INFO] [stdout] test h264::depacketizer::tests::injection_none_is_byte_faithful ... ok
[INFO] [stdout] test h264::fmtp::tests::fmtp_unparseable_packetization_mode_falls_back_to_0 ... ok
[INFO] [stdout] test h264::fmtp::tests::fmtp_parses_mode_and_sprop ... ok
[INFO] [stdout] test h264::fmtp::tests::rtpmap_bad_clock_does_not_shadow_good_clock ... ok
[INFO] [stdout] test clock::tests::clock_wraps_at_u32_boundary ... ok
[INFO] [stdout] test h264::fmtp::tests::rtpmap_case_insensitive_with_correct_clock ... ok
[INFO] [stdout] test h264::fmtp::tests::fmtp_out_of_range_packetization_mode_falls_back_to_0 ... ok
[INFO] [stdout] test h264::fmtp::tests::rtpmap_wrong_clock_rate_rejected ... ok
[INFO] [stdout] test h264::fmtp::tests::sprop_unpadded_base64_accepted ... ok
[INFO] [stdout] test h264::fmtp::tests::rtpmap_finds_dynamic_h264_pt ... ok
[INFO] [stdout] test h264::fmtp::tests::rtpmap_ignores_other_codecs_and_unlisted_pts ... ok
[INFO] [stdout] test h264::receiver::tests::listen_without_pt_errors ... ok
[INFO] [stdout] test h264::receiver::tests::close_records_cancelled_on_plain_receiver ... ok
[INFO] [stdout] test h264::receiver::tests::mpsc_disconnect_yields_eos ... ok
[INFO] [stdout] test h264::fmtp::tests::sprop_invalid_chars_still_skipped ... ok
[INFO] [stdout] test h264::receiver::tests::cancel_handle_fire_records_cancelled_on_next_recv ... ok
[INFO] [stdout] test h264::receiver::tests::drop_records_cancelled ... ok
[INFO] [stdout] test h264::receiver::tests::h264_receiver_mpsc_single_au ... ok
[INFO] [stdout] test h264::receiver::tests::listen_with_pt_33_rejected_at_url_level ... ok
[INFO] [stdout] test h264::receiver::tests::recv_au_timeout_extreme_durations_never_panic ... ok
[INFO] [stdout] test h264::receiver::tests::end_reason_none_on_fresh_receiver ... ok
[INFO] [stdout] test h264::receiver::tests::h264_receiver_udp_loopback_single_au ... ok
[INFO] [stdout] test packet::tests::decode_dynamic_payload_type_accepted ... ok
[INFO] [stdout] test packet::tests::decode_pt33_no_marker_unchanged ... ok
[INFO] [stdout] test packet::tests::decode_rejects_csrc_overflow ... ok
[INFO] [stdout] test packet::tests::decode_rejects_padding_exceeds_payload ... ok
[INFO] [stdout] test packet::tests::decode_rejects_truncated ... ok
[INFO] [stdout] test packet::tests::decode_accepts_marker_bit ... ok
[INFO] [stdout] test packet::tests::decode_rejects_truncated_extension ... ok
[INFO] [stdout] test packet::tests::decode_rejects_truncated_extension_data ... ok
[INFO] [stdout] test packet::tests::decode_exposes_marker_and_dynamic_pt ... ok
[INFO] [stdout] test packet::tests::decode_matches_encoded_bytes ... ok
[INFO] [stdout] test packet::tests::decode_rejects_zero_padding_count ... ok
[INFO] [stdout] test packet::tests::decode_x_and_p_combined ... ok
[INFO] [stdout] test packet::tests::encode_zero_filled_fields ... ok
[INFO] [stdout] test packet::tests::decode_skips_csrc_list ... ok
[INFO] [stdout] test packet::tests::decode_strips_rfc3550_padding ... ok
[INFO] [stdout] test packet::tests::decode_skips_rfc3550_header_extension ... ok
[INFO] [stdout] test rtcp::ingest::tests::compute_rtt_us_rejects_a_wrapped_diff ... ok
[INFO] [stdout] test rtcp::ingest::tests::ingest_rr_after_sr_leaves_rtt_us_zero ... ok
[INFO] [stdout] test rtcp::ingest::tests::ingest_rr_skips_unmatched_ssrc ... ok
[INFO] [stdout] test rtcp::ingest::tests::ingest_rr_updates_fraction_lost ... ok
[INFO] [stdout] test rtcp::ingest::tests::ntp_mid_conversion_smoke ... ok
[INFO] [stdout] test packet::tests::encode_panics_on_short_buf - should panic ... ok
[INFO] [stdout] test packet::tests::encode_writes_rfc_3550_byte_layout ... ok
[INFO] [stdout] test rtcp::ingest::tests::rtt_us_from_ntp_mid_converts_and_bounds ... ok
[INFO] [stdout] test rtcp::reporter::tests::drop_cancels_promptly ... ok
[INFO] [stdout] test packet::tests::decode_rejects_wrong_version ... ok
[INFO] [stdout] test rtcp::reporter::tests::success_path_returns_exact_word ... ok
[INFO] [stdout] test rtcp::reporter::tests::jitter_interval_min_max_bounds ... ok
[INFO] [stdout] test packet::tests::encode_decode_roundtrip ... ok
[INFO] [stdout] test packet::tests::encode_into_honors_marker_and_pt_fields ... ok
[INFO] [stdout] test rtcp::reporter::tests::fallback_words_spread_across_jitter_band ... ok
[INFO] [stdout] test rtcp::reporter::tests::fallback_successive_words_differ ... ok
[INFO] [stdout] test rtcp::ingest::tests::ingest_rr_clamps_negative_cumulative_lost ... ok
[INFO] [stdout] test rtcp::ingest::tests::ingest_sr_stores_anchor ... ok
[INFO] [stdout] test rtcp::tests::sdes_accepts_cname_255 ... ok
[INFO] [stdout] test rtcp::tests::rr_roundtrip_one_block ... ok
[INFO] [stdout] test rtcp::tests::rr_with_block_wire_format_matches_rfc3550_layout ... ok
[INFO] [stdout] test rtcp::tests::rr_rejects_declared_length_zero ... ok
[INFO] [stdout] test rtcp::tests::rr_rejects_more_than_31_blocks ... ok
[INFO] [stdout] test rtcp::tests::rr_roundtrip_no_blocks ... ok
[INFO] [stdout] test rtcp::reporter::tests::warn_once_guard_transitions ... ok
[INFO] [stdout] test rtcp::tests::length_word_ceiling_is_checked ... ok
[INFO] [stdout] test rtcp::tests::rr_rejects_bad_version ... ok
[INFO] [stdout] test rtcp::tests::sdes_rejects_cname_over_255 ... ok
[INFO] [stdout] test rtcp::tests::sdes_rejects_declared_length_one ... ok
[INFO] [stdout] test rtsp::auth::basic_tests::parse_basic_without_realm ... ok
[INFO] [stdout] test rtcp::tests::sdes_roundtrip_short_cname ... ok
[INFO] [stdout] test rtcp::tests::sr_accepts_31_blocks ... ok
[INFO] [stdout] test rtcp::tests::signed_cumulative_lost_roundtrips ... ok
[INFO] [stdout] test rtcp::tests::sr_roundtrip ... ok
[INFO] [stdout] test rtcp::tests::sr_rejects_declared_length_zero ... ok
[INFO] [stdout] test rtsp::auth::basic_tests::parse_basic_challenge ... ok
[INFO] [stdout] test rtsp::auth::basic_tests::parse_challenges_splits_basic_then_digest ... ok
[INFO] [stdout] test rtsp::auth::digest_tests::build_sha256_digest_response_rfc7616_example ... ok
[INFO] [stdout] test rtsp::auth::basic_tests::build_basic_response_matches_rfc7617_example ... ok
[INFO] [stdout] test rtsp::auth::basic_tests::parse_challenges_splits_digest_then_basic ... ok
[INFO] [stdout] test rtsp::client::end_reason::tests::clone_shares_the_same_cell ... ok
[INFO] [stdout] test rtsp::auth::digest_tests::build_digest_response_escapes_quoted_string_in_username ... ok
[INFO] [stdout] test rtsp::auth::digest_tests::build_rfc2617_no_qop_response ... ok
[INFO] [stdout] test rtsp::client::end_reason::tests::record_is_first_writer_wins ... ok
[INFO] [stdout] test rtsp::auth::digest_tests::build_md5_digest_response_rfc7616_example ... ok
[INFO] [stdout] test rtcp::tests::sr_rejects_more_than_31_blocks ... ok
[INFO] [stdout] test rtsp::auth::digest_tests::parse_md5_digest_challenge ... ok
[INFO] [stdout] test rtsp::client::interleaved_pump::tests::cancel_flag_exits_pump ... ok
[INFO] [stdout] test rtsp::client::end_reason::tests::handle_observes_recording_across_threads ... ok
[INFO] [stdout] test rtsp::client::interleaved_pump::tests::cancel_flag_exit_records_cancelled ... ok
[INFO] [stdout] test rtsp::client::end_reason::tests::stream_end_reason_handle_is_send_sync ... ok
[INFO] [stdout] test rtsp::client::interleaved_pump::tests::ctrl_flood_fails_session ... ok
[INFO] [stdout] test rtsp::client::interleaved_pump::tests::ctrl_flood_records_protocol_error ... ok
[INFO] [stdout] test rtsp::client::interleaved_pump::tests::ctrl_rx_disconnected_records_cancelled ... ok
[INFO] [stdout] test rtsp::client::interleaved_pump::tests::hard_read_error_records_transport_failed ... ok
[INFO] [stdout] test rtsp::client::interleaved_pump::tests::interleaved_malformed_rtp_dropped_and_counted ... ok
[INFO] [stdout] test rtsp::client::interleaved_pump::tests::clean_eof_records_clean_teardown ... ok
[INFO] [stdout] test rtsp::client::interleaved_pump::tests::pump_accepts_full_u16_binary_frame ... ok
[INFO] [stdout] test rtsp::client::interleaved_pump::tests::keepalive_401_refreshes_shared_auth_challenge ... ok
[INFO] [stdout] test rtsp::client::interleaved_pump::tests::interleaved_rtp_complex_header_delivered_as_whole_packet ... ok
[INFO] [stdout] test rtsp::client::interleaved_pump::tests::malformed_content_length_records_protocol_error ... ok
[INFO] [stdout] test rtsp::client::interleaved_pump::tests::keepalive_454_flips_session_dead ... ok
[INFO] [stdout] test rtsp::client::interleaved_pump::tests::rtcp_flood_records_protocol_error ... ok
[INFO] [stdout] test rtsp::client::interleaved_pump::tests::rtcp_flood_fails_session ... ok
[INFO] [stdout] test rtsp::client::interleaved_pump::tests::keepalive_responses_consumed_not_queued ... ok
[INFO] [stdout] test rtsp::client::interleaved_pump::tests::media_queue_bounded_drops_newest_on_slow_consumer ... ok
[INFO] [stdout] test rtsp::client::interleaved_pump::tests::pump_closes_on_unterminated_header_flood ... ok
[INFO] [stdout] test rtsp::client::interleaved_pump::tests::rtp_whole_packet_delivered ... ok
[INFO] [stdout] test rtsp::client::interleaved_pump::tests::rtcp_frame_routed_to_rtcp_rx ... ok
[INFO] [stdout] test rtsp::client::interleaved_pump::tests::rtsp_response_with_body_routed_to_ctrl_rx ... ok
[INFO] [stdout] test rtsp::client::interleaved_pump::tests::rtsp_response_routed_to_ctrl_rx ... ok
[INFO] [stdout] test rtsp::client::interleaved_pump::tests::rtsp_response_closes_pump_on_malformed_content_length ... ok
[INFO] [stdout] test rtsp::client::options_describe::tests::options_authenticates_on_challenge ... ok
[INFO] [stdout] test rtsp::client::interleaved_pump::tests::undersized_rtp_frame_counted_and_dropped ... ok
[INFO] [stdout] test rtsp::client::interleaved_pump::tests::unknown_channel_frame_counted_and_dropped ... ok
[INFO] [stdout] test rtsp::client::interleaved_pump::tests::spawn_returns_ok_on_happy_path ... ok
[INFO] [stdout] test rtsp::client::options_describe::tests::options_parses_public_header ... ok
[INFO] [stdout] test rtsp::client::options_describe::tests::describe_parses_sdp ... ok
[INFO] [stdout] test rtsp::client::interleaved_pump::tests::unterminated_header_flood_records_protocol_error ... ok
[INFO] [stdout] test rtsp::client::options_describe::tests::send_and_read_rejects_oversized_declared_body ... ok
[INFO] [stdout] test rtsp::client::options_describe::tests::send_and_read_rejects_unterminated_headers ... ok
[INFO] [stdout] test rtsp::client::play::tests::parse_rtp_info_empty ... ok
[INFO] [stdout] test rtsp::client::play::tests::parse_rtp_info_full ... ok
[INFO] [stdout] test rtsp::client::options_describe::tests::send_and_read_accepts_valid_body_above_header_cap ... ok
[INFO] [stdout] test rtsp::client::play::tests::parse_rtp_info_seq_only ... ok
[INFO] [stdout] test rtsp::client::poison_policy::drop_does_not_panic_on_poisoned_stream_mutex ... ok
[INFO] [stdout] test rtsp::client::tests::cancel_handle_toggles_flag ... ok
[INFO] [stdout] test rtsp::client::tests::connect_to_loopback_listener_succeeds ... ok
[INFO] [stdout] test clock::tests::clock_advances_at_90khz ... ok
[INFO] [stdout] test rtsp::client::tests::rtsps_without_tls_feature_errors ... ok
[INFO] [stdout] test rtsp::client::tests::spawn_keepalive_if_needed_is_noop_when_already_running ... ok
[INFO] [stdout] test rtsp::client::tests::duration_ms_saturates_instead_of_truncating ... ok
[INFO] [stdout] test rtsp::client::tests::tcp_keepalive_query_applies_to_control_socket ... ok
[INFO] [stdout] test rtsp::client::transport_negotiation::tests::bind_udp_pair_at_65534_does_not_wrap ... ok
[INFO] [stdout] test rtsp::client::transport_negotiation::tests::bind_udp_pair_rejects_start_at_max_port ... ok
[INFO] [stdout] test rtsp::client::transport_negotiation::tests::build_tcp_request_uses_interleaved_0_1 ... ok
[INFO] [stdout] test rtsp::client::tests::write_gate_guard_decrements_on_panic ... ok
[INFO] [stdout] test rtsp::client::transport_negotiation::tests::build_udp_request_includes_port_pair ... ok
[INFO] [stdout] test rtsp::client::transport_negotiation::tests::build_udp_request_rejects_max_port_companion_overflow ... ok
[INFO] [stdout] test rtsp::client::transport_negotiation::tests::mode_record_is_parsed_case_insensitively ... ok
[INFO] [stdout] test rtsp::client::transport_negotiation::tests::parse_accepts_well_formed_lowercase_unchanged ... ok
[INFO] [stdout] test rtsp::client::transport_negotiation::tests::parse_interleaved_case_insensitive_keys ... ok
[INFO] [stdout] test rtsp::client::transport_negotiation::tests::parse_interleaved_transport_response ... ok
[INFO] [stdout] test rtsp::client::transport_negotiation::tests::parse_matches_keys_case_insensitively ... ok
[INFO] [stdout] test rtsp::client::transport_negotiation::tests::parse_rejects_interleaved_companion_overflow ... ok
[INFO] [stdout] test rtsp::client::transport_negotiation::tests::parse_rejects_missing_hi_port ... ok
[INFO] [stdout] test rtsp::client::transport_negotiation::tests::parse_rejects_out_of_range_port ... ok
[INFO] [stdout] test rtsp::client::transport_negotiation::tests::parse_rejects_invalid_port_value ... ok
[INFO] [stdout] test rtsp::client::transport_negotiation::tests::parse_rejects_reversed_client_port_pair ... ok
[INFO] [stdout] test rtsp::client::transport_negotiation::tests::parse_rejects_reversed_interleaved_pair ... ok
[INFO] [stdout] test rtsp::client::transport_negotiation::tests::parse_rejects_reversed_server_port_pair ... ok
[INFO] [stdout] test rtsp::client::transport_negotiation::tests::parse_udp_transport_response ... ok
[INFO] [stdout] test rtsp::client::transport_negotiation::tests::u16_pair_detail_accepts_valid_pair_and_single ... ok
[INFO] [stdout] test rtsp::client::transport_negotiation::tests::u16_pair_detail_names_companion_overflow ... ok
[INFO] [stdout] test rtsp::client::transport_negotiation::tests::u16_pair_detail_names_non_integer_port ... ok
[INFO] [stdout] test rtsp::client::transport_negotiation::tests::u16_pair_detail_names_reversed_pair ... ok
[INFO] [stdout] test rtsp::client::transport_negotiation::tests::u8_pair_detail_reasons_mirror_u16 ... ok
[INFO] [stdout] test rtsp::digest::tests::cross_check_md5_with_qop ... ok
[INFO] [stdout] test rtsp::digest::tests::cross_check_no_qop_is_deterministic ... ok
[INFO] [stdout] test rtsp::client::transport_negotiation::tests::u16_pair_detail_names_extra_tokens ... ok
[INFO] [stdout] test rtsp::digest::tests::cross_check_sha256_with_qop ... ok
[INFO] [stdout] test rtsp::framing::tests::rtsp_boundary_complete_with_body ... ok
[INFO] [stdout] test rtsp::framing::tests::binary_frame_header_needs_four_bytes_and_full_body ... ok
[INFO] [stdout] test rtsp::message::request_parse_tests::announce_and_record_parse_and_encode ... ok
[INFO] [stdout] test rtsp::message::request_parse_tests::classify_tests::announce_is_no_longer_501 ... ok
[INFO] [stdout] test rtsp::message::request_parse_tests::classify_tests::classify_implemented_method_that_failed_elsewhere_is_400 ... ok
[INFO] [stdout] test rtsp::message::request_parse_tests::classify_tests::classify_garbage_request_line_is_400_with_cseq ... ok
[INFO] [stdout] test rtsp::message::request_parse_tests::classify_tests::classify_never_echoes_a_dirty_cseq ... ok
[INFO] [stdout] test rtsp::message::request_parse_tests::classify_tests::classify_non_utf8_is_400_without_cseq ... ok
[INFO] [stdout] test rtsp::message::request_parse_tests::classify_tests::classify_unimplemented_method_is_501_with_cseq ... ok
[INFO] [stdout] test rtsp::message::request_parse_tests::classify_tests::classify_unknown_version_is_400 ... ok
[INFO] [stdout] test rtsp::message::request_parse_tests::encode_response_round_trips_minimal ... ok
[INFO] [stdout] test rtsp::message::request_parse_tests::encode_response_with_body_appends_body ... ok
[INFO] [stdout] test rtsp::message::request_parse_tests::parse_options_request ... ok
[INFO] [stdout] test rtsp::message::request_parse_tests::parse_request_with_body ... ok
[INFO] [stdout] test rtsp::message::request_parse_tests::parse_setup_with_transport_header ... ok
[INFO] [stdout] test rtsp::message::request_parse_tests::parse_truncated_no_crlfcrlf_errors ... ok
[INFO] [stdout] test rtsp::message::request_parse_tests::parse_unsupported_method_errors ... ok
[INFO] [stdout] test rtsp::message::request_parse_tests::request_joins_repeated_list_header ... ok
[INFO] [stdout] test rtsp::message::request_parse_tests::request_rejects_content_length_over_cap ... ok
[INFO] [stdout] test rtsp::message::request_parse_tests::parse_describe_request_no_body ... ok
[INFO] [stdout] test rtsp::message::request_parse_tests::request_rejects_duplicate_cseq ... ok
[INFO] [stdout] test rtsp::message::request_parse_tests::request_rejects_oversized_content_length ... ok
[INFO] [stdout] test rtsp::message::request_parse_tests::request_rejects_unparseable_content_length ... ok
[INFO] [stdout] test rtsp::message::tests::content_length_from_header_text_strict ... ok
[INFO] [stdout] test rtsp::message::tests::content_length_rejects_leading_plus ... ok
[INFO] [stdout] test rtsp::message::tests::content_length_scanner_ignores_bare_lf_delimited_header ... ok
[INFO] [stdout] test rtsp::message::tests::encode_checked_accepts_clean_request ... ok
[INFO] [stdout] test rtsp::message::tests::encode_checked_no_injected_crlf_on_wire ... ok
[INFO] [stdout] test rtsp::message::request_parse_tests::request_rejects_duplicate_content_length ... ok
[INFO] [stdout] test rtsp::message::tests::encode_checked_rejects_bare_cr_and_lf ... ok
[INFO] [stdout] test rtsp::message::tests::encode_checked_rejects_control_in_name ... ok
[INFO] [stdout] test rtsp::message::tests::encode_checked_rejects_crlf_in_authorization_value ... ok
[INFO] [stdout] test rtsp::message::tests::encode_checked_rejects_crlf_in_value ... ok
[INFO] [stdout] test rtsp::message::tests::encode_checked_rejects_crlf_in_request_uri ... ok
[INFO] [stdout] test rtsp::message::tests::encode_checked_rejects_malicious_sdp_control_url ... ok
[INFO] [stdout] test rtsp::message::tests::encode_checked_rejects_nul_and_control_in_value ... ok
[INFO] [stdout] test rtsp::message::tests::encode_options_request ... ok
[INFO] [stdout] test rtsp::message::tests::parse_200_options_response ... ok
[INFO] [stdout] test rtsp::message::tests::parse_rejects_duplicate_content_length ... ok
[INFO] [stdout] test rtsp::message::tests::parse_rejects_content_length_over_cap ... ok
[INFO] [stdout] test rtsp::message::tests::parse_rejects_duplicate_session ... ok
[INFO] [stdout] test rtsp::message::tests::parse_rejects_oversized_content_length ... ok
[INFO] [stdout] test rtsp::message::tests::parse_rejects_unknown_version ... ok
[INFO] [stdout] test rtsp::message::tests::parse_response_with_body ... ok
[INFO] [stdout] test rtsp::message::tests::parse_rejects_unparseable_content_length ... ok
[INFO] [stdout] test rtsp::message::tests::parse_session_id_and_timeout ... ok
[INFO] [stdout] test rtsp::message::tests::two_line_www_authenticate_basic_first_still_prefers_digest ... ok
[INFO] [stdout] test rtsp::client::options_describe::tests::configured_read_timeout_is_restored_after_a_bounded_exchange ... ok
[INFO] [stdout] test rtsp::server::add_mount_tests::a_mount_path_with_a_control_byte_is_invalid ... ok
[INFO] [stdout] test rtsp::message::tests::parse_truncated_body_errors ... ok
[INFO] [stdout] test rtsp::message::tests::two_line_www_authenticate_keeps_digest ... ok
[INFO] [stdout] test rtsp::server::add_mount_tests::add_mount_rejects_empty_path ... ok
[INFO] [stdout] test rtsp::server::add_mount_tests::add_mount_rejects_duplicate_path ... ok
[INFO] [stdout] test rtsp::server::add_mount_tests::add_mount_returns_handle_with_path ... ok
[INFO] [stdout] test rtsp::server::add_mount_tests::add_mount_rejects_path_without_leading_slash ... ok
[INFO] [stdout] test h264::receiver::tests::recv_au_timeout_ignores_knob ... ok
[INFO] [stdout] test rtsp::server::add_multicast_mount_tests::add_multicast_mount_carries_ttl_and_iface ... ok
[INFO] [stdout] test rtsp::server::add_mount_tests::add_mount_path_with_query_char_rejected ... ok
[INFO] [stdout] test rtsp::server::add_multicast_mount_tests::add_multicast_mount_rejects_malformed_url ... ok
[INFO] [stdout] test h264::receiver::tests::set_recv_timeout_max_saturates_no_deadline ... ok
[INFO] [stdout] test rtsp::server::add_multicast_mount_tests::add_multicast_mount_returns_handle_for_v4_group ... ok
[INFO] [stdout] test rtsp::server::add_multicast_mount_tests::add_multicast_mount_rejects_duplicate_path ... ok
[INFO] [stdout] test rtsp::server::auth::tests::challenge_header_digest_sha256 ... ok
[INFO] [stdout] test rtsp::server::auth::tests::challenge_header_digest_md5 ... ok
[INFO] [stdout] test rtsp::server::auth::tests::client_built_digest_wrong_password_rejected ... ok
[INFO] [stdout] test rtsp::server::auth::tests::challenge_header_basic ... ok
[INFO] [stdout] test rtsp::server::auth::tests::client_built_sha256_digest_verifies_server_side ... ok
[INFO] [stdout] test rtsp::server::auth::tests::generate_nonce_changes_each_call ... ok
[INFO] [stdout] test rtsp::server::auth::tests::generate_nonce_is_32_hex_chars ... ok
[INFO] [stdout] test rtsp::server::add_multicast_mount_tests::add_multicast_mount_rejects_unicast_group ... ok
[INFO] [stdout] test rtsp::server::auth::tests::parse_kv_pairs_quoted_with_commas ... ok
[INFO] [stdout] test rtsp::server::auth::tests::parse_kv_pairs_unescapes_quoted_username ... ok
[INFO] [stdout] test rtsp::server::add_publish_mount_tests::add_publish_mount_registers_and_rejects_duplicates ... ok
[INFO] [stdout] test rtsp::server::auth::tests::verify_basic_differing_length_no_panic ... ok
[INFO] [stdout] test rtsp::server::auth::tests::parse_kv_pairs_escaped_quotes ... ok
[INFO] [stdout] test rtsp::server::auth::tests::verify_basic_round_trip ... ok
[INFO] [stdout] test rtsp::server::auth::tests::verify_basic_wrong_password ... ok
[INFO] [stdout] test rtsp::server::auth::tests::verify_basic_wrong_username ... ok
[INFO] [stdout] test rtsp::server::auth::tests::verify_digest_nc_regression_rejected ... ok
[INFO] [stdout] test rtsp::server::auth::tests::verify_digest_nc_replay_rejected ... ok
[INFO] [stdout] test rtsp::server::auth::tests::verify_digest_qop_downgrade_rejected ... ok
[INFO] [stdout] test rtsp::server::auth::tests::verify_basic_wrong_both_returns_wrong_credentials ... ok
[INFO] [stdout] test rtsp::server::auth::tests::verify_digest_md5_round_trip ... ok
[INFO] [stdout] test rtsp::server::auth::tests::verify_digest_realm_mismatch_rejected ... ok
[INFO] [stdout] test rtsp::server::auth::tests::verify_digest_uri_mismatch ... ok
[INFO] [stdout] test rtsp::server::auth::tests::verify_digest_wrong_username ... ok
[INFO] [stdout] test rtsp::server::auth::tests::verify_missing_authorization ... ok
[INFO] [stdout] test rtsp::server::auth::tests::verify_digest_stale_nonce ... ok
[INFO] [stdout] test rtsp::server::auth::tests::verify_digest_sha256_round_trip ... ok
[INFO] [stdout] test rtsp::server::auth::tests::verify_basic_bad_base64 ... ok
[INFO] [stdout] test rtsp::server::auth::tests::verify_scheme_mismatch ... ok
[INFO] [stdout] test rtsp::server::fanout::tests::cancel_exits_task ... ok
[INFO] [stdout] test rtsp::server::fanout::tests::first_rtp_packet_seq_matches_initial_seq ... ok
[INFO] [stdout] test rtsp::server::fanout::tests::server_cancel_exits_task ... ok
[INFO] [stdout] test rtsp::server::auth::tests::client_built_md5_digest_verifies_server_side ... ok
[INFO] [stdout] test rtsp::server::fanout::tests::udp_fanout_delivers_three_frames ... ok
[INFO] [stdout] test rtsp::server::graceful_shutdown_tests::register_session_records_peer ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::compute_udp_play_target_preserves_loopback ... ok
[INFO] [stdout] test rtsp::server::graceful_shutdown_tests::unregister_session_drops_from_list ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::compute_udp_play_target_uses_real_peer_ip ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::describe_response_includes_content_base_with_trailing_slash ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::describe_unknown_mount_returns_404 ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::describe_with_auth_required_returns_401_when_no_authorization ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::describe_content_base_no_double_slash_when_uri_already_has_trailing_slash ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::dropping_a_session_ends_a_fanout_retired_by_a_second_play ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::dropping_a_session_ends_a_fanout_retired_by_pause ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::extract_mount_path_strips_scheme_and_authority ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::error_response_includes_cseq_and_server ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::generate_session_id_changes_each_call ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::generate_session_id_is_16_hex_chars ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::options_response_includes_cseq_and_server ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::options_response_lists_public_methods ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::pause_before_setup_returns_454 ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::play_before_setup_returns_454 ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::play_replacement_preserves_an_in_progress_interleaved_frame ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::extract_mount_path_strips_trackid_segment ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::play_response_ok_embeds_initial_seq_and_rtptime ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::setup_against_multicast_mount_rejects_tcp_with_461 ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::setup_against_multicast_mount_returns_multicast_transport ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::setup_multicast_group_port_65535_does_not_panic ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::setup_udp_unicast_without_client_port_returns_461 ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::setup_unknown_mount_returns_404 ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::play_twice_replaces_the_fanout_instead_of_detaching_it ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::setup_with_invalid_client_port_returns_400 ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::setup_with_mixed_case_keys_returns_200 ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::setup_with_no_transport_header_returns_400 ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::setup_with_single_max_client_port_returns_400 ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::setup_with_reversed_client_port_returns_400 ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::setup_with_tcp_interleaved_returns_200_with_channel_pair ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::teardown_after_setup_returns_200_and_clears_state ... ok
[INFO] [stdout] test rtsp::server::handlers::tests::setup_with_udp_transport_returns_200_with_server_port ... ok
[INFO] [stdout] test rtsp::server::fanout::tests::drop_counter_ticks_on_lag ... ok
[INFO] [stdout] test rtsp::server::fanout::tests::mount_total_aggregates_peer_drops ... ok
[INFO] [stdout] test rtsp::server::mount::tests::mount_handle_clone_is_cheap ... ok
[INFO] [stdout] test rtsp::server::mount::tests::mount_handle_kind_is_unicast ... ok
[INFO] [stdout] test rtsp::server::mount::tests::mount_handle_path ... ok
[INFO] [stdout] test rtsp::server::mount::tests::mount_handle_peer_count_zero_initially ... ok
[INFO] [stdout] test rtsp::server::mount::tests::mount_handle_stats_default ... ok
[INFO] [stdout] test rtsp::server::listener_tests::start_then_local_addr_returns_port ... ok
[INFO] [stdout] test rtsp::server::mount::tests::push_data_to_specific_handle_succeeds ... ok
[INFO] [stdout] test rtsp::server::mount::tests::mount_state_constructs ... ok
[INFO] [stdout] test rtsp::server::mount::tests::push_video_to_with_dts_serves_distinct_dts ... ok
[INFO] [stdout] test rtsp::server::mount::tests::push_video_updates_stats ... ok
[INFO] [stdout] test rtsp::server::mount::tests::push_data_without_subscribers_succeeds ... ok
[INFO] [stdout] test rtsp::server::mount::tests::push_video_with_subscriber_delivers_to_broadcast ... ok
[INFO] [stdout] test rtsp::server::mount::tests::push_video_without_subscribers_succeeds ... ok
[INFO] [stdout] test rtsp::server::mount::tests::video_handles_returns_one_entry_for_one_program ... ok
[INFO] [stdout] test rtsp::server::multicast::tests::build_multicast_send_socket_v4_succeeds ... FAILED
[INFO] [stdout] test rtsp::server::multicast::tests::build_multicast_v6_rejects_ip_literal_as_iface_name ... ok
[INFO] [stdout] test rtsp::server::multicast::tests::build_multicast_with_iface_v4 ... ok
[INFO] [stdout] test rtsp::server::multicast::tests::resolve_ifindex_loopback ... ok
[INFO] [stdout] test rtsp::server::multicast::tests::build_multicast_send_socket_rejects_unicast ... ok
[INFO] [stdout] test rtsp::server::multicast::tests::resolve_ifindex_unknown_returns_err ... ok
[INFO] [stdout] test rtsp::server::publish::adapter::tests::a_large_packet_is_rechunked_into_payload_size_bundles ... ok
[INFO] [stdout] test rtsp::server::publish::adapter::tests::an_mp2t_publisher_resets_a_previous_publishers_alignment ... ok
[INFO] [stdout] test rtsp::server::publish::adapter::tests::dynamic_pt_is_rewritten_to_33_for_the_app_side ... ok
[INFO] [stdout] test rtsp::server::publish::adapter::tests::malformed_payloads_are_dropped_and_counted ... ok
[INFO] [stdout] test rtsp::server::publish::adapter::tests::rtcp_is_ignored_by_the_mp2t_adapter ... ok
[INFO] [stdout] test rtsp::server::publish::adapter::tests::csrc_extension_and_padding_are_stripped_for_readers ... ok
[INFO] [stdout] test rtsp::server::publish::adapter::tests::valid_packet_feeds_readers_with_payload_and_app_with_a_pt33_packet ... ok
[INFO] [stdout] test rtsp::server::publish::adapter_es::tests::a_klv_publisher_starts_pending_and_a_video_only_one_not_applicable ... ok
[INFO] [stdout] test rtsp::server::listener_tests::double_start_errors ... ok
[INFO] [stdout] test h264::receiver::tests::recv_au_honors_knob_then_session_recovers ... ok
[INFO] [stdout] test rtsp::server::listener_tests::second_bind_to_same_port_fails ... ok
[INFO] [stdout] test rtsp::server::publish::adapter_es::tests::a_video_ssrc_change_is_counted_once ... ok
[INFO] [stdout] test rtsp::server::publish::adapter_es::tests::app_side_packets_are_pt33_with_the_adapters_own_contiguous_sequence ... ok
[INFO] [stdout] test rtsp::client::options_describe::tests::pump_path_response_after_the_deadline_is_a_timeout ... ok
[INFO] [stdout] test rtsp::server::publish::adapter_es::tests::foreign_pt_and_unknown_tracks_are_malformed_and_rtcp_other_than_sr_is_ignored ... ok
[INFO] [stdout] test h264::receiver::tests::url_recv_timeout_arms_h264_receiver_without_explicit_setter ... ok
[INFO] [stdout] test rtsp::client::options_describe::tests::qop_auth_nonce_count_increments_and_resets_on_new_challenge ... ok
[INFO] [stdout] test rtsp::client::options_describe::tests::preemptive_authorization_builds_setup_digest_for_control_uri ... ok
[INFO] [stdout] test rtsp::client::poison_policy::request_path_survives_poisoned_stream_mutex ... ok
[INFO] [stdout] test rtsp::server::publish::adapter_es::tests::default_muxer_takes_an_au_above_its_stock_buffer ... ok
[INFO] [stdout] test rtsp::server::publish::adapter_es::tests::klv_held_without_video_is_dropped_and_counted_at_flush ... ok
[INFO] [stdout] test rtsp::server::publish::adapter_es::tests::a_3mb_idr_reaches_a_draining_application_whole ... ok
[INFO] [stdout] test rtsp::server::publish::adapter_es::tests::klv_stamped_ahead_of_the_video_waits_and_never_drags_the_pcr_ahead ... ok
[INFO] [stdout] test rtsp::server::publish::adapter_es::tests::max_klv_unit_is_the_muxers_klv_ceiling ... ok
[INFO] [stdout] test rtsp::server::publish::adapter_es::tests::a_klv_ssrc_change_drops_the_held_units_and_restarts_alignment ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::a_later_report_pair_replaces_the_mapping_and_counts_a_step ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::a_new_klv_source_drops_the_held_units_and_counts_them ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::a_new_klv_source_under_provisional_lands_on_the_video_line ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::a_new_klv_source_waits_for_its_own_report ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::a_new_video_source_discards_the_stale_report_until_a_fresh_one ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::a_new_video_source_drops_held_units_and_restarts_the_fallback ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::a_new_video_source_drops_held_units_at_the_change_and_reanchors_the_fallback ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::a_new_video_sources_report_before_its_first_au_is_kept ... ok
[INFO] [stdout] test rtsp::server::publish::adapter_es::tests::a_sender_report_from_a_foreign_ssrc_is_ignored ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::a_placed_unit_the_video_never_reaches_is_dropped_after_the_age_bound ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::a_placed_unit_waits_for_the_pushed_video_to_reach_its_pts ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::a_report_pair_from_disagreeing_clocks_falls_back_instead_of_dropping_every_unit ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::a_placed_unit_waits_for_the_first_pushed_video ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::a_report_pair_that_places_within_the_window_is_kept ... ok
[INFO] [stdout] test rtsp::server::publish::adapter_es::tests::b_frames_are_counted_as_reordered_and_still_muxed ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::a_unit_implied_a_tick_before_the_origin_is_placed_at_zero ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::a_unit_well_before_the_origin_stays_negative_for_the_adapter_to_drop ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::drain_drops_placed_units_further_than_the_wait_bound_past_the_muxed_video ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::drain_before_any_video_is_muxed_releases_at_the_placed_pts ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::drain_releases_a_placed_unit_exactly_the_wait_bound_past_the_muxed_video ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::drain_releases_placed_units_the_video_has_not_reached ... ok
[INFO] [stdout] test rtsp::server::publish::adapter_es::tests::h264_only_publisher_is_remuxed_and_starts_on_the_first_idr ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::drain_without_a_video_origin_abandons_and_counts_held_units ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::a_validated_mapping_survives_a_video_stall_longer_than_the_window ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::fallback_after_two_seconds_without_reports ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::drain_s_forced_fallback_uses_the_anchor_left_by_evictions ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::hold_queue_is_bounded_drop_oldest ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::placed_and_unplaced_units_share_the_hold_budgets ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::klv_only_publisher_holds_at_most_two_seconds_and_counts_evictions ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::klv_clock_wrapping_mid_session_keeps_the_pts_line ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::placed_units_leave_in_arrival_order ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::placed_units_outlive_a_video_source_change ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::placed_units_count_toward_the_byte_budget ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::hold_queue_is_bounded_in_bytes_drop_oldest ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::report_jitter_within_a_millisecond_is_not_a_step ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::the_fallback_anchors_on_the_oldest_unit_left_by_the_unit_budget ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::rtp_timestamp_wrap_is_unwrapped ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::reports_after_the_fallback_switch_to_the_report_mapping_with_one_step ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::the_fallback_anchors_on_the_oldest_unit_still_held_after_evictions ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::units_are_held_until_both_reports_then_placed_on_the_video_line ... ok
[INFO] [stdout] test rtsp::server::publish::handlers::tests::an_on_demand_path_with_a_control_byte_is_refused_and_creates_nothing ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::the_same_implausible_pair_is_not_re_adopted_every_report_interval ... ok
[INFO] [stdout] test rtsp::server::publish::handlers::tests::announce_elementary_h264_klv_enters_publisher_role ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::video_clock_wrapping_mid_session_keeps_the_pts_line ... ok
[INFO] [stdout] test rtsp::server::publish::handlers::tests::announce_refusals ... ok
[INFO] [stdout] test rtsp::server::publish::handlers::tests::announce_on_a_reader_session_is_455 ... ok
[INFO] [stdout] test rtsp::server::publish::handlers::tests::announce_mp2t_enters_publisher_role ... ok
[INFO] [stdout] test rtsp::server::publish::handlers::tests::on_demand_closed_queue_is_503 ... ok
[INFO] [stdout] test rtsp::server::publish::handlers::tests::on_demand_full_queue_is_503_and_leaves_no_mount ... ok
[INFO] [stdout] test rtsp::server::publish::handlers::tests::on_demand_off_unknown_path_is_404_and_creates_nothing ... ok
[INFO] [stdout] test rtsp::server::publish::handlers::tests::on_demand_on_unknown_path_creates_and_queues_a_publish_mount ... ok
[INFO] [stdout] test rtsp::server::publish::handlers::tests::pause_is_acknowledged_and_keeps_recording_state ... ok
[INFO] [stdout] test rtsp::server::publish::handlers::tests::play_on_a_publisher_session_is_455 ... ok
[INFO] [stdout] test rtsp::server::publish::handlers::tests::reader_setup_on_a_publisher_session_is_455 ... ok
[INFO] [stdout] test rtsp::server::publish::handlers::tests::record_after_the_mount_released_the_slot_is_455 ... ok
[INFO] [stdout] test rtsp::server::publish::handlers::tests::on_demand_mount_cap_is_503_until_a_mount_is_removed ... ok
[INFO] [stdout] test rtsp::server::publish::adapter_es::tests::held_klv_is_emitted_once_the_fallback_expires_while_only_video_flows ... ok
[INFO] [stdout] test rtsp::server::publish::handlers::tests::on_demand_racing_announces_on_one_new_path_create_one_mount ... ok
[INFO] [stdout] test rtsp::server::publish::handlers::tests::second_publisher_on_a_live_mount_is_403 ... ok
[INFO] [stdout] test rtsp::server::publish::handlers::tests::setup_record_interleaved_then_record ... ok
[INFO] [stdout] test rtsp::server::publish::handlers::tests::setup_record_on_a_different_mount_is_455 ... ok
[INFO] [stdout] test rtsp::server::publish::adapter_es::tests::held_klv_is_placed_and_emitted_on_flush ... ok
[INFO] [stdout] test rtsp::server::publish::handlers::tests::setup_record_resolves_an_absolute_control_url_on_another_host ... ok
[INFO] [stdout] test rtsp::server::publish::handlers::tests::setup_record_resolves_an_absolute_control_url_naming_the_mount_itself ... ok
[INFO] [stdout] test rtsp::server::publish::handlers::tests::setup_record_resolves_gstreamer_stream_control ... ok
[INFO] [stdout] test rtsp::server::publish::align::tests::poll_releases_held_units_after_the_fallback ... ok
[INFO] [stdout] test rtsp::server::publish::handlers::tests::record_spawns_one_udp_ingest_task_idempotently_and_teardown_ends_it ... ok
[INFO] [stdout] test rtsp::server::publish::handlers::tests::session_header_with_timeout_matches_and_a_set_up_track_is_not_set_up_twice ... ok
[INFO] [stdout] test rtsp::server::publish::handlers::tests::setup_record_udp_binds_a_server_pair ... ok
[INFO] [stdout] test rtsp::server::publish::handlers::tests::state_errors_455_461_454 ... ok
[INFO] [stdout] test rtsp::server::publish::handlers::tests::teardown_ends_the_publisher_and_frees_the_mount ... ok
[INFO] [stdout] test rtsp::server::publish::klv_depacketizer::tests::a_unit_missing_its_last_fragment_is_dropped_and_counted ... ok
[INFO] [stdout] test rtsp::server::publish::adapter_es::tests::klv_placed_before_the_video_origin_is_dropped_not_muxed ... ok
[INFO] [stdout] test rtsp::server::publish::klv_depacketizer::tests::a_lost_packet_between_units_does_not_poison_the_next_intact_unit ... ok
[INFO] [stdout] test rtsp::server::publish::klv_depacketizer::tests::a_markerless_unit_before_a_gap_is_kept_when_whole ... ok
[INFO] [stdout] test rtsp::server::publish::klv_depacketizer::tests::duplicate_packet_is_ignored ... ok
[INFO] [stdout] test rtsp::server::publish::klv_depacketizer::tests::a_unit_missing_its_first_fragment_is_dropped_and_counted ... ok
[INFO] [stdout] test rtsp::client::teardown::tests::teardown_with_deadline_bounds_nonpump_silent_peer ... ok
[INFO] [stdout] test rtsp::server::publish::adapter_es::tests::klv_units_land_at_video_relative_pts ... ok
[INFO] [stdout] test rtsp::server::publish::klv_depacketizer::tests::gap_drops_the_open_unit_and_the_next_unit_is_clean ... ok
[INFO] [stdout] test rtsp::server::publish::klv_depacketizer::tests::oversize_skip_ends_on_timestamp_change_without_marker ... ok
[INFO] [stdout] test rtsp::server::publish::klv_depacketizer::tests::oversize_unit_is_dropped_and_counted ... ok
[INFO] [stdout] test rtsp::server::publish::klv_depacketizer::tests::second_gap_on_a_poisoned_unit_does_not_double_count ... ok
[INFO] [stdout] test rtsp::server::publish::klv_depacketizer::tests::single_packet_unit ... ok
[INFO] [stdout] test rtsp::server::publish::klv_depacketizer::tests::ssrc_change_resets ... ok
[INFO] [stdout] test rtsp::server::publish::klv_depacketizer::tests::empty_payload_is_ignored ... ok
[INFO] [stdout] test rtsp::server::publish::mount::tests::a_closed_mount_refuses_a_claim_and_counts_no_publisher ... ok
[INFO] [stdout] test rtsp::server::publish::adapter_es::tests::muxer_buffer_full_drops_the_au_and_continues ... ok
[INFO] [stdout] test rtsp::server::publish::klv_depacketizer::tests::timestamp_change_without_marker_closes_the_unit ... ok
[INFO] [stdout] test rtsp::server::publish::klv_depacketizer::tests::flush_emits_the_open_unit ... ok
[INFO] [stdout] test rtsp::server::publish::mount::tests::app_queue_holds_one_maximum_au ... ok
[INFO] [stdout] test rtsp::server::publish::handlers::tests::record_racing_remove_mount_is_455_once_the_entry_is_gone ... ok
[INFO] [stdout] test rtsp::server::publish::klv_depacketizer::tests::three_fragments_closed_by_marker ... ok
[INFO] [stdout] test rtsp::server::publish::mount::tests::close_before_the_take_still_ends_the_transport_with_closed ... ok
[INFO] [stdout] test rtsp::server::publish::klv_depacketizer::tests::whole_klv_item_check ... ok
[INFO] [stdout] test rtsp::server::publish::mount::tests::emit_before_take_reaches_readers_only_a_late_taker_sees_no_backlog ... ok
[INFO] [stdout] test rtsp::server::publish::mount::tests::server_counters_follow_the_publisher_slot_and_the_receive_path ... ok
[INFO] [stdout] test rtsp::server::publish::mount::tests::emit_reaches_app_transport_and_readers ... ok
[INFO] [stdout] test rtsp::server::publish::mount::tests::transport_can_be_taken_once ... ok
[INFO] [stdout] test rtsp::server::publish::adapter_es::tests::klv_aligns_to_the_depacketizers_zero_when_the_first_au_is_poisoned ... ok
[INFO] [stdout] test rtsp::server::publish::session::tests::a_delivery_before_end_reaches_the_adapter ... ok
[INFO] [stdout] test rtsp::server::publish::mount::tests::full_app_channel_drops_newest_and_counts ... ok
[INFO] [stdout] test rtsp::server::publish::session::tests::interleaved_pair_honours_a_free_request_and_falls_back_to_the_lowest_free_pair ... ok
[INFO] [stdout] test rtsp::server::publish::shape::tests::elementary_clock_rates_other_than_90000_are_415 ... ok
[INFO] [stdout] test rtsp::server::publish::shape::tests::announce_rejects_h264_packetization_mode_2 ... ok
[INFO] [stdout] test rtsp::server::publish::mount::tests::the_application_channel_is_allocated_when_the_transport_is_taken ... ok
[INFO] [stdout] test rtsp::server::publish::mount::tests::publisher_slot_is_exclusive_and_generation_counts_ends ... ok
[INFO] [stdout] test rtsp::server::publish::shape::tests::bad_control_sets_are_400 ... ok
[INFO] [stdout] test rtsp::server::publish::shape::tests::ffmpeg_h264_only_is_elementary_without_klv ... ok
[INFO] [stdout] test rtsp::server::publish::session::tests::a_delivery_that_loses_the_race_with_end_is_dropped ... ok
[INFO] [stdout] test h264::receiver::tests::recv_au_timeout_returns_backpressure_on_stalled_source ... ok
[INFO] [stdout] test rtsp::server::publish::shape::tests::mp2t_dynamic_pt_with_rtpmap ... ok
[INFO] [stdout] test rtsp::server::publish::tests::frames_before_an_rtsp_request_are_drained_and_the_request_is_left ... ok
[INFO] [stdout] test rtsp::server::publish::udp_ingest::tests::admit_rejects_a_foreign_ip_valid_or_not_before_and_after_the_latch ... ok
[INFO] [stdout] test rtsp::server::publish::shape::tests::rtpmap_encoding_names_are_case_insensitive ... ok
[INFO] [stdout] test rtsp::server::publish::udp_ingest::tests::admit_treats_an_ipv4_mapped_source_as_its_ipv4_peer ... ok
[INFO] [stdout] test rtsp::server::publish::shape::tests::more_than_four_tracks_is_400 ... ok
[INFO] [stdout] test rtsp::server::publish::shape::tests::mp2t_static_pt_33_without_rtpmap ... ok
[INFO] [stdout] test rtsp::server::publish::udp_ingest::tests::admit_relatches_a_new_port_on_the_same_ip ... ok
[INFO] [stdout] test rtsp::server::publish::tests::a_partial_frame_at_the_head_waits_and_drains_nothing ... ok
[INFO] [stdout] test rtsp::server::publish::shape::tests::unsupported_mixes_are_415 ... ok
[INFO] [stdout] test rtsp::server::publish::shape::tests::h264_plus_smpte336m_is_elementary_with_klv ... ok
[INFO] [stdout] test rtsp::server::publish::udp_ingest::tests::admit_garbage_first_does_not_latch ... ok
[INFO] [stdout] test rtsp::server::runtime_tests::server_stats_default ... ok
[INFO] [stdout] test rtsp::server::runtime_tests::bind_returns_server_with_runtime ... ok
[INFO] [stdout] test rtsp::server::runtime_tests::drop_shuts_down_runtime ... ok
[INFO] [stdout] test rtsp::server::publish::udp_ingest::tests::udp_rtcp_is_delivered_only_from_the_publishers_ip ... ok
[INFO] [stdout] test rtsp::server::runtime_tests::drop_ends_a_publish_transport_with_closed_while_a_handle_clone_lives ... ok
[INFO] [stdout] test rtsp::server::session::session_tests::auth_failures_not_reset_by_options ... ok
[INFO] [stdout] test rtsp::client::options_describe::tests::preemptive_authorization_inert_without_challenge_or_creds ... ok
[INFO] [stdout] test rtsp::server::session::session_tests::complete_requests_spaced_inside_the_idle_bound_are_all_answered ... ok
[INFO] [stdout] test rtsp::server::runtime_tests::cancel_handle_clone_shares_flag ... ok
[INFO] [stdout] test rtsp::server::session::session_tests::auth_failures_reset_on_successful_auth ... ok
[INFO] [stdout] test rtsp::server::session::session_tests::frame_behind_record_is_delivered_without_a_further_read ... ok
[INFO] [stdout] test rtsp::server::session::session_tests::frame_payload_with_crlfcrlf_after_a_request_is_not_parsed_as_rtsp ... ok
[INFO] [stdout] test rtsp::server::runtime_tests::drop_ends_a_publish_transport_with_closed_when_no_handle_lives ... ok
[INFO] [stdout] test rtsp::server::runtime_tests::stop_before_start_errors ... ok
[INFO] [stdout] test rtsp::server::session::session_tests::dropping_a_session_cancels_its_peer_token_and_aborts_the_fanout ... ok
[INFO] [stdout] test rtsp::server::runtime_tests::start_twice_errors_second_time ... ok
[INFO] [stdout] test rtsp::server::session::session_tests::frames_before_record_are_accepted ... ok
[INFO] [stdout] test rtsp::server::runtime_tests::start_binds_listener_and_populates_local_addr ... ok
[INFO] [stdout] test rtsp::server::session::session_tests::post_setup_idle_bound_is_never_below_the_advertised_timeout ... ok
[INFO] [stdout] test rtsp::server::session::session_tests::session_responds_to_options ... ok
[INFO] [stdout] test rtsp::server::session::session_tests::unknown_interleaved_channel_is_counted_not_fatal ... ok
[INFO] [stdout] test rtsp::server::session::session_tests::session_responds_to_teardown_and_closes ... ok
[INFO] [stdout] test sdp::phase3_build_for_mount_tests::build_for_mount_emits_m_video ... ok
[INFO] [stdout] test sdp::phase3_build_for_mount_tests::sdp_multicast_ipv6 ... ok
[INFO] [stdout] test sdp::phase3_build_for_mount_tests::build_for_mount_has_session_level_control ... ok
[INFO] [stdout] test sdp::phase3_build_for_mount_tests::multicast_sdp_advertises_group ... ok
[INFO] [stdout] test sdp::phase3_build_for_mount_tests::sdp_ipv6_unicast ... ok
[INFO] [stdout] test sdp::phase3_build_for_mount_tests::sdp_session_name_handles_no_leading_slash ... ok
[INFO] [stdout] test sdp::phase3_build_for_mount_tests::sdp_session_name_strips_leading_slash ... ok
[INFO] [stdout] test sdp::phase3_build_for_mount_tests::unicast_sdp_round_trips_through_parse ... ok
[INFO] [stdout] test sdp::phase3_build_for_mount_tests::sdp_terminates_lines_with_crlf ... ok
[INFO] [stdout] test sdp::pick::tests::picks_unique_h264_video_shape ... ok
[INFO] [stdout] test sdp::pick::tests::rejects_multiple_h264 ... ok
[INFO] [stdout] test sdp::pick::tests::rejects_multiple_mp2t ... ok
[INFO] [stdout] test sdp::pick::tests::rejects_no_h264_rtpmap ... ok
[INFO] [stdout] test sdp::pick::tests::rejects_no_mp2t ... ok
[INFO] [stdout] test sdp::tests::malformed_sdp_is_a_bad_sdp_error_not_a_panic ... ok
[INFO] [stdout] test sdp::tests::parse_malformed ... ok
[INFO] [stdout] test sdp::tests::parse_multi_no_mp2t ... ok
[INFO] [stdout] test sdp::pick::tests::rejects_empty_sdp ... ok
[INFO] [stdout] test sdp::tests::parse_single_mp2t ... ok
[INFO] [stdout] test tests::send_bound_is_a_public_guarantee ... ok
[INFO] [stdout] test transport::tests::cancel_handle_fire_records_cancelled_on_next_recv ... ok
[INFO] [stdout] test sdp::pick::tests::picks_unique_mp2t_application_shape ... ok
[INFO] [stdout] test sdp::pick::tests::picks_unique_mp2t_video_shape ... ok
[INFO] [stdout] test transport::tests::configured_recv_timeout_duration_max_saturates ... ok
[INFO] [stdout] test transport::tests::close_records_cancelled_on_plain_udp_transport ... ok
[INFO] [stdout] test transport::tests::end_reason_none_on_fresh_transport ... ok
[INFO] [stdout] test transport::tests::interleaved_rtp_csrc_extension_padding_stripped_at_recv_site ... ok
[INFO] [stdout] test transport::tests::is_valid_mp2t_payload_covers_edge_cases ... ok
[INFO] [stdout] test rtsp::server::session::session_tests::frame_pipelined_between_two_requests_is_delivered_and_both_answered ... ok
[INFO] [stdout] test transport::tests::mp2t_connect_rejects_pt_param ... ok
[INFO] [stdout] test transport::tests::malformed_rr_increments_parse_error_counter ... ok
[INFO] [stdout] test transport::tests::mp2t_shape_empty_payload_drops_and_ticks_counter ... ok
[INFO] [stdout] test transport::tests::mp2t_shape_invalid_non_aligned_drops_and_ticks_counter ... ok
[INFO] [stdout] test transport::tests::mp2t_shape_valid_bundle_passes_through ... ok
[INFO] [stdout] test transport::tests::mp2t_shape_valid_single_packet_passes_through ... ok
[INFO] [stdout] test transport::tests::mpsc_bytes_packets_received_counted_at_wire_level ... ok
[INFO] [stdout] test transport::tests::mp2t_listen_rejects_pt_param ... ok
[INFO] [stdout] test transport::tests::mpsc_full_frame_1328_delivered_whole ... ok
[INFO] [stdout] test rtsp::server::session::session_tests::publisher_requested_interleaved_channels_are_honoured ... ok
[INFO] [stdout] test transport::tests::rcvbuf_query_sizes_the_rtp_receive_socket ... ok
[INFO] [stdout] test transport::tests::recv_empty_buffer_is_a_noop ... ok
[INFO] [stdout] test transport::tests::recv_is_alive_is_false_once_a_cancel_is_observed ... ok
[INFO] [stdout] test transport::tests::rtp_connect_port_65535_does_not_panic ... ok
[INFO] [stdout] test transport::tests::rtp_listen_port_65535_does_not_panic ... ok
[INFO] [stdout] test rtsp::server::session::session_tests::interleaved_frames_reach_the_publish_mount_and_a_split_frame_reassembles ... ok
[INFO] [stdout] test transport::tests::rr_on_rtcp_rx_populates_packets_lost_send ... ok
[INFO] [stdout] test transport::tests::satisfies_pipeline_trait_bounds ... ok
[INFO] [stdout] test transport::tests::send_is_alive_is_false_after_a_cancel ... ok
[INFO] [stdout] test rtsp::server::publish::mount::tests::close_makes_the_transport_read_closed_and_cancel_wakes_a_parked_recv ... ok
[INFO] [stdout] test transport::tests::sndbuf_query_sizes_the_rtp_send_socket ... ok
[INFO] [stdout] test transport::tests::socket_stats_returns_some_when_alive ... ok
[INFO] [stdout] test transport::tests::sr_then_rr_leaves_rtt_us_zero ... ok
[INFO] [stdout] test rtsp::server::publish::mount::tests::mount_publisher_ending_does_not_close_the_transport ... ok
[INFO] [stdout] test transport::tests::udp_csrc_bearing_oversize_datagram_delivered_whole ... ok
[INFO] [stdout] test transport::tests::udp_full_mtu_datagram_delivered_whole ... ok
[INFO] [stdout] test url::phase3_url_tests::ipv4_host_render_has_no_brackets ... ok
[INFO] [stdout] test url::phase3_url_tests::ipv6_host_render_round_trips_with_brackets ... ok
[INFO] [stdout] test url::phase3_url_tests::multicast_group_ipv4_ok ... ok
[INFO] [stdout] test url::phase3_url_tests::multicast_group_ipv4_unicast_rejected ... ok
[INFO] [stdout] test url::phase3_url_tests::multicast_group_ipv6_ok ... ok
[INFO] [stdout] test url::phase3_url_tests::multicast_group_ttl_and_iface_extracted ... ok
[INFO] [stdout] test rtsp::client::interleaved_pump::tests::pump_stops_reading_while_write_gate_set ... ok
[INFO] [stdout] test url::phase3_url_tests::server_bind_url_dns_name_rejected ... ok
[INFO] [stdout] test url::phase3_url_tests::server_bind_url_ipv6_loopback_ok ... ok
[INFO] [stdout] test url::phase3_url_tests::server_bind_url_loopback_ok ... ok
[INFO] [stdout] test url::rtsp_tests::rtsp_url_bad_percent_escape_in_password_is_rejected ... ok
[INFO] [stdout] test url::rtsp_tests::rtsp_url_basic_no_query ... ok
[INFO] [stdout] test url::rtsp_tests::rtsp_url_combined_query ... ok
[INFO] [stdout] test url::phase3_url_tests::server_bind_url_wildcard_ok ... ok
[INFO] [stdout] test url::rtsp_tests::rtsp_url_credentials_are_percent_decoded ... ok
[INFO] [stdout] test url::rtsp_tests::rtsp_url_default_port_554 ... ok
[INFO] [stdout] test url::rtsp_tests::rtsp_url_recv_timeout_bad_value_rejected ... ok
[INFO] [stdout] test url::rtsp_tests::rtsp_url_recv_timeout_default_none ... ok
[INFO] [stdout] test url::rtsp_tests::rtsp_url_recv_timeout_query ... ok
[INFO] [stdout] test url::rtsp_tests::rtsp_url_credentials_extracted ... ok
[INFO] [stdout] test url::rtsp_tests::rtsp_url_recv_timeout_zero_rejected ... ok
[INFO] [stdout] test url::rtsp_tests::rtsp_url_tcp_keepalive_bad_value_rejected ... ok
[INFO] [stdout] test url::rtsp_tests::rtsp_url_tcp_keepalive_default_none ... ok
[INFO] [stdout] test url::rtsp_tests::rtsp_url_tcp_keepalive_query ... ok
[INFO] [stdout] test url::rtsp_tests::rtsp_url_rtsp_version_2_0 ... ok
[INFO] [stdout] test url::rtsp_tests::rtsp_url_transport_tcp_query ... ok
[INFO] [stdout] test url::rtsp_tests::rtsp_url_transport_udp_query ... ok
[INFO] [stdout] test url::rtsp_tests::rtsp_url_transport_bad_value_rejected ... ok
[INFO] [stdout] test url::rtsp_tests::rtsps_url_default_port_322 ... ok
[INFO] [stdout] test url::tests::parse_multicast_url_with_ttl_iface ... ok
[INFO] [stdout] test url::tests::parse_ssrc_decimal ... ok
[INFO] [stdout] test url::rtsp_tests::rtsp_url_unknown_query_key_rejected ... ok
[INFO] [stdout] test url::tests::parse_url_with_pkt_size_and_ssrc ... ok
[INFO] [stdout] test url::tests::pt_0_rejected_out_of_range ... ok
[INFO] [stdout] test url::tests::pt_127_parses_ok ... ok
[INFO] [stdout] test url::tests::pt_1_parses_ok ... ok
[INFO] [stdout] test url::tests::pt_200_rejected_out_of_range ... ok
[INFO] [stdout] test url::tests::parse_unicast_url ... ok
[INFO] [stdout] test url::tests::pt_33_rejected_as_mp2t ... ok
[INFO] [stdout] test url::tests::pt_96_parses_ok ... ok
[INFO] [stdout] test url::tests::pt_non_numeric_rejected ... ok
[INFO] [stdout] test url::tests::rejects_bad_ssrc ... ok
[INFO] [stdout] test url::tests::pt_absent_gives_none ... ok
[INFO] [stdout] test url::tests::rejects_non_rtp_scheme ... ok
[INFO] [stdout] test url::tests::rejects_missing_port ... ok
[INFO] [stdout] test url::tests::rejects_pkt_size_not_188_multiple ... ok
[INFO] [stdout] test url::tests::rejects_pkt_size_zero ... ok
[INFO] [stdout] test url::tests::rejects_oob_ttl ... ok
[INFO] [stdout] test url::tests::rejects_unknown_query_key ... ok
[INFO] [stdout] test url::tests::rejects_zero_ttl ... ok
[INFO] [stdout] test url::tests::rtp_url_rcvbuf_and_sndbuf_accept_byte_size_spellings ... ok
[INFO] [stdout] test url::tests::rejects_rtsp_scheme ... ok
[INFO] [stdout] test url::tests::rtp_url_rcvbuf_bad_value_names_the_key ... ok
[INFO] [stdout] test url::tests::rtp_url_recv_timeout_default_none ... ok
[INFO] [stdout] test url::tests::rtp_url_recv_timeout_query ... ok
[INFO] [stdout] test url::tests::rtp_url_recv_timeout_bad_value_rejected ... ok
[INFO] [stdout] test url::tests::rtp_url_recv_timeout_zero_rejected ... ok
[INFO] [stdout] test url::tests::rtp_url_side_rule_errors_name_key_and_side ... ok
[INFO] [stdout] test url::tests::rtp_url_source_hostname_rejected_naming_the_key ... ok
[INFO] [stdout] test url::tests::rtp_url_source_parses_ip_literals ... ok
[INFO] [stdout] test url::tests::rtp_url_unknown_key_still_rejected_next_to_new_keys ... ok
[INFO] [stdout] test rtsp::server::session::session_tests::a_request_trickled_past_the_idle_bound_closes_the_session ... ok
[INFO] [stdout] test rtsp::server::publish::udp_ingest::tests::udp_ingest_relatches_a_same_ip_port_change_and_counts_garbage_as_malformed ... ok
[INFO] [stdout] test rtsp::server::session::session_tests::a_trickled_request_is_closed_even_while_udp_media_keeps_the_publisher_live ... ok
[INFO] [stdout] test transport::tests::rtp_recv_timeout_extreme_durations_never_panic ... ok
[INFO] [stdout] test transport::tests::url_recv_timeout_arms_transport_without_explicit_setter ... ok
[INFO] [stdout] test transport::tests::configured_recv_timeout_bounds_udp_trait_recv_bytes ... ok
[INFO] [stdout] test transport::tests::demux_receiver_surfaces_backpressure_then_keeps_demuxing ... ok
[INFO] [stdout] test transport::tests::one_shot_recv_timeout_wins_over_configured ... ok
[INFO] [stdout] test transport::tests::rtp_recv_timeout_returns_none_on_quiet_socket ... ok
[INFO] [stdout] test transport::tests::configured_recv_timeout_bounds_trait_recv_bytes ... ok
[INFO] [stdout] test rtsp::server::graceful_shutdown_tests::stop_iterates_and_cancels_active_sessions ... ok
[INFO] [stdout] test transport::tests::set_recv_timeout_none_restores_infinite_block ... ok
[INFO] [stdout] test rtsp::server::runtime_tests::stop_is_idempotent ... ok
[INFO] [stdout] test rtcp::reporter::tests::spawn_emits_at_least_once ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- rtsp::server::multicast::tests::build_multicast_send_socket_v4_succeeds stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'rtsp::server::multicast::tests::build_multicast_send_socket_v4_succeeds' (2052) panicked at src/rtsp/server/multicast.rs:320:70:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Io(NetworkUnreachable)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b194719a311 - <<std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[df12db4294e9bfd3]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5b19471b26fa - core[df12db4294e9bfd3]::fmt::write
[INFO] [stdout]    2:     0x5b194719f60c - <alloc[2182bb758b4b3781]::vec::Vec<u8> as core[df12db4294e9bfd3]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5b1947172886 - std[70759c8f55707aa4]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5b1947191a79 - std[70759c8f55707aa4]::panicking::default_hook
[INFO] [stdout]    5:     0x5b19470b41f0 - test[9d35eded1c95d3be]::test_main_inner::<test[9d35eded1c95d3be]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]    6:     0x5b1947191da2 - std[70759c8f55707aa4]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5b1947172932 - std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5b194716b4b9 - std[70759c8f55707aa4]::sys::backtrace::__rust_end_short_backtrace::<std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5b194717371d - __rustc[8fa7c3cbc660c2b3]::rust_begin_unwind
[INFO] [stdout]   10:     0x5b19471b2e5c - core[df12db4294e9bfd3]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5b19471b2c32 - core[df12db4294e9bfd3]::result::unwrap_failed
[INFO] [stdout]   12:     0x5b1946fdda5c - tst_rtp[628dae52b72250dd]::rtsp::server::multicast::tests::build_multicast_send_socket_v4_succeeds::{closure#0}
[INFO] [stdout]   13:     0x5b1947012503 - <tokio[7ad8bea5ea9c92ed]::runtime::scheduler::current_thread::Context>::enter::<core[df12db4294e9bfd3]::task::poll::Poll<()>, <tokio[7ad8bea5ea9c92ed]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[df12db4294e9bfd3]::pin::Pin<&mut core[df12db4294e9bfd3]::pin::Pin<&mut dyn core[df12db4294e9bfd3]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   14:     0x5b1946eeba09 - <std[70759c8f55707aa4]::thread::local::LocalKey<tokio[7ad8bea5ea9c92ed]::runtime::context::Context>>::with::<tokio[7ad8bea5ea9c92ed]::runtime::context::set_scheduler<(alloc[2182bb758b4b3781]::boxed::Box<tokio[7ad8bea5ea9c92ed]::runtime::scheduler::current_thread::Core>, core[df12db4294e9bfd3]::option::Option<()>), <tokio[7ad8bea5ea9c92ed]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[7ad8bea5ea9c92ed]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[df12db4294e9bfd3]::pin::Pin<&mut core[df12db4294e9bfd3]::pin::Pin<&mut dyn core[df12db4294e9bfd3]::future::future::Future<Output = ()>>>>::{closure#0}, core[df12db4294e9bfd3]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[2182bb758b4b3781]::boxed::Box<tokio[7ad8bea5ea9c92ed]::runtime::scheduler::current_thread::Core>, core[df12db4294e9bfd3]::option::Option<()>)>
[INFO] [stdout]   15:     0x5b1947013a57 - <tokio[7ad8bea5ea9c92ed]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[df12db4294e9bfd3]::pin::Pin<&mut core[df12db4294e9bfd3]::pin::Pin<&mut dyn core[df12db4294e9bfd3]::future::future::Future<Output = ()>>>>
[INFO] [stdout]   16:     0x5b1946ef80bd - tokio[7ad8bea5ea9c92ed]::runtime::context::runtime::enter_runtime::<<tokio[7ad8bea5ea9c92ed]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[df12db4294e9bfd3]::pin::Pin<&mut dyn core[df12db4294e9bfd3]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]   17:     0x5b1946eea0ef - <tokio[7ad8bea5ea9c92ed]::runtime::runtime::Runtime>::block_on::<core[df12db4294e9bfd3]::pin::Pin<&mut dyn core[df12db4294e9bfd3]::future::future::Future<Output = ()>>>
[INFO] [stdout]   18:     0x5b1946fef3bb - tst_rtp[628dae52b72250dd]::rtsp::server::multicast::tests::build_multicast_send_socket_v4_succeeds
[INFO] [stdout]   19:     0x5b1946f035c9 - <tst_rtp[628dae52b72250dd]::rtsp::server::multicast::tests::build_multicast_send_socket_v4_succeeds::{closure#0} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   20:     0x5b19470a74db - test[9d35eded1c95d3be]::__rust_begin_short_backtrace::<core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>, fn() -> core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]   21:     0x5b19470b4b45 - test[9d35eded1c95d3be]::run_test::{closure#0}
[INFO] [stdout]   22:     0x5b19470ae404 - std[70759c8f55707aa4]::sys::backtrace::__rust_begin_short_backtrace::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>
[INFO] [stdout]   23:     0x5b19470b7ca2 - <std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   24:     0x5b19471991b9 - <std[70759c8f55707aa4]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   25:     0x73a43b521dfa - <unknown>
[INFO] [stdout]   26:     0x73a43b5b53d4 - clone
[INFO] [stdout]   27:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     rtsp::server::multicast::tests::build_multicast_send_socket_v4_succeeds
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 675 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.84s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "69bbf0b097ad5d7b30ba355d26a1ecb52f63a5f371aadc915a4d7e49875dc49a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "69bbf0b097ad5d7b30ba355d26a1ecb52f63a5f371aadc915a4d7e49875dc49a", kill_on_drop: false }`
[INFO] [stdout] 69bbf0b097ad5d7b30ba355d26a1ecb52f63a5f371aadc915a4d7e49875dc49a
