[INFO] fetching crate vibelang-core 0.3.0...
[INFO] testing vibelang-core-0.3.0 against 1.94.0 for beta-1.95-1
[INFO] extracting crate vibelang-core 0.3.0 into /workspace/builds/worker-6-tc1/source
[INFO] started tweaking crates.io crate vibelang-core 0.3.0
[INFO] finished tweaking crates.io crate vibelang-core 0.3.0
[INFO] tweaked toml for crates.io crate vibelang-core 0.3.0 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate vibelang-core 0.3.0 on toolchain 1.94.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.94.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate vibelang-core 0.3.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.94.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded coremidi-sys v3.2.0
[INFO] [stderr]   Downloaded vibelang-dsp v0.3.0
[INFO] [stderr]   Downloaded rosc v0.10.1
[INFO] [stderr]   Downloaded vibelang-sfz v0.3.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 90bb8fccb159a43efa946c469399a5ed50aa59611954a52470ea18975a4817af
[INFO] running `Command { std: "docker" "start" "-a" "90bb8fccb159a43efa946c469399a5ed50aa59611954a52470ea18975a4817af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "90bb8fccb159a43efa946c469399a5ed50aa59611954a52470ea18975a4817af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "90bb8fccb159a43efa946c469399a5ed50aa59611954a52470ea18975a4817af", kill_on_drop: false }`
[INFO] [stdout] 90bb8fccb159a43efa946c469399a5ed50aa59611954a52470ea18975a4817af
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.94.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 11132a7b8d75915c28b23bad766a12909c449b0a220185785cef1b233672f5ad
[INFO] running `Command { std: "docker" "start" "-a" "11132a7b8d75915c28b23bad766a12909c449b0a220185785cef1b233672f5ad", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.110
[INFO] [stderr]    Compiling portable-atomic v1.11.1
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling smartstring v1.0.1
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling thin-vec v0.2.14
[INFO] [stderr]    Compiling nix v0.24.3
[INFO] [stderr]    Compiling rosc v0.10.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling alsa v0.7.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling tracing-core v0.1.35
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling midir v0.9.1
[INFO] [stderr]    Compiling const-random v0.1.18
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling vibelang-dsp v0.3.0
[INFO] [stderr]    Compiling rhai_codegen v3.1.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling rhai v1.23.6
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling tracing v0.1.43
[INFO] [stderr]    Compiling tokio-util v0.7.17
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling vibelang-sfz v0.3.0
[INFO] [stderr]    Compiling vibelang-core v0.3.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 13s
[INFO] running `Command { std: "docker" "inspect" "11132a7b8d75915c28b23bad766a12909c449b0a220185785cef1b233672f5ad", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "11132a7b8d75915c28b23bad766a12909c449b0a220185785cef1b233672f5ad", kill_on_drop: false }`
[INFO] [stdout] 11132a7b8d75915c28b23bad766a12909c449b0a220185785cef1b233672f5ad
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.94.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6fbf0f9c57c298a68a9fe2e1fbfe4fa3ef79f268c6717187f61a2f7a5564ac9d
[INFO] running `Command { std: "docker" "start" "-a" "6fbf0f9c57c298a68a9fe2e1fbfe4fa3ef79f268c6717187f61a2f7a5564ac9d", kill_on_drop: false }`
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling tokio-util v0.7.17
[INFO] [stderr]    Compiling vibelang-core v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `id2`
[INFO] [stdout]    --> src/midi/callbacks.rs:712:13
[INFO] [stdout]     |
[INFO] [stdout] 712 |         let id2 = callbacks.register(
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_id2`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pulse_interval`
[INFO] [stdout]    --> src/midi/clock.rs:336:13
[INFO] [stdout]     |
[INFO] [stdout] 336 |         let pulse_interval = Duration::from_micros(20833);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pulse_interval`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CountingHandler` is never constructed
[INFO] [stdout]    --> src/midi/input_task.rs:422:12
[INFO] [stdout]     |
[INFO] [stdout] 422 |     struct CountingHandler {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `count` are never used
[INFO] [stdout]    --> src/midi/input_task.rs:427:12
[INFO] [stdout]     |
[INFO] [stdout] 426 |     impl CountingHandler {
[INFO] [stdout]     |     -------------------- associated items in this implementation
[INFO] [stdout] 427 |         fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 433 |         fn count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 23.99s
[INFO] running `Command { std: "docker" "inspect" "6fbf0f9c57c298a68a9fe2e1fbfe4fa3ef79f268c6717187f61a2f7a5564ac9d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6fbf0f9c57c298a68a9fe2e1fbfe4fa3ef79f268c6717187f61a2f7a5564ac9d", kill_on_drop: false }`
[INFO] [stdout] 6fbf0f9c57c298a68a9fe2e1fbfe4fa3ef79f268c6717187f61a2f7a5564ac9d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.94.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 85aa6d1ebf09948ba1af569f2eca253e3b6e96aa45eb0402a3131287f9980069
[INFO] running `Command { std: "docker" "start" "-a" "85aa6d1ebf09948ba1af569f2eca253e3b6e96aa45eb0402a3131287f9980069", kill_on_drop: false }`
[INFO] [stderr] warning: unused variable: `id2`
[INFO] [stderr]    --> src/midi/callbacks.rs:712:13
[INFO] [stderr]     |
[INFO] [stderr] 712 |         let id2 = callbacks.register(
[INFO] [stderr]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_id2`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pulse_interval`
[INFO] [stderr]    --> src/midi/clock.rs:336:13
[INFO] [stderr]     |
[INFO] [stderr] 336 |         let pulse_interval = Duration::from_micros(20833);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pulse_interval`
[INFO] [stderr] 
[INFO] [stderr] warning: struct `CountingHandler` is never constructed
[INFO] [stderr]    --> src/midi/input_task.rs:422:12
[INFO] [stderr]     |
[INFO] [stderr] 422 |     struct CountingHandler {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `count` are never used
[INFO] [stderr]    --> src/midi/input_task.rs:427:12
[INFO] [stderr]     |
[INFO] [stderr] 426 |     impl CountingHandler {
[INFO] [stderr]     |     -------------------- associated items in this implementation
[INFO] [stderr] 427 |         fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 433 |         fn count(&self) -> usize {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `vibelang-core` (lib test) generated 4 warnings (run `cargo fix --lib -p vibelang-core --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.14s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vibelang_core-cda36f4de95972e1)
[INFO] [stdout] 
[INFO] [stdout] running 438 tests
[INFO] [stdout] test backend::tests::test_add_action_default ... ok
[INFO] [stdout] test backend::tests::test_add_action_equality ... ok
[INFO] [stdout] test backend::tests::test_buffer_info_clone ... ok
[INFO] [stdout] test backend::tests::test_add_action_values ... ok
[INFO] [stdout] test backend::tests::test_buffer_info_duration ... ok
[INFO] [stdout] test backend::tests::test_buffer_info_duration_stereo ... ok
[INFO] [stdout] test backends::scsynth::tests::test_add_action_to_sc_int ... ok
[INFO] [stdout] test backends::scsynth::tests::test_osc_response_debug ... ok
[INFO] [stdout] test backends::scsynth_process::tests::test_process_error_display ... ok
[INFO] [stdout] test backends::scsynth_process::tests::test_shellexpand_tilde ... ok
[INFO] [stdout] test clock::tests::test_beat_to_instant ... ok
[INFO] [stdout] test clock::tests::test_clock_creation ... ok
[INFO] [stdout] test clock::tests::test_instant_to_beat ... ok
[INFO] [stdout] test clock::tests::test_tempo_change_preserves_position ... ok
[INFO] [stdout] test compat::tests::test_channel_creation ... ok
[INFO] [stdout] test compat::tests::test_duration ... ok
[INFO] [stdout] test compat::tests::test_oneshot_creation ... ok
[INFO] [stdout] test error::tests::test_backend_error ... ok
[INFO] [stdout] test error::tests::test_error_display ... ok
[INFO] [stdout] test handlers::effects::tests::test_add_effect ... ok
[INFO] [stdout] test handlers::effects::tests::test_add_effect_duplicate_fails ... ok
[INFO] [stdout] test clock::tests::test_seek ... ok
[INFO] [stdout] test clock::tests::test_start_stop ... ok
[INFO] [stdout] test handlers::effects::tests::test_add_effect_group_not_found ... ok
[INFO] [stdout] test handlers::effects::tests::test_add_effect_synthdef_not_found ... ok
[INFO] [stdout] test handlers::effects::tests::test_add_effect_with_params ... ok
[INFO] [stdout] test handlers::effects::tests::test_effect_stores_group_id ... ok
[INFO] [stdout] test handlers::effects::tests::test_effect_stores_synthdef_name ... ok
[INFO] [stdout] test handlers::effects::tests::test_add_multiple_effects_to_group ... ok
[INFO] [stdout] test handlers::effects::tests::test_remove_nonexistent_effect_fails ... ok
[INFO] [stdout] test handlers::effects::tests::test_effect_stores_group_audio_bus ... ok
[INFO] [stdout] test handlers::effects::tests::test_remove_effect ... ok
[INFO] [stdout] test handlers::effects::tests::test_set_multiple_params ... ok
[INFO] [stdout] test handlers::effects::tests::test_set_param ... ok
[INFO] [stdout] test handlers::effects::tests::test_set_param_nonexistent_effect_fails ... ok
[INFO] [stdout] test handlers::groups::tests::test_create_delete_create ... ok
[INFO] [stdout] test handlers::groups::tests::test_create_group ... ok
[INFO] [stdout] test handlers::groups::tests::test_create_group_allocates_node_and_bus ... ok
[INFO] [stdout] test handlers::groups::tests::test_finalize_creates_link_synths ... ok
[INFO] [stdout] test handlers::groups::tests::test_delete_nonexistent_group_fails ... ok
[INFO] [stdout] test handlers::groups::tests::test_finalize_multiple_groups ... ok
[INFO] [stdout] test handlers::groups::tests::test_multiple_params ... ok
[INFO] [stdout] test handlers::groups::tests::test_create_group_duplicate_fails ... ok
[INFO] [stdout] test backends::scsynth::tests::test_scsynth_error_display ... ok
[INFO] [stdout] test handlers::groups::tests::test_create_group_with_nonexistent_parent_fails ... ok
[INFO] [stdout] test backend::tests::test_buffer_info_48khz ... ok
[INFO] [stdout] test handlers::groups::tests::test_create_group_with_parent ... ok
[INFO] [stdout] test handlers::groups::tests::test_delete_group ... ok
[INFO] [stdout] test handlers::groups::tests::test_finalize_idempotent ... ok
[INFO] [stdout] test handlers::groups::tests::test_mute_group ... ok
[INFO] [stdout] test handlers::groups::tests::test_mute_nonexistent_group_fails ... ok
[INFO] [stdout] test backends::scsynth_process::tests::test_build_args ... ok
[INFO] [stdout] test backends::scsynth_process::tests::test_config_builder ... ok
[INFO] [stdout] test handlers::groups::tests::test_set_param_nonexistent_group_fails ... ok
[INFO] [stdout] test backends::scsynth_process::tests::test_config_default ... ok
[INFO] [stdout] test handlers::groups::tests::test_set_param ... ok
[INFO] [stdout] test handlers::groups::tests::test_unmute_group ... ok
[INFO] [stdout] test handlers::groups::tests::test_unsolo_group ... ok
[INFO] [stdout] test handlers::melodies::tests::test_first_tick_only_triggers_exact_match ... ok
[INFO] [stdout] test handlers::melodies::tests::test_melody_last_pos_is_exclusive ... ok
[INFO] [stdout] test handlers::melodies::tests::test_normal_tick_triggers_note_between_positions ... ok
[INFO] [stdout] test handlers::melodies::tests::test_note_at_zero_triggers_on_first_tick_only ... ok
[INFO] [stdout] test handlers::melodies::tests::test_note_not_retriggered_next_tick ... ok
[INFO] [stdout] test handlers::melodies::tests::test_very_short_melody_half_beat ... ok
[INFO] [stdout] test handlers::melodies::tests::test_very_short_melody_wrap ... ok
[INFO] [stdout] test handlers::melodies::tests::test_wrap_does_not_double_trigger ... ok
[INFO] [stdout] test handlers::melodies::tests::test_wrap_triggers_note_at_new_pos ... ok
[INFO] [stdout] test handlers::melodies::tests::test_wrap_triggers_note_at_zero ... ok
[INFO] [stdout] test handlers::melodies::tests::test_wrap_triggers_note_near_end ... ok
[INFO] [stdout] test handlers::modulators::tests::test_create_modulator ... ok
[INFO] [stdout] test handlers::groups::tests::test_solo_affects_multiple_groups ... ok
[INFO] [stdout] test handlers::modulators::tests::test_create_modulator_duplicate_fails ... ok
[INFO] [stdout] test handlers::melodies::tests::test_normal_tick_triggers_note_at_new_pos ... ok
[INFO] [stdout] test handlers::groups::tests::test_solo_group ... ok
[INFO] [stdout] test handlers::modulators::tests::test_create_modulator_synthdef_not_found ... ok
[INFO] [stdout] test handlers::groups::tests::test_solo_nonexistent_group_fails ... ok
[INFO] [stdout] test handlers::melodies::tests::test_first_tick_triggers_note_at_zero ... ok
[INFO] [stdout] test handlers::modulators::tests::test_create_modulator_with_params ... ok
[INFO] [stdout] test handlers::melodies::tests::test_melody_boundary_is_inclusive ... ok
[INFO] [stdout] test handlers::melodies::tests::test_multiple_notes_at_same_beat ... ok
[INFO] [stdout] test handlers::melodies::tests::test_normal_tick_does_not_trigger_note_at_last_pos ... ok
[INFO] [stdout] test handlers::melodies::tests::test_note_exactly_at_boundary_normal ... ok
[INFO] [stdout] test handlers::melodies::tests::test_wrap_multiple_notes ... ok
[INFO] [stdout] test handlers::modulators::tests::test_build_dependency_graph ... ok
[INFO] [stdout] test handlers::modulators::tests::test_delete_modulator ... ok
[INFO] [stdout] test handlers::modulators::tests::test_detect_cycle_no_cycle ... ok
[INFO] [stdout] test handlers::modulators::tests::test_detect_cycle_self_loop ... ok
[INFO] [stdout] test handlers::modulators::tests::test_detect_cycle_complex_cycle ... ok
[INFO] [stdout] test handlers::modulators::tests::test_get_modulator_control_bus ... ok
[INFO] [stdout] test handlers::modulators::tests::test_delete_nonexistent_modulator_fails ... ok
[INFO] [stdout] test handlers::modulators::tests::test_detect_cycle_simple_cycle ... ok
[INFO] [stdout] test handlers::modulators::tests::test_modulator_allocates_unique_control_buses ... ok
[INFO] [stdout] test handlers::modulators::tests::test_nested_modulation_basic ... ok
[INFO] [stdout] test handlers::modulators::tests::test_nested_modulation_source_not_found ... ok
[INFO] [stdout] test handlers::modulators::tests::test_set_param_nonexistent_modulator_fails ... ok
[INFO] [stdout] test handlers::modulators::tests::test_set_param ... ok
[INFO] [stdout] test handlers::modulators::tests::test_topological_sort_diamond ... ok
[INFO] [stdout] test handlers::modulators::tests::test_topological_sort_linear ... ok
[INFO] [stdout] test handlers::patterns::tests::test_step_at_last_beat_triggers_before_wrap ... ok
[INFO] [stdout] test handlers::patterns::tests::test_step_exactly_at_boundary_normal ... ok
[INFO] [stdout] test handlers::patterns::tests::test_step_not_triggered_again_next_tick ... ok
[INFO] [stdout] test handlers::patterns::tests::test_tick_larger_than_pattern_length ... ok
[INFO] [stdout] test handlers::patterns::tests::test_unordered_steps_still_work ... ok
[INFO] [stdout] test handlers::patterns::tests::test_very_short_pattern_half_beat ... ok
[INFO] [stdout] test handlers::patterns::tests::test_very_short_pattern_wrap ... ok
[INFO] [stdout] test handlers::patterns::tests::test_wrap_does_not_double_trigger ... ok
[INFO] [stdout] test handlers::patterns::tests::test_wrap_multiple_steps ... ok
[INFO] [stdout] test handlers::patterns::tests::test_wrap_triggers_step_at_new_pos ... ok
[INFO] [stdout] test handlers::patterns::tests::test_wrap_triggers_step_at_zero ... ok
[INFO] [stdout] test handlers::recordings::tests::test_recording_config_defaults ... ok
[INFO] [stdout] test handlers::recordings::tests::test_recording_status_transitions ... ok
[INFO] [stdout] test handlers::sequences::tests::test_create_sequence_duplicate_fails ... ok
[INFO] [stdout] test handlers::sequences::tests::test_delete_sequence ... ok
[INFO] [stdout] test handlers::patterns::tests::test_first_tick_triggers_step_at_zero ... ok
[INFO] [stdout] test handlers::patterns::tests::test_normal_tick_does_not_trigger_step_at_last_pos ... ok
[INFO] [stdout] test handlers::sequences::tests::test_pause_nonexistent_sequence_fails ... ok
[INFO] [stdout] test handlers::patterns::tests::test_normal_tick_triggers_step_at_new_pos ... ok
[INFO] [stdout] test handlers::sequences::tests::test_delete_nonexistent_sequence_fails ... ok
[INFO] [stdout] test handlers::patterns::tests::test_normal_tick_triggers_step_between_positions ... ok
[INFO] [stdout] test handlers::patterns::tests::test_first_tick_only_triggers_exact_match ... ok
[INFO] [stdout] test handlers::patterns::tests::test_step_at_exact_length_never_triggers ... ok
[INFO] [stdout] test handlers::patterns::tests::test_very_short_pattern_first_tick ... ok
[INFO] [stdout] test handlers::sequences::tests::test_pause_resume_preserves_state ... ok
[INFO] [stdout] test handlers::sequences::tests::test_create_sequence ... ok
[INFO] [stdout] test handlers::sequences::tests::test_create_sequence_with_clips ... ok
[INFO] [stdout] test handlers::sequences::tests::test_pause_stopped_sequence_no_op ... ok
[INFO] [stdout] test handlers::sequences::tests::test_start_sets_start_beat ... ok
[INFO] [stdout] test handlers::sequences::tests::test_start_stop_start ... ok
[INFO] [stdout] test handlers::sequences::tests::test_stop_nonexistent_sequence_fails ... ok
[INFO] [stdout] test handlers::sequences::tests::test_resume_nonpaused_sequence_no_op ... ok
[INFO] [stdout] test handlers::sequences::tests::test_resume_nonexistent_sequence_fails ... ok
[INFO] [stdout] test handlers::sfz::tests::test_is_loop_enabled ... ok
[INFO] [stdout] test handlers::sequences::tests::test_start_nonexistent_sequence_fails ... ok
[INFO] [stdout] test handlers::sequences::tests::test_start_resets_position ... ok
[INFO] [stdout] test handlers::transport::tests::test_current_beat_after_start_is_at_least_zero ... ok
[INFO] [stdout] test handlers::sequences::tests::test_start_sequence ... ok
[INFO] [stdout] test handlers::transport::tests::test_current_beat_default ... ok
[INFO] [stdout] test handlers::sequences::tests::test_pause_sequence ... ok
[INFO] [stdout] test handlers::patterns::tests::test_wrap_triggers_step_near_end ... ok
[INFO] [stdout] test handlers::transport::tests::test_default_not_playing ... ok
[INFO] [stdout] test handlers::sequences::tests::test_resume_sequence ... ok
[INFO] [stdout] test handlers::sequences::tests::test_start_sequence_with_looping ... ok
[INFO] [stdout] test handlers::sequences::tests::test_stop_sequence ... ok
[INFO] [stdout] test handlers::sfz::tests::test_sfz_trigger_modes ... ok
[INFO] [stdout] test handlers::sequences::tests::test_tick_starts_pattern_clip ... ok
[INFO] [stdout] test handlers::sequences::tests::test_tick_stops_pattern_clip_at_end ... ok
[INFO] [stdout] test handlers::transport::tests::test_default_time_signature ... ok
[INFO] [stdout] test handlers::transport::tests::test_extreme_tempo_values ... ok
[INFO] [stdout] test handlers::transport::tests::test_seek ... ok
[INFO] [stdout] test handlers::transport::tests::test_multiple_tempo_changes ... ok
[INFO] [stdout] test handlers::transport::tests::test_default_tempo ... ok
[INFO] [stdout] test handlers::transport::tests::test_seek_while_playing ... ok
[INFO] [stdout] test handlers::transport::tests::test_seek_to_large_beat ... ok
[INFO] [stdout] test handlers::transport::tests::test_stop ... ok
[INFO] [stdout] test handlers::transport::tests::test_tempo_clamp_maximum ... ok
[INFO] [stdout] test handlers::transport::tests::test_seek_to_zero ... ok
[INFO] [stdout] test handlers::transport::tests::test_tempo_updates_state ... ok
[INFO] [stdout] test handlers::transport::tests::test_set_tempo ... ok
[INFO] [stdout] test handlers::transport::tests::test_seek_updates_state ... ok
[INFO] [stdout] test handlers::transport::tests::test_tempo_change_while_playing ... ok
[INFO] [stdout] test handlers::transport::tests::test_set_time_signature_6_8 ... ok
[INFO] [stdout] test handlers::transport::tests::test_stop_updates_state ... ok
[INFO] [stdout] test handlers::transport::tests::test_tick_does_not_update_when_stopped ... ok
[INFO] [stdout] test handlers::transport::tests::test_start ... ok
[INFO] [stdout] test handlers::transport::tests::test_tick_updates_beat_when_playing ... ok
[INFO] [stdout] test handlers::transport::tests::test_set_time_signature_3_4 ... ok
[INFO] [stdout] test handlers::transport::tests::test_time_signature_change_while_playing ... ok
[INFO] [stdout] test handlers::transport::tests::test_set_time_signature_5_4 ... ok
[INFO] [stdout] test handlers::voices::tests::test_choke_group_frees_other_voices ... ok
[INFO] [stdout] test handlers::transport::tests::test_start_stop_start ... ok
[INFO] [stdout] test handlers::transport::tests::test_start_updates_state ... ok
[INFO] [stdout] test handlers::voices::tests::test_create_voice ... ok
[INFO] [stdout] test handlers::voices::tests::test_create_voice_duplicate_fails ... ok
[INFO] [stdout] test handlers::transport::tests::test_tempo_clamp_minimum ... ok
[INFO] [stdout] test handlers::voices::tests::test_delete_voice ... ok
[INFO] [stdout] test handlers::voices::tests::test_different_choke_groups_do_not_interfere ... ok
[INFO] [stdout] test handlers::voices::tests::test_midi_to_freq_a4 ... ok
[INFO] [stdout] test handlers::voices::tests::test_midi_to_freq_a5 ... ok
[INFO] [stdout] test handlers::voices::tests::test_midi_to_freq_c4 ... ok
[INFO] [stdout] test handlers::voices::tests::test_mute_nonexistent_voice_fails ... ok
[INFO] [stdout] test handlers::voices::tests::test_note_off_no_active_note ... ok
[INFO] [stdout] test handlers::voices::tests::test_mute_voice ... ok
[INFO] [stdout] test handlers::voices::tests::test_create_voice_group_not_found ... ok
[INFO] [stdout] test handlers::voices::tests::test_create_voice_synthdef_not_found ... ok
[INFO] [stdout] test handlers::voices::tests::test_note_off ... ok
[INFO] [stdout] test handlers::voices::tests::test_delete_nonexistent_voice_fails ... ok
[INFO] [stdout] test handlers::voices::tests::test_note_on_same_note_replaces ... ok
[INFO] [stdout] test handlers::voices::tests::test_round_robin_increments ... ok
[INFO] [stdout] test handlers::voices::tests::test_set_param ... ok
[INFO] [stdout] test handlers::voices::tests::test_note_on ... ok
[INFO] [stdout] test handlers::voices::tests::test_midi_to_freq_a3 ... ok
[INFO] [stdout] test handlers::voices::tests::test_delete_voice_frees_nodes ... ok
[INFO] [stdout] test handlers::voices::tests::test_set_param_nonexistent_voice_fails ... ok
[INFO] [stdout] test handlers::voices::tests::test_stop_nonexistent_voice_fails ... ok
[INFO] [stdout] test handlers::voices::tests::test_trigger_voice ... ok
[INFO] [stdout] test message::tests::test_all_group_messages ... ok
[INFO] [stdout] test message::tests::test_all_pattern_messages ... ok
[INFO] [stdout] test message::tests::test_all_recording_messages ... ok
[INFO] [stdout] test message::tests::test_all_sfz_messages ... ok
[INFO] [stdout] test handlers::voices::tests::test_stop_voice ... ok
[INFO] [stdout] test handlers::voices::tests::test_trigger_nonexistent_voice_fails ... ok
[INFO] [stdout] test handlers::voices::tests::test_unmute_voice ... ok
[INFO] [stdout] test handlers::voices::tests::test_trigger_respects_polyphony ... ok
[INFO] [stdout] test message::tests::test_message_type_name ... ok
[INFO] [stdout] test midi::callbacks::tests::test_keyboard_route_builder ... ok
[INFO] [stdout] test midi::callbacks::tests::test_cc_route_builder ... ok
[INFO] [stdout] test message::tests::test_all_transport_messages ... ok
[INFO] [stdout] test message::tests::test_all_voice_messages ... ok
[INFO] [stdout] test midi::callbacks::tests::test_midi_callbacks ... ok
[INFO] [stdout] test message::tests::test_from_all_message_types ... ok
[INFO] [stdout] test midi::callbacks::tests::test_parameter_curves ... ok
[INFO] [stdout] test message::tests::test_message_clone ... ok
[INFO] [stdout] test message::tests::test_from_impl ... ok
[INFO] [stdout] test midi::constants::tests::test_note_on_pack_decode ... ok
[INFO] [stdout] test midi::constants::tests::test_pitch_bend_pack_decode ... ok
[INFO] [stdout] test midi::constants::tests::test_unknown_trigger_id ... ok
[INFO] [stdout] test midi::constants::tests::test_transport_decode ... ok
[INFO] [stdout] test midi::encoder::tests::test_encode_aftertouch ... ok
[INFO] [stdout] test midi::clock::tests::test_midi_clock_calibration ... ok
[INFO] [stdout] test midi::clock::tests::test_transport_state ... ok
[INFO] [stdout] test midi::constants::tests::test_cc_pack_decode ... ok
[INFO] [stdout] test midi::constants::tests::test_note_off_pack_decode ... ok
[INFO] [stdout] test midi::devices::tests::test_device_ids ... ok
[INFO] [stdout] test midi::callbacks::tests::test_parse_note_name ... ok
[INFO] [stdout] test midi::devices::tests::test_device_manager_creation ... ok
[INFO] [stdout] test midi::callbacks::tests::test_velocity_curves ... ok
[INFO] [stdout] test midi::encoder::tests::test_encode_note_on ... ok
[INFO] [stdout] test midi::encoder::tests::test_encode_pitch_bend ... ok
[INFO] [stdout] test midi::encoder::tests::test_encode_program_change ... ok
[INFO] [stdout] test midi::encoder::tests::test_encode_realtime ... ok
[INFO] [stdout] test midi::encoder::tests::test_encode_sysex ... ok
[INFO] [stdout] test midi::events::tests::test_control_value_roundtrip ... ok
[INFO] [stdout] test midi::hotplug::tests::test_auto_reconnect_config ... ok
[INFO] [stdout] test midi::events::tests::test_message_channel ... ok
[INFO] [stdout] test midi::jitter::tests::test_jitter_compensator_calibration ... ok
[INFO] [stdout] test midi::jitter::tests::test_compensation_delay ... ok
[INFO] [stdout] test handlers::voices::tests::test_set_param_updates_active_synths ... ok
[INFO] [stdout] test midi::jitter::tests::test_moving_average ... ok
[INFO] [stdout] test midi::learn::tests::test_learn_manager ... ok
[INFO] [stdout] test midi::jitter::tests::test_jitter_stats ... ok
[INFO] [stdout] test message::tests::test_message_debug ... ok
[INFO] [stdout] test midi::encoder::tests::test_encode_with_running_status ... ok
[INFO] [stdout] test midi::learn::tests::test_learn_manager_process ... ok
[INFO] [stdout] test midi::learn::tests::test_learn_target ... ok
[INFO] [stdout] test midi::hotplug::tests::test_hotplug_watcher_creation ... ok
[INFO] [stdout] test midi::events::tests::test_timestamped_event ... ok
[INFO] [stdout] test midi::events::tests::test_channel ... ok
[INFO] [stdout] test midi::events::tests::test_velocity_midi1_roundtrip ... ok
[INFO] [stdout] test midi::clock::tests::test_midi_clock_sync_bpm ... ok
[INFO] [stdout] test midi::events::tests::test_velocity_scaling ... ok
[INFO] [stdout] test handlers::voices::tests::test_trigger_with_params ... ok
[INFO] [stdout] test midi::learn::tests::test_learned_mapping_value ... ok
[INFO] [stdout] test midi::learn::tests::test_midi_learn_process ... ok
[INFO] [stdout] test midi::learn::tests::test_midi_learn_session ... ok
[INFO] [stdout] test midi::mpe::tests::test_lower_zone ... ok
[INFO] [stdout] test midi::mpe::tests::test_mpe_state ... ok
[INFO] [stdout] test midi::mpe::tests::test_upper_zone ... ok
[INFO] [stdout] test midi::nrpn::tests::test_data_increment_decrement ... ok
[INFO] [stdout] test midi::nrpn::tests::test_is_nrpn_cc ... ok
[INFO] [stdout] test midi::mpe::tests::test_pitch_offset ... ok
[INFO] [stdout] test midi::nrpn::tests::test_rpn_sequence ... ok
[INFO] [stdout] test midi::nrpn::tests::test_nrpn_sequence ... ok
[INFO] [stdout] test midi::parser::tests::test_note_on_velocity_zero_is_note_off ... ok
[INFO] [stdout] test midi::nrpn::tests::test_mpe_configuration ... ok
[INFO] [stdout] test midi::parser::tests::test_parse_aftertouch ... ok
[INFO] [stdout] test midi::parser::tests::test_parse_pitch_bend ... ok
[INFO] [stdout] test midi::parser::tests::test_parse_program_change ... ok
[INFO] [stdout] test midi::parser::tests::test_realtime_mid_sysex ... ok
[INFO] [stdout] test midi::parser::tests::test_parse_realtime ... ok
[INFO] [stdout] test midi::mpe::tests::test_mpe_config ... ok
[INFO] [stdout] test midi::parser::tests::test_parse_control_change ... ok
[INFO] [stdout] test midi::queue::tests::test_basic_send_recv ... ok
[INFO] [stdout] test midi::queue::tests::test_queue_full ... ok
[INFO] [stdout] test midi::realtime::tests::test_device_unregistration ... ok
[INFO] [stdout] test midi::realtime::tests::test_queued_event_to_bytes ... ok
[INFO] [stdout] test midi::realtime::tests::test_service_creation ... ok
[INFO] [stdout] test midi::parser::tests::test_stateful_parser_running_status ... ok
[INFO] [stdout] test midi::recording::tests::test_recording_channel_filter ... ok
[INFO] [stdout] test midi::recording::tests::test_recording_basic ... ok
[INFO] [stdout] test midi::parser::tests::test_stateful_parser_sysex_spanning ... ok
[INFO] [stdout] test midi::realtime::tests::test_device_registration ... ok
[INFO] [stdout] test midi::queue::tests::test_drain ... ok
[INFO] [stdout] test midi::queue::tests::test_multiple_senders ... ok
[INFO] [stdout] test midi::nrpn::tests::test_null_rpn ... ok
[INFO] [stdout] test midi::parser::tests::test_parse_sysex ... ok
[INFO] [stdout] test midi::parser::tests::test_parse_note_on ... ok
[INFO] [stdout] test midi::recording::tests::test_recording_quantization ... ok
[INFO] [stdout] test midi::recording::tests::test_to_note_events ... ok
[INFO] [stdout] test midi::voice_output::tests::test_send_cc_for_param_no_cc_mapping ... ok
[INFO] [stdout] test midi::voice_output::tests::test_get_modulator_cc_mappings ... ok
[INFO] [stdout] test midi::voice_output::tests::test_send_cc_for_param_no_midi_output ... ok
[INFO] [stdout] test midi::voice_output::tests::test_has_modulator_cc_mappings ... ok
[INFO] [stdout] test midi::voice_output::tests::test_value_to_cc ... ok
[INFO] [stdout] test midi::voice_output::tests::test_is_midi_voice ... ok
[INFO] [stdout] test midi::voice_output::tests::test_send_cc_for_param_success ... ok
[INFO] [stdout] test reload::bus_pool::tests::test_clear ... ok
[INFO] [stdout] test reload::bus_pool::tests::test_allocated_groups ... ok
[INFO] [stdout] test reload::bus_pool::tests::test_different_groups_different_buses ... ok
[INFO] [stdout] test reload::bus_pool::tests::test_get_without_alloc ... ok
[INFO] [stdout] test reload::bus_pool::tests::test_first_allocation ... ok
[INFO] [stdout] test reload::bus_pool::tests::test_new_allocator ... ok
[INFO] [stdout] test reload::bus_pool::tests::test_release_many ... ok
[INFO] [stdout] test reload::bus_pool::tests::test_same_group_same_bus ... ok
[INFO] [stdout] test midi::queue::tests::test_recv_batch ... ok
[INFO] [stdout] test reload::diff::tests::test_diff_entities_create ... ok
[INFO] [stdout] test reload::diff::tests::test_diff_entities_delete ... ok
[INFO] [stdout] test midi::queue::tests::test_stats ... ok
[INFO] [stdout] test reload::bus_pool::tests::test_release_and_reuse ... ok
[INFO] [stdout] test reload::diff::tests::test_diff_entities_unchanged ... ok
[INFO] [stdout] test midi::realtime::tests::test_noop_service ... ok
[INFO] [stdout] test reload::diff::tests::test_entity_diff_empty ... ok
[INFO] [stdout] test reload::diff::tests::test_diff_entities_update ... ok
[INFO] [stdout] test reload::bus_pool::tests::test_default ... ok
[INFO] [stdout] test reload::bus_pool::tests::test_has_bus ... ok
[INFO] [stdout] test reload::diff::tests::test_entity_diff_has_changes ... ok
[INFO] [stdout] test reload::diff::tests::test_param_diff_removed ... ok
[INFO] [stdout] test reload::tests::test_order_group_creations_parent_first ... ok
[INFO] [stdout] test message::tests::test_all_sequence_messages ... ok
[INFO] [stdout] test reload::diff::tests::test_reload_diff_summary ... ok
[INFO] [stdout] test reload::script_state::tests::test_add_voice ... ok
[INFO] [stdout] test reload::script_state::tests::test_script_state_builder ... ok
[INFO] [stdout] test reload::tests::test_calculate_diff_no_changes ... ok
[INFO] [stdout] test reload::tests::test_order_group_deletions_child_first ... ok
[INFO] [stdout] test reload::diff::tests::test_param_diff_added ... ok
[INFO] [stdout] test reload::diff::tests::test_param_diff_changed ... ok
[INFO] [stdout] test reload::script_state::tests::test_add_group ... ok
[INFO] [stdout] test reload::tests::test_order_group_deletions_no_parent ... ok
[INFO] [stdout] test reload::script_state::tests::test_group_config_default ... ok
[INFO] [stdout] test reload::script_state::tests::test_script_state_new ... ok
[INFO] [stdout] test reload::diff::tests::test_param_diff_no_changes ... ok
[INFO] [stdout] test reload::tests::test_order_group_creations_deep_hierarchy ... ok
[INFO] [stdout] test reload::tests::test_calculate_diff_tempo ... ok
[INFO] [stdout] test reload::tests::test_order_modulator_creations_chain ... ok
[INFO] [stdout] test reload::tests::test_order_modulator_creations_diamond ... ok
[INFO] [stdout] test runtime::tests::test_backend_access ... ok
[INFO] [stdout] test runtime::tests::test_runtime_creation ... ok
[INFO] [stdout] test runtime::tests::test_nested_groups ... ok
[INFO] [stdout] test runtime::tests::test_group_creation_and_deletion ... ok
[INFO] [stdout] test runtime::tests::test_runtime_handle ... ok
[INFO] [stdout] test runtime::tests::test_group_solo ... ok
[INFO] [stdout] test runtime::tests::test_handle_clone ... ok
[INFO] [stdout] test runtime::tests::test_reload_updates_group_params ... ok
[INFO] [stdout] test runtime::tests::test_state_access ... ok
[INFO] [stdout] test runtime::tests::test_voice_creation_and_triggering ... ok
[INFO] [stdout] test runtime::tests::test_try_send ... ok
[INFO] [stdout] test runtime::tests::test_tempo_change ... ok
[INFO] [stdout] test reload::tests::test_order_modulator_creations_no_deps ... ok
[INFO] [stdout] test runtime::tests::test_group_mute ... ok
[INFO] [stdout] test runtime::tests::test_reload_deletes_groups ... ok
[INFO] [stdout] test runtime::tests::test_runtime_tick ... ok
[INFO] [stdout] test state::tests::test_alloc_node_id ... ok
[INFO] [stdout] test runtime::tests::test_reload_creates_groups ... ok
[INFO] [stdout] test runtime::tests::test_pattern_lifecycle ... ok
[INFO] [stdout] test state::tests::test_beats_to_secs ... ok
[INFO] [stdout] test runtime::tests::test_transport_start_stop ... ok
[INFO] [stdout] test runtime::tests::test_reload_no_changes ... ok
[INFO] [stdout] test state::tests::test_state_default ... ok
[INFO] [stdout] test synthdefs::encoder::tests::test_empty_synthdef ... ok
[INFO] [stdout] test synthdefs::encoder::tests::test_pstring_encoding ... ok
[INFO] [stdout] test synthdefs::encoder::tests::test_constant_dedup ... ok
[INFO] [stdout] test synthdefs::tests::test_simple_sine ... ok
[INFO] [stdout] test synthdefs::tests::test_has_essential_synthdefs ... ok
[INFO] [stdout] test synthdefs::tests::test_system_link_audio_from_dsp ... ok
[INFO] [stdout] test traits::fades::tests::test_all_curves_start_at_zero_end_at_one ... ok
[INFO] [stdout] test traits::fades::tests::test_ease_in_curve ... ok
[INFO] [stdout] test traits::fades::tests::test_exponential_curve ... ok
[INFO] [stdout] test traits::fades::tests::test_sine_curves ... ok
[INFO] [stdout] test traits::modulators::tests::test_modulator_config_clone ... ok
[INFO] [stdout] test traits::fades::tests::test_cubic_spline_multiple_points ... ok
[INFO] [stdout] test traits::fades::tests::test_linear_curve ... ok
[INFO] [stdout] test traits::fades::tests::test_logarithmic_curve ... ok
[INFO] [stdout] test traits::fades::tests::test_step_curve ... ok
[INFO] [stdout] test traits::fades::tests::test_curve_monotonicity ... ok
[INFO] [stdout] test traits::modulators::tests::test_modulator_config_different_synthdefs ... ok
[INFO] [stdout] test traits::modulators::tests::test_modulator_config_equality ... ok
[INFO] [stdout] test traits::fades::tests::test_curve_clamping ... ok
[INFO] [stdout] test traits::modulators::tests::test_modulator_config_equality_with_modulations ... ok
[INFO] [stdout] test traits::fades::tests::test_cubic_curves ... ok
[INFO] [stdout] test traits::fades::tests::test_cubic_spline_empty ... ok
[INFO] [stdout] test traits::modulators::tests::test_modulator_config_with_param ... ok
[INFO] [stdout] test traits::fades::tests::test_ease_in_out_curve ... ok
[INFO] [stdout] test traits::modulators::tests::test_modulator_config_with_modulation ... ok
[INFO] [stdout] test traits::recordings::tests::test_recording_status_default ... ok
[INFO] [stdout] test traits::recordings::tests::test_recording_config_defaults ... ok
[INFO] [stdout] test types::ids::tests::test_all_id_types ... ok
[INFO] [stdout] test types::ids::tests::test_different_id_types ... ok
[INFO] [stdout] test synthdefs::tests::test_generate_builtins ... ok
[INFO] [stdout] test traits::fades::tests::test_cubic_spline_single_point ... ok
[INFO] [stdout] test traits::recordings::tests::test_recording_config_builder ... ok
[INFO] [stdout] test traits::modulators::tests::test_modulator_config_negative_params ... ok
[INFO] [stdout] test traits::modulators::tests::test_modulator_config_new ... ok
[INFO] [stdout] test traits::modulators::tests::test_modulator_config_param_override ... ok
[INFO] [stdout] test types::ids::tests::test_id_clone ... ok
[INFO] [stdout] test traits::recordings::tests::test_recording_info_duration ... ok
[INFO] [stdout] test traits::modulators::tests::test_modulator_config_multiple_modulations ... ok
[INFO] [stdout] test traits::fades::tests::test_ease_out_curve ... ok
[INFO] [stdout] test types::ids::tests::test_id_from_u32 ... ok
[INFO] [stdout] test types::ids::tests::test_id_display ... ok
[INFO] [stdout] test types::ids::tests::test_id_equality ... ok
[INFO] [stdout] test types::ids::tests::test_id_default ... ok
[INFO] [stdout] test types::ids::tests::test_id_hash ... ok
[INFO] [stdout] test types::ids::tests::test_id_debug ... ok
[INFO] [stdout] test types::ids::tests::test_id_creation ... ok
[INFO] [stdout] test types::params::tests::test_param_builder_chaining ... ok
[INFO] [stdout] test types::time::tests::test_beat_arithmetic ... ok
[INFO] [stdout] test types::params::tests::test_param_builder_empty ... ok
[INFO] [stdout] test types::params::tests::test_param_builder ... ok
[INFO] [stdout] test types::params::tests::test_param_builder_override ... ok
[INFO] [stdout] test types::time::tests::test_beat_constants ... ok
[INFO] [stdout] test types::params::tests::test_param_map ... ok
[INFO] [stdout] test types::params::tests::test_param_map_with ... ok
[INFO] [stdout] test types::time::tests::test_beat_debug_display ... ok
[INFO] [stdout] test types::params::tests::test_param_string_key ... ok
[INFO] [stdout] test types::time::tests::test_beat_conversion ... ok
[INFO] [stdout] test types::time::tests::test_beat_floor_and_frac ... ok
[INFO] [stdout] test types::params::tests::test_param_builder_clone ... ok
[INFO] [stdout] test types::time::tests::test_beat_add_assign ... ok
[INFO] [stdout] test types::time::tests::test_beat_is_whole ... ok
[INFO] [stdout] test types::time::tests::test_beat_modulo ... ok
[INFO] [stdout] test types::time::tests::test_beat_ordering ... ok
[INFO] [stdout] test types::time::tests::test_beat_negative_modulo ... ok
[INFO] [stdout] test types::time::tests::test_beat_quantize ... ok
[INFO] [stdout] test types::time::tests::test_beat_rem_operator ... ok
[INFO] [stdout] test types::time::tests::test_beat_sub_assign ... ok
[INFO] [stdout] test types::time::tests::test_duration ... ok
[INFO] [stdout] test types::time::tests::test_duration_as_beat ... ok
[INFO] [stdout] test types::time::tests::test_quantize_edge_cases ... ok
[INFO] [stdout] test types::time::tests::test_time_signature ... ok
[INFO] [stdout] test types::time::tests::test_time_signature_display ... ok
[INFO] [stdout] test types::time::tests::test_time_signature_bar_duration ... ok
[INFO] [stdout] test validation::tests::test_bpm_validation ... ok
[INFO] [stdout] test validation::tests::test_melody_config_validation ... ok
[INFO] [stdout] test validation::tests::test_pattern_config_validation ... ok
[INFO] [stdout] test validation::tests::test_recording_config_validation ... ok
[INFO] [stdout] test validation::tests::test_sample_config_validation ... ok
[INFO] [stdout] test validation::tests::test_voice_config_validation ... ok
[INFO] [stdout] test validation::tests::test_midi_validation ... ok
[INFO] [stdout] test midi::input_task::tests::test_channel_handler ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 438 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests vibelang_core
[INFO] [stdout] 
[INFO] [stdout] running 25 tests
[INFO] [stdout] test src/backend.rs - backend (line 8) ... ignored
[INFO] [stdout] test src/backends/mod.rs - backends (line 11) ... ignored
[INFO] [stdout] test src/backends/mod.rs - backends (line 26) ... ignored
[INFO] [stdout] test src/backends/scsynth.rs - backends::scsynth (line 8) ... ignored
[INFO] [stdout] test src/backends/scsynth.rs - backends::scsynth::ScsynthBackend::connect (line 186) ... ignored
[INFO] [stdout] test src/backends/scsynth.rs - backends::scsynth::setup_metering (line 1132) ... ignored
[INFO] [stdout] test src/backends/scsynth.rs - backends::scsynth::setup_node_tracking (line 1087) ... ignored
[INFO] [stdout] test src/clock.rs - clock::TransportClock (line 21) ... ignored
[INFO] [stdout] test src/handlers/mod.rs - handlers (line 31) ... ignored
[INFO] [stdout] test src/handlers/recordings.rs - handlers::recordings (line 15) ... ignored
[INFO] [stdout] test src/handlers/samples.rs - handlers::samples (line 16) ... ignored
[INFO] [stdout] test src/lib.rs - (line 40) ... ignored
[INFO] [stdout] test src/midi/recording.rs - midi::recording (line 8) ... ignored
[INFO] [stdout] test src/midi/voice_output.rs - midi::voice_output::send_cc_for_param (line 52) ... ignored
[INFO] [stdout] test src/reload/bus_pool.rs - reload::bus_pool::BusAllocator (line 20) ... ignored
[INFO] [stdout] test src/reload/mod.rs - reload (line 44) ... ignored
[INFO] [stdout] test src/runtime.rs - runtime (line 8) ... ignored
[INFO] [stdout] test src/runtime.rs - runtime::Runtime (line 75) ... ignored
[INFO] [stdout] test src/runtime.rs - runtime::Runtime (line 82) ... ignored
[INFO] [stdout] test src/types/time.rs - types::time::Beat (line 31) ... ok
[INFO] [stdout] test src/types/ids.rs - types::ids (line 8) ... ok
[INFO] [stdout] test src/types/params.rs - types::params::ParamMap (line 44) ... ok
[INFO] [stdout] test src/types/params.rs - types::params (line 22) ... ok
[INFO] [stdout] test src/types/params.rs - types::params::ParamBuilder (line 87) ... ok
[INFO] [stdout] test src/types/time.rs - types::time::TimeSignature (line 225) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 19 ignored; 0 measured; 0 filtered out; finished in 2.15s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "85aa6d1ebf09948ba1af569f2eca253e3b6e96aa45eb0402a3131287f9980069", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "85aa6d1ebf09948ba1af569f2eca253e3b6e96aa45eb0402a3131287f9980069", kill_on_drop: false }`
[INFO] [stdout] 85aa6d1ebf09948ba1af569f2eca253e3b6e96aa45eb0402a3131287f9980069
