[INFO] fetching crate sendspin 0.3.4...
[INFO] testing sendspin-0.3.4 against 1.97.0-beta.6 for beta-1.98-1
[INFO] extracting crate sendspin 0.3.4 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate sendspin 0.3.4
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate sendspin 0.3.4
[INFO] tweaked toml for crates.io crate sendspin 0.3.4 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate sendspin 0.3.4 on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate sendspin 0.3.4 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.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded typed-builder-macro v0.23.2
[INFO] [stderr]   Downloaded if-addrs v0.15.0
[INFO] [stderr]   Downloaded socket-pktinfo v0.4.0
[INFO] [stderr]   Downloaded typed-builder v0.23.2
[INFO] [stderr]   Downloaded mdns-sd v0.20.1
[INFO] [stderr]   Downloaded jiff-static v0.2.31
[INFO] [stderr]   Downloaded objc2-core-audio v0.3.2
[INFO] [stderr]   Downloaded objc2-core-audio-types v0.3.2
[INFO] [stderr]   Downloaded mach2 v0.6.0
[INFO] [stderr]   Downloaded alsa-sys v0.4.0
[INFO] [stderr]   Downloaded coreaudio-rs v0.14.2
[INFO] [stderr]   Downloaded objc2-avf-audio v0.3.2
[INFO] [stderr]   Downloaded alsa v0.11.0
[INFO] [stderr]   Downloaded cpal v0.18.1
[INFO] [stderr]   Downloaded objc2-audio-toolbox v0.3.2
[INFO] [stderr]   Downloaded jiff v0.2.31
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] caa6d30319ef35088076943ca94f10a8e50f715e37ee8372259a72c52c99240d
[INFO] running `Command { std: "docker" "start" "caa6d30319ef35088076943ca94f10a8e50f715e37ee8372259a72c52c99240d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "caa6d30319ef35088076943ca94f10a8e50f715e37ee8372259a72c52c99240d", 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" "caa6d30319ef35088076943ca94f10a8e50f715e37ee8372259a72c52c99240d" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "caa6d30319ef35088076943ca94f10a8e50f715e37ee8372259a72c52c99240d", 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" "caa6d30319ef35088076943ca94f10a8e50f715e37ee8372259a72c52c99240d" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling alsa-sys v0.4.0
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling cpal v0.18.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling typed-builder-macro v0.23.2
[INFO] [stderr]    Compiling dasp_sample v0.11.0
[INFO] [stderr]    Compiling uuid v1.23.4
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling alsa v0.11.0
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling tungstenite v0.29.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling crossbeam v0.8.4
[INFO] [stderr]    Compiling typed-builder v0.23.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling tokio-tungstenite v0.29.0
[INFO] [stderr]    Compiling sendspin v0.3.4 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.51s
[INFO] running `Command { std: "docker" "inspect" "caa6d30319ef35088076943ca94f10a8e50f715e37ee8372259a72c52c99240d", 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" "caa6d30319ef35088076943ca94f10a8e50f715e37ee8372259a72c52c99240d" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling mio v1.2.1
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling tungstenite v0.29.0
[INFO] [stderr]    Compiling flume v0.12.0
[INFO] [stderr]    Compiling socket-pktinfo v0.4.0
[INFO] [stderr]    Compiling if-addrs v0.15.0
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling jiff v0.2.31
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling mdns-sd v0.20.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling regex v1.12.4
[INFO] [stderr]    Compiling env_filter v2.0.0
[INFO] [stderr]    Compiling env_logger v0.11.11
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling tokio-tungstenite v0.29.0
[INFO] [stderr]    Compiling tokio-test v0.4.5
[INFO] [stderr]    Compiling sendspin v0.3.4 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 51.32s
[INFO] running `Command { std: "docker" "inspect" "caa6d30319ef35088076943ca94f10a8e50f715e37ee8372259a72c52c99240d", 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" "caa6d30319ef35088076943ca94f10a8e50f715e37ee8372259a72c52c99240d" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.26s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sendspin-0f9d9c258fc58d46)
[INFO] [stdout] 
[INFO] [stdout] running 88 tests
[INFO] [stdout] test audio::decode::pcm::test_sample_from_i24_be_boundary_values ... ok
[INFO] [stdout] test audio::decode::pcm::test_sample_from_i24_le_negative ... ok
[INFO] [stdout] test audio::gain::tests::test_advance_beyond_ramp_duration ... ok
[INFO] [stdout] test audio::gain::tests::test_advance_chunked_matches_single_call ... ok
[INFO] [stdout] test audio::decode::pcm::test_sample_from_i24_le ... ok
[INFO] [stdout] test audio::decode::pcm::test_sample_from_i24_be_roundtrip ... ok
[INFO] [stdout] test audio::gain::tests::test_advance_tracks_ramp_state_without_buffer ... ok
[INFO] [stdout] test audio::gain::tests::test_advance_zero_is_noop ... ok
[INFO] [stdout] test audio::gain::tests::test_clone_shares_state ... ok
[INFO] [stdout] test audio::gain::tests::test_gain_control_initial_muted ... ok
[INFO] [stdout] test audio::gain::tests::test_debug_includes_volume_and_mute_fields ... ok
[INFO] [stdout] test audio::gain::tests::test_gain_control_initial_volume ... ok
[INFO] [stdout] test audio::gain::tests::test_ramp_and_steady_state_in_same_buffer ... ok
[INFO] [stdout] test audio::gain::tests::test_ramp_duration_is_channel_independent ... ok
[INFO] [stdout] test audio::gain::tests::test_ramp_empty_buffer_does_not_corrupt_state ... ok
[INFO] [stdout] test audio::decode::pcm::test_sample_from_i24_le_boundary_values ... ok
[INFO] [stdout] test audio::gain::tests::test_gain_ramp_initial_gain_no_ramp ... ok
[INFO] [stdout] test audio::gain::tests::test_is_muted_reports_false_when_unmuted ... ok
[INFO] [stdout] test audio::gain::tests::test_apply_channels_zero_returns_without_modifying ... ok
[INFO] [stdout] test audio::gain::tests::test_apply_stereo_buffer_shorter_than_ramp ... ok
[INFO] [stdout] test audio::gain::tests::test_gain_control_initial_zero_volume ... ok
[INFO] [stdout] test audio::gain::tests::test_gain_control_initial_volume_clamps_above_100 ... ok
[INFO] [stdout] test audio::gain::tests::test_partial_advance_matches_apply ... ok
[INFO] [stdout] test audio::gain::tests::test_gain_ramp_initial_zero_ramps_up ... ok
[INFO] [stdout] test audio::gain::tests::test_ramp_gain_stays_clamped_across_direction_change ... ok
[INFO] [stdout] test audio::gain::tests::test_target_gain_clamps_out_of_range_bits ... ok
[INFO] [stdout] test audio::gain::tests::test_stereo_channels_get_same_gain_per_frame ... ok
[INFO] [stdout] test audio::gain::tests::test_mute_returns_zero_gain ... ok
[INFO] [stdout] test audio::gain::tests::test_unity_gain_fast_path_leaves_buffer_unchanged ... ok
[INFO] [stdout] test audio::gain::tests::test_unmute_restores_previous_gain ... ok
[INFO] [stdout] test audio::gain::tests::test_volume_store_roundtrip ... ok
[INFO] [stdout] test audio::gain::tests::test_volume_to_gain_boundaries ... ok
[INFO] [stdout] test audio::gain::tests::test_volume_change_while_muted ... ok
[INFO] [stdout] test audio::gain::tests::test_ramp_reaches_target_exactly ... ok
[INFO] [stdout] test audio::gain::tests::test_ramp_mid_ramp_reversal_trajectory ... ok
[INFO] [stdout] test audio::gain::tests::test_perceptual_curve_monotonicity ... ok
[INFO] [stdout] test audio::gain::tests::test_ramp_zero_duration_snaps_instantly ... ok
[INFO] [stdout] test audio::sync_correction::tests::test_drop_interval_below_speed_cap_matches_spec ... ok
[INFO] [stdout] test audio::sync_correction::tests::test_drop_interval_hits_max_speed_cap ... ok
[INFO] [stdout] test audio::sync_correction::tests::test_correction_engages_above_threshold ... ok
[INFO] [stdout] test audio::sync_correction::tests::test_exact_deadband_threshold_disengages ... ok
[INFO] [stdout] test audio::sync_correction::tests::test_exact_engage_threshold_does_not_engage ... ok
[INFO] [stdout] test audio::gain::tests::test_volume_above_100_clamps ... ok
[INFO] [stdout] test audio::gain::tests::test_ramp_no_change_applies_constant_gain ... ok
[INFO] [stdout] test audio::sync_correction::tests::test_hysteresis_keeps_correcting_above_deadband ... ok
[INFO] [stdout] test audio::sync_correction::tests::test_insert_interval_below_speed_cap_matches_spec ... ok
[INFO] [stdout] test audio::sync_correction::tests::test_negative_error_inserts ... ok
[INFO] [stdout] test audio::gain::tests::test_muted_steady_state_fills_zeros ... ok
[INFO] [stdout] test audio::sync_correction::tests::test_reanchor_at_large_error ... ok
[INFO] [stdout] test audio::synced_player::tests::test_build_rejects_zero_channels ... ok
[INFO] [stdout] test audio::synced_player::tests::test_first_playable_cursor_does_not_rewind_current_buffer ... ok
[INFO] [stdout] test audio::sync_correction::tests::test_hysteresis_stops_below_deadband ... ok
[INFO] [stdout] test audio::synced_player::tests::test_first_playable_cursor_skips_stale_audio ... ok
[INFO] [stdout] test audio::synced_player::tests::test_first_playable_cursor_uses_current_buffer ... ok
[INFO] [stdout] test audio::synced_player::tests::test_first_playable_cursor_waits_for_future_audio ... ok
[INFO] [stdout] test audio::synced_player::tests::test_next_frame_returns_final_frame_when_skip_lands_at_last_frame ... ok
[INFO] [stdout] test audio::synced_player::tests::test_cursor_does_not_advance_during_underrun ... ok
[INFO] [stdout] test audio::sync_correction::tests::test_negative_hysteresis_keeps_inserting_above_deadband ... ok
[INFO] [stdout] test audio::sync_correction::tests::test_no_correction_within_engage_threshold ... ok
[INFO] [stdout] test audio::synced_player::tests::test_push_dedup_no_false_positive_small_chunks ... ok
[INFO] [stdout] test audio::synced_player::tests::test_next_frame_no_skip_when_buffer_starts_at_or_after_cursor ... ok
[INFO] [stdout] test audio::synced_player::tests::test_next_frame_skips_into_overlapping_buffer ... ok
[INFO] [stdout] test audio::synced_player::tests::test_push_dedup_replaces_overlapping_buffer ... ok
[INFO] [stdout] test audio::synced_player::tests::test_push_does_not_regress_cursor_after_init ... ok
[INFO] [stdout] test audio::synced_player::tests::test_push_dedup_removes_all_overlapping ... ok
[INFO] [stdout] test audio::synced_player::tests::test_push_initializes_cursor_from_first_buffer ... ok
[INFO] [stdout] test audio::synced_player::tests::test_push_keeps_adjacent_buffers_inserted_in_reverse_order ... ok
[INFO] [stdout] test audio::synced_player::tests::test_push_keeps_chunks_on_44_1k_floor_timestamp_grid ... ok
[INFO] [stdout] test audio::synced_player::tests::test_queue_clear_bumps_generation ... ok
[INFO] [stdout] test audio::synced_player::tests::test_queue_cursor_advances_correctly ... ok
[INFO] [stdout] test audio::synced_player::tests::test_queue_drops_stale_buffers ... ok
[INFO] [stdout] test audio::synced_player::tests::test_push_keeps_floor_grid_chunks_at_all_supported_rates ... ok
[INFO] [stdout] test audio::synced_player::tests::test_queue_push_sorts_by_timestamp ... ok
[INFO] [stdout] test audio::synced_player::tests::test_skip_past_entire_buffer_does_not_panic ... ok
[INFO] [stdout] test audio::synced_player::tests::test_static_delay_ms_to_us_converts_and_clamps ... ok
[INFO] [stdout] test log_sampling::tests::samples_first_few_ten_and_every_hundred ... ok
[INFO] [stdout] test sync::clock::tests::backwards_sample_does_not_affect_later_predictions ... ok
[INFO] [stdout] test sync::clock::tests::bunched_first_pair_seeds_zero_drift_and_keeps_conversions ... ok
[INFO] [stdout] test sync::clock::tests::in_use_implausible_drift_blocks_conversions ... ok
[INFO] [stdout] test sync::clock::tests::in_use_plausible_drift_is_applied ... ok
[INFO] [stdout] test audio::synced_player::tests::test_push_dedup_still_evicts_one_frame_overlap_at_44_1k ... ok
[INFO] [stdout] test sync::clock::tests::settles_after_minimum_samples ... ok
[INFO] [stdout] test sync::clock::tests::unused_implausible_drift_does_not_block_conversions ... ok
[INFO] [stdout] test sync::clock::tests::update_accepts_forward_time_added ... ok
[INFO] [stdout] test sync::clock::tests::long_baseline_pair_still_estimates_drift ... ok
[INFO] [stdout] test sync::clock::tests::update_rejects_backwards_time_added ... ok
[INFO] [stdout] test sync::clock::tests::update_rejects_duplicate_time_added ... ok
[INFO] [stdout] test audio::gain::tests::test_apply_panics_on_non_multiple_of_channels - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 88 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/binary_frames.rs (/opt/rustwide/target/debug/deps/binary_frames-93b1acf9b4269c1d)
[INFO] [stdout] 
[INFO] [stdout] running 22 tests
[INFO] [stdout] test test_artwork_chunk_channel_0 ... ok
[INFO] [stdout] test test_artwork_channel ... ok
[INFO] [stdout] test test_artwork_chunk_channel_3 ... ok
[INFO] [stdout] test test_artwork_chunk_wrong_type ... ok
[INFO] [stdout] test test_audio_chunk_boundary_8_bytes ... ok
[INFO] [stdout] test test_audio_chunk_negative_timestamp ... ok
[INFO] [stdout] test test_audio_chunk_minimum_valid ... ok
[INFO] [stdout] test test_audio_chunk_parsing ... ok
[INFO] [stdout] test test_audio_chunk_too_short ... ok
[INFO] [stdout] test test_audio_chunk_wrong_type ... ok
[INFO] [stdout] test test_binary_frame_artwork ... ok
[INFO] [stdout] test test_binary_frame_audio ... ok
[INFO] [stdout] test test_binary_frame_empty ... ok
[INFO] [stdout] test test_binary_frame_unknown ... ok
[INFO] [stdout] test test_artwork_chunk_clear ... ok
[INFO] [stdout] test test_binary_frame_visualizer ... ok
[INFO] [stdout] test test_visualizer_chunk_parsing ... ok
[INFO] [stdout] test test_visualizer_chunk_too_short ... ok
[INFO] [stdout] test test_visualizer_chunk_wrong_type ... ok
[INFO] [stdout] test test_is_artwork ... ok
[INFO] [stdout] test test_visualizer_chunk_minimum_valid ... ok
[INFO] [stdout] test test_binary_type_constants ... ok
[INFO] [stderr]      Running tests/buffer_pool.rs (/opt/rustwide/target/debug/deps/buffer_pool-fde7c8087bc5905d)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test test_buffer_pool_put_actually_returns_buffer ... ok
[INFO] [stdout] test test_buffer_pool_get_and_return ... ok
[INFO] [stdout] test test_buffer_pool_fallback_allocation ... ok
[INFO] [stdout] test test_buffer_pool_creation ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/clock_sync.rs (/opt/rustwide/target/debug/deps/clock_sync-f0e1244cf0cffad5)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test test_clock_sync_rtt_calculation ... ok
[INFO] [stdout] test test_diverged_drift_returns_none ... ok
[INFO] [stdout] test test_fresh_clock_sync_initial_state ... ok
[INFO] [stdout] test test_conversions_apply_drift_when_snr_is_high ... ok
[INFO] [stdout] test test_conversions_use_offset_only_when_drift_snr_is_low ... ok
[INFO] [stdout] test test_negative_rtt_discarded ... ok
[INFO] [stdout] test test_server_to_client_conversion ... ok
[INFO] [stdout] test test_single_update_not_synchronized ... ok
[INFO] [stdout] test test_sync_quality_recovery ... ok
[INFO] [stdout] test test_sync_quality_unchanged_after_high_rtt ... ok
[INFO] [stdout] test test_zero_rtt_accepted ... ok
[INFO] [stdout] test test_timestamp_boundary_zero_values ... ok
[INFO] [stdout] test test_clock_drift_correction ... ok
[INFO] [stdout] test test_sync_quality ... ok
[INFO] [stderr]      Running tests/pcm_decoder.rs (/opt/rustwide/target/debug/deps/pcm_decoder-562837f617811422)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test test_decode_pcm_16bit ... ok
[INFO] [stdout] test test_decode_pcm_16bit_single_sample_max ... ok
[INFO] [stdout] test test_decode_pcm_16bit_misaligned_trailing_byte_rejected ... ok
[INFO] [stdout] test test_decode_pcm_16bit_empty_input ... ok
[INFO] [stdout] test test_decode_pcm_16bit_single_sample_min ... ok
[INFO] [stdout] test test_decode_pcm_16bit_sub_sample_input ... ok
[INFO] [stdout] test test_decode_pcm_24bit ... ok
[INFO] [stdout] test test_decode_pcm_24bit_empty_input ... ok
[INFO] [stdout] test test_decode_pcm_24bit_misaligned_trailing_bytes_rejected ... ok
[INFO] [stdout] test test_decode_pcm_24bit_single_sample_max ... ok
[INFO] [stdout] test test_decode_pcm_24bit_single_sample_min ... ok
[INFO] [stdout] test test_decode_pcm_24bit_sub_sample_input ... ok
[INFO] [stdout] test test_decode_pcm_32bit_unsupported ... ok
[INFO] [stdout] test test_decode_pcm_unsupported_bit_depth ... ok
[INFO] [stdout] test test_decode_pcm_zero_bit_depth_unsupported ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/protocol_client.rs (/opt/rustwide/target/debug/deps/protocol_client-1071a358b1287306)
[INFO] [stdout] 
[INFO] [stdout] running 41 tests
[INFO] [stdout] test test_client_handles_audio_chunks ... ignored
[INFO] [stdout] test test_client_receives_stream_start ... ignored
[INFO] [stdout] test test_clock_sync_getter_returns_shared_handle ... ok
[INFO] [stdout] test test_connect_sends_initial_state ... ok
[INFO] [stdout] test test_connect_can_send_initial_external_source_state ... ok
[INFO] [stdout] test test_connect_without_player_state_sends_state_without_player ... ok
[INFO] [stdout] test test_concurrent_send_during_disconnect_is_clean ... ok
[INFO] [stdout] test test_disconnect_observes_writer_completion ... ok
[INFO] [stdout] test test_connect_initial_external_source_preserves_player_state ... ok
[INFO] [stdout] test test_disconnect_sends_goodbye ... ok
[INFO] [stdout] test test_controller_previous ... ok
[INFO] [stdout] test test_controller_set_mute_sends_value ... ok
[INFO] [stdout] test test_message_router_forwards_binary_artwork ... ok
[INFO] [stdout] test test_controller_play ... ok
[INFO] [stdout] test test_controller_set_volume_clamps_above_100 ... ok
[INFO] [stdout] test test_controller_repeat_sends_mode ... ok
[INFO] [stdout] test test_message_router_forwards_binary_visualizer ... ok
[INFO] [stdout] test test_controller_pause ... ok
[INFO] [stdout] test test_message_router_forwards_text_messages ... ok
[INFO] [stdout] test test_message_router_forwards_binary_audio ... ok
[INFO] [stdout] test test_controller_set_volume_sends_value ... ok
[INFO] [stdout] test test_no_controller_when_role_not_declared ... ok
[INFO] [stdout] test test_no_controller_when_server_denies_role ... ok
[INFO] [stdout] test test_peer_close_midstream_ends_stream_and_fails_sends ... ok
[INFO] [stdout] test test_send_message_fails_after_disconnect ... ok
[INFO] [stdout] test test_controller_shuffle_sends_correct_command ... ok
[INFO] [stdout] test test_controller_stop ... ok
[INFO] [stdout] test test_enter_external_source_sends_external_source_state ... ok
[INFO] [stdout] test test_controller_next ... ok
[INFO] [stdout] test test_sender_rejects_empty_stream_request_format ... ok
[INFO] [stdout] test test_sender_rejects_request_format_before_stream_start ... ok
[INFO] [stdout] test test_connection_disconnect_sends_goodbye_and_closes ... ok
[INFO] [stdout] test test_controller_switch ... ok
[INFO] [stdout] test test_sender_rejects_player_request_after_stream_end ... ok
[INFO] [stdout] test test_exit_external_source_sends_full_player_state ... ok
[INFO] [stdout] test test_exit_external_source_sends_synchronized_state ... ok
[INFO] [stdout] test test_controller_unshuffle_sends_correct_command ... ok
[INFO] [stdout] test test_disconnect_closes_socket_and_stops_background_tasks ... ok
[INFO] [stdout] test test_sender_emits_artwork_stream_request_format ... ok
[INFO] [stdout] test test_sender_emits_stream_request_format ... ok
[INFO] [stdout] test test_sender_rejects_artwork_request_without_artwork_stream ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 39 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/protocol_client_builder.rs (/opt/rustwide/target/debug/deps/protocol_client_builder-7e07acb05d46e651)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test test_controller_role_added_to_supported_roles ... ok
[INFO] [stdout] test test_supported_roles_with_metadata_and_artwork ... ok
[INFO] [stdout] test test_default_player_v1_support_applied_at_build_time ... ok
[INFO] [stdout] test test_explicit_player_support_is_preserved ... ok
[INFO] [stdout] test test_supported_roles_with_metadata_role ... ok
[INFO] [stdout] test test_supported_roles_with_artwork_v1_support ... ok
[INFO] [stdout] test test_supported_roles_with_visualizer_v1_support ... ok
[INFO] [stdout] test test_supported_roles_with_multiple_supports ... ok
[INFO] [stdout] test test_supported_roles_with_player_v1_support ... ok
[INFO] [stdout] test test_controller_role_not_present_by_default ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/protocol_listener.rs (/opt/rustwide/target/debug/deps/protocol_listener-02b5177846c369ff)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test test_listen_local_addr_resolves_ephemeral_port ... ok
[INFO] [stdout] test test_listen_path_match_accepts ... ok
[INFO] [stdout] test test_listen_accepts_and_drives_handshake ... ok
[INFO] [stdout] test test_listen_path_normalizes_missing_leading_slash ... ok
[INFO] [stdout] test test_listen_path_mismatch_rejects_but_listener_survives ... ok
[INFO] [stdout] test test_listen_send_message_fails_after_disconnect ... ok
[INFO] [stdout] test test_listen_accept_pending_when_peer_stalls_handshake ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.51s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/protocol_messages.rs (/opt/rustwide/target/debug/deps/protocol_messages-c88ae826f611d4f5)
[INFO] [stdout] 
[INFO] [stdout] running 48 tests
[INFO] [stdout] test test_artwork_format_request_from_wire_json ... ok
[INFO] [stdout] test test_artwork_v1_support_serialization ... ok
[INFO] [stdout] test test_client_command_serialization ... ok
[INFO] [stdout] test test_client_hello_missing_required_fields ... ok
[INFO] [stdout] test test_client_command_volume ... ok
[INFO] [stdout] test test_artwork_format_request_typed_enums ... ok
[INFO] [stdout] test test_artwork_source_variants ... ok
[INFO] [stdout] test test_client_sync_state_external_source ... ok
[INFO] [stdout] test test_client_state_empty_payload_accepted ... ok
[INFO] [stdout] test test_client_state_serialization ... ok
[INFO] [stdout] test test_client_goodbye_serialization ... ok
[INFO] [stdout] test test_client_time_serialization ... ok
[INFO] [stdout] test test_client_hello_serialization ... ok
[INFO] [stdout] test test_empty_json_object_rejected ... ok
[INFO] [stdout] test test_group_update_deserialization ... ok
[INFO] [stdout] test test_image_format_variants ... ok
[INFO] [stdout] test test_invalid_connection_reason_rejected ... ok
[INFO] [stdout] test test_invalid_goodbye_reason_rejected ... ok
[INFO] [stdout] test test_invalid_playback_state_rejected ... ok
[INFO] [stdout] test test_missing_payload_rejected ... ok
[INFO] [stdout] test test_malformed_json_rejected ... ok
[INFO] [stdout] test test_playback_state_variants ... ok
[INFO] [stdout] test test_player_state_ignores_legacy_state_field ... ok
[INFO] [stdout] test test_repeat_mode_variants ... ok
[INFO] [stdout] test test_player_state_supported_commands_roundtrip ... ok
[INFO] [stdout] test test_null_payload_rejected ... ok
[INFO] [stdout] test test_server_command_deserialization ... ok
[INFO] [stdout] test test_server_command_set_static_delay ... ok
[INFO] [stdout] test test_server_hello_deserialization ... ok
[INFO] [stdout] test test_stream_end_deserialization ... ok
[INFO] [stdout] test test_stream_clear_deserialization ... ok
[INFO] [stdout] test test_server_state_controller_deserialization ... ok
[INFO] [stdout] test test_invalid_repeat_mode_rejected ... ok
[INFO] [stdout] test test_server_state_empty_payload_accepted ... ok
[INFO] [stdout] test test_stream_end_empty_roles_accepted ... ok
[INFO] [stdout] test test_stream_request_format_omits_unspecified_fields ... ok
[INFO] [stdout] test test_server_time_deserialization ... ok
[INFO] [stdout] test test_server_state_metadata_deserialization ... ok
[INFO] [stdout] test test_server_time_fields_feed_clock_sync ... ok
[INFO] [stdout] test test_server_hello_missing_required_fields ... ok
[INFO] [stdout] test test_stream_artwork_channel_config_roundtrip ... ok
[INFO] [stdout] test test_stream_start_artwork_deserialization ... ok
[INFO] [stdout] test test_stream_start_artwork_multi_channel ... ok
[INFO] [stdout] test test_stream_start_deserialization ... ok
[INFO] [stdout] test test_unknown_message_type_rejected ... ok
[INFO] [stdout] test test_wrong_type_in_payload_field_rejected ... ok
[INFO] [stdout] test test_stream_request_format_serialization ... ok
[INFO] [stdout] test test_goodbye_reason_variants ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 48 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/raw_clock.rs (/opt/rustwide/target/debug/deps/raw_clock-c918058871941367)
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test test_clock_sync_accessor_returns_injected_clock ... ok
[INFO] [stdout] test test_clock_sync_instant_to_client_micros_is_infallible ... ok
[INFO] [stdout] test test_clock_sync_with_mock_clock ... ok
[INFO] [stdout] test test_default_clock_future_micros_to_instant ... ok
[INFO] [stdout] test test_default_clock_micros_to_instant_roundtrip ... ok
[INFO] [stdout] test test_default_clock_instant_to_micros_roundtrip ... ok
[INFO] [stdout] test test_default_clock_monotonic ... ok
[INFO] [stdout] test test_micros_to_instant_far_past_returns_none ... ok
[INFO] [stdout] test test_default_clock_past_micros_to_instant ... ok
[INFO] [stdout] test test_mock_clock_bridge_round_trip ... ok
[INFO] [stdout] test test_mock_clock_micros_to_instant_returns_none_for_unreachable_past ... ok
[INFO] [stdout] test test_mock_clock_deterministic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stderr]      Running tests/sync_correction.rs (/opt/rustwide/target/debug/deps/sync_correction-3f05f72a006870c1)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test test_correction_deadband ... ok
[INFO] [stdout] test test_correction_insert ... ok
[INFO] [stdout] test test_correction_reanchor ... ok
[INFO] [stdout] test test_correction_drop ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests sendspin
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/audio/synced_player.rs - audio::synced_player::SyncedPlayer::with_process_callback (line 406) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "caa6d30319ef35088076943ca94f10a8e50f715e37ee8372259a72c52c99240d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "caa6d30319ef35088076943ca94f10a8e50f715e37ee8372259a72c52c99240d", kill_on_drop: false }`
[INFO] [stdout] caa6d30319ef35088076943ca94f10a8e50f715e37ee8372259a72c52c99240d
