[INFO] cloning repository https://github.com/takemo101/sine-mml
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/takemo101/sine-mml" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftakemo101%2Fsine-mml", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftakemo101%2Fsine-mml'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6ee015b3eab397ed1e9d748a60692d9bfc425dc9
[INFO] testing takemo101/sine-mml against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftakemo101%2Fsine-mml" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/takemo101/sine-mml
[INFO] finished tweaking git repo https://github.com/takemo101/sine-mml
[INFO] tweaked toml for git repo https://github.com/takemo101/sine-mml written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/takemo101/sine-mml on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/takemo101/sine-mml 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" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "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 midir v0.9.1
[INFO] [stderr]   Downloaded coremidi v0.6.0
[INFO] [stderr]   Downloaded numeric-array v0.6.1
[INFO] [stderr]   Downloaded hashlink v0.11.0
[INFO] [stderr]   Downloaded symphonia v0.5.5
[INFO] [stderr]   Downloaded symphonia-codec-pcm v0.5.5
[INFO] [stderr]   Downloaded symphonia-utils-xiph v0.5.5
[INFO] [stderr]   Downloaded ctrlc v3.5.1
[INFO] [stderr]   Downloaded assert_cmd v2.1.2
[INFO] [stderr]   Downloaded symphonia-codec-adpcm v0.5.5
[INFO] [stderr]   Downloaded symphonia-codec-aac v0.5.5
[INFO] [stderr]   Downloaded generic-array v1.3.5
[INFO] [stderr]   Downloaded symphonia-bundle-flac v0.5.5
[INFO] [stderr]   Downloaded symphonia-bundle-mp3 v0.5.5
[INFO] [stderr]   Downloaded symphonia-core v0.5.5
[INFO] [stderr]   Downloaded symphonia-format-isomp4 v0.5.5
[INFO] [stderr]   Downloaded rusqlite v0.38.0
[INFO] [stderr]   Downloaded thingbuf v0.1.6
[INFO] [stderr]   Downloaded symphonia-format-mkv v0.5.5
[INFO] [stderr]   Downloaded symphonia-codec-vorbis v0.5.5
[INFO] [stderr]   Downloaded symphonia-format-ogg v0.5.5
[INFO] [stderr]   Downloaded symphonia-metadata v0.5.5
[INFO] [stderr]   Downloaded symphonia-codec-alac v0.5.5
[INFO] [stderr]   Downloaded microfft v0.6.0
[INFO] [stderr]   Downloaded symphonia-format-caf v0.5.5
[INFO] [stderr]   Downloaded symphonia-format-riff v0.5.5
[INFO] [stderr]   Downloaded glam v0.28.0
[INFO] [stderr]   Downloaded fundsp v0.18.2
[INFO] [stderr]   Downloaded comfy-table v7.1.4
[INFO] [stderr]   Downloaded funutd v0.16.0
[INFO] [stderr]   Downloaded sqlite-wasm-rs v0.5.1
[INFO] [stderr]   Downloaded libsqlite3-sys v0.36.0
[INFO] [stderr]   Downloaded windows v0.43.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c58c6e4cf66325021bbcc6e5e75939c09b2112e6365b2c6daef69a5be391c122
[INFO] running `Command { std: "docker" "start" "-a" "c58c6e4cf66325021bbcc6e5e75939c09b2112e6365b2c6daef69a5be391c122", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c58c6e4cf66325021bbcc6e5e75939c09b2112e6365b2c6daef69a5be391c122", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c58c6e4cf66325021bbcc6e5e75939c09b2112e6365b2c6daef69a5be391c122", kill_on_drop: false }`
[INFO] [stdout] c58c6e4cf66325021bbcc6e5e75939c09b2112e6365b2c6daef69a5be391c122
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] afd810e38f62dda011f85fdc794badbae3a2e80869e4166a575217810bc9f1de
[INFO] running `Command { std: "docker" "start" "-a" "afd810e38f62dda011f85fdc794badbae3a2e80869e4166a575217810bc9f1de", kill_on_drop: false }`
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling bytemuck v1.24.0
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling proc-macro2 v1.0.105
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling quote v1.0.43
[INFO] [stderr]    Compiling libm v0.2.15
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]    Compiling symphonia-core v0.5.5
[INFO] [stderr]    Compiling zerocopy v0.8.33
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling find-msvc-tools v0.1.7
[INFO] [stderr]    Compiling cc v1.2.52
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling symphonia-metadata v0.5.5
[INFO] [stderr]    Compiling symphonia-utils-xiph v0.5.5
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling libsqlite3-sys v0.36.0
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling portable-atomic v1.13.0
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling extended v0.1.0
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling symphonia-format-riff v0.5.5
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling generic-array v1.3.5
[INFO] [stderr]    Compiling symphonia-codec-vorbis v0.5.5
[INFO] [stderr]    Compiling symphonia-format-mkv v0.5.5
[INFO] [stderr]    Compiling symphonia-format-isomp4 v0.5.5
[INFO] [stderr]    Compiling symphonia-bundle-flac v0.5.5
[INFO] [stderr]    Compiling symphonia-format-ogg v0.5.5
[INFO] [stderr]    Compiling nix v0.24.3
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling symphonia-bundle-mp3 v0.5.5
[INFO] [stderr]    Compiling symphonia-format-caf v0.5.5
[INFO] [stderr]    Compiling symphonia-codec-aac v0.5.5
[INFO] [stderr]    Compiling symphonia-codec-adpcm v0.5.5
[INFO] [stderr]    Compiling symphonia-codec-pcm v0.5.5
[INFO] [stderr]    Compiling symphonia-codec-alac v0.5.5
[INFO] [stderr]    Compiling glam v0.28.0
[INFO] [stderr]    Compiling safe_arch v0.7.4
[INFO] [stderr]    Compiling clap_lex v0.7.6
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling clap_builder v4.5.54
[INFO] [stderr]    Compiling wide v0.7.33
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling microfft v0.6.0
[INFO] [stderr]    Compiling symphonia v0.5.5
[INFO] [stderr]    Compiling pin-project v1.1.10
[INFO] [stderr]    Compiling thingbuf v0.1.6
[INFO] [stderr]    Compiling alsa v0.7.1
[INFO] [stderr]    Compiling numeric-array v0.6.1
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling hashlink v0.11.0
[INFO] [stderr]    Compiling console v0.16.2
[INFO] [stderr]    Compiling alsa v0.9.1
[INFO] [stderr]    Compiling funutd v0.16.0
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling unit-prefix v0.5.2
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling indicatif v0.18.3
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling clap v4.5.54
[INFO] [stderr]    Compiling ctrlc v3.5.1
[INFO] [stderr]    Compiling fundsp v0.18.2
[INFO] [stderr]    Compiling comfy-table v7.1.4
[INFO] [stderr]    Compiling cpal v0.15.3
[INFO] [stderr]    Compiling midir v0.9.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling rusqlite v0.38.0
[INFO] [stderr]    Compiling sine-mml v0.2.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 43s
[INFO] running `Command { std: "docker" "inspect" "afd810e38f62dda011f85fdc794badbae3a2e80869e4166a575217810bc9f1de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "afd810e38f62dda011f85fdc794badbae3a2e80869e4166a575217810bc9f1de", kill_on_drop: false }`
[INFO] [stdout] afd810e38f62dda011f85fdc794badbae3a2e80869e4166a575217810bc9f1de
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5c376998721d4cc0c477575dc3a4e1675f38f4545e368694be98ddc8df657b1f
[INFO] running `Command { std: "docker" "start" "-a" "5c376998721d4cc0c477575dc3a4e1675f38f4545e368694be98ddc8df657b1f", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling predicates-core v1.0.9
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling assert_cmd v2.1.2
[INFO] [stderr]    Compiling predicates-tree v1.0.12
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling predicates v3.1.3
[INFO] [stderr]    Compiling sine-mml v0.2.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 31.63s
[INFO] running `Command { std: "docker" "inspect" "5c376998721d4cc0c477575dc3a4e1675f38f4545e368694be98ddc8df657b1f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5c376998721d4cc0c477575dc3a4e1675f38f4545e368694be98ddc8df657b1f", kill_on_drop: false }`
[INFO] [stdout] 5c376998721d4cc0c477575dc3a4e1675f38f4545e368694be98ddc8df657b1f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] f03d8061f8133ae3f6196d0365f6236929a52085121083e220701d0e4c94ba5a
[INFO] running `Command { std: "docker" "start" "-a" "f03d8061f8133ae3f6196d0365f6236929a52085121083e220701d0e4c94ba5a", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.32s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sine_mml-0276c09564548178)
[INFO] [stdout] 
[INFO] [stdout] running 117 tests
[INFO] [stdout] test audio::waveform::tests::test_waveform_types_exist ... ok
[INFO] [stdout] test audio::waveform::tests::test_midi_to_frequency ... ok
[INFO] [stdout] test cli::handlers::tests::test_clear_history_logic_cancel_no ... ok
[INFO] [stdout] test cli::handlers::tests::test_clear_history_logic_confirm_yes ... ok
[INFO] [stdout] test cli::handlers::tests::test_clear_history_logic_empty ... ok
[INFO] [stdout] test cli::handlers::tests::test_clear_history_logic_confirm_yes_uppercase ... ok
[INFO] [stdout] test cli::handlers::tests::test_export_handler_path_traversal ... ok
[INFO] [stdout] test cli::handlers::tests::test_history_logic_empty ... ok
[INFO] [stdout] test cli::handlers::tests::test_export_logic_not_found ... ok
[INFO] [stdout] test cli::handlers::tests::test_play_handler_no_input ... ok
[INFO] [stderr] ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
[INFO] [stderr] ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory
[INFO] [stderr] ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
[INFO] [stderr] ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
[INFO] [stderr] ALSA lib confmisc.c:1342:(snd_func_refer) error evaluating name
[INFO] [stderr] ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
[INFO] [stderr] ALSA lib conf.c:5727:(snd_config_expand) Evaluate error: No such file or directory
[INFO] [stderr] ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM default
[INFO] [stdout] test cli::handlers::tests::test_history_logic_with_data ... ok
[INFO] [stdout] test audio::player::tests::test_player_lifecycle ... ok
[INFO] [stdout] test cli::handlers::tests::test_export_logic_success ... ok
[INFO] [stdout] test cli::handlers::tests::test_play_handler_with_note_too_long ... ok
[INFO] [stdout] test cli::handlers::tests::test_should_save_flag_file_input ... ok
[INFO] [stdout] test cli::handlers::tests::test_should_save_flag_history_id ... ok
[INFO] [stdout] test cli::handlers::tests::test_should_save_flag_mml_input ... ok
[INFO] [stdout] test cli::handlers::tests::test_should_save_flag_no_history_file_input ... ok
[INFO] [stdout] test cli::handlers::tests::test_should_save_flag_no_history_false ... ok
[INFO] [stdout] test cli::handlers::tests::test_truncate_mml ... ok
[INFO] [stdout] test cli::handlers::tests::test_should_save_flag_no_history_mml_input ... ok
[INFO] [stdout] test cli::output::tests::test_display_midi_progress_interrupt_immediately ... ok
[INFO] [stdout] test cli::output::tests::test_create_export_progress_returns_valid_progressbar ... ok
[INFO] [stdout] test cli::output::tests::test_display_midi_progress_zero_duration ... ok
[INFO] [stdout] test cli::output::tests::test_error_does_not_panic ... ok
[INFO] [stdout] test cli::output::tests::test_info_does_not_panic ... ok
[INFO] [stdout] test cli::output::tests::test_success_does_not_panic ... ok
[INFO] [stdout] test cli::output::tests::test_warning_does_not_panic ... ok
[INFO] [stdout] test db::history::tests::test_history_entry_new_with_empty_note ... ok
[INFO] [stdout] test db::history::tests::test_history_entry_new_with_note ... ok
[INFO] [stdout] test db::history::tests::test_history_entry_new_with_utf8_note ... ok
[INFO] [stdout] test db::history::tests::test_history_entry_new_without_note ... ok
[INFO] [stdout] test db::history::tests::test_waveform_as_str ... ok
[INFO] [stdout] test db::history::tests::test_waveform_from_str ... ok
[INFO] [stdout] test db::schema::tests::test_migrate_idempotent ... ok
[INFO] [stdout] test db::schema::tests::test_migrate_v1_to_v2 ... ok
[INFO] [stdout] test db::schema::tests::test_new_db_no_migration ... ok
[INFO] [stdout] test db::schema::tests::test_note_length_constraint ... ok
[INFO] [stdout] test db::schema::tests::test_note_null_allowed ... ok
[INFO] [stdout] test db::schema::tests::test_schema_creates_history_table ... ok
[INFO] [stdout] test db::schema::tests::test_schema_creates_schema_version_table ... ok
[INFO] [stdout] test db::tests::test_clear_all_empty_db ... ok
[INFO] [stdout] test db::tests::test_clear_all_with_entries ... ok
[INFO] [stdout] test db::tests::test_count_after_clear ... ok
[INFO] [stdout] test db::tests::test_count_empty_db ... ok
[INFO] [stdout] test audio::exporter::tests::test_export_wav_success ... ok
[INFO] [stdout] test db::tests::test_count_with_entries ... ok
[INFO] [stdout] test db::tests::test_get_by_id_not_found ... ok
[INFO] [stdout] test db::tests::test_get_db_path_returns_valid_path ... ok
[INFO] [stdout] test db::tests::test_list_includes_note ... ok
[INFO] [stderr] ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
[INFO] [stdout] test cli::handlers::tests::test_play_handler_with_mml_device_fail_is_ok ... ok
[INFO] [stderr] ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory
[INFO] [stderr] ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
[INFO] [stderr] ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
[INFO] [stderr] ALSA lib confmisc.c:1342:(snd_func_refer) error evaluating name
[INFO] [stderr] ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
[INFO] [stderr] ALSA lib conf.c:5727:(snd_config_expand) Evaluate error: No such file or directory
[INFO] [stderr] ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM default
[INFO] [stdout] test db::tests::test_list_with_limit ... ok
[INFO] [stderr] ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
[INFO] [stderr] ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory
[INFO] [stderr] ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
[INFO] [stderr] ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
[INFO] [stderr] ALSA lib confmisc.c:1342:(snd_func_refer) error evaluating name
[INFO] [stderr] ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
[INFO] [stderr] ALSA lib conf.c:5727:(snd_config_expand) Evaluate error: No such file or directory
[INFO] [stderr] ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM default
[INFO] [stdout] test db::tests::test_save_and_get_by_id ... ok
[INFO] [stdout] test db::tests::test_list_returns_descending_order ... ok
[INFO] [stdout] test cli::handlers::tests::test_play_handler_with_note ... ok
[INFO] [stdout] test db::tests::test_save_and_get_by_id_with_note ... ok
[INFO] [stdout] test db::tests::test_save_and_get_by_id_with_utf8_note ... ok
[INFO] [stdout] test audio::waveform::tests::test_create_node ... ok
[INFO] [stdout] test db::tests::test_save_validation_volume_out_of_range ... ok
[INFO] [stdout] test db::tests::test_database_init_creates_file ... ok
[INFO] [stdout] test db::tests::test_save_validation_mml_empty ... ok
[INFO] [stdout] test midi::device::tests::test_connect_midi_device_with_real_device ... ignored, requires MIDI hardware - run with `cargo test -- --ignored`
[INFO] [stdout] test midi::device::tests::test_connect_midi_device_invalid_id ... ok
[INFO] [stderr] ALSA lib seq_hw.c:528:(snd_seq_hw_open) open /dev/snd/seq failed: No such file or directory
[INFO] [stdout] test midi::device::tests::test_list_midi_devices_info_returns_result ... ok
[INFO] [stderr] ALSA lib seq_hw.c:528:(snd_seq_hw_open) open /dev/snd/seq failed: No such file or directory
[INFO] [stderr] ALSA lib seq_hw.c:528:(snd_seq_hw_open) open /dev/snd/seq failed: No such file or directory
[INFO] [stdout] test db::tests::test_wal_mode_enabled ... ok
[INFO] [stdout] test midi::device::tests::test_midi_device_info_clone ... ok
[INFO] [stdout] test midi::device::tests::test_connect_midi_device_nonexistent_name ... ok
[INFO] [stderr] ALSA lib seq_hw.c:528:(snd_seq_hw_open) open /dev/snd/seq failed: No such file or directory
[INFO] [stderr] ALSA lib seq_hw.c:528:(snd_seq_hw_open) open /dev/snd/seq failed: No such file or directory
[INFO] [stdout] test midi::device::tests::test_list_midi_devices_returns_result ... ok
[INFO] [stdout] test midi::device::tests::test_resolve_device_id_nonexistent_name ... ok
[INFO] [stdout] test midi::device::tests::test_resolve_device_id_with_real_device ... ignored, requires MIDI hardware - run with `cargo test -- --ignored`
[INFO] [stdout] test midi::error::tests::test_connection_failed_display ... ok
[INFO] [stdout] test midi::error::tests::test_device_disconnected_display ... ok
[INFO] [stdout] test midi::error::tests::test_invalid_channel_display ... ok
[INFO] [stdout] test midi::error::tests::test_invalid_device_id_display ... ok
[INFO] [stdout] test midi::error::tests::test_is_valid_channel_invalid_seventeen ... ok
[INFO] [stdout] test midi::error::tests::test_is_valid_channel_invalid_zero ... ok
[INFO] [stdout] test midi::error::tests::test_is_valid_channel_valid ... ok
[INFO] [stdout] test midi::error::tests::test_no_device_found_display ... ok
[INFO] [stdout] test midi::error::tests::test_send_failed_display ... ok
[INFO] [stdout] test midi::error::tests::test_validate_channel_invalid ... ok
[INFO] [stdout] test midi::error::tests::test_validate_channel_valid ... ok
[INFO] [stdout] test mml::error::tests::display_empty_input ... ok
[INFO] [stdout] test mml::error::tests::display_empty_tie_chain ... ok
[INFO] [stdout] test mml::error::tests::display_invalid_number ... ok
[INFO] [stdout] test mml::error::tests::display_invalid_tie_sequence ... ok
[INFO] [stdout] test mml::error::tests::display_invalid_tuplet_count ... ok
[INFO] [stdout] test mml::error::tests::display_tie_pitch_mismatch ... ok
[INFO] [stdout] test mml::error::tests::display_tuplet_count_missing ... ok
[INFO] [stdout] test mml::error::tests::display_tuplet_nest_too_deep ... ok
[INFO] [stdout] test mml::error::tests::display_unclosed_tuplet ... ok
[INFO] [stdout] test mml::error::tests::display_unexpected_character ... ok
[INFO] [stdout] test mml::error::tests::display_unexpected_eof ... ok
[INFO] [stdout] test mml::error::tests::display_unexpected_token ... ok
[INFO] [stdout] test mml::file::tests::test_read_mml_file_complex_content ... ok
[INFO] [stdout] test mml::file::tests::test_read_mml_file_empty ... ok
[INFO] [stdout] test mml::file::tests::test_read_mml_file_hash_in_middle_of_line ... ok
[INFO] [stdout] test mml::file::tests::test_read_mml_file_invalid_extension ... ok
[INFO] [stdout] test mml::file::tests::test_read_mml_file_multiline ... ok
[INFO] [stdout] test mml::file::tests::test_read_mml_file_no_extension ... ok
[INFO] [stdout] test mml::file::tests::test_read_mml_file_not_found ... ok
[INFO] [stdout] test mml::file::tests::test_read_mml_file_only_hash ... ok
[INFO] [stdout] test mml::file::tests::test_read_mml_file_only_whitespace_lines ... ok
[INFO] [stdout] test mml::file::tests::test_read_mml_file_removes_empty_lines ... ok
[INFO] [stdout] test mml::file::tests::test_read_mml_file_single_line ... ok
[INFO] [stdout] test mml::file::tests::test_read_mml_file_success ... ok
[INFO] [stdout] test cli::output::tests::test_display_midi_progress_short_duration ... ok
[INFO] [stdout] test mml::file::tests::test_read_mml_file_trim_whitespace ... ok
[INFO] [stdout] test mml::file::tests::test_read_mml_file_utf8 ... ok
[INFO] [stdout] test mml::file::tests::test_read_mml_file_with_comments ... ok
[INFO] [stdout] test mml::file::tests::test_read_mml_file_with_indented_comment ... ok
[INFO] [stdout] test cli::handlers::tests::test_clear_history_logic_invalid_input ... ok
[INFO] [stdout] test cli::handlers::tests::test_history_logic_with_note ... ok
[INFO] [stdout] test db::tests::test_save_validation_bpm_out_of_range ... ok
[INFO] [stdout] test midi::device::tests::test_midi_device_info_debug ... ok
[INFO] [stdout] test midi::device::tests::test_midi_device_info_new ... ok
[INFO] [stderr] ALSA lib seq_hw.c:528:(snd_seq_hw_open) open /dev/snd/seq failed: No such file or directory
[INFO] [stdout] test midi::device::tests::test_resolve_device_id_invalid_numeric ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/sine_mml-e2f71f212235b69d)
[INFO] [stdout] test mml::file::tests::test_read_mml_file_too_large ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 115 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.55s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/audio_synthesizer_test.rs (/opt/rustwide/target/debug/deps/audio_synthesizer_test-336e4eb41939ad01)
[INFO] [stdout] 
[INFO] [stdout] running 43 tests
[INFO] [stdout] test test_beat_interval_4beat_at_120bpm ... ok
[INFO] [stdout] test test_beat_interval_4beat_at_240bpm ... ok
[INFO] [stdout] test test_beat_interval_8beat_at_120bpm ... ok
[INFO] [stdout] test test_click_generation ... ok
[INFO] [stdout] test test_beat_interval_16beat_at_120bpm ... ok
[INFO] [stdout] test test_default_velocity_is_10 ... ok
[INFO] [stdout] test test_beat_interval_4beat_at_60bpm ... ok
[INFO] [stdout] test test_get_tempo_events_single_tempo ... ok
[INFO] [stdout] test test_mix_metronome_click_positions ... ok
[INFO] [stdout] test test_mix_metronome_with_tempo_events_empty ... ok
[INFO] [stdout] test test_get_tempo_events_tempo_change_mid_song ... ok
[INFO] [stdout] test test_mix_metronome_with_tempo_events_single ... ok
[INFO] [stdout] test test_mix_metronome_additive ... ok
[INFO] [stdout] test test_normalize_boundary_case ... ok
[INFO] [stdout] test test_normalize_clipping_samples ... ok
[INFO] [stdout] test test_normalize_empty_slice ... ok
[INFO] [stdout] test test_normalize_negative_peak ... ok
[INFO] [stdout] test test_normalize_no_change_when_within_range ... ok
[INFO] [stdout] test test_normalize_single_sample_exceeding ... ok
[INFO] [stdout] test test_normalize_single_sample_within_range ... ok
[INFO] [stdout] test test_resample_linear_downsample ... ok
[INFO] [stdout] test test_resample_linear_empty ... ok
[INFO] [stdout] test test_mix_metronome_with_tempo_events_tempo_change ... ok
[INFO] [stdout] test test_noise_click_sample_count ... ok
[INFO] [stdout] test test_noise_click_volume_application ... ok
[INFO] [stdout] test test_normalize_all_zeros ... ok
[INFO] [stdout] test test_resample_linear_upsample ... ok
[INFO] [stdout] test test_resample_linear_target_zero ... ok
[INFO] [stdout] test test_get_tempo_events_default_tempo ... ok
[INFO] [stdout] test test_mix_metronome_16beat_more_clicks ... ok
[INFO] [stdout] test test_synthesize_tuplet_octave_change ... ok
[INFO] [stdout] test test_synthesize_volume_clamp_lower ... ok
[INFO] [stdout] test test_synthesize_tuplet_with_rest ... ok
[INFO] [stdout] test test_synthesize_tuplet_5_notes ... ok
[INFO] [stdout] test test_synthesize_volume_clamp_upper ... ok
[INFO] [stdout] test test_synthesizer_creation ... ok
[INFO] [stdout] test test_synthesize_with_relative_volume_decrease ... ok
[INFO] [stdout] test test_synthesize_with_absolute_volume ... ok
[INFO] [stdout] test test_synthesize_with_relative_volume_increase ... ok
[INFO] [stdout] test test_synthesize_simple_note ... ok
[INFO] [stdout] test test_synthesize_tuplet_3_notes ... ok
[INFO] [stdout] test test_synthesize_tuplet_with_base_duration ... ok
[INFO] [stdout] test test_beat_interval_invalid_beat - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 43 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli_args_test.rs (/opt/rustwide/target/debug/deps/cli_args_test-60e976b262c28c2f)
[INFO] [stdout] 
[INFO] [stdout] running 28 tests
[INFO] [stdout] test test_bpm_option_removed ... ok
[INFO] [stdout] test test_midi_channel_default ... ok
[INFO] [stdout] test test_metronome_beat_invalid ... ok
[INFO] [stdout] test test_default_values ... ok
[INFO] [stdout] test test_metronome_beat_valid ... ok
[INFO] [stdout] test test_metronome_volume_out_of_range ... ok
[INFO] [stdout] test test_midi_out_option ... ok
[INFO] [stdout] test test_midi_out_with_device_name ... ok
[INFO] [stdout] test test_file_option_parsing ... ok
[INFO] [stdout] test test_no_history_short_flag ... ok
[INFO] [stdout] test test_no_history_with_loop_play ... ok
[INFO] [stdout] test test_no_history_with_midi_out ... ok
[INFO] [stdout] test test_midi_combined_options ... ok
[INFO] [stdout] test test_midi_list_subcommand ... ok
[INFO] [stdout] test test_note_option ... ok
[INFO] [stdout] test test_no_history_default ... ok
[INFO] [stdout] test test_validate_note_char_count ... ok
[INFO] [stdout] test test_validate_note_too_long ... ok
[INFO] [stdout] test test_validate_volume_invalid ... ok
[INFO] [stdout] test test_validate_note_valid ... ok
[INFO] [stdout] test test_validate_volume_valid ... ok
[INFO] [stdout] test test_metronome_volume_valid ... ok
[INFO] [stdout] test test_play_args_conflict ... ok
[INFO] [stdout] test test_waveform_parsing ... ok
[INFO] [stdout] test test_no_history_long_flag ... ok
[INFO] [stdout] test test_midi_channel_invalid ... ok
[INFO] [stdout] test test_midi_channel_valid ... ok
[INFO] [stdout] test test_validate_note_utf8 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli_integration.rs (/opt/rustwide/target/debug/deps/cli_integration-084271e24a378cb4)
[INFO] [stdout] 
[INFO] [stdout] running 34 tests
[INFO] [stdout] test test_bpm_option_removed ... ok
[INFO] [stdout] test test_clear_history_confirm_yes ... ok
[INFO] [stdout] test test_clear_history_cancel ... ok
[INFO] [stdout] test test_clear_history_invalid_input ... ok
[INFO] [stdout] test test_clear_history_runs ... ok
[INFO] [stdout] test test_cli_file_not_found ... ok
[INFO] [stdout] test test_cli_invalid_extension ... ok
[INFO] [stdout] test test_cli_history_displays_note_column ... ok
[INFO] [stdout] test test_cli_default_volume_relative ... ok
[INFO] [stdout] test test_cli_loop_count_error ... ok
[INFO] [stdout] test test_cli_loop_expanded_too_large ... ok
[INFO] [stdout] test test_cli_lowercase_with_loop ... ok
[INFO] [stdout] test test_cli_integration_file_volume_loop ... ok
[INFO] [stdout] test test_cli_loop_nest_too_deep_error ... ok
[INFO] [stdout] test test_cli_nested_loop_6_levels_error ... ok
[INFO] [stdout] test test_cli_loop_with_escape_point ... ok
[INFO] [stdout] test test_cli_note_too_long ... ok
[INFO] [stdout] test test_cli_file_with_note ... ok
[INFO] [stdout] test test_cli_nested_loop_2_levels ... ok
[INFO] [stdout] test test_cli_volume_out_of_range ... ok
[INFO] [stdout] test test_cli_play_with_loop_syntax ... ok
[INFO] [stdout] test test_history_command ... ok
[INFO] [stdout] test test_cli_note_with_utf8 ... ok
[INFO] [stdout] test test_help_flag ... ok
[INFO] [stdout] test test_invalid_metronome_beat ... ok
[INFO] [stdout] test test_cli_play_with_note ... ok
[INFO] [stdout] test test_valid_metronome_options ... ok
[INFO] [stdout] test test_version_flag ... ok
[INFO] [stdout] test test_cli_nested_loop_5_levels ... ok
[INFO] [stdout] test test_cli_play_with_file ... ok
[INFO] [stdout] test test_cli_relative_volume ... ok
[INFO] [stdout] test test_play_missing_input ... ok
[INFO] [stdout] test test_cli_nested_loop_allowed ... ok
[INFO] [stdout] test test_play_basic_mml ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 34 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.39s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/e2e_midi_tuplet.rs (/opt/rustwide/target/debug/deps/e2e_midi_tuplet-7a824dd98e46ce0f)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test midi_tests::test_midi_invalid_device_error ... ok
[INFO] [stdout] test tuplet_tests::test_invalid_tuplet_count_error ... ok
[INFO] [stdout] test tuplet_tests::test_tuplet_nest_too_deep_error ... ok
[INFO] [stdout] test tuplet_tests::test_tuplet_playback ... ok
[INFO] [stdout] test midi_tests::test_midi_invalid_channel_error ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/midi_message_test.rs (/opt/rustwide/target/debug/deps/midi_message_test-39714f1f2389706f)
[INFO] [stdout] 
[INFO] [stdout] running 31 tests
[INFO] [stdout] test test_all_notes_off_to_bytes_channel_1 ... ok
[INFO] [stdout] test test_build_all_notes_off_message ... ok
[INFO] [stdout] test test_build_all_notes_off_message_channel_10 ... ok
[INFO] [stdout] test test_all_notes_off_to_bytes_channel_10 ... ok
[INFO] [stdout] test test_build_note_off_message ... ok
[INFO] [stdout] test test_build_note_off_message_channel_16 ... ok
[INFO] [stdout] test test_build_note_on_message_channel_10 ... ok
[INFO] [stdout] test test_mml_to_midi_note_a4 ... ok
[INFO] [stdout] test test_mml_to_midi_note_all_pitches ... ok
[INFO] [stdout] test test_mml_to_midi_note_c0 ... ok
[INFO] [stdout] test test_mml_to_midi_note_b8 ... ok
[INFO] [stdout] test test_mml_to_midi_note_clamping_high ... ok
[INFO] [stdout] test test_build_note_on_message ... ok
[INFO] [stdout] test test_mml_volume_to_velocity_v0 ... ok
[INFO] [stdout] test test_mml_volume_to_velocity_v1 ... ok
[INFO] [stdout] test test_mml_volume_to_velocity_v10 ... ok
[INFO] [stdout] test test_mml_volume_to_velocity_v15 ... ok
[INFO] [stdout] test test_mml_volume_to_velocity_v5 ... ok
[INFO] [stdout] test test_note_off_to_bytes_channel_1 ... ok
[INFO] [stdout] test test_note_on_creation ... ok
[INFO] [stdout] test test_note_off_creation ... ok
[INFO] [stdout] test test_note_off_to_bytes_channel_16 ... ok
[INFO] [stdout] test test_note_on_to_bytes_channel_1 ... ok
[INFO] [stdout] test test_to_bytes_clamps_note ... ok
[INFO] [stdout] test test_to_bytes_clamps_velocity ... ok
[INFO] [stdout] test test_note_on_to_bytes_channel_10 ... ok
[INFO] [stdout] test test_volume_to_velocity_full_table ... ok
[INFO] [stdout] test test_all_notes_off_creation ... ok
[INFO] [stdout] test test_mml_to_midi_note_c4 ... ok
[INFO] [stdout] test test_mml_to_midi_note_c_sharp_4 ... ok
[INFO] [stdout] test test_mml_to_midi_note_d_flat_4 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 31 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/midi_player_test.rs (/opt/rustwide/target/debug/deps/midi_player_test-e8cd841181d2e7c9)
[INFO] [stdout] 
[INFO] [stdout] running 29 tests
[INFO] [stdout] test test_calculate_total_duration_ms_loop_with_escape ... ok
[INFO] [stdout] test test_calculate_total_duration_ms_empty ... ok
[INFO] [stdout] test test_calculate_total_duration_ms_loop_with_tempo_change ... ok
[INFO] [stdout] test test_calculate_total_duration_ms_tempo_change ... ok
[INFO] [stdout] test test_calculate_total_duration_ms_tuplet ... ok
[INFO] [stdout] test test_calculate_total_duration_ms_simple ... ok
[INFO] [stdout] test test_calculate_total_duration_ms_complex ... ok
[INFO] [stdout] test test_calculate_total_duration_ms_with_loop ... ok
[INFO] [stdout] test test_calculate_total_duration_ms_with_rest ... ok
[INFO] [stdout] test test_eighth_note_duration ... ok
[INFO] [stdout] test test_note_duration_calculation ... ok
[INFO] [stdout] test test_play_midi_stream_validates_channel ... ok
[INFO] [stdout] test test_playback_state_update_default_length ... ok
[INFO] [stdout] test test_playback_state_update_octave ... ok
[INFO] [stdout] test test_playback_state_update_octave_down ... ok
[INFO] [stdout] test test_playback_state_update_octave_down_min ... ok
[INFO] [stdout] test test_playback_state_update_tempo ... ok
[INFO] [stdout] test test_playback_state_update_volume_clamp_max ... ok
[INFO] [stdout] test test_playback_state_update_octave_up ... ok
[INFO] [stdout] test test_playback_state_update_volume_absolute ... ok
[INFO] [stdout] test test_playback_state_update_octave_up_max ... ok
[INFO] [stdout] test test_playback_state_update_volume_relative_clamp_max ... ok
[INFO] [stdout] test test_playback_state_update_volume_relative_negative ... ok
[INFO] [stdout] test test_playback_state_update_volume_relative_clamp_min ... ok
[INFO] [stdout] test test_playback_state_update_volume_relative_positive ... ok
[INFO] [stdout] test test_rest_duration_calculation ... ok
[INFO] [stdout] test test_tempo_affects_duration ... ok
[INFO] [stdout] test test_whole_note_duration ... ok
[INFO] [stdout] test test_playback_state_default ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 29 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/mml_ast_test.rs (/opt/rustwide/target/debug/deps/mml_ast_test-d519224b3eca60e4)
[INFO] [stdout] 
[INFO] [stdout] running 40 tests
[INFO] [stdout] test duration_in_seconds_with_default ... ok
[INFO] [stdout] test duration_to_beats_eighth_note ... ok
[INFO] [stdout] test duration_to_beats_half_note ... ok
[INFO] [stdout] test duration_to_beats_sixteenth_note ... ok
[INFO] [stdout] test duration_to_beats_with_default_length ... ok
[INFO] [stdout] test get_tempo_with_tempo_command ... ok
[INFO] [stdout] test note_duration_quarter_at_120bpm ... ok
[INFO] [stdout] test note_to_midi_a4_equals_69 ... ok
[INFO] [stdout] test note_to_midi_c4_equals_60 ... ok
[INFO] [stdout] test duration_in_seconds_with_dots ... ok
[INFO] [stdout] test note_total_beats_dotted ... ok
[INFO] [stdout] test duration_to_beats_double_dotted ... ok
[INFO] [stdout] test duration_to_beats_quarter_note ... ok
[INFO] [stdout] test note_total_beats_default_duration ... ok
[INFO] [stdout] test duration_to_beats_dotted_quarter ... ok
[INFO] [stdout] test note_total_beats_quarter ... ok
[INFO] [stdout] test note_total_beats_with_tie ... ok
[INFO] [stdout] test pitch_from_char_invalid ... ok
[INFO] [stdout] test rest_total_beats_default_duration ... ok
[INFO] [stdout] test rest_total_beats_quarter ... ok
[INFO] [stdout] test tied_duration_has_ties ... ok
[INFO] [stdout] test tied_duration_new ... ok
[INFO] [stdout] test tied_duration_total_beats_multiple_ties ... ok
[INFO] [stdout] test tied_duration_total_beats_no_ties ... ok
[INFO] [stdout] test tied_duration_total_beats_simple ... ok
[INFO] [stdout] test tied_duration_total_beats_whole_note ... ok
[INFO] [stdout] test tied_duration_total_beats_with_dotted ... ok
[INFO] [stdout] test tied_duration_total_duration_multiple_ties ... ok
[INFO] [stdout] test tied_duration_total_duration_simple ... ok
[INFO] [stdout] test tuplet_command_basic ... ok
[INFO] [stdout] test get_tempo_without_tempo_command_returns_default ... ok
[INFO] [stdout] test note_duration_dotted ... ok
[INFO] [stdout] test rest_total_beats_with_tie ... ok
[INFO] [stderr]      Running tests/mml_parser_test.rs (/opt/rustwide/target/debug/deps/mml_parser_test-2674a556bc451256)
[INFO] [stdout] test tied_duration_add_tie ... ok
[INFO] [stdout] test pitch_from_char_valid ... ok
[INFO] [stdout] test tuplet_command_clone_and_eq ... ok
[INFO] [stdout] test tuplet_command_nested ... ok
[INFO] [stdout] test tuplet_command_with_base_duration ... ok
[INFO] [stdout] test rest_total_beats_dotted ... ok
[INFO] [stdout] test tuplet_command_with_rest ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 40 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 96 tests
[INFO] [stdout] test parse_basic_loop_3_times ... ok
[INFO] [stdout] test parse_complex_mml ... ok
[INFO] [stdout] test parse_empty_input ... ok
[INFO] [stdout] test parse_empty_loop ... ok
[INFO] [stdout] test parse_dotted_note ... ok
[INFO] [stdout] test parse_invalid_number_range ... ok
[INFO] [stdout] test parse_loop_count_1 ... ok
[INFO] [stdout] test parse_loop_count_100_error ... ok
[INFO] [stdout] test parse_loop_count_99 ... ok
[INFO] [stdout] test parse_loop_count_0_error ... ok
[INFO] [stdout] test parse_loop_default_count ... ok
[INFO] [stdout] test parse_loop_escape_outside_loop_error ... ok
[INFO] [stdout] test parse_loop_nest_3_levels ... ok
[INFO] [stdout] test parse_loop_nest_4_levels ... ok
[INFO] [stdout] test parse_loop_nest_5_levels ... ok
[INFO] [stdout] test parse_loop_nest_6_levels_error ... ok
[INFO] [stdout] test parse_loop_nest_with_escape_point ... ok
[INFO] [stdout] test parse_loop_nest_7_levels_error ... ok
[INFO] [stdout] test parse_loop_expansion_barely_exceeds ... ok
[INFO] [stdout] test parse_loop_with_escape_point ... ok
[INFO] [stdout] test parse_loop_with_octave_change ... ok
[INFO] [stdout] test parse_loop_with_rest ... ok
[INFO] [stdout] test parse_loop_with_tempo_and_volume ... ok
[INFO] [stdout] test parse_multiple_escape_points_error ... ok
[INFO] [stdout] test parse_multiple_loops ... ok
[INFO] [stdout] test parse_nested_loop_zero_count_error ... ok
[INFO] [stdout] test parse_note_empty_tie_error ... ok
[INFO] [stdout] test parse_note_tie_dot_only ... ok
[INFO] [stdout] test parse_note_tie_followed_by_note ... ok
[INFO] [stdout] test parse_note_tie_with_dots ... ok
[INFO] [stdout] test parse_note_with_accidental_and_tie ... ok
[INFO] [stdout] test parse_loop_expansion_within_limit ... ok
[INFO] [stdout] test parse_note_with_duration ... ok
[INFO] [stdout] test parse_note_with_multiple_ties ... ok
[INFO] [stdout] test parse_note_with_single_tie ... ok
[INFO] [stdout] test parse_octave ... ok
[INFO] [stdout] test parse_octave_change_with_notes ... ok
[INFO] [stdout] test parse_octave_down ... ok
[INFO] [stdout] test parse_note_with_sharp ... ok
[INFO] [stdout] test parse_loop_expansion_too_large ... ok
[INFO] [stdout] test parse_rest ... ok
[INFO] [stdout] test parse_octave_up ... ok
[INFO] [stdout] test parse_rest_empty_tie_error ... ok
[INFO] [stdout] test parse_rest_with_single_tie ... ok
[INFO] [stdout] test parse_loop_nest_2_levels ... ok
[INFO] [stdout] test parse_single_note ... ok
[INFO] [stdout] test parse_loop_nest_with_commands ... ok
[INFO] [stdout] test parse_rest_with_multiple_ties ... ok
[INFO] [stdout] test parse_tuplet_5 ... ok
[INFO] [stdout] test parse_tuplet_base_duration_4 ... ok
[INFO] [stdout] test parse_tempo ... ok
[INFO] [stdout] test parse_tuplet_basic_3 ... ok
[INFO] [stdout] test parse_tuplet_count_99 ... ok
[INFO] [stdout] test parse_tuplet_end_without_start ... ok
[INFO] [stdout] test parse_tuplet_followed_by_notes ... ok
[INFO] [stdout] test parse_tuplet_individual_durations ... ok
[INFO] [stdout] test parse_tuplet_empty ... ok
[INFO] [stdout] test parse_tuplet_count_missing_error ... ok
[INFO] [stdout] test parse_tuplet_invalid_count_0 ... ok
[INFO] [stdout] test parse_tuplet_invalid_count_1 ... ok
[INFO] [stdout] test parse_tuplet_unclosed_error ... ok
[INFO] [stdout] test parse_multiple_notes_with_ties ... ok
[INFO] [stdout] test parse_tuplet_with_loop ... ok
[INFO] [stdout] test parse_tuplet_with_octave ... ok
[INFO] [stdout] test parse_tuplet_nest_5_levels ... ok
[INFO] [stdout] test parse_tuplet_with_base_duration ... ok
[INFO] [stdout] test parse_tuplet_nest_6_levels_error ... ok
[INFO] [stdout] test parse_tuplet_nested_2_levels ... ok
[INFO] [stdout] test parse_nested_loop_allowed ... ok
[INFO] [stdout] test parse_tuplet_with_rest ... ok
[INFO] [stdout] test parse_unmatched_loop_end_error ... ok
[INFO] [stdout] test parse_tuplet_with_tie ... ok
[INFO] [stdout] test parse_volume_absolute ... ok
[INFO] [stdout] test parse_volume_consecutive_relative ... ok
[INFO] [stdout] test parse_volume_default_increase ... ok
[INFO] [stdout] test parse_unmatched_loop_start_error ... ok
[INFO] [stdout] test parse_volume_default_decrease ... ok
[INFO] [stdout] test parse_volume_invalid_absolute_out_of_range ... ok
[INFO] [stdout] test parse_volume_fifteen ... ok
[INFO] [stdout] test parse_volume_relative_increase ... ok
[INFO] [stdout] test parse_volume_clamp_large_negative_relative ... ok
[INFO] [stdout] test parse_whitespace_only ... ok
[INFO] [stdout] test test_consume_tie_failure ... ok
[INFO] [stdout] test parse_volume_zero ... ok
[INFO] [stdout] test test_consume_tie_success ... ok
[INFO] [stdout] test parse_volume_clamp_large_relative ... ok
[INFO] [stdout] test parse_volume_relative_decrease ... ok
[INFO] [stdout] test test_expand_loop_basic ... ok
[INFO] [stdout] test test_loop_depth_reset_after_sequence ... ok
[INFO] [stdout] test test_expand_loop_empty ... ok
[INFO] [stdout] test test_expand_loop_escape_at_start ... ok
[INFO] [stdout] test test_expand_loop_with_escape ... ok
[INFO] [stdout] test test_is_next_tie_false ... ok
[INFO] [stdout] test test_is_next_tie_true ... ok
[INFO] [stdout] test test_loop_depth_tracking ... ok
[INFO] [stdout] test test_volume_multiple_relative ... ok
[INFO] [stdout] 
[INFO] [stderr]      Running tests/mml_tie_test.rs (/opt/rustwide/target/debug/deps/mml_tie_test-9b01a17bb70733cd)
[INFO] [stdout] test result: ok. 96 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 64 tests
[INFO] [stdout] test test_duration_to_beats_default_length ... ok
[INFO] [stdout] test test_duration_to_beats_double_dotted ... ok
[INFO] [stdout] test test_duration_to_beats_dotted_quarter ... ok
[INFO] [stdout] test test_duration_to_beats_eighth ... ok
[INFO] [stdout] test test_duration_to_beats_half ... ok
[INFO] [stdout] test test_duration_to_beats_quarter ... ok
[INFO] [stdout] test test_duration_to_beats_sixteenth ... ok
[INFO] [stdout] test test_note_duration_no_tie ... ok
[INFO] [stdout] test test_note_duration_tie_with_dot ... ok
[INFO] [stdout] test test_note_total_beats_dotted ... ok
[INFO] [stdout] test test_edge_case_very_long_tie ... ok
[INFO] [stdout] test test_edge_case_very_short_tie ... ok
[INFO] [stdout] test test_note_duration_with_tie ... ok
[INFO] [stdout] test test_note_duration_long_tie ... ok
[INFO] [stdout] test test_note_duration_multiple_tie ... ok
[INFO] [stdout] test test_note_total_beats_quarter ... ok
[INFO] [stdout] test test_note_total_beats_with_tie ... ok
[INFO] [stdout] test test_parse_multiple_notes_with_ties ... ok
[INFO] [stdout] test test_parse_note_multiple_tie ... ok
[INFO] [stdout] test test_parse_note_tie_different_pitch_error ... ok
[INFO] [stdout] test test_parse_note_tie_no_following_error ... ok
[INFO] [stdout] test test_parse_note_tie_followed_by_same_pitch_is_separate ... ok
[INFO] [stdout] test test_parse_note_tie_duration_only ... ok
[INFO] [stdout] test test_parse_rest_tie_multiple ... ok
[INFO] [stdout] test test_parse_note_tie_with_dot_after ... ok
[INFO] [stdout] test test_parse_note_tie_followed_by_command_error ... ok
[INFO] [stdout] test test_parse_note_tie_note_and_rest_error ... ok
[INFO] [stdout] test test_parse_note_tie_with_dot_before ... ok
[INFO] [stdout] test test_parse_rest_tie_duration_only ... ok
[INFO] [stdout] test test_parse_rest_tie_no_following_error ... ok
[INFO] [stdout] test test_parse_tie_inside_loop ... ok
[INFO] [stdout] test test_parse_tie_dot_only ... ok
[INFO] [stdout] test test_parse_tie_with_flat ... ok
[INFO] [stdout] test test_parse_tie_with_other_commands ... ok
[INFO] [stdout] test test_parse_rest_tie_rest_and_note_error ... ok
[INFO] [stdout] test test_regression_dotted_note ... ok
[INFO] [stdout] test test_regression_loop_syntax ... ok
[INFO] [stdout] test test_performance_tie_duration_calculation ... ok
[INFO] [stdout] test test_regression_notes_without_tie ... ok
[INFO] [stdout] test test_parse_tie_with_sharp ... ok
[INFO] [stdout] test test_performance_tie_parsing ... ok
[INFO] [stdout] test test_regression_relative_volume ... ok
[INFO] [stdout] test test_rest_total_beats_quarter ... ok
[INFO] [stdout] test test_rest_duration_with_tie ... ok
[INFO] [stdout] test test_tied_duration_add_tie ... ok
[INFO] [stdout] test test_rest_total_beats_with_tie ... ok
[INFO] [stdout] test test_tied_duration_basic ... ok
[INFO] [stdout] test test_tied_duration_default_length ... ok
[INFO] [stdout] test test_tied_duration_different_bpm ... ok
[INFO] [stdout] test test_tied_duration_has_ties ... ok
[INFO] [stdout] test test_tied_duration_multiple_dots ... ok
[INFO] [stdout] test test_tied_duration_new ... ok
[INFO] [stdout] test test_tied_duration_total_beats_dotted ... ok
[INFO] [stdout] test test_tied_duration_total_beats_multiple ... ok
[INFO] [stdout] test test_tied_duration_total_beats_no_ties ... ok
[INFO] [stdout] test test_tied_duration_total_beats_simple ... ok
[INFO] [stdout] test test_tied_duration_total_beats_whole_note ... ok
[INFO] [stdout] test test_tied_duration_with_ties ... ok
[INFO] [stdout] test test_tokenize_multiple_ties ... ok
[INFO] [stdout] test test_tokenize_tie_position ... ok
[INFO] [stdout] test test_tokenize_tie_position_with_whitespace ... ok
[INFO] [stdout] test test_tokenize_tie_with_space ... ok
[INFO] [stdout] test test_tied_duration_with_dot ... ok
[INFO] [stdout] test test_tokenize_tie_basic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 64 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/mml_tokenizer_test.rs (/opt/rustwide/target/debug/deps/mml_tokenizer_test-055454b2d3195938)
[INFO] [stdout] 
[INFO] [stdout] running 36 tests
[INFO] [stdout] test tokenize_case_insensitive ... ok
[INFO] [stdout] test tokenize_colon_for_tuplet ... ok
[INFO] [stdout] test tokenize_complex_mml ... ok
[INFO] [stdout] test tokenize_dotted_note ... ok
[INFO] [stdout] test tokenize_empty_input ... ok
[INFO] [stdout] test tokenize_length_command ... ok
[INFO] [stdout] test tokenize_ignores_whitespace ... ok
[INFO] [stdout] test tokenize_invalid_character ... ok
[INFO] [stdout] test tokenize_loop_positions ... ok
[INFO] [stdout] test tokenize_loop_start ... ok
[INFO] [stdout] test tokenize_loop_with_escape ... ok
[INFO] [stdout] test tokenize_note_with_duration ... ok
[INFO] [stdout] test tokenize_note_with_flat ... ok
[INFO] [stdout] test tokenize_note_with_sharp ... ok
[INFO] [stdout] test tokenize_octave_command ... ok
[INFO] [stdout] test tokenize_note_with_tie ... ok
[INFO] [stdout] test tokenize_loop_end ... ok
[INFO] [stdout] test tokenize_octave_change_in_mml ... ok
[INFO] [stdout] test tokenize_loop_escape ... ok
[INFO] [stdout] test tokenize_positions_are_correct ... ok
[INFO] [stdout] test tokenize_nested_tuplet ... ok
[INFO] [stdout] test tokenize_simple_loop ... ok
[INFO] [stdout] test tokenize_simple_note ... ok
[INFO] [stdout] test tokenize_simple_tuplet ... ok
[INFO] [stdout] test tokenize_octave_down ... ok
[INFO] [stdout] test tokenize_rest ... ok
[INFO] [stdout] test tokenize_octave_up ... ok
[INFO] [stdout] test tokenize_tempo_command ... ok
[INFO] [stdout] test tokenize_tie ... ok
[INFO] [stdout] test tokenize_tuplet_positions ... ok
[INFO] [stdout] test tokenize_volume_command ... ok
[INFO] [stdout] test tokenize_tie_with_whitespace ... ok
[INFO] [stdout] test tokenize_tuplet_end ... ok
[INFO] [stdout] test tokenize_tuplet_with_base_duration ... ok
[INFO] [stdout] test tokenize_tuplet_with_whitespace ... ok
[INFO] [stdout] test tokenize_tuplet_start ... ok
[INFO] [stderr]    Doc-tests sine_mml
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 36 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test src/midi/player.rs - midi::player::play_midi_stream (line 98) ... ignored
[INFO] [stdout] test src/midi/player.rs - midi::player::play_midi_stream_interruptible (line 147) ... ignored
[INFO] [stdout] test src/mml/ast.rs - mml::ast::Command::Tuplet (line 189) ... ignored
[INFO] [stdout] test src/mml/ast.rs - mml::ast::TiedDuration (line 279) ... ignored
[INFO] [stdout] test src/mml/ast.rs - mml::ast::VolumeValue (line 413) ... ignored
[INFO] [stdout] test src/mml/file.rs - mml::file::read_mml_file (line 37) ... ignored
[INFO] [stdout] test src/midi/device.rs - midi::device::list_midi_devices (line 38) - compile ... ok
[INFO] [stdout] test src/midi/device.rs - midi::device::resolve_device_id (line 100) - compile ... ok
[INFO] [stdout] test src/midi/device.rs - midi::device::connect_midi_device (line 148) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 6 ignored; 0 measured; 0 filtered out; finished in 0.32s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "f03d8061f8133ae3f6196d0365f6236929a52085121083e220701d0e4c94ba5a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f03d8061f8133ae3f6196d0365f6236929a52085121083e220701d0e4c94ba5a", kill_on_drop: false }`
[INFO] [stdout] f03d8061f8133ae3f6196d0365f6236929a52085121083e220701d0e4c94ba5a
