[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 try#8da20828b6ea601dfd8e2448cb50ace88876bd78 for pr-150933 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftakemo101%2Fsine-mml" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/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-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/takemo101/sine-mml on toolchain 8da20828b6ea601dfd8e2448cb50ace88876bd78 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8da20828b6ea601dfd8e2448cb50ace88876bd78" "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" "+8da20828b6ea601dfd8e2448cb50ace88876bd78" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+8da20828b6ea601dfd8e2448cb50ace88876bd78" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ec491833046c354a43c0e750d6b402b967af0ae38f4846836a8f5857bb3e847b [INFO] running `Command { std: "docker" "start" "-a" "ec491833046c354a43c0e750d6b402b967af0ae38f4846836a8f5857bb3e847b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ec491833046c354a43c0e750d6b402b967af0ae38f4846836a8f5857bb3e847b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ec491833046c354a43c0e750d6b402b967af0ae38f4846836a8f5857bb3e847b", kill_on_drop: false }` [INFO] [stdout] ec491833046c354a43c0e750d6b402b967af0ae38f4846836a8f5857bb3e847b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+8da20828b6ea601dfd8e2448cb50ace88876bd78" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1a259857a1c836bc65b39285ea950664bf5c52b2138598cc1d6672c9d7962f6f [INFO] running `Command { std: "docker" "start" "-a" "1a259857a1c836bc65b39285ea950664bf5c52b2138598cc1d6672c9d7962f6f", kill_on_drop: false }` [INFO] [stderr] Compiling bytemuck v1.24.0 [INFO] [stderr] Compiling libc v0.2.180 [INFO] [stderr] Compiling arrayvec v0.7.6 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling libm v0.2.15 [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling zerocopy v0.8.33 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling alsa-sys v0.3.1 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling find-msvc-tools v0.1.7 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling nix v0.30.1 [INFO] [stderr] Compiling foldhash v0.2.0 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling portable-atomic v1.13.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling cc v1.2.52 [INFO] [stderr] Compiling unicode-width v0.2.2 [INFO] [stderr] Compiling extended v0.1.0 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling symphonia-core v0.5.5 [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling safe_arch v0.7.4 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling cpal v0.15.3 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling dyn-clone v1.0.20 [INFO] [stderr] Compiling clap_lex v0.7.6 [INFO] [stderr] Compiling dasp_sample v0.11.0 [INFO] [stderr] Compiling unit-prefix v0.5.2 [INFO] [stderr] Compiling clap_builder v4.5.54 [INFO] [stderr] Compiling wide v0.7.33 [INFO] [stderr] Compiling hound v3.5.1 [INFO] [stderr] Compiling hashlink v0.11.0 [INFO] [stderr] Compiling generic-array v1.3.5 [INFO] [stderr] Compiling symphonia-metadata v0.5.5 [INFO] [stderr] Compiling libsqlite3-sys v0.36.0 [INFO] [stderr] Compiling glam v0.28.0 [INFO] [stderr] Compiling symphonia-codec-aac v0.5.5 [INFO] [stderr] Compiling symphonia-codec-alac v0.5.5 [INFO] [stderr] Compiling symphonia-codec-pcm v0.5.5 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling nix v0.24.3 [INFO] [stderr] Compiling symphonia-utils-xiph v0.5.5 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling symphonia-bundle-mp3 v0.5.5 [INFO] [stderr] Compiling symphonia-format-caf v0.5.5 [INFO] [stderr] Compiling symphonia-format-riff v0.5.5 [INFO] [stderr] Compiling symphonia-format-isomp4 v0.5.5 [INFO] [stderr] Compiling symphonia-codec-vorbis v0.5.5 [INFO] [stderr] Compiling symphonia-bundle-flac v0.5.5 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling symphonia-format-ogg v0.5.5 [INFO] [stderr] Compiling symphonia-format-mkv v0.5.5 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling symphonia-codec-adpcm v0.5.5 [INFO] [stderr] Compiling crossterm v0.28.1 [INFO] [stderr] Compiling numeric-array v0.6.1 [INFO] [stderr] Compiling alsa v0.7.1 [INFO] [stderr] Compiling symphonia v0.5.5 [INFO] [stderr] Compiling microfft v0.6.0 [INFO] [stderr] Compiling alsa v0.9.1 [INFO] [stderr] Compiling dirs-sys v0.4.1 [INFO] [stderr] Compiling console v0.16.2 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling dirs v5.0.1 [INFO] [stderr] Compiling comfy-table v7.1.4 [INFO] [stderr] Compiling midir v0.9.1 [INFO] [stderr] Compiling indicatif v0.18.3 [INFO] [stderr] Compiling pin-project-internal v1.1.10 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling clap_derive v4.5.49 [INFO] [stderr] Compiling ctrlc v3.5.1 [INFO] [stderr] Compiling pin-project v1.1.10 [INFO] [stderr] Compiling thingbuf v0.1.6 [INFO] [stderr] Compiling funutd v0.16.0 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling fundsp v0.18.2 [INFO] [stderr] Compiling clap v4.5.54 [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 57.04s [INFO] running `Command { std: "docker" "inspect" "1a259857a1c836bc65b39285ea950664bf5c52b2138598cc1d6672c9d7962f6f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1a259857a1c836bc65b39285ea950664bf5c52b2138598cc1d6672c9d7962f6f", kill_on_drop: false }` [INFO] [stdout] 1a259857a1c836bc65b39285ea950664bf5c52b2138598cc1d6672c9d7962f6f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+8da20828b6ea601dfd8e2448cb50ace88876bd78" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e58683934aca0777004638a169030ec0e0fa4581d56daf963e6141dfcb03ea91 [INFO] running `Command { std: "docker" "start" "-a" "e58683934aca0777004638a169030ec0e0fa4581d56daf963e6141dfcb03ea91", kill_on_drop: false }` [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling regex-syntax v0.8.8 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling predicates-core v1.0.9 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling float-cmp v0.10.0 [INFO] [stderr] Compiling termtree v0.5.1 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling assert_cmd v2.1.2 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling predicates-tree v1.0.12 [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 20.66s [INFO] running `Command { std: "docker" "inspect" "e58683934aca0777004638a169030ec0e0fa4581d56daf963e6141dfcb03ea91", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e58683934aca0777004638a169030ec0e0fa4581d56daf963e6141dfcb03ea91", kill_on_drop: false }` [INFO] [stdout] e58683934aca0777004638a169030ec0e0fa4581d56daf963e6141dfcb03ea91 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+8da20828b6ea601dfd8e2448cb50ace88876bd78" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] fdc66b484a35a128af359cd1af50db32b60e17ea1be974ea881c84d8b2617ada [INFO] running `Command { std: "docker" "start" "-a" "fdc66b484a35a128af359cd1af50db32b60e17ea1be974ea881c84d8b2617ada", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.37s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sine_mml-0276c09564548178) [INFO] [stdout] [INFO] [stdout] running 117 tests [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 audio::waveform::tests::test_create_node ... ok [INFO] [stdout] test audio::waveform::tests::test_midi_to_frequency ... ok [INFO] [stdout] test audio::waveform::tests::test_waveform_types_exist ... ok [INFO] [stdout] test audio::player::tests::test_player_lifecycle ... ok [INFO] [stdout] test cli::handlers::tests::test_clear_history_logic_confirm_yes ... 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_clear_history_logic_cancel_no ... ok [INFO] [stdout] test cli::handlers::tests::test_play_handler_no_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_mml_input ... ok [INFO] [stdout] test cli::handlers::tests::test_truncate_mml ... ok [INFO] [stdout] test cli::handlers::tests::test_clear_history_logic_empty ... ok [INFO] [stdout] test cli::handlers::tests::test_history_logic_empty ... ok [INFO] [stdout] test cli::output::tests::test_create_export_progress_returns_valid_progressbar ... ok [INFO] [stdout] test audio::exporter::tests::test_export_wav_success ... ok [INFO] [stdout] test cli::handlers::tests::test_play_handler_with_note_too_long ... 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_with_data ... 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_false ... 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_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_waveform_as_str ... ok [INFO] [stdout] test db::history::tests::test_history_entry_new_with_note ... ok [INFO] [stdout] test db::history::tests::test_history_entry_new_without_note ... ok [INFO] [stdout] test cli::output::tests::test_display_midi_progress_interrupt_immediately ... ok [INFO] [stdout] test db::history::tests::test_waveform_from_str ... ok [INFO] [stdout] test db::schema::tests::test_migrate_v1_to_v2 ... ok [INFO] [stdout] test db::history::tests::test_history_entry_new_with_utf8_note ... ok [INFO] [stdout] test db::schema::tests::test_note_length_constraint ... ok [INFO] [stdout] test cli::handlers::tests::test_export_logic_not_found ... ok [INFO] [stdout] test db::schema::tests::test_schema_creates_history_table ... ok [INFO] [stdout] test db::schema::tests::test_note_null_allowed ... ok [INFO] [stdout] test db::schema::tests::test_migrate_idempotent ... ok [INFO] [stdout] test db::schema::tests::test_new_db_no_migration ... ok [INFO] [stdout] test cli::handlers::tests::test_clear_history_logic_invalid_input ... ok [INFO] [stdout] test cli::output::tests::test_success_does_not_panic ... ok [INFO] [stdout] test db::tests::test_get_db_path_returns_valid_path ... ok [INFO] [stdout] test db::tests::test_count_after_clear ... ok [INFO] [stdout] test cli::output::tests::test_display_midi_progress_zero_duration ... ok [INFO] [stdout] test db::tests::test_count_empty_db ... ok [INFO] [stdout] test db::tests::test_save_and_get_by_id ... ok [INFO] [stdout] test db::tests::test_list_with_limit ... ok [INFO] [stdout] test db::tests::test_get_by_id_not_found ... ok [INFO] [stdout] test cli::handlers::tests::test_history_logic_with_note ... ok [INFO] [stdout] test db::tests::test_save_validation_mml_empty ... ok [INFO] [stdout] test db::tests::test_save_and_get_by_id_with_utf8_note ... ok [INFO] [stdout] test db::tests::test_save_validation_bpm_out_of_range ... ok [INFO] [stdout] test db::tests::test_save_validation_volume_out_of_range ... ok [INFO] [stdout] test midi::device::tests::test_connect_midi_device_with_real_device ... ignored, requires MIDI hardware - run with `cargo test -- --ignored` [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_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] [stdout] test midi::device::tests::test_midi_device_info_clone ... ok [INFO] [stdout] test midi::device::tests::test_list_midi_devices_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] [stdout] test midi::device::tests::test_midi_device_info_debug ... ok [INFO] [stdout] test midi::device::tests::test_midi_device_info_new ... 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] [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::error::tests::test_device_disconnected_display ... ok [INFO] [stdout] test midi::device::tests::test_resolve_device_id_invalid_numeric ... ok [INFO] [stdout] test midi::error::tests::test_invalid_channel_display ... ok [INFO] [stdout] test db::tests::test_clear_all_empty_db ... ok [INFO] [stdout] test db::tests::test_list_includes_note ... ok [INFO] [stdout] test db::schema::tests::test_schema_creates_schema_version_table ... ok [INFO] [stdout] test midi::error::tests::test_is_valid_channel_invalid_seventeen ... ok [INFO] [stdout] test midi::error::tests::test_no_device_found_display ... ok [INFO] [stdout] test db::tests::test_clear_all_with_entries ... ok [INFO] [stdout] test midi::error::tests::test_send_failed_display ... ok [INFO] [stdout] test midi::error::tests::test_validate_channel_invalid ... 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 midi::error::tests::test_validate_channel_valid ... ok [INFO] [stdout] test cli::handlers::tests::test_play_handler_with_note ... ok [INFO] [stdout] test mml::error::tests::display_empty_tie_chain ... ok [INFO] [stdout] test mml::error::tests::display_invalid_tie_sequence ... ok [INFO] [stdout] test db::tests::test_count_with_entries ... 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 db::tests::test_database_init_creates_file ... ok [INFO] [stdout] test mml::error::tests::display_tuplet_nest_too_deep ... ok [INFO] [stdout] test midi::error::tests::test_is_valid_channel_valid ... ok [INFO] [stdout] test mml::error::tests::display_unexpected_character ... ok [INFO] [stdout] test mml::error::tests::display_tuplet_count_missing ... ok [INFO] [stdout] test mml::error::tests::display_unclosed_tuplet ... ok [INFO] [stdout] test mml::file::tests::test_read_mml_file_complex_content ... ok [INFO] [stdout] test mml::error::tests::display_empty_input ... ok [INFO] [stdout] test mml::file::tests::test_read_mml_file_invalid_extension ... ok [INFO] [stdout] test midi::error::tests::test_invalid_device_id_display ... ok [INFO] [stdout] test midi::error::tests::test_is_valid_channel_invalid_zero ... 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_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_only_hash ... ok [INFO] [stdout] test db::tests::test_list_returns_descending_order ... 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_success ... 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_only_whitespace_lines ... ok [INFO] [stdout] test mml::file::tests::test_read_mml_file_empty ... ok [INFO] [stdout] test mml::file::tests::test_read_mml_file_single_line ... ok [INFO] [stdout] test db::tests::test_save_and_get_by_id_with_note ... ok [INFO] [stdout] test mml::error::tests::display_invalid_number ... ok [INFO] [stdout] test cli::handlers::tests::test_export_logic_success ... 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 mml::file::tests::test_read_mml_file_with_indented_comment ... 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] [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_connect_midi_device_invalid_id ... ok [INFO] [stdout] test midi::device::tests::test_connect_midi_device_nonexistent_name ... ok [INFO] [stdout] test mml::file::tests::test_read_mml_file_not_found ... ok [INFO] [stdout] test cli::output::tests::test_display_midi_progress_short_duration ... ok [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.41s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/sine_mml-e2f71f212235b69d) [INFO] [stdout] [INFO] [stderr] Running tests/audio_synthesizer_test.rs (/opt/rustwide/target/debug/deps/audio_synthesizer_test-336e4eb41939ad01) [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] [stdout] [INFO] [stdout] running 43 tests [INFO] [stdout] test test_beat_interval_16beat_at_120bpm ... ok [INFO] [stdout] test test_beat_interval_4beat_at_120bpm ... ok [INFO] [stdout] test test_beat_interval_4beat_at_60bpm ... ok [INFO] [stdout] test test_beat_interval_8beat_at_120bpm ... ok [INFO] [stdout] test test_beat_interval_4beat_at_240bpm ... ok [INFO] [stdout] test test_get_tempo_events_default_tempo ... ok [INFO] [stdout] test test_get_tempo_events_single_tempo ... ok [INFO] [stdout] test test_click_generation ... ok [INFO] [stdout] test test_default_velocity_is_10 ... ok [INFO] [stdout] test test_normalize_clipping_samples ... ok [INFO] [stdout] test test_mix_metronome_with_tempo_events_tempo_change ... ok [INFO] [stdout] test test_normalize_negative_peak ... ok [INFO] [stdout] test test_mix_metronome_with_tempo_events_single ... ok [INFO] [stdout] test test_normalize_empty_slice ... ok [INFO] [stdout] test test_mix_metronome_with_tempo_events_empty ... ok [INFO] [stdout] test test_mix_metronome_additive ... ok [INFO] [stdout] test test_get_tempo_events_tempo_change_mid_song ... ok [INFO] [stdout] test test_mix_metronome_click_positions ... ok [INFO] [stdout] test test_mix_metronome_16beat_more_clicks ... ok [INFO] [stdout] test test_normalize_boundary_case ... ok [INFO] [stdout] test test_resample_linear_downsample ... ok [INFO] [stdout] test test_resample_linear_empty ... ok [INFO] [stdout] test test_normalize_all_zeros ... 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_resample_linear_target_zero ... ok [INFO] [stdout] test test_noise_click_sample_count ... ok [INFO] [stdout] test test_resample_linear_upsample ... ok [INFO] [stdout] test test_normalize_single_sample_within_range ... ok [INFO] [stdout] test test_synthesize_with_absolute_volume ... ok [INFO] [stdout] test test_synthesize_volume_clamp_lower ... ok [INFO] [stdout] test test_synthesize_tuplet_octave_change ... ok [INFO] [stdout] test test_synthesize_tuplet_with_rest ... ok [INFO] [stdout] test test_noise_click_volume_application ... ok [INFO] [stdout] test test_synthesizer_creation ... ok [INFO] [stdout] test test_synthesize_with_relative_volume_decrease ... ok [INFO] [stdout] test test_synthesize_with_relative_volume_increase ... ok [INFO] [stdout] test test_synthesize_simple_note ... ok [INFO] [stdout] test test_synthesize_volume_clamp_upper ... ok [INFO] [stdout] test test_synthesize_tuplet_3_notes ... ok [INFO] [stdout] test test_synthesize_tuplet_5_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.14s [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_metronome_volume_out_of_range ... ok [INFO] [stdout] test test_metronome_volume_valid ... ok [INFO] [stdout] test test_midi_channel_default ... ok [INFO] [stdout] test test_midi_combined_options ... ok [INFO] [stdout] test test_midi_out_option ... ok [INFO] [stdout] test test_midi_channel_invalid ... ok [INFO] [stdout] test test_metronome_beat_invalid ... ok [INFO] [stdout] test test_metronome_beat_valid ... ok [INFO] [stdout] test test_midi_channel_valid ... ok [INFO] [stdout] test test_midi_out_with_device_name ... ok [INFO] [stdout] test test_file_option_parsing ... ok [INFO] [stdout] test test_default_values ... ok [INFO] [stdout] test test_midi_list_subcommand ... ok [INFO] [stdout] test test_validate_volume_invalid ... ok [INFO] [stdout] test test_validate_volume_valid ... ok [INFO] [stdout] test test_no_history_short_flag ... ok [INFO] [stdout] test test_no_history_default ... ok [INFO] [stdout] test test_no_history_long_flag ... ok [INFO] [stdout] test test_note_option ... ok [INFO] [stdout] test test_validate_note_char_count ... ok [INFO] [stdout] test test_validate_note_too_long ... ok [INFO] [stdout] test test_play_args_conflict ... ok [INFO] [stdout] test test_waveform_parsing ... ok [INFO] [stdout] test test_validate_note_valid ... ok [INFO] [stdout] test test_validate_note_utf8 ... ok [INFO] [stdout] test test_no_history_with_midi_out ... ok [INFO] [stdout] test test_no_history_with_loop_play ... ok [INFO] [stderr] Running tests/cli_integration.rs (/opt/rustwide/target/debug/deps/cli_integration-084271e24a378cb4) [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] [stdout] [INFO] [stdout] running 34 tests [INFO] [stdout] test test_bpm_option_removed ... ok [INFO] [stdout] test test_cli_loop_count_error ... ok [INFO] [stdout] test test_clear_history_cancel ... ok [INFO] [stdout] test test_cli_loop_with_escape_point ... ok [INFO] [stdout] test test_cli_loop_expanded_too_large ... ok [INFO] [stdout] test test_clear_history_confirm_yes ... ok [INFO] [stdout] test test_clear_history_invalid_input ... ok [INFO] [stdout] test test_cli_invalid_extension ... ok [INFO] [stdout] test test_cli_file_not_found ... ok [INFO] [stdout] test test_cli_nested_loop_6_levels_error ... ok [INFO] [stdout] test test_cli_file_with_note ... ok [INFO] [stdout] test test_cli_lowercase_with_loop ... ok [INFO] [stdout] test test_cli_loop_nest_too_deep_error ... ok [INFO] [stdout] test test_clear_history_runs ... ok [INFO] [stdout] test test_cli_integration_file_volume_loop ... ok [INFO] [stdout] test test_cli_note_too_long ... ok [INFO] [stdout] test test_cli_play_with_loop_syntax ... ok [INFO] [stdout] test test_cli_nested_loop_2_levels ... ok [INFO] [stdout] test test_version_flag ... ok [INFO] [stdout] test test_play_missing_input ... ok [INFO] [stdout] test test_help_flag ... ok [INFO] [stdout] test test_cli_volume_out_of_range ... ok [INFO] [stdout] test test_invalid_metronome_beat ... ok [INFO] [stdout] test test_cli_play_with_file ... ok [INFO] [stdout] test test_history_command ... ok [INFO] [stdout] test test_cli_nested_loop_5_levels ... ok [INFO] [stdout] test test_cli_play_with_note ... ok [INFO] [stdout] test test_valid_metronome_options ... ok [INFO] [stdout] test test_cli_default_volume_relative ... ok [INFO] [stdout] test test_play_basic_mml ... ok [INFO] [stdout] test test_cli_nested_loop_allowed ... ok [INFO] [stdout] test test_cli_relative_volume ... ok [INFO] [stdout] test test_cli_note_with_utf8 ... ok [INFO] [stdout] test test_cli_history_displays_note_column ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 34 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s [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 tuplet_tests::test_invalid_tuplet_count_error ... ok [INFO] [stdout] test midi_tests::test_midi_invalid_device_error ... ok [INFO] [stdout] test tuplet_tests::test_tuplet_nest_too_deep_error ... ok [INFO] [stdout] test midi_tests::test_midi_invalid_channel_error ... ok [INFO] [stderr] Running tests/midi_message_test.rs (/opt/rustwide/target/debug/deps/midi_message_test-39714f1f2389706f) [INFO] [stdout] test tuplet_tests::test_tuplet_playback ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 31 tests [INFO] [stdout] test test_all_notes_off_creation ... ok [INFO] [stdout] test test_all_notes_off_to_bytes_channel_1 ... ok [INFO] [stdout] test test_all_notes_off_to_bytes_channel_10 ... 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_build_note_off_message_channel_16 ... ok [INFO] [stdout] test test_build_note_off_message ... ok [INFO] [stdout] test test_build_note_on_message ... 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_b8 ... ok [INFO] [stdout] test test_mml_to_midi_note_c0 ... 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_clamping_high ... ok [INFO] [stdout] test test_mml_to_midi_note_d_flat_4 ... 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_creation ... ok [INFO] [stdout] test test_note_off_to_bytes_channel_1 ... ok [INFO] [stdout] test test_note_off_to_bytes_channel_16 ... ok [INFO] [stdout] test test_note_on_creation ... ok [INFO] [stdout] test test_note_on_to_bytes_channel_1 ... ok [INFO] [stdout] test test_note_on_to_bytes_channel_10 ... ok [INFO] [stdout] test test_to_bytes_clamps_note ... ok [INFO] [stdout] test test_volume_to_velocity_full_table ... ok [INFO] [stdout] test test_to_bytes_clamps_velocity ... ok [INFO] [stdout] test test_mml_volume_to_velocity_v0 ... ok [INFO] [stderr] Running tests/midi_player_test.rs (/opt/rustwide/target/debug/deps/midi_player_test-e8cd841181d2e7c9) [INFO] [stdout] test test_mml_volume_to_velocity_v1 ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 31 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 29 tests [INFO] [stdout] test test_calculate_total_duration_ms_empty ... ok [INFO] [stdout] test test_calculate_total_duration_ms_complex ... ok [INFO] [stdout] test test_calculate_total_duration_ms_loop_with_escape ... ok [INFO] [stdout] test test_calculate_total_duration_ms_tempo_change ... ok [INFO] [stdout] test test_calculate_total_duration_ms_loop_with_tempo_change ... ok [INFO] [stdout] test test_eighth_note_duration ... ok [INFO] [stdout] test test_note_duration_calculation ... ok [INFO] [stdout] test test_calculate_total_duration_ms_simple ... ok [INFO] [stdout] test test_calculate_total_duration_ms_tuplet ... ok [INFO] [stdout] test test_playback_state_update_octave_down ... ok [INFO] [stdout] test test_play_midi_stream_validates_channel ... ok [INFO] [stdout] test test_playback_state_update_octave_down_min ... ok [INFO] [stdout] test test_calculate_total_duration_ms_with_loop ... ok [INFO] [stdout] test test_playback_state_default ... ok [INFO] [stdout] test test_playback_state_update_octave_up ... ok [INFO] [stdout] test test_playback_state_update_octave_up_max ... ok [INFO] [stdout] test test_playback_state_update_default_length ... ok [INFO] [stdout] test test_playback_state_update_tempo ... ok [INFO] [stdout] test test_playback_state_update_volume_relative_clamp_max ... ok [INFO] [stdout] test test_playback_state_update_volume_relative_clamp_min ... ok [INFO] [stdout] test test_playback_state_update_volume_relative_negative ... ok [INFO] [stderr] Running tests/mml_ast_test.rs (/opt/rustwide/target/debug/deps/mml_ast_test-d519224b3eca60e4) [INFO] [stdout] test test_playback_state_update_volume_clamp_max ... ok [INFO] [stdout] test test_playback_state_update_volume_relative_positive ... ok [INFO] [stdout] test test_playback_state_update_octave ... ok [INFO] [stdout] test test_calculate_total_duration_ms_with_rest ... ok [INFO] [stdout] test test_tempo_affects_duration ... ok [INFO] [stdout] test test_rest_duration_calculation ... ok [INFO] [stdout] test test_whole_note_duration ... ok [INFO] [stdout] test test_playback_state_update_volume_absolute ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 29 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 40 tests [INFO] [stdout] test duration_in_seconds_with_default ... ok [INFO] [stdout] test duration_to_beats_dotted_quarter ... ok [INFO] [stdout] test duration_in_seconds_with_dots ... ok [INFO] [stdout] test duration_to_beats_eighth_note ... ok [INFO] [stdout] test duration_to_beats_double_dotted ... ok [INFO] [stdout] test duration_to_beats_quarter_note ... ok [INFO] [stdout] test duration_to_beats_with_default_length ... ok [INFO] [stdout] test duration_to_beats_sixteenth_note ... ok [INFO] [stdout] test duration_to_beats_half_note ... 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 note_total_beats_dotted ... ok [INFO] [stdout] test note_total_beats_quarter ... ok [INFO] [stdout] test pitch_from_char_valid ... ok [INFO] [stdout] test rest_total_beats_default_duration ... ok [INFO] [stdout] test rest_total_beats_quarter ... ok [INFO] [stdout] test rest_total_beats_with_tie ... ok [INFO] [stdout] test tied_duration_add_tie ... ok [INFO] [stdout] test note_total_beats_with_tie ... ok [INFO] [stdout] test tied_duration_has_ties ... ok [INFO] [stdout] test pitch_from_char_invalid ... ok [INFO] [stdout] test rest_total_beats_dotted ... ok [INFO] [stdout] test note_total_beats_default_duration ... ok [INFO] [stdout] test note_duration_dotted ... ok [INFO] [stdout] test get_tempo_without_tempo_command_returns_default ... ok [INFO] [stdout] test tied_duration_new ... ok [INFO] [stdout] test tied_duration_total_beats_with_dotted ... 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_duration_multiple_ties ... ok [INFO] [stdout] test tied_duration_total_beats_simple ... ok [INFO] [stdout] test tied_duration_total_duration_simple ... ok [INFO] [stdout] test tuplet_command_basic ... ok [INFO] [stdout] test tuplet_command_nested ... ok [INFO] [stdout] test tuplet_command_clone_and_eq ... ok [INFO] [stdout] test tuplet_command_with_rest ... ok [INFO] [stdout] test tied_duration_total_beats_whole_note ... ok [INFO] [stdout] test tuplet_command_with_base_duration ... 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] [stderr] Running tests/mml_parser_test.rs (/opt/rustwide/target/debug/deps/mml_parser_test-2674a556bc451256) [INFO] [stdout] [INFO] [stdout] running 96 tests [INFO] [stdout] test parse_basic_loop_3_times ... ok [INFO] [stdout] test parse_empty_input ... ok [INFO] [stdout] test parse_invalid_number_range ... ok [INFO] [stdout] test parse_loop_count_0_error ... ok [INFO] [stdout] test parse_complex_mml ... ok [INFO] [stdout] test parse_dotted_note ... ok [INFO] [stdout] test parse_empty_loop ... ok [INFO] [stdout] test parse_loop_count_100_error ... ok [INFO] [stdout] test parse_loop_count_1 ... ok [INFO] [stdout] test parse_loop_nest_2_levels ... ok [INFO] [stdout] test parse_loop_nest_3_levels ... ok [INFO] [stdout] test parse_loop_nest_5_levels ... ok [INFO] [stdout] test parse_loop_nest_4_levels ... ok [INFO] [stdout] test parse_loop_nest_6_levels_error ... ok [INFO] [stdout] test parse_loop_count_99 ... ok [INFO] [stdout] test parse_loop_nest_with_commands ... ok [INFO] [stdout] test parse_loop_default_count ... ok [INFO] [stdout] test parse_loop_nest_7_levels_error ... ok [INFO] [stdout] test parse_loop_escape_outside_loop_error ... ok [INFO] [stdout] test parse_loop_nest_with_escape_point ... ok [INFO] [stdout] test parse_loop_with_escape_point ... ok [INFO] [stdout] test parse_multiple_escape_points_error ... ok [INFO] [stdout] test parse_loop_with_rest ... ok [INFO] [stdout] test parse_multiple_loops ... ok [INFO] [stdout] test parse_loop_with_octave_change ... ok [INFO] [stdout] test parse_note_with_duration ... ok [INFO] [stdout] test parse_note_with_multiple_ties ... ok [INFO] [stdout] test parse_nested_loop_allowed ... ok [INFO] [stdout] test parse_multiple_notes_with_ties ... ok [INFO] [stdout] test parse_note_with_sharp ... ok [INFO] [stdout] test parse_note_empty_tie_error ... ok [INFO] [stdout] test parse_nested_loop_zero_count_error ... ok [INFO] [stdout] test parse_note_tie_dot_only ... ok [INFO] [stdout] test parse_note_with_accidental_and_tie ... ok [INFO] [stdout] test parse_loop_with_tempo_and_volume ... ok [INFO] [stdout] test parse_note_tie_with_dots ... 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_rest_with_single_tie ... ok [INFO] [stdout] test parse_single_note ... ok [INFO] [stdout] test parse_tempo ... ok [INFO] [stdout] test parse_octave_up ... ok [INFO] [stdout] test parse_rest ... ok [INFO] [stdout] test parse_rest_empty_tie_error ... ok [INFO] [stdout] test parse_rest_with_multiple_ties ... ok [INFO] [stdout] test parse_note_with_single_tie ... ok [INFO] [stdout] test parse_tuplet_5 ... ok [INFO] [stdout] test parse_note_tie_followed_by_note ... ok [INFO] [stdout] test parse_tuplet_empty ... ok [INFO] [stdout] test parse_tuplet_count_missing_error ... 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_invalid_count_0 ... ok [INFO] [stdout] test parse_tuplet_invalid_count_1 ... ok [INFO] [stdout] test parse_tuplet_nest_5_levels ... ok [INFO] [stdout] test parse_tuplet_base_duration_4 ... ok [INFO] [stdout] test parse_tuplet_basic_3 ... ok [INFO] [stdout] test parse_volume_clamp_large_negative_relative ... ok [INFO] [stdout] test parse_tuplet_with_loop ... ok [INFO] [stdout] test parse_tuplet_with_octave ... ok [INFO] [stdout] test parse_tuplet_with_rest ... ok [INFO] [stdout] test parse_tuplet_with_tie ... ok [INFO] [stdout] test parse_volume_absolute ... ok [INFO] [stdout] test parse_volume_clamp_large_relative ... ok [INFO] [stdout] test parse_loop_expansion_within_limit ... ok [INFO] [stdout] test parse_volume_default_decrease ... ok [INFO] [stdout] test parse_tuplet_nested_2_levels ... ok [INFO] [stdout] test parse_volume_consecutive_relative ... ok [INFO] [stdout] test parse_volume_default_increase ... ok [INFO] [stdout] test parse_tuplet_unclosed_error ... ok [INFO] [stdout] test parse_tuplet_with_base_duration ... ok [INFO] [stdout] test parse_unmatched_loop_end_error ... ok [INFO] [stdout] test parse_tuplet_count_99 ... ok [INFO] [stdout] test parse_unmatched_loop_start_error ... ok [INFO] [stdout] test parse_volume_fifteen ... ok [INFO] [stdout] test parse_volume_invalid_absolute_out_of_range ... ok [INFO] [stdout] test parse_volume_relative_decrease ... ok [INFO] [stdout] test parse_volume_relative_increase ... 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 test_expand_loop_basic ... ok [INFO] [stdout] test test_expand_loop_empty ... ok [INFO] [stdout] test test_expand_loop_with_escape ... ok [INFO] [stdout] test test_expand_loop_escape_at_start ... ok [INFO] [stdout] test test_is_next_tie_false ... ok [INFO] [stderr] Running tests/mml_tie_test.rs (/opt/rustwide/target/debug/deps/mml_tie_test-9b01a17bb70733cd) [INFO] [stdout] test test_loop_depth_reset_after_sequence ... ok [INFO] [stdout] test parse_tuplet_nest_6_levels_error ... ok [INFO] [stdout] test test_loop_depth_tracking ... ok [INFO] [stdout] test test_volume_multiple_relative ... ok [INFO] [stdout] test test_is_next_tie_true ... ok [INFO] [stdout] test parse_loop_expansion_barely_exceeds ... ok [INFO] [stdout] test parse_loop_expansion_too_large ... ok [INFO] [stdout] test parse_whitespace_only ... ok [INFO] [stdout] [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_eighth ... ok [INFO] [stdout] test test_duration_to_beats_dotted_quarter ... ok [INFO] [stdout] test test_duration_to_beats_double_dotted ... 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_edge_case_very_long_tie ... 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_duration_long_tie ... ok [INFO] [stdout] test test_note_duration_multiple_tie ... ok [INFO] [stdout] test test_note_duration_with_tie ... ok [INFO] [stdout] test test_edge_case_very_short_tie ... ok [INFO] [stdout] test test_note_total_beats_dotted ... 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_note_multiple_tie ... ok [INFO] [stdout] test test_parse_multiple_notes_with_ties ... ok [INFO] [stdout] test test_parse_note_tie_different_pitch_error ... ok [INFO] [stdout] test test_parse_note_tie_duration_only ... ok [INFO] [stdout] test test_parse_note_tie_followed_by_command_error ... ok [INFO] [stdout] test test_parse_note_tie_followed_by_same_pitch_is_separate ... ok [INFO] [stdout] test test_parse_note_tie_no_following_error ... ok [INFO] [stdout] test test_parse_note_tie_with_dot_after ... 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_multiple ... ok [INFO] [stdout] test test_parse_tie_dot_only ... ok [INFO] [stdout] test test_parse_tie_inside_loop ... ok [INFO] [stdout] test test_parse_rest_tie_no_following_error ... ok [INFO] [stdout] test test_parse_rest_tie_rest_and_note_error ... ok [INFO] [stdout] test test_parse_tie_with_flat ... ok [INFO] [stdout] test test_parse_tie_with_sharp ... ok [INFO] [stdout] test test_regression_loop_syntax ... ok [INFO] [stdout] test test_regression_notes_without_tie ... ok [INFO] [stdout] test test_performance_tie_parsing ... ok [INFO] [stdout] test test_performance_tie_duration_calculation ... ok [INFO] [stdout] test test_parse_tie_with_other_commands ... ok [INFO] [stdout] test test_tied_duration_default_length ... ok [INFO] [stdout] test test_tied_duration_has_ties ... ok [INFO] [stdout] test test_rest_duration_with_tie ... ok [INFO] [stdout] test test_rest_total_beats_with_tie ... ok [INFO] [stdout] test test_tied_duration_multiple_dots ... ok [INFO] [stdout] test test_tied_duration_add_tie ... ok [INFO] [stdout] test test_tied_duration_new ... ok [INFO] [stdout] test test_tied_duration_total_beats_dotted ... ok [INFO] [stderr] Running tests/mml_tokenizer_test.rs (/opt/rustwide/target/debug/deps/mml_tokenizer_test-055454b2d3195938) [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_multiple ... ok [INFO] [stdout] test test_tied_duration_total_beats_whole_note ... ok [INFO] [stdout] test test_tied_duration_with_dot ... ok [INFO] [stdout] test test_regression_relative_volume ... ok [INFO] [stdout] test test_regression_dotted_note ... ok [INFO] [stdout] test test_tied_duration_basic ... ok [INFO] [stdout] test test_tokenize_multiple_ties ... ok [INFO] [stdout] test test_tokenize_tie_basic ... ok [INFO] [stdout] test test_tokenize_tie_position_with_whitespace ... ok [INFO] [stdout] test test_tokenize_tie_position ... ok [INFO] [stdout] test test_rest_total_beats_quarter ... ok [INFO] [stdout] test test_tokenize_tie_with_space ... ok [INFO] [stdout] test test_tied_duration_different_bpm ... ok [INFO] [stdout] test test_tied_duration_with_ties ... 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] [stdout] [INFO] [stdout] running 36 tests [INFO] [stdout] test tokenize_complex_mml ... ok [INFO] [stdout] test tokenize_case_insensitive ... ok [INFO] [stdout] test tokenize_ignores_whitespace ... ok [INFO] [stdout] test tokenize_invalid_character ... ok [INFO] [stdout] test tokenize_loop_end ... ok [INFO] [stdout] test tokenize_loop_escape ... 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_nested_tuplet ... 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_dotted_note ... ok [INFO] [stdout] test tokenize_note_with_tie ... ok [INFO] [stdout] test tokenize_empty_input ... ok [INFO] [stdout] test tokenize_length_command ... ok [INFO] [stdout] test tokenize_octave_change_in_mml ... ok [INFO] [stdout] test tokenize_colon_for_tuplet ... ok [INFO] [stdout] test tokenize_positions_are_correct ... ok [INFO] [stdout] test tokenize_octave_up ... ok [INFO] [stdout] test tokenize_simple_tuplet ... ok [INFO] [stdout] test tokenize_simple_loop ... ok [INFO] [stdout] test tokenize_octave_command ... ok [INFO] [stdout] test tokenize_simple_note ... ok [INFO] [stdout] test tokenize_tie ... ok [INFO] [stdout] test tokenize_tie_with_whitespace ... ok [INFO] [stdout] test tokenize_tuplet_positions ... ok [INFO] [stdout] test tokenize_octave_down ... ok [INFO] [stdout] test tokenize_volume_command ... ok [INFO] [stdout] test tokenize_rest ... ok [INFO] [stdout] test tokenize_tuplet_start ... ok [INFO] [stdout] test tokenize_tuplet_with_base_duration ... ok [INFO] [stdout] test tokenize_tuplet_end ... ok [INFO] [stdout] test tokenize_tempo_command ... ok [INFO] [stdout] test tokenize_tuplet_with_whitespace ... ok [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] [stderr] Doc-tests sine_mml [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::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] test src/midi/device.rs - midi::device::list_midi_devices (line 38) - compile ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 6 ignored; 0 measured; 0 filtered out; finished in 0.15s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "fdc66b484a35a128af359cd1af50db32b60e17ea1be974ea881c84d8b2617ada", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fdc66b484a35a128af359cd1af50db32b60e17ea1be974ea881c84d8b2617ada", kill_on_drop: false }` [INFO] [stdout] fdc66b484a35a128af359cd1af50db32b60e17ea1be974ea881c84d8b2617ada