[INFO] cloning repository https://github.com/JoelLarson/ghostty-voice
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/JoelLarson/ghostty-voice" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJoelLarson%2Fghostty-voice", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJoelLarson%2Fghostty-voice'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 04e990f49dbbae65c133e8930805c851c5d1d926
[INFO] testing JoelLarson/ghostty-voice against 1.98.0-beta.1 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJoelLarson%2Fghostty-voice" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/JoelLarson/ghostty-voice
[INFO] finished tweaking git repo https://github.com/JoelLarson/ghostty-voice
[INFO] tweaked toml for git repo https://github.com/JoelLarson/ghostty-voice written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/JoelLarson/ghostty-voice on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/JoelLarson/ghostty-voice already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] e6e37bda246461574c314cfbcc38979f2c4def4b508e67aee42541d94f36c751
[INFO] running `Command { std: "docker" "start" "e6e37bda246461574c314cfbcc38979f2c4def4b508e67aee42541d94f36c751", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e6e37bda246461574c314cfbcc38979f2c4def4b508e67aee42541d94f36c751", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e6e37bda246461574c314cfbcc38979f2c4def4b508e67aee42541d94f36c751" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e6e37bda246461574c314cfbcc38979f2c4def4b508e67aee42541d94f36c751", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e6e37bda246461574c314cfbcc38979f2c4def4b508e67aee42541d94f36c751" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling bytes v1.12.0
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling cc v1.2.65
[INFO] [stderr]    Compiling memchr v2.8.2
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling log v0.4.32
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling http v1.4.2
[INFO] [stderr]    Compiling openssl v0.10.81
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling radium v0.7.0
[INFO] [stderr]    Compiling openssl-probe v0.2.1
[INFO] [stderr]    Compiling winnow v1.0.3
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling openssl-sys v0.9.117
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling hybrid-array v0.4.12
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling socket2 v0.6.4
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling tap v1.0.1
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling wyz v0.5.1
[INFO] [stderr]    Compiling block-buffer v0.12.1
[INFO] [stderr]    Compiling crypto-common v0.2.2
[INFO] [stderr]    Compiling nix v0.31.3
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling funty v2.0.0
[INFO] [stderr]    Compiling const-oid v0.10.2
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling nix v0.23.2
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling bitvec v1.1.1
[INFO] [stderr]    Compiling digest v0.11.3
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling sha2 v0.11.0
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling evdev v0.12.2
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling ghostty-voice-core v0.0.0 (/opt/rustwide/workdir/crates/ghostty-voice-core)
[INFO] [stderr]    Compiling hyper v1.10.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling talk-to v0.0.0 (/opt/rustwide/workdir/crates/talk-to)
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> crates/talk-to/src/main.rs:568:39
[INFO] [stdout]     |
[INFO] [stdout] 568 |         sa.sa_sigaction = on_sigwinch as usize;
[INFO] [stdout]     |                                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(function_casts_as_integer)]` on by default
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 568 |         sa.sa_sigaction = on_sigwinch as *const () as usize;
[INFO] [stdout]     |                                       ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.13.4
[INFO] [stderr]    Compiling ghostty-voice-io v0.0.0 (/opt/rustwide/workdir/crates/ghostty-voice-io)
[INFO] [stderr]    Compiling ghostty-voiced v0.0.0 (/opt/rustwide/workdir/crates/ghostty-voiced)
[INFO] [stderr]    Compiling ghostty-voice-ctl v0.0.0 (/opt/rustwide/workdir/crates/ghostty-voice-ctl)
[INFO] [stderr]    Compiling ghostty-voice v0.0.0 (/opt/rustwide/workdir/crates/ghostty-voice)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.79s
[INFO] running `Command { std: "docker" "inspect" "e6e37bda246461574c314cfbcc38979f2c4def4b508e67aee42541d94f36c751", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e6e37bda246461574c314cfbcc38979f2c4def4b508e67aee42541d94f36c751" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling ghostty-voiced v0.0.0 (/opt/rustwide/workdir/crates/ghostty-voiced)
[INFO] [stderr]    Compiling ghostty-voice-ctl v0.0.0 (/opt/rustwide/workdir/crates/ghostty-voice-ctl)
[INFO] [stderr]    Compiling ghostty-voice v0.0.0 (/opt/rustwide/workdir/crates/ghostty-voice)
[INFO] [stderr]    Compiling ghostty-voice-io v0.0.0 (/opt/rustwide/workdir/crates/ghostty-voice-io)
[INFO] [stderr]    Compiling talk-to v0.0.0 (/opt/rustwide/workdir/crates/talk-to)
[INFO] [stderr]    Compiling ghostty-voice-core v0.0.0 (/opt/rustwide/workdir/crates/ghostty-voice-core)
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> crates/talk-to/src/main.rs:568:39
[INFO] [stdout]     |
[INFO] [stdout] 568 |         sa.sa_sigaction = on_sigwinch as usize;
[INFO] [stdout]     |                                       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(function_casts_as_integer)]` on by default
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 568 |         sa.sa_sigaction = on_sigwinch as *const () as usize;
[INFO] [stdout]     |                                       ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 6.16s
[INFO] running `Command { std: "docker" "inspect" "e6e37bda246461574c314cfbcc38979f2c4def4b508e67aee42541d94f36c751", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e6e37bda246461574c314cfbcc38979f2c4def4b508e67aee42541d94f36c751" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: direct cast of function item into an integer
[INFO] [stderr]    --> crates/talk-to/src/main.rs:568:39
[INFO] [stderr]     |
[INFO] [stderr] 568 |         sa.sa_sigaction = on_sigwinch as usize;
[INFO] [stderr]     |                                       ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(function_casts_as_integer)]` on by default
[INFO] [stderr] help: first cast to a pointer `as *const ()`
[INFO] [stderr]     |
[INFO] [stderr] 568 |         sa.sa_sigaction = on_sigwinch as *const () as usize;
[INFO] [stderr]     |                                       ++++++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `talk-to` (bin "talk-to" test) generated 1 warning (run `cargo fix --bin "talk-to" -p talk-to --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.20s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ghostty_voice-af2e895507cb68e1)
[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 unittests src/lib.rs (/opt/rustwide/target/debug/deps/ghostty_voice_core-1d82a6698ff1492a)
[INFO] [stdout] 
[INFO] [stdout] running 242 tests
[INFO] [stdout] test cache::tests::iso_filename_is_zero_padded_and_colon_free ... ok
[INFO] [stdout] test cache::tests::iso_filenames_sort_chronologically_lexically ... ok
[INFO] [stdout] test cache::tests::keep_zero_prunes_everything ... ok
[INFO] [stdout] test cache::tests::nothing_pruned_exactly_at_the_cap ... ok
[INFO] [stdout] test cache::tests::nothing_pruned_under_the_cap ... ok
[INFO] [stdout] test cache::tests::oldest_pruned_over_the_cap ... ok
[INFO] [stdout] test config::tests::a_partial_streaming_table_overrides_only_given_fields ... ok
[INFO] [stdout] test config::tests::does_not_expand_tilde_user ... ok
[INFO] [stdout] test config::tests::empty_config_is_all_defaults ... ok
[INFO] [stdout] test config::tests::expands_bare_tilde ... ok
[INFO] [stdout] test config::tests::expands_tilde_slash ... ok
[INFO] [stdout] test config::tests::leaves_absolute_path_unchanged ... ok
[INFO] [stdout] test config::tests::leaves_relative_path_unchanged ... ok
[INFO] [stdout] test config::tests::full_config_parses_all_fields ... ok
[INFO] [stdout] test config::tests::a_missing_streaming_table_is_upgrade_tolerant_and_uses_defaults ... ok
[INFO] [stdout] test config::tests::partial_config_overrides_only_given_fields ... ok
[INFO] [stdout] test config::tests::rejects_malformed_toml ... ok
[INFO] [stdout] test config::tests::rejects_unknown_field ... ok
[INFO] [stdout] test config::tests::shipped_example_config_parses ... ok
[INFO] [stdout] test config::tests::rejects_unknown_section ... ok
[INFO] [stdout] test corrections::tests::applies_corrections_in_order ... ok
[INFO] [stdout] test config::tests::silence_thresholds_accept_integer_and_fractional_percents ... ok
[INFO] [stdout] test corrections::tests::does_not_match_inside_a_larger_word ... ok
[INFO] [stdout] test corrections::tests::matching_is_case_insensitive_replacement_is_fixed ... ok
[INFO] [stdout] test corrections::tests::no_corrections_is_identity ... ok
[INFO] [stdout] test corrections::tests::ordered_corrections_is_deterministic_on_ties ... ok
[INFO] [stdout] test corrections::tests::ordered_corrections_sorts_longest_key_first ... ok
[INFO] [stdout] test corrections::tests::replaces_a_misheard_phrase ... ok
[INFO] [stdout] test cue::tests::a_bare_token_defaults_to_a_theme_event ... ok
[INFO] [stdout] test cue::tests::a_theme_prefixed_value_is_a_theme_event ... ok
[INFO] [stdout] test cue::tests::an_absolute_or_relative_path_is_a_file ... ok
[INFO] [stdout] test cue::tests::empty_is_disabled ... ok
[INFO] [stdout] test doctor::tests::a_reachable_daemon_has_no_problems ... ok
[INFO] [stdout] test doctor::tests::an_unreachable_daemon_is_flagged ... ok
[INFO] [stdout] test filter::tests::empty_or_whitespace_is_discarded ... ok
[INFO] [stdout] test filter::tests::known_hallucinations_are_discarded_case_insensitively ... ok
[INFO] [stdout] test filter::tests::pcm_duration_below_min_flags_discard ... ok
[INFO] [stdout] test filter::tests::pcm_duration_one_second_is_16k_samples ... ok
[INFO] [stdout] test filter::tests::pcm_duration_empty_is_zero ... ok
[INFO] [stdout] test filter::tests::real_speech_of_adequate_length_is_kept ... ok
[INFO] [stdout] test filter::tests::sub_minimum_duration_is_discarded_even_with_text ... ok
[INFO] [stdout] test link::tests::a_one_shot_ok_reply_is_not_a_registration ... ok
[INFO] [stdout] test link::tests::a_pushed_state_frame_means_we_are_registered ... ok
[INFO] [stdout] test link::tests::a_pushed_transcript_frame_means_we_are_registered ... ok
[INFO] [stdout] test link::tests::an_explicit_incompatible_error_is_an_incompatible_version ... ok
[INFO] [stdout] test link::tests::an_old_daemons_unknown_command_error_is_an_incompatible_version ... ok
[INFO] [stdout] test link::tests::another_error_reply_is_a_plain_rejection ... ok
[INFO] [stdout] test link::tests::garbage_is_treated_as_rejected_not_registered ... ok
[INFO] [stdout] test machine::tests::a_new_recording_can_start_while_prior_utterances_transcribe ... ok
[INFO] [stdout] test link::tests::link_state_tokens_are_distinct_per_failure_mode ... ok
[INFO] [stdout] test machine::tests::a_second_streaming_press_while_streaming_is_ignored ... ok
[INFO] [stdout] test machine::tests::cancel_discards_a_recording ... ok
[INFO] [stdout] test machine::tests::cancel_during_a_continuous_session_aborts_the_recording ... ok
[INFO] [stdout] test machine::tests::cancel_during_streaming_discards_the_preview ... ok
[INFO] [stdout] test machine::tests::cancel_is_a_noop_when_idle ... ok
[INFO] [stdout] test machine::tests::continuous_is_rejected_while_loading ... ok
[INFO] [stdout] test machine::tests::continuous_starts_a_session_from_idle ... ok
[INFO] [stdout] test machine::tests::continuous_while_already_recording_is_ignored ... ok
[INFO] [stdout] test machine::tests::downloading_rejects_recording_commands_with_a_clear_message ... ok
[INFO] [stdout] test machine::tests::downloading_rejects_replay_and_reload_too ... ok
[INFO] [stdout] test machine::tests::downloading_reports_status_without_changing_state ... ok
[INFO] [stdout] test machine::tests::loading_rejects_commands_but_reports_status ... ok
[INFO] [stdout] test machine::tests::downloading_status_preserves_the_carried_percent ... ok
[INFO] [stdout] test machine::tests::replay_last_is_rejected_while_loading ... ok
[INFO] [stdout] test machine::tests::reload_requests_config_reload_without_changing_state ... ok
[INFO] [stdout] test machine::tests::replay_last_reinjects_without_changing_state ... ok
[INFO] [stdout] test machine::tests::status_preserves_state_with_no_action ... ok
[INFO] [stdout] test machine::tests::streaming_is_rejected_while_downloading ... ok
[INFO] [stdout] test machine::tests::streaming_starts_a_live_dictation_from_idle ... ok
[INFO] [stdout] test machine::tests::status_and_replay_are_answered_while_streaming ... ok
[INFO] [stdout] test machine::tests::streaming_starts_from_transcribing_like_the_other_hands_free_modes ... ok
[INFO] [stdout] test machine::tests::streaming_while_already_recording_is_ignored ... ok
[INFO] [stdout] test machine::tests::toggle_during_a_vad_recording_is_a_manual_early_stop ... ok
[INFO] [stdout] test machine::tests::streaming_is_rejected_while_loading ... ok
[INFO] [stdout] test machine::tests::toggle_starts_recording_from_idle ... ok
[INFO] [stdout] test machine::tests::toggle_stops_and_enqueues_then_frees_the_recorder ... ok
[INFO] [stdout] test machine::tests::vad_or_continuous_during_streaming_is_ignored ... ok
[INFO] [stdout] test machine::tests::vad_is_rejected_while_loading ... ok
[INFO] [stdout] test machine::tests::toggle_during_streaming_force_stops_and_finalizes ... ok
[INFO] [stdout] test machine::tests::vad_starts_a_hands_free_recording_from_idle ... ok
[INFO] [stdout] test machine::tests::vad_while_already_recording_is_ignored ... ok
[INFO] [stdout] test model::tests::absent_file_is_missing_and_needs_download ... ok
[INFO] [stdout] test model::tests::present_but_unhashed_is_healthy_by_presence ... ok
[INFO] [stdout] test model::tests::present_with_mismatched_sha_is_corrupt_and_needs_redownload ... ok
[INFO] [stdout] test pipeline::tests::corrects_jargon_in_a_kept_transcript ... ok
[INFO] [stdout] test model::tests::present_with_matching_sha_is_healthy_and_skips_download ... ok
[INFO] [stdout] test model::tests::an_empty_expected_hash_disables_the_sha_gate ... ok
[INFO] [stdout] test model::tests::sha_comparison_ignores_hex_casing ... ok
[INFO] [stdout] test model::tests::the_download_url_points_at_the_large_v3_lfs_object ... ok
[INFO] [stdout] test model::tests::the_pinned_hash_is_either_unset_or_lowercase_64_hex ... ok
[INFO] [stdout] test model::tests::verify_download_accepts_a_match_and_rejects_a_mismatch ... ok
[INFO] [stdout] test pipeline::tests::discards_a_known_hallucination ... ok
[INFO] [stdout] test pipeline::tests::discards_sub_min_duration_even_with_real_words ... ok
[INFO] [stdout] test pipeline::tests::discards_empty_audio ... ok
[INFO] [stdout] test pipeline::tests::keeps_real_speech_without_corrections_unchanged ... ok
[INFO] [stdout] test prompt::tests::empty_vocab_yields_just_the_prefix ... ok
[INFO] [stdout] test prompt::tests::includes_all_vocab_under_the_cap ... ok
[INFO] [stdout] test protocol::tests::a_bare_downloading_token_is_backward_compatible ... ok
[INFO] [stdout] test prompt::tests::truncates_and_flags_when_over_the_cap ... ok
[INFO] [stdout] test protocol::tests::a_downloading_token_with_a_bogus_percent_does_not_parse ... ok
[INFO] [stdout] test protocol::tests::a_transcript_whose_text_begins_with_finalize_stays_a_transcript ... ok
[INFO] [stdout] test protocol::tests::a_pushed_downloading_percent_frame_encodes_and_parses ... ok
[INFO] [stdout] test protocol::tests::a_transcript_whose_text_begins_with_live_stays_a_transcript ... ok
[INFO] [stdout] test protocol::tests::downloading_token_round_trips_with_and_without_a_percent ... ok
[INFO] [stdout] test protocol::tests::encodes_ok_and_err_responses ... ok
[INFO] [stdout] test protocol::tests::finalize_frame_round_trips_preserving_internal_spacing ... ok
[INFO] [stdout] test protocol::tests::frame_parse_rejects_an_unknown_line ... ok
[INFO] [stdout] test protocol::tests::frame_parse_strips_only_the_trailing_newline ... ok
[INFO] [stdout] test protocol::tests::a_transcript_whose_text_begins_with_state_stays_a_transcript ... ok
[INFO] [stdout] test protocol::tests::live_edit_frame_round_trips_with_empty_fields ... ok
[INFO] [stdout] test protocol::tests::live_edit_frame_round_trips_both_fields_preserving_spacing ... ok
[INFO] [stdout] test protocol::tests::parses_each_command ... ok
[INFO] [stdout] test protocol::tests::parses_register_sink_with_a_protocol_version ... ok
[INFO] [stdout] test protocol::tests::parses_a_bare_register_sink_as_a_legacy_no_version_registration ... ok
[INFO] [stdout] test protocol::tests::register_sink_with_a_non_numeric_version_is_an_error ... ok
[INFO] [stdout] test protocol::tests::states_round_trip_through_their_wire_token ... ok
[INFO] [stdout] test protocol::tests::status_report_encodes_state_and_wrapper_count ... ok
[INFO] [stdout] test protocol::tests::parsing_trims_and_ignores_case ... ok
[INFO] [stdout] test protocol::tests::states_render_as_wire_tokens ... ok
[INFO] [stdout] test protocol::tests::states_render_human_labels_including_the_percent_form ... ok
[INFO] [stdout] test protocol::tests::status_report_carries_a_downloading_percent_alongside_the_wrapper_count ... ok
[INFO] [stdout] test protocol::tests::status_report_parse_is_backward_compatible_with_a_bare_ok_state ... ok
[INFO] [stdout] test protocol::tests::transcript_frame_round_trips_preserving_internal_spacing ... ok
[INFO] [stdout] test protocol::tests::unknown_command_is_an_error ... ok
[INFO] [stdout] test protocol::tests::state_frame_round_trips_for_each_state ... ok
[INFO] [stdout] test protocol::tests::status_report_parse_accepts_a_bare_ok_downloading_percent ... ok
[INFO] [stdout] test protocol::tests::version_compatibility_requires_an_exact_match ... ok
[INFO] [stdout] test protocol::tests::status_report_round_trips_through_encode_parse ... ok
[INFO] [stdout] test pty::tests::a_tail_revision_rewrites_only_the_tail_leaving_the_stable_prefix_intact ... ok
[INFO] [stdout] test protocol::tests::status_report_parse_rejects_a_non_ok_or_unknown_state_line ... ok
[INFO] [stdout] test pty::tests::deletes_count_unicode_codepoints_not_bytes ... ok
[INFO] [stdout] test pty::tests::a_monotonic_dictation_only_appends_and_never_flickers_the_stable_prefix ... ok
[INFO] [stdout] test pty::tests::injection_preserves_internal_spacing_and_trailing_spaces ... ok
[INFO] [stdout] test pty::tests::cancel_erases_the_whole_preview_and_types_nothing ... ok
[INFO] [stdout] test pty::tests::injection_never_carries_a_trailing_newline ... ok
[INFO] [stdout] test pty::tests::reset_clears_the_cursor_between_dictations ... ok
[INFO] [stdout] test pty::tests::edit_bytes_erase_the_old_tail_then_type_committed_and_new_tail ... ok
[INFO] [stdout] test pty::tests::split_command_rejects_an_empty_invocation ... ok
[INFO] [stdout] test pty::tests::split_command_passes_ssh_args_through_verbatim ... ok
[INFO] [stdout] test pty::tests::split_command_takes_the_first_arg_as_the_program ... ok
[INFO] [stdout] test pty::tests::finalize_erases_the_whole_preview_and_types_the_reconciled_transcript ... ok
[INFO] [stdout] test queue::tests::a_later_ready_utterance_waits_for_an_earlier_pending_one ... ok
[INFO] [stdout] test queue::tests::a_dropped_pending_head_unblocks_the_queue ... ok
[INFO] [stdout] test queue::tests::resolving_the_head_advances_to_the_next ... ok
[INFO] [stdout] test queue::tests::empty_queue_has_nothing_to_type ... ok
[INFO] [stdout] test session::tests::a_short_clip_folds_into_the_following_clip ... ok
[INFO] [stdout] test session::tests::a_trailing_short_clip_is_still_emitted_as_its_own_group ... ok
[INFO] [stdout] test session::tests::long_silence_ends_the_session ... ok
[INFO] [stdout] test session::tests::medium_pause_cuts_a_clip ... ok
[INFO] [stdout] test session::tests::an_empty_session_assembles_to_nothing_and_seeds_no_prompt ... ok
[INFO] [stdout] test session::tests::no_clip_is_finalized_until_a_second_one_opens ... ok
[INFO] [stdout] test session::tests::assemble_joins_clips_in_order_dropping_empties ... ok
[INFO] [stdout] test session::tests::chain_tail_returns_the_last_words ... ok
[INFO] [stdout] test session::tests::assembled_session_delivers_exactly_once_through_the_queue ... ok
[INFO] [stdout] test session::tests::clips_at_or_above_min_each_stand_alone ... ok
[INFO] [stdout] test session::tests::consecutive_short_clips_all_fold_forward_together ... ok
[INFO] [stdout] test session::tests::empty_clip_transcripts_are_dropped_from_assembly ... ok
[INFO] [stdout] test session::tests::no_clips_accumulate_to_nothing ... ok
[INFO] [stdout] test session::tests::prompt_for_next_is_the_tail_of_what_has_been_transcribed_so_far ... ok
[INFO] [stdout] test session::tests::pipeline_accumulates_transcribes_in_order_and_assembles ... ok
[INFO] [stdout] test session::tests::pushing_clip_transcripts_assembles_them_in_record_order ... ok
[INFO] [stdout] test session::tests::short_pause_continues_the_clip ... ok
[INFO] [stdout] test session::tests::when_sox_has_exited_every_clip_is_finalized ... ok
[INFO] [stdout] test session::tests::while_recording_all_but_the_newest_clip_are_finalized ... ok
[INFO] [stdout] test sink::tests::a_binding_is_never_silently_redirected_to_a_later_wrapper ... ok
[INFO] [stdout] test sink::tests::a_dead_wrapper_binding_is_held_not_redirected ... ok
[INFO] [stdout] test sink::tests::a_handoff_never_redirects_an_utterance_bound_to_the_now_dead_wrapper ... ok
[INFO] [stdout] test sink::tests::a_live_wrapper_binding_routes_to_that_wrapper ... ok
[INFO] [stdout] test sink::tests::a_binding_to_nothing_is_held ... ok
[INFO] [stdout] test sink::tests::deregistering_a_non_active_wrapper_leaves_the_active_one_untouched ... ok
[INFO] [stdout] test sink::tests::deregistering_a_non_active_wrapper_never_changes_the_active_sink ... ok
[INFO] [stdout] test sink::tests::deregistering_the_active_wrapper_hands_off_to_the_newest_live_wrapper ... ok
[INFO] [stdout] test sink::tests::a_fresh_registry_has_no_active_sink ... ok
[INFO] [stdout] test sink::tests::deregistering_the_only_wrapper_leaves_no_active_sink ... ok
[INFO] [stdout] test sink::tests::deregistration_falls_back_to_no_sink_only_when_the_last_wrapper_exits ... ok
[INFO] [stdout] test sink::tests::exactly_one_sink_is_active_even_with_several_registered ... ok
[INFO] [stdout] test sink::tests::registering_a_wrapper_makes_it_the_active_sink ... ok
[INFO] [stdout] test streaming::tests::a_tail_revision_before_commit_does_not_pollute_the_stable_prefix ... ok
[INFO] [stdout] test streaming::tests::a_word_commits_one_decode_after_two_passes_agree ... ok
[INFO] [stdout] test sink::tests::wrapper_count_tracks_the_number_of_live_wrappers ... ok
[INFO] [stdout] test streaming::tests::an_empty_decode_commits_nothing ... ok
[INFO] [stdout] test streaming::tests::re_observing_an_unchanged_hypothesis_is_idempotent ... ok
[INFO] [stdout] test streaming::tests::the_first_committed_word_has_no_leading_space_but_later_ones_do ... ok
[INFO] [stdout] test strip::tests::a_one_row_terminal_gives_the_child_zero_rows_without_panicking ... ok
[INFO] [stdout] test streaming::tests::the_committed_prefix_grows_monotonically_and_never_retracts ... ok
[INFO] [stdout] test strip::tests::a_multi_row_strip_reserves_that_many_rows ... ok
[INFO] [stdout] test strip::tests::a_zero_sized_terminal_is_handled ... ok
[INFO] [stdout] test strip::tests::standard_terminal_reserves_one_bottom_row ... ok
[INFO] [stdout] test strip::tests::width_is_never_changed_by_reserving_a_bottom_strip ... ok
[INFO] [stdout] test strip::tests::render_shows_the_streaming_state_so_a_live_dictation_is_visible ... ok
[INFO] [stdout] test supervisor::tests::delay_doubles_each_failure ... ok
[INFO] [stdout] test strip::tests::a_terminal_shorter_than_the_strip_never_underflows ... ok
[INFO] [stdout] test strip::tests::render_targets_the_strip_row_carries_the_state_and_restores_the_cursor ... ok
[INFO] [stdout] test strip::tests::child_origin_stays_at_the_top_so_the_strip_is_below_it ... ok
[INFO] [stdout] test supervisor::tests::delay_is_capped_at_max ... ok
[INFO] [stdout] test supervisor::tests::huge_failure_count_does_not_overflow ... ok
[INFO] [stdout] test supervisor::tests::no_failures_means_no_delay ... ok
[INFO] [stdout] test transcript::tests::extracts_text_field ... ok
[INFO] [stdout] test transcript::tests::ignores_extra_fields ... ok
[INFO] [stdout] test transcript::tests::normalizes_internal_newlines_to_spaces ... ok
[INFO] [stdout] test transcript::tests::rejects_missing_text_field ... ok
[INFO] [stdout] test transcript::tests::rejects_non_json ... ok
[INFO] [stdout] test transcript::tests::trims_leading_whisper_space ... ok
[INFO] [stdout] test transcript::tests::whitespace_only_text_is_empty ... ok
[INFO] [stdout] test trigger::tests::a_lone_escape_is_forwarded_not_swallowed ... ok
[INFO] [stdout] test trigger::tests::a_trigger_embedded_in_text_splits_around_it ... ok
[INFO] [stdout] test trigger::tests::an_empty_buffer_yields_nothing ... ok
[INFO] [stdout] test trigger::tests::ordinary_text_passes_through_untouched ... ok
[INFO] [stdout] test trigger::tests::shift_f10_alone_is_a_toggle_trigger_and_is_consumed ... ok
[INFO] [stdout] test trigger::tests::the_f12_debug_key_passes_through_untouched ... ok
[INFO] [stdout] test trigger::tests::the_triggers_map_to_their_wire_command_words ... ok
[INFO] [stdout] test supervisor::tests::first_failure_waits_base ... ok
[INFO] [stdout] test trigger::tests::shift_f9_alone_is_a_streaming_trigger_and_is_consumed ... ok
[INFO] [stdout] test trigger::tests::while_streaming_a_trigger_amid_typed_text_still_resolves_and_the_text_drops ... ok
[INFO] [stdout] test trigger::tests::bare_f9_and_f10_pass_through_untouched ... ok
[INFO] [stdout] test vad::tests::silence_effect_uses_threshold_and_duration ... ok
[INFO] [stdout] test vad::tests::a_fractional_threshold_renders_as_a_decimal_percent ... ok
[INFO] [stdout] test vad::tests::split_args_write_numbered_clips_via_a_template_path ... ok
[INFO] [stdout] test trigger::tests::while_streaming_the_trigger_keys_still_resolve ... ok
[INFO] [stdout] test trigger::tests::while_streaming_ordinary_keystrokes_are_dropped ... ok
[INFO] [stdout] test vad::tests::split_effect_cuts_on_clip_pause_and_restarts ... ok
[INFO] [stdout] test vad::tests::record_args_target_the_output_and_end_with_silence ... ok
[INFO] [stdout] test vulkan::tests::accepts_matching_device_name ... ok
[INFO] [stdout] test vulkan::tests::duplicate_address_is_ambiguous ... ok
[INFO] [stdout] test vulkan::tests::name_match_is_case_insensitive ... ok
[INFO] [stdout] test vulkan::tests::missing_address_is_device_not_found ... ok
[INFO] [stdout] test vad::tests::threshold_is_rendered_as_a_percentage ... ok
[INFO] [stdout] test vulkan::tests::parses_a_full_pci_address ... ok
[INFO] [stdout] test trigger::tests::two_triggers_back_to_back_both_resolve ... ok
[INFO] [stdout] test vulkan::tests::resolves_discrete_gpu_to_its_index ... ok
[INFO] [stdout] test vulkan::tests::rejects_wrong_device ... ok
[INFO] [stdout] test window::tests::a_capture_shorter_than_the_window_decodes_the_whole_file ... ok
[INFO] [stdout] test vulkan::tests::rejects_garbage ... ok
[INFO] [stdout] test vulkan::tests::parses_hex_fields ... ok
[INFO] [stdout] test vulkan::tests::resolves_igpu_to_its_index ... ok
[INFO] [stdout] test window::tests::a_capture_longer_than_the_window_decodes_only_the_trailing_window ... ok
[INFO] [stdout] test window::tests::a_committed_offset_past_the_end_clamps_to_the_end ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ghostty_voice_ctl-9156d9dc05c8589f)
[INFO] [stdout] test window::tests::committed_audio_drops_out_so_the_stable_prefix_is_never_re_decoded ... ok
[INFO] [stdout] test window::tests::the_window_never_starts_before_the_committed_offset ... ok
[INFO] [stdout] test window::tests::the_committed_offset_and_the_window_bound_compose ... ok
[INFO] [stdout] test window::tests::the_start_is_aligned_to_a_sample_boundary ... ok
[INFO] [stdout] test window::tests::seconds_to_bytes_uses_the_16k_mono_s16_rate ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 242 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test tests::vad_maps_to_the_vad_wire_word ... ok
[INFO] [stdout] test tests::doctor_is_a_local_only_subcommand ... ok
[INFO] [stdout] test tests::continuous_maps_to_the_continuous_wire_word ... ok
[INFO] [stdout] test tests::sends_command_and_reads_reply ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ghostty_voice_io-efb0881224d733b3)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 27 tests
[INFO] [stdout] test audio::tests::data_len_clamps_to_bytes_present ... ok
[INFO] [stdout] test audio::tests::rejects_non_wav ... ok
[INFO] [stdout] test audio::tests::sox_continuous_split_writes_multiple_numbered_clips ... ok
[INFO] [stdout] test audio::tests::sigint_cleanly_stops_an_in_flight_sox_recording ... ok
[INFO] [stdout] test audio::tests::sox_silence_effect_auto_stops_on_trailing_silence ... ok
[INFO] [stdout] test audio::tests::wav_duration_of_one_second_file ... ok
[INFO] [stdout] test audio::tests::reads_data_len_from_canonical_wav ... ok
[INFO] [stdout] test audio::tests::windowing_a_short_capture_passes_the_whole_file ... ok
[INFO] [stdout] test cache::tests::latest_transcript_is_none_for_a_missing_or_empty_dir ... ok
[INFO] [stdout] test cue::tests::a_theme_event_maps_to_its_freedesktop_oga_via_paplay ... ok
[INFO] [stdout] test cue::tests::a_file_path_dispatches_to_paplay ... ok
[INFO] [stdout] test cue::tests::an_empty_value_is_a_silent_noop ... ok
[INFO] [stdout] test cache::tests::store_wav_copies_the_audio_into_the_cache ... ok
[INFO] [stdout] test audio::tests::windowing_excludes_committed_audio ... ok
[INFO] [stdout] test cache::tests::stores_and_reads_back_the_latest_transcript ... ok
[INFO] [stdout] test transcribe::tests::builds_params_from_whisper_config_with_bounded_prompt ... ok
[INFO] [stdout] test download::tests::progress_percent_is_none_without_a_total ... ok
[INFO] [stdout] test audio::tests::sox_never_auto_stops_when_no_speech_ever_rises_above_threshold ... ok
[INFO] [stdout] test cache::tests::transcript_cache_is_pruned_to_the_keep_cap ... ok
[INFO] [stdout] test transcribe::tests::flags_truncation_when_vocab_overflows_the_cap ... ok
[INFO] [stdout] test audio::tests::windowing_a_long_capture_stays_bounded_to_the_window ... ok
[INFO] [stdout] test download::tests::a_sha_mismatch_is_rejected_and_installs_nothing ... ok
[INFO] [stdout] test download::tests::downloads_streams_to_disk_and_reports_progress ... ok
[INFO] [stdout] test download::tests::an_empty_expected_hash_skips_verification ... ok
[INFO] [stdout] test transcribe::tests::sends_beam_temperature_and_initial_prompt_as_multipart_fields ... ok
[INFO] [stdout] test transcribe::tests::omits_initial_prompt_when_empty ... ok
[INFO] [stdout] test transcribe::tests::posts_wav_and_returns_response_body ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ghostty_voiced-1ac31331d9757915)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.69s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test tests::throttle_passes_through_the_percent_unknown_phase ... ok
[INFO] [stdout] test tests::throttle_emits_only_on_a_new_whole_percent ... ok
[INFO] [stdout] test vulkan_enum::tests::driver_uuid_is_not_mistaken_for_device_uuid ... ok
[INFO] [stdout] test vulkan_enum::tests::resolves_configured_pci_to_the_discrete_index ... ok
[INFO] [stdout] test vulkan_enum::tests::parses_devices_with_index_name_and_pci ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/accuracy_pipeline.rs (/opt/rustwide/target/debug/deps/accuracy_pipeline-678ede928bea0d35)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test sub_min_duration_wav_types_nothing ... ok
[INFO] [stdout] test jargon_wav_comes_out_corrected ... ok
[INFO] [stdout] test silence_wav_types_nothing ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.36s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/download_progress.rs (/opt/rustwide/target/debug/deps/download_progress-751554a2551087cd)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test a_pushed_download_percent_renders_on_the_strip ... ok
[INFO] [stderr]      Running tests/held_for_replay.rs (/opt/rustwide/target/debug/deps/held_for_replay-80038bcf634ea232)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test a_transcript_bound_to_a_dead_wrapper_is_held_and_recoverable_not_redirected ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/incompatible_daemon.rs (/opt/rustwide/target/debug/deps/incompatible_daemon-31c583d2614ea288)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test a_matching_version_registers_cleanly ... ok
[INFO] [stdout] test an_old_daemon_that_doesnt_speak_the_handshake_is_incompatible_not_unreachable ... ok
[INFO] [stderr]      Running tests/ordered_drain.rs (/opt/rustwide/target/debug/deps/ordered_drain-d369a817940c1bee)
[INFO] [stdout] test a_version_mismatch_is_reported_as_incompatible ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]      Running tests/release_guard.rs (/opt/rustwide/target/debug/deps/release_guard-6d33ef884ceb4391)
[INFO] [stdout] test queue_drains_in_record_order_despite_a_slow_first_transcription ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.64s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test a_non_executable_binary_does_not_count_as_present ... ok
[INFO] [stdout] test usage_error_without_an_argument ... ok
[INFO] [stdout] test passes_when_all_four_binaries_are_present ... ok
[INFO] [stdout] test fails_when_every_binary_is_missing ... ok
[INFO] [stdout] test fails_and_names_the_missing_binary ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/sink_registration.rs (/opt/rustwide/target/debug/deps/sink_registration-70af6aad1f577605)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test a_registered_wrapper_sink_becomes_active_and_receives_pushed_frames ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/status_report.rs (/opt/rustwide/target/debug/deps/status_report-e089da10de605bce)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test status_reports_the_registered_wrapper_count ... ok
[INFO] [stdout] test status_reports_zero_wrappers_when_none_registered ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/streaming_decode.rs (/opt/rustwide/target/debug/deps/streaming_decode-85bfe6cacddd2b73)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test with_no_wrapper_registered_the_live_preview_no_ops_and_the_final_is_held ... ok
[INFO] [stderr]      Running tests/wrapper_delivery.rs (/opt/rustwide/target/debug/deps/wrapper_delivery-c7e27b908e68bf56)
[INFO] [stdout] test live_preview_self_edits_in_place_then_reconciles_to_the_batch_accurate_transcript ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.76s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stderr]      Running tests/wrapper_handoff.rs (/opt/rustwide/target/debug/deps/wrapper_handoff-08bae166f0abc402)
[INFO] [stdout] test with_no_wrapper_registered_delivery_is_held ... ok
[INFO] [stdout] test a_bound_wrapper_sink_receives_the_pushed_transcript_end_to_end ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test closing_the_active_wrapper_hands_off_to_the_other_live_wrapper has been running for over 60 seconds
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "e6e37bda246461574c314cfbcc38979f2c4def4b508e67aee42541d94f36c751", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e6e37bda246461574c314cfbcc38979f2c4def4b508e67aee42541d94f36c751", kill_on_drop: false }`
[INFO] [stdout] e6e37bda246461574c314cfbcc38979f2c4def4b508e67aee42541d94f36c751
