[INFO] fetching crate oximedia-spatial 0.1.3... [INFO] testing oximedia-spatial-0.1.3 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-2 [INFO] extracting crate oximedia-spatial 0.1.3 into /workspace/builds/worker-1-tc2/source [INFO] started tweaking crates.io crate oximedia-spatial 0.1.3 [INFO] finished tweaking crates.io crate oximedia-spatial 0.1.3 [INFO] tweaked toml for crates.io crate oximedia-spatial 0.1.3 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate oximedia-spatial 0.1.3 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate oximedia-spatial 0.1.3 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e43fbf6acd2b7a968e388e1074d2587c82be79a95d5b3bfcf38c1a75d83d147a [INFO] running `Command { std: "docker" "start" "-a" "e43fbf6acd2b7a968e388e1074d2587c82be79a95d5b3bfcf38c1a75d83d147a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e43fbf6acd2b7a968e388e1074d2587c82be79a95d5b3bfcf38c1a75d83d147a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e43fbf6acd2b7a968e388e1074d2587c82be79a95d5b3bfcf38c1a75d83d147a", kill_on_drop: false }` [INFO] [stdout] e43fbf6acd2b7a968e388e1074d2587c82be79a95d5b3bfcf38c1a75d83d147a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1d56a6c0e08da063f035375c403da386e30136647c5e25fd640037d8e90e33e8 [INFO] running `Command { std: "docker" "start" "-a" "1d56a6c0e08da063f035375c403da386e30136647c5e25fd640037d8e90e33e8", kill_on_drop: false }` [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling oximedia-spatial v0.1.3 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.07s [INFO] running `Command { std: "docker" "inspect" "1d56a6c0e08da063f035375c403da386e30136647c5e25fd640037d8e90e33e8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1d56a6c0e08da063f035375c403da386e30136647c5e25fd640037d8e90e33e8", kill_on_drop: false }` [INFO] [stdout] 1d56a6c0e08da063f035375c403da386e30136647c5e25fd640037d8e90e33e8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 351f1f4f8c85739d9198bb8aa71aef55d1c1395c66b866aa1fc567fb58ec0a27 [INFO] running `Command { std: "docker" "start" "-a" "351f1f4f8c85739d9198bb8aa71aef55d1c1395c66b866aa1fc567fb58ec0a27", kill_on_drop: false }` [INFO] [stderr] Compiling oximedia-spatial v0.1.3 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 4.94s [INFO] running `Command { std: "docker" "inspect" "351f1f4f8c85739d9198bb8aa71aef55d1c1395c66b866aa1fc567fb58ec0a27", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "351f1f4f8c85739d9198bb8aa71aef55d1c1395c66b866aa1fc567fb58ec0a27", kill_on_drop: false }` [INFO] [stdout] 351f1f4f8c85739d9198bb8aa71aef55d1c1395c66b866aa1fc567fb58ec0a27 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 260b1e70ae52c80f0d5c703110dfae2d6a0824032b707215d5ab08dd7948c42c [INFO] running `Command { std: "docker" "start" "-a" "260b1e70ae52c80f0d5c703110dfae2d6a0824032b707215d5ab08dd7948c42c", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/oximedia_spatial-c26137575b865960) [INFO] [stdout] [INFO] [stdout] running 369 tests [INFO] [stdout] test ambisonics::tests::test_decode_5_1_lfe_is_attenuated ... ok [INFO] [stdout] test ambisonics::tests::test_encode_mono_channel_count_first ... ok [INFO] [stdout] test ambisonics::tests::test_decode_stereo_returns_two_buffers_correct_length ... ok [INFO] [stdout] test ambisonics::tests::test_encode_mono_channel_count_fourth ... ok [INFO] [stdout] test ambisonics::tests::test_encode_decode_roundtrip_front_source ... ok [INFO] [stdout] test ambisonics::tests::test_encode_mono_channel_count_fifth ... ok [INFO] [stdout] test ambisonics::tests::test_decode_5_1_returns_six_channels ... ok [INFO] [stdout] test ambisonics::tests::test_encode_mono_channel_count_second ... ok [INFO] [stdout] test ambisonics::tests::test_encode_mono_silence_produces_silence ... ok [INFO] [stdout] test ambisonics::tests::test_fifth_order_all_channels_finite ... ok [INFO] [stdout] test ambisonics::tests::test_fifth_order_encode_preserves_signal_energy ... ok [INFO] [stdout] test ambisonics::tests::test_fifth_order_decode_stereo ... ok [INFO] [stdout] test ambisonics::tests::test_encode_decode_fifth_order_5_1 ... ok [INFO] [stdout] test ambisonics::tests::test_fifth_order_stereo_encoding ... ok [INFO] [stdout] test ambisonics::tests::test_encode_mono_channel_count_third ... ok [INFO] [stdout] test ambisonics::tests::test_encode_mono_length_preserved ... ok [INFO] [stdout] test ambisonics::tests::test_encode_stereo_channel_count ... ok [INFO] [stdout] test ambisonics::tests::test_nfc_apply_modifies_higher_orders ... ok [INFO] [stdout] test ambisonics::tests::test_nfc_apply_does_not_modify_order0 ... ok [INFO] [stdout] test ambisonics::tests::test_fifth_order_sh_coefficients_sum_positive ... ok [INFO] [stdout] test ambisonics::tests::test_fifth_order_w_channel_nonzero ... ok [INFO] [stdout] test ambisonics::tests::test_nfc_distance_accessor ... ok [INFO] [stdout] test ambisonics::tests::test_higher_order_has_more_channels ... ok [INFO] [stdout] test ambisonics::tests::test_fourth_order_energy_preservation ... ok [INFO] [stdout] test ambisonics::tests::test_fourth_order_encode_decode_roundtrip ... ok [INFO] [stdout] test ambisonics::tests::test_nfc_fifth_order_filter_states ... ok [INFO] [stdout] test ambisonics::tests::test_nfc_higher_orders_have_larger_alpha ... ok [INFO] [stdout] test ambisonics::tests::test_nfc_minimum_distance_clamp ... ok [INFO] [stdout] test ambisonics::tests::test_nfc_far_source_minimal_filtering ... ok [INFO] [stdout] test ambisonics::tests::test_nfc_new_creates_correct_filter_count ... ok [INFO] [stdout] test ambisonics::tests::test_nfc_order0_alpha_is_zero ... ok [INFO] [stdout] test ambisonics::tests::test_nfc_output_finite ... ok [INFO] [stdout] test ambisonics::tests::test_nfc_reset_clears_state ... ok [INFO] [stdout] test ambisonics::tests::test_nfc_set_distance_recalculates ... ok [INFO] [stdout] test ambisonics::tests::test_order_num_channels_fifth ... ok [INFO] [stdout] test ambisonics::tests::test_sh_batch_clears_previous_contents ... ok [INFO] [stdout] test ambisonics::tests::test_nfc_set_distance ... ok [INFO] [stdout] test ambisonics::tests::test_sh_batch_empty_input_produces_empty_output ... ok [INFO] [stdout] test ambisonics::tests::test_order_num_channels ... ok [INFO] [stdout] test ambisonics::tests::test_sh_batch_matches_scalar_first_order ... ok [INFO] [stdout] test ambisonics::tests::test_order_num_channels_fourth ... ok [INFO] [stdout] test ambisonics::tests::test_sh_batch_output_length ... ok [INFO] [stdout] test ambisonics::tests::test_sh_batch_matches_scalar_third_order ... ok [INFO] [stdout] test ambisonics::tests::test_sh_batch_output_all_finite ... ok [INFO] [stdout] test ambisonics::tests::test_sn3d_norm_fifth_order ... ok [INFO] [stdout] test ambisonics::tests::test_sn3d_norm_differs_from_n3d ... ok [INFO] [stdout] test ambisonics::tests::test_sound_source_rotate_yaw_90 ... ok [INFO] [stdout] test ambisonics::tests::test_sound_source_rotate_identity ... ok [INFO] [stdout] test ambisonics::tests::test_sound_source_new_defaults ... ok [INFO] [stdout] test binaural::tests::test_convolve_output_length ... ok [INFO] [stdout] test ambisonics::tests::test_sh_orthogonality_first_order ... ok [INFO] [stdout] test binaural::tests::test_convolve_empty_signal ... ok [INFO] [stdout] test binaural::tests::test_convolve_impulse_recovers_ir ... ok [INFO] [stdout] test binaural::tests::test_hrtf_irs_not_all_zero ... ok [INFO] [stdout] test binaural::tests::test_invert_symmetric_matrix_identity ... ok [INFO] [stdout] test binaural::tests::test_nearest_measurement_approximate ... ok [INFO] [stdout] test binaural::tests::test_nearest_measurement_exact_match ... ok [INFO] [stdout] test binaural::tests::test_render_moving_empty_path ... ok [INFO] [stdout] test ambisonics::tests::test_nfc_closer_distance_stronger_filtering ... ok [INFO] [stdout] test ambisonics::tests::test_nfc_closer_source_more_filtering_on_high_orders ... ok [INFO] [stdout] test ambisonics::tests::test_encode_mono_w_channel_nonzero_for_impulse ... ok [INFO] [stdout] test binaural::tests::test_render_produces_audio ... ok [INFO] [stdout] test binaural::tests::test_render_moving_output_length ... ok [INFO] [stdout] test binaural::tests::test_render_output_length ... ok [INFO] [stdout] test binaural::tests::test_sh_interpolated_ir_length ... ok [INFO] [stdout] test binaural::tests::test_sh_interpolated_elevation_sweep ... ok [INFO] [stdout] test binaural::tests::test_sh_binaural_renderer_front_symmetric ... ok [INFO] [stdout] test binaural::tests::test_sh_interpolated_continuity ... ok [INFO] [stdout] test binaural::tests::test_sh_binaural_renderer_moving_source ... ok [INFO] [stdout] test binaural::tests::test_sh_interpolated_lateral_source_asymmetry ... ok [INFO] [stdout] test binaural::tests::test_synthetic_db_ir_length ... ok [INFO] [stdout] test binaural::tests::test_sh_interpolated_db_from_synthetic ... ok [INFO] [stdout] test binaural::tests::test_synthetic_db_measurement_count ... ok [INFO] [stdout] test binauralizer::tests::test_ambisonics_layout_eight_virtual_speakers ... ok [INFO] [stdout] test binauralizer::tests::test_atmos_layout_twelve_speakers ... ok [INFO] [stdout] test binaural::tests::test_sh_binaural_renderer_render ... ok [INFO] [stdout] test binauralizer::tests::test_five_one_layout_six_speakers ... ok [INFO] [stdout] test binauralizer::tests::test_foa_decode_output_finite ... ok [INFO] [stdout] test binaural::tests::test_sh_interpolated_non_measured_direction ... ok [INFO] [stdout] test binaural::tests::test_sh_interpolated_smooth_rotation_sweep ... ok [INFO] [stdout] test binauralizer::tests::test_from_custom_valid ... ok [INFO] [stdout] test binauralizer::tests::test_from_layout_stereo ... ok [INFO] [stdout] test binauralizer::tests::test_mono_layout_one_speaker ... ok [INFO] [stdout] test binauralizer::tests::test_render_channel_count_mismatch_fails ... ok [INFO] [stdout] test binauralizer::tests::test_from_custom_empty_fails ... ok [INFO] [stdout] test binauralizer::tests::test_foa_decode_silent_input_gives_silent_output ... ok [INFO] [stdout] test binauralizer::tests::test_render_mono_at_has_energy ... ok [INFO] [stdout] test binaural::tests::test_sh_interpolated_at_measured_direction_has_energy ... ok [INFO] [stdout] test binauralizer::tests::test_render_stereo_has_energy ... ok [INFO] [stdout] test binauralizer::tests::test_render_output_finite ... ok [INFO] [stdout] test binauralizer::tests::test_render_unequal_lengths_fails ... ok [INFO] [stdout] test binauralizer::tests::test_set_channel_gain ... ok [INFO] [stdout] test binauralizer::tests::test_foa_decode_valid_four_channels ... ok [INFO] [stdout] test binaural::tests::test_sh_interpolated_irs_are_finite ... ok [INFO] [stdout] test binauralizer::tests::test_seven_one_layout_eight_speakers ... ok [INFO] [stdout] test binauralizer::tests::test_stereo_layout_two_speakers ... ok [INFO] [stdout] test dbap::tests::test_dbap_3d_layout_energy_preserved ... ok [INFO] [stdout] test dbap::tests::test_dbap_centre_gives_equal_gains_to_symmetric_speakers ... ok [INFO] [stdout] test dbap::tests::test_dbap_energy_normalised_off_centre ... ok [INFO] [stdout] test dbap::tests::test_dbap_energy_normalised_centre ... ok [INFO] [stdout] test dbap::tests::test_dbap_all_gains_non_negative ... ok [INFO] [stdout] test dbap::tests::test_dbap_exact_coincidence_routes_to_one_speaker ... ok [INFO] [stdout] test dbap::tests::test_dbap_new_single_speaker_fails ... ok [INFO] [stdout] test dbap::tests::test_dbap_output_length_matches_speakers ... ok [INFO] [stdout] test dbap::tests::test_dbap_higher_rolloff_more_directional ... ok [INFO] [stdout] test dbap::tests::test_dbap_nearest_speaker_receives_most_gain ... ok [INFO] [stdout] test dbap::tests::test_dbap_new_valid ... ok [INFO] [stdout] test head_tracking::tests::test_binaural_angles_after_yaw ... ok [INFO] [stdout] test dbap::tests::test_dbap_rolloff_zero_is_equal_spread ... ok [INFO] [stdout] test binauralizer::tests::test_render_five_one ... ok [INFO] [stdout] test binauralizer::tests::test_render_stereo_output_lengths ... ok [INFO] [stdout] test head_tracking::tests::test_full_imu_tracker_mag_correction_produces_finite_output ... ok [INFO] [stdout] test head_tracking::tests::test_full_imu_tracker_declination_applied ... ok [INFO] [stdout] test head_tracking::tests::test_full_imu_tracker_mag_heading_stored ... ok [INFO] [stdout] test head_tracking::tests::test_full_imu_tracker_gyro_only_accumulates ... ok [INFO] [stdout] test head_tracking::tests::test_head_tracker_accel_correction_at_low_alpha ... ok [INFO] [stdout] test head_tracking::tests::test_head_tracker_gyro_only_accumulates_yaw ... ok [INFO] [stdout] test head_tracking::tests::test_full_imu_tracker_reset_clears_state ... ok [INFO] [stdout] test head_tracking::tests::test_head_tracker_kalman_smoothing ... ok [INFO] [stdout] test head_tracking::tests::test_head_tracker_identity_at_start ... ok [INFO] [stdout] test head_tracking::tests::test_kalman_predict_propagates_state ... ok [INFO] [stdout] test head_tracking::tests::test_head_tracker_reset_clears_orientation ... ok [INFO] [stdout] test head_tracking::tests::test_head_tracker_lowpass_smoothing ... ok [INFO] [stdout] test head_tracking::tests::test_kalman_update_moves_toward_measurement ... ok [INFO] [stdout] test head_tracking::tests::test_low_pass_filter_alpha_one_is_passthrough ... ok [INFO] [stdout] test head_tracking::tests::test_low_pass_filter_from_cutoff ... ok [INFO] [stdout] test head_tracking::tests::test_mag_calibration_identity_no_change ... ok [INFO] [stdout] test head_tracking::tests::test_low_pass_filter_converges ... ok [INFO] [stdout] test head_tracking::tests::test_mag_calibration_offset_subtracted ... ok [INFO] [stdout] test head_tracking::tests::test_magnetometer_reading_normalise ... ok [INFO] [stdout] test head_tracking::tests::test_quaternion_euler_round_trip_pitch ... ok [INFO] [stdout] test head_tracking::tests::test_magnetometer_reading_normalise_zero_returns_none ... ok [INFO] [stdout] test head_tracking::tests::test_quaternion_euler_round_trip_combined ... ok [INFO] [stdout] test head_tracking::tests::test_quaternion_euler_round_trip_roll ... ok [INFO] [stdout] test head_tracking::tests::test_quaternion_identity_normalize ... ok [INFO] [stdout] test head_tracking::tests::test_quaternion_normalise_non_unit ... ok [INFO] [stdout] test head_tracking::tests::test_quaternion_euler_round_trip_yaw ... ok [INFO] [stdout] test head_tracking::tests::test_quaternion_multiply_identity ... ok [INFO] [stdout] test head_tracking::tests::test_quaternion_slerp_t0_returns_self ... ok [INFO] [stdout] test head_tracking::tests::test_tilt_compensated_heading_east ... ok [INFO] [stdout] test head_tracking::tests::test_tilt_compensated_heading_north_no_tilt ... ok [INFO] [stdout] test head_tracking::tests::test_quaternion_slerp_t1_returns_other ... ok [INFO] [stdout] test head_tracking::tests::test_tilt_compensated_heading_range ... ok [INFO] [stdout] test binauralizer::tests::test_foa_decode_output_has_energy ... ok [INFO] [stdout] test hoa_decoder::tests::test_allrad_decode_feeds_are_finite ... ok [INFO] [stdout] test hoa_decoder::tests::test_allrad_decode_omnidirectional_distributes_energy ... ok [INFO] [stdout] test hoa_decoder::tests::test_allrad_decode_wrong_input_length_fails ... ok [INFO] [stdout] test hoa_decoder::tests::test_allrad_new_order_zero_fails ... ok [INFO] [stdout] test hoa_decoder::tests::test_allrad_decode_output_length ... ok [INFO] [stdout] test hoa_decoder::tests::test_allrad_new_too_few_speakers_fails ... ok [INFO] [stdout] test hoa_decoder::tests::test_great_circle_distance_opposite_points ... ok [INFO] [stdout] test hoa_decoder::tests::test_allrad_new_valid_first_order ... ok [INFO] [stdout] test hoa_decoder::tests::test_great_circle_distance_same_point ... ok [INFO] [stdout] test hoa_decoder::tests::test_normalise_vec3_zero_returns_fallback ... ok [INFO] [stdout] test object_audio::tests::test_audio_object_front_angles ... ok [INFO] [stdout] test hoa_decoder::tests::test_allrad_new_valid_third_order ... ok [INFO] [stdout] test object_audio::tests::test_audio_object_left_angles ... ok [INFO] [stdout] test hoa_decoder::tests::test_cartesian_to_spherical_front ... ok [INFO] [stdout] test object_audio::tests::test_channel_directions_length_matches_num_channels ... ok [INFO] [stdout] test object_audio::tests::test_audio_object_new_clamps ... ok [INFO] [stdout] test object_audio::tests::test_custom_curve_clamped_beyond_last_point ... ok [INFO] [stdout] test object_audio::tests::test_custom_curve_interpolation ... ok [INFO] [stdout] test object_audio::tests::test_custom_curve_unsorted_points_get_sorted ... ok [INFO] [stdout] test object_audio::tests::test_custom_curve_clamped_below_first_point ... ok [INFO] [stdout] test object_audio::tests::test_distance_attenuation_inverse_square_beyond_max_is_zero ... ok [INFO] [stdout] test object_audio::tests::test_distance_attenuation_inverse_square_halves_at_double_distance ... ok [INFO] [stdout] test object_audio::tests::test_distance_attenuation_logarithmic_at_ref_is_one ... ok [INFO] [stdout] test object_audio::tests::test_distance_attenuation_logarithmic_clamped_to_zero_at_max ... ok [INFO] [stdout] test object_audio::tests::test_distance_attenuation_none_always_one ... ok [INFO] [stdout] test object_audio::tests::test_distance_attenuation_logarithmic_decreases_with_distance ... ok [INFO] [stdout] test object_audio::tests::test_doppler_frequency_ratio_approaching_source ... ok [INFO] [stdout] test object_audio::tests::test_doppler_frequency_ratio_receding_source ... ok [INFO] [stdout] test object_audio::tests::test_doppler_frequency_ratio_stationary ... ok [INFO] [stdout] test object_audio::tests::test_doppler_process_output_finite ... ok [INFO] [stdout] test object_audio::tests::test_doppler_process_output_length_matches_input ... ok [INFO] [stdout] test object_audio::tests::test_doppler_reset_silences_delay_buffer ... ok [INFO] [stdout] test object_audio::tests::test_find_xml_attr_absent ... ok [INFO] [stdout] test head_tracking::tests::test_binaural_angles_identity_no_change ... ok [INFO] [stdout] test hoa_decoder::tests::test_normalise_vec3_unit ... ok [INFO] [stdout] test object_audio::tests::test_distance_attenuation_inverse_square_at_ref_distance ... ok [INFO] [stdout] test object_audio::tests::test_five_one_num_channels ... ok [INFO] [stdout] test object_audio::tests::test_find_xml_attr_present ... ok [INFO] [stdout] test object_audio::tests::test_nine_one_six_num_channels ... ok [INFO] [stdout] test object_audio::tests::test_object_renderer_render_all ... ok [INFO] [stdout] test object_audio::tests::test_parse_adm_object_bad_number_returns_error ... ok [INFO] [stdout] test object_audio::tests::test_object_renderer_upsert_remove ... ok [INFO] [stdout] test object_audio::tests::test_parse_adm_object_basic ... ok [INFO] [stdout] test object_audio::tests::test_parse_adm_object_clamps_to_unit_cube ... ok [INFO] [stdout] test object_audio::tests::test_parse_adm_object_missing_id_returns_error ... ok [INFO] [stdout] test object_audio::tests::test_parse_adm_object_with_timing ... ok [INFO] [stdout] test object_audio::tests::test_parse_adm_object_single_quotes ... ok [INFO] [stdout] test object_audio::tests::test_render_to_beds_multiple_objects ... ok [INFO] [stdout] test object_audio::tests::test_render_to_beds_gain_applied ... ok [INFO] [stdout] test object_audio::tests::test_parse_adm_object_missing_x_returns_error ... ok [INFO] [stdout] test hoa_decoder::tests::test_cartesian_to_spherical_top ... ok [INFO] [stdout] test object_audio::tests::test_render_to_beds_returns_all_channels ... ok [INFO] [stdout] test object_audio::tests::test_seven_four_four_num_channels ... ok [INFO] [stdout] test object_audio::tests::test_seven_one_num_channels ... ok [INFO] [stdout] test object_audio::tests::test_spread_gain_non_negative ... ok [INFO] [stdout] test object_audio::tests::test_spread_gain_divergence_one_is_omnidirectional ... ok [INFO] [stdout] test object_audio::tests::test_spread_gain_normalised ... ok [INFO] [stdout] test object_audio::tests::test_spread_gain_returns_correct_channel_count ... ok [INFO] [stdout] test object_audio::tests::test_spread_gain_with_width ... ok [INFO] [stdout] test object_audio::tests::test_stereo_num_channels ... ok [INFO] [stdout] test reverb::tests::test_allpass_preserves_energy_approx ... ok [INFO] [stdout] test reverb::tests::test_allpass_reset_clears_state ... ok [INFO] [stdout] test reverb::tests::test_comb_delay_samples_accessor ... ok [INFO] [stdout] test reverb::tests::test_comb_damping_attenuates_high_freq ... ok [INFO] [stdout] test reverb::tests::test_comb_feedback_formula ... ok [INFO] [stdout] test reverb::tests::test_early_reflections_from_room ... ok [INFO] [stdout] test reverb::tests::test_early_reflections_output_nonzero_after_delay ... ok [INFO] [stdout] test reverb::tests::test_comb_filter_output_delayed ... ok [INFO] [stdout] test reverb::tests::test_reverb_adds_energy_after_signal_ends ... ok [INFO] [stdout] test reverb::tests::test_reverb_custom_preset ... ok [INFO] [stdout] test reverb::tests::test_reverb_new_valid ... ok [INFO] [stdout] test reverb::tests::test_reverb_new_zero_sr_fails ... ok [INFO] [stdout] test reverb::tests::test_reverb_output_finite ... ok [INFO] [stdout] test reverb::tests::test_reverb_output_length_matches_input ... ok [INFO] [stdout] test reverb::tests::test_reverb_preset_cathedral_rt60 ... ok [INFO] [stdout] test reverb::tests::test_reverb_process_mono_inplace ... ok [INFO] [stdout] test reverb::tests::test_reverb_reset_silences_output ... ok [INFO] [stdout] test reverb::tests::test_reverb_large_hall_longer_tail_than_small_room ... ok [INFO] [stdout] test reverb::tests::test_reverb_wet_zero_passes_dry ... ok [INFO] [stdout] test reverb::tests::test_reverb_stereo_output_lengths ... ok [INFO] [stdout] test reverb::tests::test_comb_filter_reset_clears_state ... ok [INFO] [stdout] test reverb::tests::test_early_reflections_reset ... ok [INFO] [stdout] test room_simulation::tests::test_apply_to_signal_no_change_on_empty_reflections ... ok [INFO] [stdout] test room_simulation::tests::test_apply_to_signal_output_length ... ok [INFO] [stdout] test room_simulation::tests::test_apply_to_signal_produces_nonzero_output ... ok [INFO] [stdout] test room_simulation::tests::test_carpeted_room_floor_vs_walls ... ok [INFO] [stdout] test room_simulation::tests::test_concert_hall_config ... ok [INFO] [stdout] test room_simulation::tests::test_apply_reverb_produces_audio_from_silence ... ok [INFO] [stdout] test room_simulation::tests::test_early_reflections_count ... ok [INFO] [stdout] test room_simulation::tests::test_early_reflections_positive_delay ... ok [INFO] [stdout] test room_simulation::tests::test_early_reflections_positive_gain ... ok [INFO] [stdout] test reverb::tests::test_reverb_apply_preset_changes_behaviour ... ok [INFO] [stdout] test room_simulation::tests::test_freq_dep_more_absorptive_shorter_rir ... ok [INFO] [stdout] test room_simulation::tests::test_freq_dep_reflections_band_gains_positive ... ok [INFO] [stdout] test room_simulation::tests::test_freq_dep_reflections_vary_with_absorption ... ok [INFO] [stdout] test room_simulation::tests::test_freq_dep_reflections_count ... ok [INFO] [stdout] test room_simulation::tests::test_freq_dep_rir_not_empty ... ok [INFO] [stdout] test room_simulation::tests::test_freq_dep_sim_constructs ... ok [INFO] [stdout] test room_simulation::tests::test_concert_hall_rir_longer_than_small_room ... ok [INFO] [stdout] test room_simulation::tests::test_generate_rir_not_empty ... ok [INFO] [stdout] test room_simulation::tests::test_highly_absorptive_room_lower_reflection_gain ... ok [INFO] [stdout] test room_simulation::tests::test_image_source_anechoic_zero_gain ... ok [INFO] [stdout] test room_simulation::tests::test_generate_rir_has_direct_sound ... ok [INFO] [stdout] test room_simulation::tests::test_image_source_model_first_order_reflections ... ok [INFO] [stdout] test room_simulation::tests::test_image_source_reflections_sorted_by_delay ... ok [INFO] [stdout] test room_simulation::tests::test_new_places_listener_at_centre ... ok [INFO] [stdout] test room_simulation::tests::test_octave_bands_correct_count ... ok [INFO] [stdout] test room_simulation::tests::test_freq_dep_rir_has_direct_sound ... ok [INFO] [stdout] test room_simulation::tests::test_per_band_rt60_varies_with_absorption ... ok [INFO] [stdout] test room_simulation::tests::test_plaster_room_low_absorption ... ok [INFO] [stdout] test room_simulation::tests::test_per_band_rt60_uniform_gives_same_across_bands ... ok [INFO] [stdout] test room_simulation::tests::test_recording_studio_config ... ok [INFO] [stdout] test room_simulation::tests::test_room_acoustics_params_listening_room ... ok [INFO] [stdout] test room_simulation::tests::test_small_room_config ... ok [INFO] [stdout] test room_simulation::tests::test_rir_length_covers_rt60 ... ok [INFO] [stdout] test room_simulation::tests::test_treated_studio_higher_mid_high ... ok [INFO] [stdout] test room_simulation::tests::test_uniform_absorption_all_same ... ok [INFO] [stdout] test room_simulation::tests::test_uniform_absorption_clamped ... ok [INFO] [stdout] test room_simulation::tests::test_wall_bounces_correct_order ... ok [INFO] [stdout] test spatial_audio_format::tests::test_adm_time_parse_basic ... ok [INFO] [stdout] test object_audio::tests::test_doppler_last_rate_stationary_is_one ... ok [INFO] [stdout] test room_simulation::tests::test_image_source_reflections_positive_gain ... ok [INFO] [stdout] test spatial_audio_format::tests::test_adm_time_parse_invalid_fails ... ok [INFO] [stdout] test spatial_audio_format::tests::test_adm_time_to_string_round_trip ... ok [INFO] [stdout] test spatial_audio_format::tests::test_axml_chunk_size_field ... ok [INFO] [stdout] test spatial_audio_format::tests::test_adm_time_zero ... ok [INFO] [stdout] test spatial_audio_format::tests::test_adm_time_total_seconds ... ok [INFO] [stdout] test spatial_audio_format::tests::test_axml_chunk_round_trip ... ok [INFO] [stdout] test spatial_audio_format::tests::test_parse_block_format_gain ... ok [INFO] [stdout] test spatial_audio_format::tests::test_parse_audio_object ... ok [INFO] [stdout] test binauralizer::tests::test_foa_decode_wrong_channel_count_fails ... ok [INFO] [stdout] test head_tracking::tests::test_full_imu_tracker_identity_at_start ... ok [INFO] [stdout] test spatial_audio_format::tests::test_parse_channel_format ... ok [INFO] [stdout] test spatial_audio_format::tests::test_parse_empty_xml ... ok [INFO] [stdout] test spatial_audio_format::tests::test_parse_block_format_position ... ok [INFO] [stdout] test spatial_audio_format::tests::test_parse_programme_id_and_name ... ok [INFO] [stdout] test spatial_audio_format::tests::test_parse_raw_xml_preserved ... ok [INFO] [stdout] test spatial_audio_format::tests::test_parse_polar_block_format ... ok [INFO] [stdout] test spatial_audio_format::tests::test_polar_to_cartesian_front ... ok [INFO] [stdout] test spatial_audio_format::tests::test_polar_to_cartesian_left ... ok [INFO] [stdout] test spatial_audio_format::tests::test_polar_to_cartesian_top ... ok [INFO] [stdout] test spatial_audio_format::tests::test_write_adm_xml_contains_cartesian_position ... ok [INFO] [stdout] test spatial_audio_format::tests::test_write_adm_xml_contains_programme ... ok [INFO] [stdout] test spatial_audio_format::tests::test_xml_attr_double_and_single_quotes ... ok [INFO] [stdout] test vbap::tests::test_delaunay_22_speaker_immersive ... ok [INFO] [stdout] test vbap::tests::test_delaunay_at_speaker_position_high_gain ... ok [INFO] [stdout] test vbap::tests::test_delaunay_irregular_at_most_three_active ... ok [INFO] [stdout] test vbap::tests::test_delaunay_cube_speakers_same_as_before ... ok [INFO] [stdout] test vbap::tests::test_delaunay_irregular_pan_energy_normalised ... ok [INFO] [stdout] test vbap::tests::test_delaunay_irregular_pan_non_negative ... ok [INFO] [stdout] test vbap::tests::test_delaunay_produces_triplets ... ok [INFO] [stdout] test vbap::tests::test_invert_2x2_known_matrix ... ok [INFO] [stdout] test vbap::tests::test_heuristic_fallback_works ... ok [INFO] [stdout] test vbap::tests::test_invert_2x2_identity ... ok [INFO] [stdout] test vbap::tests::test_invert_2x2_round_trip ... ok [INFO] [stdout] test vbap::tests::test_delaunay_irregular_layout_constructs ... ok [INFO] [stdout] test vbap::tests::test_delaunay_triplet_indices_valid ... ok [INFO] [stdout] test vbap::tests::test_invert_3x3_identity ... ok [INFO] [stdout] test vbap::tests::test_invert_3x3_round_trip ... ok [INFO] [stdout] test vbap::tests::test_invert_3x3_singular_returns_none ... ok [INFO] [stdout] test vbap::tests::test_new_stereo_succeeds ... ok [INFO] [stdout] test vbap::tests::test_new_five_speaker_ring_succeeds ... ok [INFO] [stdout] test vbap::tests::test_normalise_angle_neg ... ok [INFO] [stdout] test vbap::tests::test_pan_energy_normalised ... ok [INFO] [stdout] test vbap::tests::test_pan_exact_speaker_direction_full_gain ... ok [INFO] [stdout] test vbap::tests::test_pan_gains_non_negative ... ok [INFO] [stdout] test vbap::tests::test_pan_at_most_two_active_speakers ... ok [INFO] [stdout] test vbap::tests::test_invert_2x2_singular_returns_none ... ok [INFO] [stdout] test vbap::tests::test_pan_centre_front_equal_gains_stereo ... ok [INFO] [stdout] test vbap::tests::test_normalise_angle_over_360 ... ok [INFO] [stdout] test vbap::tests::test_new_too_few_speakers_returns_error ... ok [INFO] [stdout] test vbap::tests::test_pan_left_speaker_louder_at_left_azimuth ... ok [INFO] [stdout] test vbap::tests::test_pan_returns_correct_length ... ok [INFO] [stdout] test vbap::tests::test_spherical_delaunay_all_indices_valid ... ok [INFO] [stdout] test vbap::tests::test_vbap3d_energy_normalised ... ok [INFO] [stdout] test vbap::tests::test_spherical_delaunay_basic ... ok [INFO] [stdout] test wave_field::tests::test_circular_array_count ... ok [INFO] [stdout] test vbap::tests::test_vbap3d_at_most_three_active_speakers ... ok [INFO] [stdout] test vbap::tests::test_vbap3d_gains_non_negative ... ok [INFO] [stdout] test vbap::tests::test_vbap3d_new_succeeds ... ok [INFO] [stdout] test vbap::tests::test_vbap3d_pan_returns_correct_length ... ok [INFO] [stdout] test vbap::tests::test_vbap3d_too_few_speakers_error ... ok [INFO] [stdout] test wave_field::tests::test_circular_array_radii ... ok [INFO] [stdout] test wave_field::tests::test_complex_mul_identity ... ok [INFO] [stdout] test wave_field::tests::test_complex_mul_j_squared ... ok [INFO] [stdout] test wave_field::tests::test_complex_new ... ok [INFO] [stdout] test wave_field::tests::test_compute_delays_and_gains_all_finite ... ok [INFO] [stdout] test wave_field::tests::test_complex_sqrt_real_positive ... ok [INFO] [stdout] test wave_field::tests::test_complex_abs ... ok [INFO] [stdout] test wave_field::tests::test_compute_delays_gains_centre_speaker_minimum_delay ... ok [INFO] [stdout] test wave_field::tests::test_delay_in_samples_343m_at_48k ... ok [INFO] [stdout] test wave_field::tests::test_compute_delays_and_gains_length ... ok [INFO] [stdout] test wave_field::tests::test_delay_in_samples_one_metre ... ok [INFO] [stdout] test wave_field::tests::test_delay_in_samples_zero_distance ... ok [INFO] [stdout] test wave_field::tests::test_driving_function_point_source_nonzero ... ok [INFO] [stdout] test wave_field::tests::test_driving_function_plane_wave_direction ... ok [INFO] [stdout] test wave_field::tests::test_linear_array_centred ... ok [INFO] [stdout] test wave_field::tests::test_linear_array_normals ... ok [INFO] [stdout] test wave_field::tests::test_plane_wave_gain_facing_speakers ... ok [INFO] [stdout] test wave_field::tests::test_linear_array_count ... ok [INFO] [stdout] test zone_control::tests::test_active_zones_iterator ... ok [INFO] [stdout] test zone_control::tests::test_add_duplicate_zone_fails ... ok [INFO] [stdout] test zone_control::tests::test_add_zone_increases_count ... ok [INFO] [stdout] test zone_control::tests::test_broadcast_renders_to_all_zones ... ok [INFO] [stdout] test zone_control::tests::test_by_radius_routing ... ok [INFO] [stdout] test zone_control::tests::test_crossfader_apply_to_buffer ... ok [INFO] [stdout] test zone_control::tests::test_crossfader_instant_transition ... ok [INFO] [stdout] test zone_control::tests::test_crossfader_is_ramping ... ok [INFO] [stdout] test zone_control::tests::test_crossfader_monotonic_increasing ... ok [INFO] [stdout] test zone_control::tests::test_crossfader_ramps_to_target ... ok [INFO] [stdout] test zone_control::tests::test_explicit_routing ... ok [INFO] [stdout] test zone_control::tests::test_multiple_objects_accumulate ... ok [INFO] [stdout] test zone_control::tests::test_muted_zone_receives_no_audio ... ok [INFO] [stdout] test zone_control::tests::test_mute_zone ... ok [INFO] [stdout] test zone_control::tests::test_remove_zone_decreases_count ... ok [INFO] [stdout] test zone_control::tests::test_render_num_samples_matches ... ok [INFO] [stdout] test zone_control::tests::test_set_zone_gain ... ok [INFO] [stdout] test wave_field::tests::test_complex_conj ... ok [INFO] [stdout] test wave_field::tests::test_renderer_num_speakers ... ok [INFO] [stdout] test zone_control::tests::test_zone_distance_same_position ... ok [INFO] [stdout] test zone_control::tests::test_zone_distance_known ... ok [INFO] [stdout] test wave_field::tests::test_complex_from_polar_roundtrip ... ok [INFO] [stdout] test zone_control::tests::test_nearest_zone_routes_to_one_zone ... ok [INFO] [stdout] test room_simulation::tests::test_apply_reverb_normalised ... ok [INFO] [stdout] test room_simulation::tests::test_apply_reverb_output_length ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 369 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.02s [INFO] [stdout] [INFO] [stderr] Doc-tests oximedia_spatial [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test src/room_simulation.rs - room_simulation (line 10) ... ok [INFO] [stdout] test src/room_simulation.rs - room_simulation::ImageSourceModel (line 640) ... ok [INFO] [stdout] test src/lib.rs - (line 22) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.47s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "260b1e70ae52c80f0d5c703110dfae2d6a0824032b707215d5ab08dd7948c42c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "260b1e70ae52c80f0d5c703110dfae2d6a0824032b707215d5ab08dd7948c42c", kill_on_drop: false }` [INFO] [stdout] 260b1e70ae52c80f0d5c703110dfae2d6a0824032b707215d5ab08dd7948c42c