[INFO] cloning repository https://github.com/aetherwing-io/mish
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/aetherwing-io/mish" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faetherwing-io%2Fmish", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faetherwing-io%2Fmish'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c6986f22ff1b09995c4a1494963623631dd50f02
[INFO] testing aetherwing-io/mish against 1.94.0 for beta-1.95-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faetherwing-io%2Fmish" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-5-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/aetherwing-io/mish
[INFO] finished tweaking git repo https://github.com/aetherwing-io/mish
[INFO] tweaked toml for git repo https://github.com/aetherwing-io/mish written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/aetherwing-io/mish on toolchain 1.94.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.94.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/aetherwing-io/mish already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.94.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serial_test_derive v3.4.0
[INFO] [stderr]   Downloaded vte v0.15.0
[INFO] [stderr]   Downloaded serial_test v3.4.0
[INFO] [stderr]   Downloaded vte_generate_state_changes v0.1.2
[INFO] [stderr]   Downloaded sdd v3.0.10
[INFO] [stderr]   Downloaded termtree v0.5.1
[INFO] [stderr]   Downloaded wait-timeout v0.2.1
[INFO] [stderr]   Downloaded predicates-tree v1.0.13
[INFO] [stderr]   Downloaded float-cmp v0.10.0
[INFO] [stderr]   Downloaded predicates v3.1.4
[INFO] [stderr]   Downloaded assert_cmd v2.1.2
[INFO] [stderr]   Downloaded vt100 v0.16.2
[INFO] [stderr]   Downloaded vte v0.13.1
[INFO] [stderr]   Downloaded predicates-core v1.0.10
[INFO] [stderr]   Downloaded scc v2.4.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 95975faacb766ff19f9fad08de19c74899f85efb6c9e8125d8aea41e2d139c29
[INFO] running `Command { std: "docker" "start" "-a" "95975faacb766ff19f9fad08de19c74899f85efb6c9e8125d8aea41e2d139c29", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "95975faacb766ff19f9fad08de19c74899f85efb6c9e8125d8aea41e2d139c29", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "95975faacb766ff19f9fad08de19c74899f85efb6c9e8125d8aea41e2d139c29", kill_on_drop: false }`
[INFO] [stdout] 95975faacb766ff19f9fad08de19c74899f85efb6c9e8125d8aea41e2d139c29
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0120684d4d10f95d201799816665b07b2e9fd4f2b2a4d78c9a45737520c18542
[INFO] running `Command { std: "docker" "start" "-a" "0120684d4d10f95d201799816665b07b2e9fd4f2b2a4d78c9a45737520c18542", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling zerocopy v0.8.40
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling vte v0.15.0
[INFO] [stderr]    Compiling vte_generate_state_changes v0.1.2
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling vt100 v0.16.2
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling vte v0.13.1
[INFO] [stderr]    Compiling uuid v1.21.0
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling zstd v0.13.3
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling mish v0.4.33 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 48s
[INFO] running `Command { std: "docker" "inspect" "0120684d4d10f95d201799816665b07b2e9fd4f2b2a4d78c9a45737520c18542", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0120684d4d10f95d201799816665b07b2e9fd4f2b2a4d78c9a45737520c18542", kill_on_drop: false }`
[INFO] [stdout] 0120684d4d10f95d201799816665b07b2e9fd4f2b2a4d78c9a45737520c18542
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 874866688cfbea0b20b34a741fcc524d5c1a8f039f455aa9142d829431fac48d
[INFO] running `Command { std: "docker" "start" "-a" "874866688cfbea0b20b34a741fcc524d5c1a8f039f455aa9142d829431fac48d", kill_on_drop: false }`
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling sdd v3.0.10
[INFO] [stderr]    Compiling assert_cmd v2.1.2
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling scc v2.4.0
[INFO] [stderr]    Compiling serial_test_derive v3.4.0
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling tempfile v3.26.0
[INFO] [stderr]    Compiling serial_test v3.4.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling mish v0.4.33 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 05s
[INFO] running `Command { std: "docker" "inspect" "874866688cfbea0b20b34a741fcc524d5c1a8f039f455aa9142d829431fac48d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "874866688cfbea0b20b34a741fcc524d5c1a8f039f455aa9142d829431fac48d", kill_on_drop: false }`
[INFO] [stdout] 874866688cfbea0b20b34a741fcc524d5c1a8f039f455aa9142d829431fac48d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d25db3f1e42b972f1ef6b5f9840e69b458b33ee1442e8b088a3d6e3604e1d030
[INFO] running `Command { std: "docker" "start" "-a" "d25db3f1e42b972f1ef6b5f9840e69b458b33ee1442e8b088a3d6e3604e1d030", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.39s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/mish-28a43a105891fa9c)
[INFO] [stdout] 
[INFO] [stdout] running 1416 tests
[INFO] [stdout] test audit::logger::tests::audit_event_serialization ... ok
[INFO] [stdout] test audit::logger::tests::command_record_log_level_is_info ... ok
[INFO] [stdout] test audit::logger::tests::command_none_omitted_from_json ... ok
[INFO] [stdout] test audit::logger::tests::command_record_filtered_by_log_level ... ok
[INFO] [stdout] test audit::logger::tests::cloexec_is_set ... ok
[INFO] [stdout] test audit::logger::tests::command_record_full_entry_in_log ... ok
[INFO] [stdout] test audit::logger::tests::command_record_serializes_with_type_tag ... ok
[INFO] [stdout] test audit::logger::tests::command_some_included_in_json ... ok
[INFO] [stdout] test audit::logger::tests::command_record_respects_log_commands_disabled ... ok
[INFO] [stdout] test audit::logger::tests::command_record_null_grammar ... ok
[INFO] [stdout] test audit::logger::tests::category_flag_filtering ... ok
[INFO] [stdout] test audit::logger::tests::command_record_respects_log_commands_enabled ... ok
[INFO] [stdout] test audit::logger::tests::audit_dir_is_subdirectory_of_log_path_parent ... ok
[INFO] [stdout] test audit::logger::tests::creates_parent_directories ... ok
[INFO] [stdout] test audit::logger::tests::creates_file_at_specified_path ... ok
[INFO] [stdout] test audit::logger::tests::flush_writes_data ... ok
[INFO] [stdout] test audit::logger::tests::log_session_end_computed_ratio ... ok
[INFO] [stdout] test audit::logger::tests::disabled_config_skips_sidecar ... ok
[INFO] [stdout] test audit::logger::tests::entries_written_to_session_file_not_old_path ... ok
[INFO] [stdout] test audit::logger::tests::log_session_start_convenience ... ok
[INFO] [stdout] test audit::logger::tests::log_level_filtering ... ok
[INFO] [stdout] test audit::logger::tests::raw_output_none_no_sidecar ... ok
[INFO] [stdout] test audit::logger::tests::raw_output_sha256_omitted_when_none ... ok
[INFO] [stdout] test audit::logger::tests::raw_output_sha256_present_when_some ... ok
[INFO] [stdout] test audit::logger::tests::log_session_end_convenience ... ok
[INFO] [stdout] test audit::logger::tests::multiple_commands_increment_seq ... ok
[INFO] [stdout] test audit::logger::tests::separate_session_files ... ok
[INFO] [stdout] test audit::logger::tests::session_file_created_at_correct_path ... ok
[INFO] [stdout] test audit::logger::tests::multiple_entries_on_separate_lines ... ok
[INFO] [stdout] test audit::logger::tests::raw_sidecar_disabled_by_default ... ok
[INFO] [stdout] test audit::logger::tests::session_end_empty_grammars ... ok
[INFO] [stdout] test audit::logger::tests::raw_sidecar_enabled_when_configured ... ok
[INFO] [stdout] test audit::logger::tests::session_end_serialization ... ok
[INFO] [stdout] test audit::logger::tests::session_start_end_log_level_filtering ... ok
[INFO] [stdout] test audit::logger::tests::timestamp_format ... ok
[INFO] [stdout] test audit::logger::tests::session_start_serialization ... ok
[INFO] [stdout] test audit::logger::tests::tilde_expansion_in_path ... ok
[INFO] [stdout] test audit::logger::tests::writes_json_lines ... ok
[INFO] [stdout] test audit::logger::tests::zstd_roundtrip ... ok
[INFO] [stdout] test audit::logger::tests::sidecar_empty_raw_output ... ok
[INFO] [stdout] test cli::management::tests::test_cmd_config_check_exit_code_valid ... ok
[INFO] [stdout] test cli::management::tests::test_config_check_invalid ... ok
[INFO] [stdout] test audit::logger::tests::sha256_matches_decompressed_content ... ok
[INFO] [stdout] test cli::management::tests::test_cmd_config_check_exit_code_invalid ... ok
[INFO] [stdout] test cli::management::tests::test_config_check_default ... ok
[INFO] [stdout] test cli::management::tests::test_expand_tilde ... ok
[INFO] [stdout] test cli::management::tests::test_format_duration_hours ... ok
[INFO] [stdout] test cli::management::tests::test_format_duration_minutes ... ok
[INFO] [stdout] test cli::management::tests::test_format_duration_seconds ... ok
[INFO] [stdout] test cli::management::tests::test_format_ps_empty ... ok
[INFO] [stdout] test cli::management::tests::test_format_ps_with_instances ... ok
[INFO] [stdout] test cli::management::tests::test_list_server_instances_no_dir ... ok
[INFO] [stdout] test cli::management::tests::test_read_last_n_lines_empty ... ok
[INFO] [stdout] test cli::management::tests::test_read_last_n_lines_fewer ... ok
[INFO] [stdout] test cli::management::tests::test_read_last_n_lines_nonexistent ... ok
[INFO] [stdout] test cli::management::tests::test_management_error_display ... ok
[INFO] [stdout] test cli::proxy::tests::test_contains_pipe_detects_bare_pipe ... ok
[INFO] [stdout] test cli::proxy::tests::test_contains_pipe_multi_stage ... ok
[INFO] [stdout] test cli::proxy::tests::test_contains_pipe_no_pipe ... ok
[INFO] [stdout] test audit::logger::tests::sidecar_file_created_at_correct_path ... ok
[INFO] [stdout] test cli::proxy::tests::test_contains_pipe_inside_token_not_detected ... ok
[INFO] [stdout] test cli::proxy::tests::test_event_loop_empty_command_error ... ok
[INFO] [stdout] test cli::proxy::tests::test_event_loop_basic_output ... ok
[INFO] [stdout] test audit::logger::tests::session_start_end_always_pass_category_filter ... ok
[INFO] [stdout] test cli::management::tests::test_read_last_n_lines ... ok
[INFO] [stdout] test cli::management::tests::test_config_check_valid_file ... ok
[INFO] [stdout] test audit::logger::tests::disabled_logger_no_crash ... FAILED
[INFO] [stdout] test cli::proxy::tests::test_parse_mode_empty_args ... ok
[INFO] [stdout] test cli::proxy::tests::test_parse_mode_flags ... ok
[INFO] [stdout] test cli::proxy::tests::test_parse_mode_unknown_flags_passed_through ... ok
[INFO] [stdout] test cli::proxy::tests::test_pipe_mixed_with_compound_ops ... ok
[INFO] [stdout] test cli::proxy::tests::test_query_terminal_size ... ok
[INFO] [stdout] test cli::proxy::tests::test_run_pipeline_basic ... ok
[INFO] [stdout] test cli::proxy::tests::test_run_pipeline_exit_code_from_last ... ok
[INFO] [stdout] test cli::proxy::tests::test_run_with_mode_empty_args_error ... ok
[INFO] [stdout] test cli::proxy::tests::test_run_with_mode_json ... ok
[INFO] [stdout] test cli::proxy::tests::test_exit_code_propagation ... ok
[INFO] [stdout] test cli::proxy::tests::test_split_compound_and ... ok
[INFO] [stdout] test cli::proxy::tests::test_split_compound_empty ... ok
[INFO] [stdout] test cli::proxy::tests::test_split_compound_mixed ... ok
[INFO] [stdout] test cli::proxy::tests::test_split_compound_or ... ok
[INFO] [stdout] test cli::proxy::tests::test_split_compound_seq ... ok
[INFO] [stdout] test cli::proxy::tests::test_split_compound_single_command ... ok
[INFO] [stdout] test cli::proxy::tests::test_run_with_mode_simple_echo ... ok
[INFO] [stdout] test cli::proxy::tests::test_event_loop_sigint_forwarding ... ok
[INFO] [stdout] test cli::session::tests::test_default_timeout_value ... ok
[INFO] [stdout] test cli::session::tests::test_format_uptime ... ok
[INFO] [stdout] test cli::session::tests::test_pid_path_format ... ok
[INFO] [stdout] test cli::session::tests::test_protocol_serde_roundtrip_close ... ok
[INFO] [stdout] test cli::proxy::tests::test_event_loop_exit_code ... ok
[INFO] [stdout] test cli::session::tests::test_protocol_serde_roundtrip_list ... ok
[INFO] [stdout] test cli::session::tests::test_protocol_serde_roundtrip_ping ... ok
[INFO] [stdout] test cli::session::tests::test_protocol_serde_roundtrip_send ... ok
[INFO] [stdout] test cli::session::tests::test_response_serde_error ... ok
[INFO] [stdout] test cli::session::tests::test_response_serde_ok ... ok
[INFO] [stdout] test cli::session::tests::test_response_serde_pong ... ok
[INFO] [stdout] test cli::session::tests::test_response_serde_sessions ... ok
[INFO] [stdout] test cli::session::tests::test_sessions_dir_path ... ok
[INFO] [stdout] test cli::session::tests::test_socket_path_format ... ok
[INFO] [stdout] test config::tests::config_error_display ... ok
[INFO] [stdout] test config::tests::empty_config_matches_default ... ok
[INFO] [stdout] test config::tests::invalid_toml_syntax ... ok
[INFO] [stdout] test config::tests::missing_file_returns_defaults ... ok
[INFO] [stdout] test config::tests::parse_empty_config_uses_defaults ... ok
[INFO] [stdout] test config::tests::parse_full_config ... ok
[INFO] [stdout] test config::tests::load_config_from_file ... ok
[INFO] [stdout] test config::tests::parse_only_server_section ... ok
[INFO] [stdout] test config::tests::per_scope_timeout_overrides ... ok
[INFO] [stdout] test config::tests::policy_sections_parse ... ok
[INFO] [stdout] test config::tests::tilde_expansion_basic ... ok
[INFO] [stdout] test config::tests::raw_retention_parses_and_defaults ... ok
[INFO] [stdout] test config::tests::unknown_section_parses_ok ... ok
[INFO] [stdout] test config::tests::tilde_expansion_in_audit_path ... ok
[INFO] [stdout] test config::tests::validate_config_returns_all_errors ... ok
[INFO] [stdout] test config::tests::validate_config_valid_file ... ok
[INFO] [stdout] test config::tests::validation_rejects_invalid_log_level ... ok
[INFO] [stdout] test config::tests::validation_rejects_zero_limits ... ok
[INFO] [stdout] test config::tests::watch_presets_parse ... ok
[INFO] [stdout] test cli::proxy::tests::test_event_loop_double_sigint ... ok
[INFO] [stdout] test cli::proxy::tests::test_event_loop_sigwinch_resize ... ok
[INFO] [stdout] test cli::proxy::tests::test_event_loop_sigterm_forwarding ... ok
[INFO] [stdout] test cli::proxy::tests::test_unknown_flags_passed_through_to_command ... ok
[INFO] [stdout] test config_loader::tests::test_expand_tilde ... ok
[INFO] [stdout] test config_loader::tests::test_invalid_grammar_skipped ... ok
[INFO] [stdout] test config_loader::tests::test_bundled_grammar_tool_names ... ok
[INFO] [stdout] test config_loader::tests::test_default_has_bundled_grammars ... ok
[INFO] [stdout] test config_loader::tests::test_underscore_files_skipped ... ok
[INFO] [stdout] test config_loader::tests::test_default_has_categories ... ok
[INFO] [stdout] test config_loader::tests::test_default_has_dangerous_patterns ... ok
[INFO] [stdout] test core::classifier::tests::test_ansi_green_success ... ok
[INFO] [stdout] test core::classifier::tests::test_ansi_red_error ... ok
[INFO] [stdout] test config_loader::tests::test_default_mish_config ... ok
[INFO] [stdout] test core::classifier::tests::test_classification_text_accessor ... ok
[INFO] [stdout] test core::classifier::tests::test_ansi_red_no_keywords_no_hazard ... ok
[INFO] [stdout] test config_loader::tests::test_load_runtime_config_default_path ... ok
[INFO] [stdout] test config_loader::tests::test_runtime_config_with_router ... ok
[INFO] [stdout] test cli::proxy::tests::test_try_wait_detects_exit ... ok
[INFO] [stdout] test core::classifier::tests::test_ansi_yellow_warning ... ok
[INFO] [stdout] test core::classifier::tests::test_drain_deferred_empty ... ok
[INFO] [stdout] test core::classifier::tests::test_complete_line_classified ... ok
[INFO] [stdout] test config_loader::tests::test_user_grammar_overrides_bundled ... ok
[INFO] [stdout] test cli::proxy::tests::test_event_loop_stdin_forwarding ... ok
[INFO] [stdout] test core::classifier::tests::test_edit_distance_different_first_token_no_dedup ... ok
[INFO] [stdout] test core::classifier::tests::test_edit_distance_dissimilar_not_deduped ... ok
[INFO] [stdout] test core::classifier::tests::test_edit_distance_similar_lines_dedup ... ok
[INFO] [stdout] test core::classifier::tests::test_error_keyword_command_not_found ... ok
[INFO] [stdout] test core::classifier::tests::test_error_keyword_fail ... ok
[INFO] [stdout] test core::classifier::tests::test_error_keyword_error_colon ... ok
[INFO] [stdout] test core::classifier::tests::test_error_keyword_error_upper ... ok
[INFO] [stdout] test core::classifier::tests::test_error_keyword_fatal ... ok
[INFO] [stdout] test core::classifier::tests::test_error_keyword_no_such_file ... ok
[INFO] [stdout] test core::classifier::tests::test_error_keyword_panic ... ok
[INFO] [stdout] test core::classifier::tests::test_error_keyword_permission_denied ... ok
[INFO] [stdout] test core::classifier::tests::test_error_keyword_syntax_error ... ok
[INFO] [stdout] test core::classifier::tests::test_error_keyword_traceback ... ok
[INFO] [stdout] test core::classifier::tests::test_is_similar_nearly_identical ... ok
[INFO] [stdout] test core::classifier::tests::test_is_similar_very_different ... ok
[INFO] [stdout] test core::classifier::tests::test_levenshtein_empty ... ok
[INFO] [stdout] test core::classifier::tests::test_levenshtein_identical ... ok
[INFO] [stdout] test core::classifier::tests::test_levenshtein_single_edit ... ok
[INFO] [stdout] test core::classifier::tests::test_hazard_never_suppressed_by_grammar_noise ... ok
[INFO] [stdout] test core::classifier::tests::test_implicit_dedup_consecutive_similar_noise_dedup ... ok
[INFO] [stdout] test core::classifier::tests::test_implicit_dedup_does_not_override_grammar ... ok
[INFO] [stdout] test core::classifier::tests::test_implicit_dedup_dissimilar_lines_still_unknown ... ok
[INFO] [stdout] test core::classifier::tests::test_maybe_prompt_to_running ... ok
[INFO] [stdout] test core::classifier::tests::test_implicit_dedup_mixed_similar_then_different ... ok
[INFO] [stdout] test core::classifier::tests::test_mixed_scenario_full_pipeline ... ok
[INFO] [stdout] test core::classifier::tests::test_multiline_hazard_attaches_lines ... ok
[INFO] [stdout] test core::classifier::tests::test_normal_output_unknown ... ok
[INFO] [stdout] test core::classifier::tests::test_multiline_hazard_immune_to_noise ... ok
[INFO] [stdout] test core::classifier::tests::test_prompt_enter_partial ... ok
[INFO] [stdout] test core::classifier::tests::test_overwrite_line_is_noise_strip ... ok
[INFO] [stdout] test core::classifier::tests::test_prompt_partial_password ... ok
[INFO] [stdout] test core::classifier::tests::test_prompt_partial_question_mark ... ok
[INFO] [stdout] test core::classifier::tests::test_prompt_repl_partial ... ok
[INFO] [stdout] test core::classifier::tests::test_prompt_partial_yn ... ok
[INFO] [stdout] test core::classifier::tests::test_prompt_press_any_key_partial ... ok
[INFO] [stdout] test core::classifier::tests::test_prompt_repl_complete_not_prompt ... ok
[INFO] [stdout] test core::classifier::tests::test_question_on_complete_not_prompt ... ok
[INFO] [stdout] test core::classifier::tests::test_grammar_inheritance_own_rules_priority_in_classifier ... ok
[INFO] [stdout] test core::classifier::tests::test_ring_buffer_has_outcome ... ok
[INFO] [stdout] test core::classifier::tests::test_ring_buffer_last_5 ... ok
[INFO] [stdout] test core::classifier::tests::test_silence_to_maybe_prompt ... ok
[INFO] [stdout] test core::classifier::tests::test_grammar_inheritance_npm_ansi_progress_in_classifier ... ok
[INFO] [stdout] test core::classifier::tests::test_ring_buffer_no_outcome ... ok
[INFO] [stdout] test core::classifier::tests::test_stack_trace_compression_python_interleaved ... ok
[INFO] [stdout] test core::classifier::tests::test_stack_trace_compression_long ... ok
[INFO] [stdout] test core::classifier::tests::test_stack_trace_compression_two_frames ... ok
[INFO] [stdout] test core::classifier::tests::test_stack_trace_generic_file_line_col ... ok
[INFO] [stdout] test core::classifier::tests::test_stack_trace_consuming_nodejs ... ok
[INFO] [stdout] test core::classifier::tests::test_stack_trace_consuming_python ... ok
[INFO] [stdout] test core::classifier::tests::test_stack_trace_go_goroutine ... ok
[INFO] [stdout] test core::classifier::tests::test_stack_trace_consuming_rust ... ok
[INFO] [stdout] test core::classifier::tests::test_stack_trace_java_caused_by ... ok
[INFO] [stdout] test core::classifier::tests::test_stack_trace_nodejs ... ok
[INFO] [stdout] test core::classifier::tests::test_stack_trace_no_compression_single_frame ... ok
[INFO] [stdout] test core::classifier::tests::test_state_consuming_trace_to_running ... ok
[INFO] [stdout] test core::classifier::tests::test_state_done_killed ... ok
[INFO] [stdout] test core::classifier::tests::test_stack_trace_python ... ok
[INFO] [stdout] test core::classifier::tests::test_state_full_maybe_prompt_cycle ... ok
[INFO] [stdout] test core::classifier::tests::test_state_done_failure ... ok
[INFO] [stdout] test core::classifier::tests::test_state_awaiting_input_resume ... ok
[INFO] [stdout] test core::classifier::tests::test_state_done_success ... ok
[INFO] [stdout] test core::classifier::tests::test_state_resume_from_prompt ... ok
[INFO] [stdout] test core::classifier::tests::test_state_initial_idle ... ok
[INFO] [stdout] test core::classifier::tests::test_state_idle_to_running ... ok
[INFO] [stdout] test core::classifier::tests::test_temporal_auto_bypass_via_elapsed ... ok
[INFO] [stdout] test core::classifier::tests::test_tier1_action_noise_strip ... ok
[INFO] [stdout] test core::classifier::tests::test_state_to_awaiting_input ... ok
[INFO] [stdout] test core::classifier::tests::test_tier1_global_noise_rule ... ok
[INFO] [stdout] test core::classifier::tests::test_tier1_hazard_before_noise ... ok
[INFO] [stdout] test core::classifier::tests::test_tier1_noise_dedup ... ok
[INFO] [stdout] test core::classifier::tests::test_tier3_box_drawing ... ok
[INFO] [stdout] test core::classifier::tests::test_tier1_action_noise_before_global ... ok
[INFO] [stdout] test core::classifier::tests::test_tier2_error_not_suppressed_by_tier3 ... ok
[INFO] [stdout] test core::classifier::tests::test_temporal_silence_bypass ... ok
[INFO] [stdout] test core::classifier::tests::test_tier3_decorative_dashes ... ok
[INFO] [stdout] test core::classifier::tests::test_tier1_hazard_rule ... ok
[INFO] [stdout] test core::classifier::tests::test_tier1_outcome_rule_with_captures ... ok
[INFO] [stdout] test core::classifier::tests::test_tier1_no_match_falls_to_tier2 ... ok
[INFO] [stdout] test core::classifier::tests::test_tier3_decorative_equals ... ok
[INFO] [stdout] test core::classifier::tests::test_tier3_empty_line ... ok
[INFO] [stdout] test core::classifier::tests::test_tier3_whitespace_only ... ok
[INFO] [stdout] test core::classifier::tests::test_volume_compression_consecutive_unknowns ... ok
[INFO] [stdout] test core::classifier::tests::test_volume_compression_reset_by_hazard ... ok
[INFO] [stdout] test core::emit::tests::test_accept_hazard_error_immediate_output ... ok
[INFO] [stdout] test core::classifier::tests::test_warning_keyword_deprecated ... ok
[INFO] [stdout] test core::emit::tests::test_accept_hazard_warning_immediate_output ... ok
[INFO] [stdout] test core::classifier::tests::test_warning_keyword_warn ... ok
[INFO] [stdout] test core::emit::tests::test_emit_metrics_default_zeros ... ok
[INFO] [stdout] test core::emit::tests::test_accept_noise_strip_increments_pending ... ok
[INFO] [stdout] test core::classifier::tests::test_warning_keyword_vulnerability ... ok
[INFO] [stdout] test core::emit::tests::test_accept_noise_dedup ... ok
[INFO] [stdout] test core::emit::tests::test_accept_outcome_stored_not_emitted ... ok
[INFO] [stdout] test core::emit::tests::test_accept_prompt_immediate_output ... ok
[INFO] [stdout] test core::emit::tests::test_accept_unknown_increments_pending ... ok
[INFO] [stdout] test core::classifier::tests::test_warning_keyword_warning_upper ... ok
[INFO] [stdout] test core::emit::tests::test_emit_metrics_noise_counts ... ok
[INFO] [stdout] test core::emit::tests::test_emit_metrics_outcome_counts ... ok
[INFO] [stdout] test core::emit::tests::test_emit_metrics_unclassified_counts ... ok
[INFO] [stdout] test core::emit::tests::test_emit_metrics_signal_counts ... ok
[INFO] [stdout] test core::emit::tests::test_finalize_flushes_pending ... ok
[INFO] [stdout] test core::emit::tests::test_finalize_failure_exit_code ... ok
[INFO] [stdout] test core::emit::tests::test_finalize_empty_output ... ok
[INFO] [stdout] test core::emit::tests::test_flush_pending_large_count ... ok
[INFO] [stdout] test core::emit::tests::test_finalize_header_format ... ok
[INFO] [stdout] test core::emit::tests::test_has_pending_false_after_hazard_flush ... ok
[INFO] [stdout] test core::emit::tests::test_finalize_no_grammar_no_outcomes_uses_ring ... ok
[INFO] [stdout] test core::emit::tests::test_finalize_no_grammar_with_outcomes ... ok
[INFO] [stdout] test core::emit::tests::test_flush_pending_small_count_no_output ... ok
[INFO] [stdout] test core::emit::tests::test_finalize_with_grammar_outcomes ... ok
[INFO] [stdout] test core::emit::tests::test_finalize_with_metrics_returns_both ... ok
[INFO] [stdout] test core::emit::tests::test_has_pending_false_after_flush ... ok
[INFO] [stdout] test core::emit::tests::test_has_pending_true_after_noise ... ok
[INFO] [stdout] test core::emit::tests::test_ring_buffer_wraps ... ok
[INFO] [stdout] test core::emit::tests::test_timing_config_defaults ... ok
[INFO] [stdout] test core::emit::tests::test_has_pending_false_initially ... ok
[INFO] [stdout] test core::enrich::tests::test_base_command ... ok
[INFO] [stdout] test core::enrich::tests::test_budget_enforcement ... ok
[INFO] [stdout] test core::enrich::tests::test_budget_tracker ... ok
[INFO] [stdout] test core::enrich::tests::test_command_not_found_with_hint ... ok
[INFO] [stdout] test core::enrich::tests::test_detect_intent ... ok
[INFO] [stdout] test core::enrich::tests::test_edit_distance ... ok
[INFO] [stdout] test core::emit::tests::test_line_count_increments ... ok
[INFO] [stdout] test core::enrich::tests::test_exit_code_126 ... ok
[INFO] [stdout] test core::enrich::tests::test_exit_code_127 ... ok
[INFO] [stdout] test core::enrich::tests::test_exit_code_130 ... ok
[INFO] [stdout] test core::enrich::tests::test_exit_code_137 ... ok
[INFO] [stdout] test core::enrich::tests::test_enrichment_with_grammar_on_failure ... ok
[INFO] [stdout] test core::emit::tests::test_has_pending_true_after_unknown ... ok
[INFO] [stdout] test core::enrich::tests::test_extract_port ... ok
[INFO] [stdout] test core::enrich::tests::test_file_op_missing_dest_parent ... ok
[INFO] [stdout] test core::enrich::tests::test_file_op_missing_source ... ok
[INFO] [stdout] test core::enrich::tests::test_fuzzy_match ... ok
[INFO] [stdout] test core::enrich::tests::test_git_not_a_repo ... ok
[INFO] [stdout] test core::enrich::tests::test_neither_source_nor_dest_exists ... ok
[INFO] [stdout] test core::enrich::tests::test_package_hint_lookup ... ok
[INFO] [stdout] test core::enrich::tests::test_path_walk_break_point ... ok
[INFO] [stdout] test core::enrich::tests::test_path_walk_fully_valid ... ok
[INFO] [stdout] test core::enrich::tests::test_path_walk_siblings ... ok
[INFO] [stdout] test core::enrich::tests::test_permission_diagnosis ... ok
[INFO] [stdout] test core::enrich::tests::test_port_not_listening ... ok
[INFO] [stdout] test core::format::tests::test_context_format ... ok
[INFO] [stdout] test core::format::tests::test_context_hazard_compression ... ok
[INFO] [stdout] test core::format::tests::test_context_with_elapsed ... ok
[INFO] [stdout] test core::format::tests::test_empty_recommendations_no_output ... ok
[INFO] [stdout] test core::format::tests::test_format_elapsed ... ok
[INFO] [stdout] test core::format::tests::test_format_multiple_results ... ok
[INFO] [stdout] test core::format::tests::test_format_with_enrichment ... ok
[INFO] [stdout] test core::format::tests::test_human_compound_results ... ok
[INFO] [stdout] test core::format::tests::test_human_format_condensed_success ... ok
[INFO] [stdout] test core::format::tests::test_human_format_dangerous ... ok
[INFO] [stdout] test core::format::tests::test_human_format_error ... ok
[INFO] [stdout] test core::format::tests::test_human_format_recommendations_on_success ... ok
[INFO] [stdout] test core::format::tests::test_human_format_recommendations_suppressed_on_failure ... ok
[INFO] [stdout] test core::format::tests::test_human_no_metadata_simple_format ... ok
[INFO] [stdout] test core::format::tests::test_human_with_hazards ... ok
[INFO] [stdout] test core::format::tests::test_human_with_metadata_header ... ok
[INFO] [stdout] test core::format::tests::test_human_with_outcomes ... ok
[INFO] [stdout] test core::format::tests::test_json_format_recommendations_omitted_on_failure ... ok
[INFO] [stdout] test core::format::tests::test_json_format_recommendations_on_success ... ok
[INFO] [stdout] test core::format::tests::test_json_format_structure ... ok
[INFO] [stdout] test core::format::tests::test_json_format_with_hazards ... ok
[INFO] [stdout] test core::format::tests::test_json_includes_body ... ok
[INFO] [stdout] test core::format::tests::test_json_includes_enrichment ... ok
[INFO] [stdout] test core::format::tests::test_multiple_recommendations ... ok
[INFO] [stdout] test core::format::tests::test_passthrough_format ... ok
[INFO] [stdout] test core::format::tests::test_passthrough_format_recommendations_on_success ... ok
[INFO] [stdout] test core::format::tests::test_passthrough_with_hazards ... ok
[INFO] [stdout] test core::format::tests::test_status_symbol_correctness ... ok
[INFO] [stdout] test core::enrich::tests::test_source_exists_dest_doesnt ... ok
[INFO] [stdout] test core::grammar::tests::test_detect_tool_cargo_build ... ok
[INFO] [stdout] test core::format::tests::test_human_format_narrated ... ok
[INFO] [stdout] test core::emit::tests::test_hazard_flushes_pending_first ... ok
[INFO] [stdout] test core::grammar::tests::test_detect_tool_empty_args ... ok
[INFO] [stdout] test core::grammar::tests::test_detect_tool_unknown_command ... ok
[INFO] [stdout] test core::grammar::tests::test_detect_tool_via_detect_list ... ok
[INFO] [stdout] test core::grammar::tests::test_detect_tool_npm_install ... ok
[INFO] [stdout] test core::enrich::tests::test_command_not_found_no_hint ... ok
[INFO] [stdout] test core::grammar::tests::test_evaluate_line_hazard_match ... ok
[INFO] [stdout] test core::emit::tests::test_prompt_flushes_pending_first ... ok
[INFO] [stdout] test core::grammar::tests::test_evaluate_line_hazard_takes_priority_over_outcome ... ok
[INFO] [stdout] test core::grammar::tests::test_evaluate_line_hazard_takes_priority_over_noise ... ok
[INFO] [stdout] test core::grammar::tests::test_evaluate_line_outcome_takes_priority_over_noise ... ok
[INFO] [stdout] test core::grammar::tests::test_evaluate_line_global_noise_match ... ok
[INFO] [stdout] test core::emit::tests::test_hazard_stored_in_hazards ... ok
[INFO] [stdout] test core::grammar::tests::test_evaluate_line_action_noise_match ... ok
[INFO] [stdout] test core::grammar::tests::test_evaluate_line_with_no_action_uses_global_noise ... ok
[INFO] [stdout] test core::grammar::tests::test_evaluate_line_with_fallback ... ok
[INFO] [stdout] test core::grammar::tests::test_evaluate_line_warning_hazard ... ok
[INFO] [stdout] test core::grammar::tests::test_format_summary_failure_template ... ok
[INFO] [stdout] test core::grammar::tests::test_evaluate_line_no_match ... ok
[INFO] [stdout] test core::grammar::tests::test_evaluate_line_outcome_match ... ok
[INFO] [stdout] test core::grammar::tests::test_inheritance_appends_shared_rules_after_own ... ok
[INFO] [stdout] test core::grammar::tests::test_format_summary_substitutes_variables ... ok
[INFO] [stdout] test core::grammar::tests::test_inheritance_own_rules_take_priority_in_evaluate_line ... ok
[INFO] [stdout] test core::grammar::tests::test_invalid_regex_produces_error ... ok
[INFO] [stdout] test core::emit::tests::test_ring_buffer_stores_last_5 ... ok
[INFO] [stdout] test core::grammar::tests::test_load_shared_rules ... ok
[INFO] [stdout] test core::grammar::tests::test_parse_grammar_with_actions_all_rule_types ... ok
[INFO] [stdout] test core::grammar::tests::test_parse_grammar_with_category ... ok
[INFO] [stdout] test core::grammar::tests::test_parse_grammar_with_enrich_config ... ok
[INFO] [stdout] test core::grammar::tests::test_parse_grammar_with_fallback ... ok
[INFO] [stdout] test core::grammar::tests::test_parse_grammar_with_global_noise ... ok
[INFO] [stdout] test core::grammar::tests::test_parse_grammar_with_inherit ... ok
[INFO] [stdout] test core::grammar::tests::test_parse_grammar_with_quiet_config ... ok
[INFO] [stdout] test core::grammar::tests::test_parse_grammar_with_summary_templates ... ok
[INFO] [stdout] test core::grammar::tests::test_parse_grammar_with_verbosity_config ... ok
[INFO] [stdout] test core::grammar::tests::test_parse_minimal_grammar ... ok
[INFO] [stdout] test core::grammar::tests::test_resolve_action_finds_correct_action ... ok
[INFO] [stdout] test core::grammar::tests::test_resolve_action_no_subcommand_no_fallback ... ok
[INFO] [stdout] test core::grammar::tests::test_resolve_action_returns_fallback ... ok
[INFO] [stdout] test core::grammar::tests::test_resolve_category_default_condense ... ok
[INFO] [stdout] test core::grammar::tests::test_resolve_category_from_categories_map ... ok
[INFO] [stdout] test core::grammar::tests::test_resolve_category_from_grammar_front_matter ... ok
[INFO] [stdout] test core::grammar::tests::test_resolve_category_grammar_overrides_map ... ok
[INFO] [stdout] test core::line_buffer::tests::test_ascii_passthrough_with_decoder ... ok
[INFO] [stdout] test core::line_buffer::tests::test_complete_line_via_lf ... ok
[INFO] [stdout] test core::line_buffer::tests::test_cr_without_content_after ... ok
[INFO] [stdout] test core::line_buffer::tests::test_crlf_handling ... ok
[INFO] [stdout] test core::line_buffer::tests::test_crlf_split_across_chunks ... ok
[INFO] [stdout] test core::line_buffer::tests::test_csi_cursor_up ... ok
[INFO] [stdout] test core::line_buffer::tests::test_csi_erase_to_end_of_line ... ok
[INFO] [stdout] test core::line_buffer::tests::test_empty_line ... ok
[INFO] [stdout] test core::line_buffer::tests::test_finalize_flushes_incomplete_multibyte ... ok
[INFO] [stdout] test core::line_buffer::tests::test_finalize_flushes_partial ... ok
[INFO] [stdout] test core::line_buffer::tests::test_finalize_with_remaining ... ok
[INFO] [stdout] test core::line_buffer::tests::test_invalid_utf8_lossy ... ok
[INFO] [stdout] test core::line_buffer::tests::test_mixed_content ... ok
[INFO] [stdout] test core::line_buffer::tests::test_multiple_lines_in_one_chunk ... ok
[INFO] [stdout] test core::line_buffer::tests::test_overwrite_via_cr ... ok
[INFO] [stdout] test core::line_buffer::tests::test_partial_line_timeout ... ok
[INFO] [stdout] test core::line_buffer::tests::test_progress_bar_collapse ... ok
[INFO] [stdout] test core::line_buffer::tests::test_split_2byte_utf8_across_ingests ... ok
[INFO] [stdout] test core::line_buffer::tests::test_split_3byte_utf8_across_ingests ... ok
[INFO] [stdout] test core::line_buffer::tests::test_split_4byte_utf8_across_ingests ... ok
[INFO] [stdout] test core::line_buffer::tests::test_split_multibyte_at_cr_boundary ... ok
[INFO] [stdout] test core::metrics::tests::compression_ratio_no_reduction ... ok
[INFO] [stdout] test core::metrics::tests::compression_ratio_zero_raw_bytes ... ok
[INFO] [stdout] test core::metrics::tests::default_report_has_sane_values ... ok
[INFO] [stdout] test core::metrics::tests::emit_metrics_accessible ... ok
[INFO] [stdout] test core::metrics::tests::pipeline_metrics_accessible ... ok
[INFO] [stdout] test core::metrics::tests::report_from_emit_metrics ... ok
[INFO] [stdout] test core::metrics::tests::report_from_pipeline_metrics ... ok
[INFO] [stdout] test core::preflight::tests::test_action_specific_overrides_global ... ok
[INFO] [stdout] test core::preflight::tests::test_both_quiet_and_verbose ... ok
[INFO] [stdout] test core::preflight::tests::test_context_mode_still_injects ... ok
[INFO] [stdout] test core::preflight::tests::test_empty_grammar_no_changes ... ok
[INFO] [stdout] test core::preflight::tests::test_flag_position_appended_at_end ... ok
[INFO] [stdout] test core::preflight::tests::test_json_mode_still_injects ... ok
[INFO] [stdout] test core::preflight::tests::test_multiple_flags_injected_correctly ... ok
[INFO] [stdout] test core::preflight::tests::test_no_double_injection ... ok
[INFO] [stdout] test core::preflight::tests::test_no_double_injection_verbose ... ok
[INFO] [stdout] test core::preflight::tests::test_no_injection_without_grammar_declaration ... ok
[INFO] [stdout] test core::preflight::tests::test_passthrough_mode_skips_injection ... ok
[INFO] [stdout] test core::preflight::tests::test_per_action_override ... ok
[INFO] [stdout] test core::preflight::tests::test_quiet_injection_safe_inject_flags_added ... ok
[INFO] [stdout] test core::preflight::tests::test_recommendation_generation ... ok
[INFO] [stdout] test core::preflight::tests::test_recommendation_skipped_if_flag_already_present ... ok
[INFO] [stdout] test core::preflight::tests::test_verbose_injection_flags_added ... ok
[INFO] [stdout] test core::pty::tests::test_ansi_color_passthrough ... ok
[INFO] [stdout] test core::pty::tests::test_bat_env_neutralized ... ok
[INFO] [stdout] test core::pty::tests::test_empty_command ... ok
[INFO] [stdout] test core::pty::tests::test_git_log_no_pager_hang ... ok
[INFO] [stdout] test core::pty::tests::test_is_raw_mode_after_stty_raw ... ok
[INFO] [stdout] test core::pty::tests::test_is_raw_mode_default_false ... ok
[INFO] [stdout] test core::pty::tests::test_multibyte_utf8_at_buffer_boundary ... ok
[INFO] [stdout] test core::pty::tests::test_nonzero_exit ... ok
[INFO] [stdout] test core::pty::tests::test_pager_env_suppressed ... ok
[INFO] [stdout] test core::pty::tests::test_progress_bar_detection ... ok
[INFO] [stdout] test core::pty::tests::test_prompt_eol_mark_suppressed ... ok
[INFO] [stdout] test core::pty::tests::test_raw_mode_detection ... ok
[INFO] [stdout] test core::grammar::tests::test_detect_tool_all_five_from_directory ... ok
[INFO] [stdout] test core::pty::tests::test_signal_child ... ok
[INFO] [stdout] test core::pty::tests::test_sigwinch_forwarding ... ok
[INFO] [stdout] test core::pty::tests::test_spawn_and_exit ... ok
[INFO] [stdout] test core::pty::tests::test_wait_async ... ok
[INFO] [stdout] test core::pty::tests::test_write_stdin ... ok
[INFO] [stdout] test core::grammar::tests::test_evaluate_line_with_real_make_grammar_fallback ... ok
[INFO] [stdout] test core::stat::tests::test_file_info_existing ... ok
[INFO] [stdout] test core::grammar::tests::test_llm_hint_toml_deserialization_tool_level ... ok
[INFO] [stdout] test core::stat::tests::test_format_permissions ... ok
[INFO] [stdout] test core::stat::tests::test_file_info_nonexistent ... ok
[INFO] [stdout] test core::stat::tests::test_gather_post_flight_size_mismatch ... ok
[INFO] [stdout] test core::stat::tests::test_gather_pre_flight_dest_exists ... ok
[INFO] [stdout] test core::stat::tests::test_gather_pre_flight_existing_file ... ok
[INFO] [stdout] test core::stat::tests::test_gather_tree_info ... ok
[INFO] [stdout] test core::stat::tests::test_gather_post_flight_comparison ... ok
[INFO] [stdout] test core::stat::tests::test_human_size_formatting ... ok
[INFO] [stdout] test core::stat::tests::test_gather_tree_info_empty ... ok
[INFO] [stdout] test core::grammar::tests::test_llm_hint_toml_deserialization_action_level ... ok
[INFO] [stdout] test core::grammar::tests::test_llm_hint_grammar_without_hints_is_empty ... ok
[INFO] [stdout] test core::grammar::tests::test_evaluate_line_with_real_cargo_grammar ... ok
[INFO] [stdout] test core::pty::tests::test_write_stdin_large_buffer ... ok
[INFO] [stdout] test core::grammar::tests::test_load_all_grammars_from_directory ... ok
[INFO] [stdout] test core::pty::tests::test_write_stdin_empty_buffer ... ok
[INFO] [stdout] test handlers::condense::tests::test_flush_debounce_prevents_rapid_reflush ... ok
[INFO] [stdout] test handlers::condense::tests::test_hazard_passthrough ... ok
[INFO] [stdout] test handlers::condense::tests::test_long_output_summarized ... ok
[INFO] [stdout] test handlers::condense::tests::test_condense_result_has_interactive_flag ... ok
[INFO] [stdout] test handlers::condense::tests::test_condense_result_has_pipeline_output ... ok
[INFO] [stdout] test handlers::condense::tests::test_periodic_flush_interval ... ok
[INFO] [stdout] test handlers::condense::tests::test_post_process_collapses_progress ... ok
[INFO] [stdout] test handlers::condense::tests::test_post_process_dedup_repetitive ... ok
[INFO] [stdout] test handlers::condense::tests::test_post_process_matches_pipeline ... ok
[INFO] [stdout] test handlers::condense::tests::test_condense_no_grammar ... ok
[INFO] [stdout] test handlers::condense::tests::test_post_process_strips_ansi ... ok
[INFO] [stdout] test handlers::condense::tests::test_non_interactive_no_transition ... ok
[INFO] [stdout] test handlers::condense::tests::test_signal_guard_restores_handlers ... ok
[INFO] [stdout] test handlers::condense::tests::test_silence_timeout_triggers_flush ... ok
[INFO] [stdout] hello
[INFO] [stdout] test handlers::dangerous::tests::test_action_enum_cli_normal ... ok
[INFO] [stdout] hello
[INFO] [stdout] test handlers::dangerous::tests::test_action_enum_mcp_normal ... ok
[INFO] [stdout] test handlers::dangerous::tests::test_confirmation_flow ... ok
[INFO] [stdout] test handlers::dangerous::tests::test_dangerous_pattern_matching ... ok
[INFO] [stdout] test handlers::dangerous::tests::test_forbidden_policy_message_included ... ok
[INFO] [stdout] test handlers::dangerous::tests::test_mcp_dangerous_no_policy_warning ... ok
[INFO] [stdout] test handlers::dangerous::tests::test_mcp_dangerous_not_forbidden_warning ... ok
[INFO] [stdout] test handlers::dangerous::tests::test_mcp_forbidden_blocked ... ok
[INFO] [stdout] test handlers::dangerous::tests::test_non_dangerous_commands ... ok
[INFO] [stdout] hello
[INFO] [stdout] test handlers::dangerous::tests::test_non_dangerous_with_policy_normal ... ok
[INFO] [stdout] test handlers::dangerous::tests::test_warning_display_format ... ok
[INFO] [stdout] test handlers::interactive::tests::test_duration_formatting ... ok
[INFO] [stdout] test handlers::interactive::tests::test_interactive_detection ... ok
[INFO] [stdout] test handlers::interactive::tests::test_interactive_detection_full_path ... ok
[INFO] [stdout] test handlers::interactive::tests::test_session_summary_format ... ok
[INFO] [stdout] test handlers::narrate::tests::test_extract_source_dest_cp ... ok
[INFO] [stdout] test handlers::narrate::tests::test_extract_source_dest_rm ... ok
[INFO] [stdout] test handlers::narrate::tests::test_handle_cp_integration ... ok
[INFO] [stdout] test handlers::narrate::tests::test_handle_empty_args ... ok
[INFO] [stdout] test handlers::narrate::tests::test_handle_ln_symlink_integration ... ok
[INFO] [stdout] test handlers::narrate::tests::test_handle_mkdir_nested_integration ... ok
[INFO] [stdout] test handlers::narrate::tests::test_handle_mv_integration ... ok
[INFO] [stdout] test handlers::narrate::tests::test_narrate_chmod ... ok
[INFO] [stdout] test handlers::narrate::tests::test_narrate_chmod_failure ... ok
[INFO] [stdout] test handlers::narrate::tests::test_narrate_cp_failure ... ok
[INFO] [stdout] test handlers::narrate::tests::test_narrate_cp_overwrite ... ok
[INFO] [stdout] test handlers::narrate::tests::test_narrate_cp_success ... ok
[INFO] [stdout] test handlers::narrate::tests::test_narrate_generic_failure ... ok
[INFO] [stdout] test handlers::narrate::tests::test_narrate_generic_fallback ... ok
[INFO] [stdout] test handlers::narrate::tests::test_narrate_generic_no_target ... ok
[INFO] [stdout] test handlers::narrate::tests::test_narrate_ln_failure ... ok
[INFO] [stdout] test handlers::narrate::tests::test_narrate_ln_hard_link ... ok
[INFO] [stdout] test handlers::narrate::tests::test_narrate_ln_symlink ... ok
[INFO] [stdout] test handlers::narrate::tests::test_narrate_mkdir_failure ... ok
[INFO] [stdout] test handlers::narrate::tests::test_narrate_mkdir_nested ... ok
[INFO] [stdout] test handlers::narrate::tests::test_narrate_mkdir_single ... ok
[INFO] [stdout] test handlers::narrate::tests::test_narrate_mv ... ok
[INFO] [stdout] test handlers::narrate::tests::test_narrate_mv_overwrite ... ok
[INFO] [stdout] test handlers::narrate::tests::test_narrate_output_chmod ... ok
[INFO] [stdout] test handlers::narrate::tests::test_narrate_output_cp ... ok
[INFO] [stdout] test handlers::narrate::tests::test_narrate_output_cp_failure ... ok
[INFO] [stdout] test handlers::narrate::tests::test_narrate_output_generic ... ok
[INFO] [stdout] test handlers::narrate::tests::test_narrate_output_ln ... ok
[INFO] [stdout] test handlers::narrate::tests::test_narrate_output_mkdir ... ok
[INFO] [stdout] test handlers::narrate::tests::test_narrate_output_mv ... ok
[INFO] [stdout] test handlers::narrate::tests::test_narrate_output_rm ... ok
[INFO] [stdout] test handlers::narrate::tests::test_narrate_output_unknown_command ... ok
[INFO] [stdout] test handlers::narrate::tests::test_narrate_rm_dir ... ok
[INFO] [stdout] test handlers::narrate::tests::test_narrate_rm_failure ... ok
[INFO] [stdout] test handlers::narrate::tests::test_narrate_rm_file ... ok
[INFO] [stdout] test handlers::narrate::tests::test_narrate_rm_recursive ... ok
[INFO] [stdout] test handlers::narrate::tests::test_non_flag_args ... ok
[INFO] [stdout] test handlers::passthrough::tests::test_empty_output_handling ... ok
[INFO] [stdout] test handlers::passthrough::tests::test_human_size_boundaries ... ok
[INFO] [stdout] test handlers::passthrough::tests::test_metadata_footer_accuracy ... ok
[INFO] [stdout] test handlers::passthrough::tests::test_passthrough_footer_format ... ok
[INFO] [stdout] test handlers::passthrough::tests::test_passthrough_multiline_output ... ok
[INFO] [stdout] test handlers::passthrough::tests::test_passthrough_nonzero_exit ... ok
[INFO] [stdout] test handlers::passthrough::tests::test_passthrough_output_fidelity ... ok
[INFO] [stdout] test handlers::structured::tests::test_docker_ps_blank_lines ... ok
[INFO] [stdout] test handlers::structured::tests::test_docker_ps_empty ... ok
[INFO] [stdout] test handlers::structured::tests::test_docker_ps_parsing ... ok
[INFO] [stdout] test handlers::structured::tests::test_git_status_both_index_and_worktree ... ok
[INFO] [stdout] test handlers::structured::tests::test_git_status_empty_output ... ok
[INFO] [stdout] test handlers::structured::tests::test_git_status_no_changes ... ok
[INFO] [stdout] test handlers::structured::tests::test_git_status_parsing ... ok
[INFO] [stdout] test handlers::structured::tests::test_is_docker_ps_detection ... ok
[INFO] [stdout] test handlers::structured::tests::test_is_git_status_detection ... ok
[INFO] [stdout] test handlers::structured::tests::test_parse_structured_docker_ps ... ok
[INFO] [stdout] test handlers::structured::tests::test_parse_structured_empty_output ... ok
[INFO] [stdout] test handlers::structured::tests::test_parse_structured_generic_fallback ... ok
[INFO] [stdout] test handlers::structured::tests::test_parse_structured_git_path_prefix ... ok
[INFO] [stdout] test handlers::structured::tests::test_parse_structured_git_status ... ok
[INFO] [stdout] test handlers::structured::tests::test_parse_structured_nonzero_exit ... ok
[INFO] [stdout] test handlers::structured::tests::test_structured_fallback_generic ... ok
[INFO] [stdout] test handoff::attach::tests::attach_error_display ... ok
[INFO] [stdout] test handoff::attach::tests::attach_error_from_handoff ... ok
[INFO] [stdout] test handoff::attach::tests::attach_error_from_io ... ok
[INFO] [stdout] test handoff::attach::tests::control_server_bind_creates_socket ... ok
[INFO] [stdout] test handoff::attach::tests::control_server_bind_removes_stale_socket ... ok
[INFO] [stdout] test handoff::attach::tests::deserialize_attach_request ... ok
[INFO] [stdout] test handoff::attach::tests::deserialize_attach_request_default_share ... ok
[INFO] [stdout] test handoff::attach::tests::deserialize_detach_request ... ok
[INFO] [stdout] test handoff::attach::tests::deserialize_list_request ... ok
[INFO] [stdout] test handoff::attach::tests::find_server_sockets_empty ... ok
[INFO] [stdout] test handoff::attach::tests::handoff_list_entry_serialization ... ok
[INFO] [stdout] test handoff::attach::tests::integration_attach_already_attached ... ok
[INFO] [stdout] test handoff::attach::tests::integration_attach_invalid_id ... ok
[INFO] [stdout] test handoff::attach::tests::integration_list_active_handoffs ... ok
[INFO] [stdout] test handoff::attach::tests::integration_list_empty_handoffs ... ok
[INFO] [stdout] test handoff::attach::tests::is_process_alive_current ... ok
[INFO] [stdout] test handoff::attach::tests::is_process_alive_dead ... ok
[INFO] [stdout] test handoff::attach::tests::serialize_error_response ... ok
[INFO] [stdout] test handoff::attach::tests::serialize_handoffs_response ... ok
[INFO] [stdout] test handoff::attach::tests::serialize_ok_response ... ok
[INFO] [stdout] test handoff::attach::tests::socket_dir_fallback ... ok
[INFO] [stdout] test handoff::attach::tests::socket_dir_with_xdg ... ok
[INFO] [stdout] test handoff::attach::tests::socket_path_format ... ok
[INFO] [stdout] test handoff::state::tests::active_count_tracks_correctly ... ok
[INFO] [stdout] test handoff::state::tests::attach_invalid_id_returns_not_found ... ok
[INFO] [stdout] test handoff::state::tests::attach_marks_entry_as_attached ... ok
[INFO] [stdout] test handoff::state::tests::check_timeouts_expired_kills ... ok
[INFO] [stdout] test handoff::state::tests::check_timeouts_expired_yields_to_llm ... ok
[INFO] [stdout] test handoff::state::tests::check_timeouts_no_expired_returns_empty ... ok
[INFO] [stdout] test handoff::state::tests::create_duplicate_alias_returns_error ... ok
[INFO] [stdout] test handoff::state::tests::create_handoff_returns_crypto_random_id ... ok
[INFO] [stdout] test handoff::state::tests::create_handoff_returns_separate_reference_id ... ok
[INFO] [stdout] test handoff::state::tests::create_two_handoffs_produces_unique_ids ... ok
[INFO] [stdout] test handoff::state::tests::created_entry_has_correct_fields ... ok
[INFO] [stdout] test handoff::state::tests::detach_frees_alias_for_reuse ... ok
[INFO] [stdout] test handoff::state::tests::detach_invalid_id_returns_not_found ... ok
[INFO] [stdout] test handoff::state::tests::detach_removes_handoff_from_active ... ok
[INFO] [stdout] test handoff::state::tests::detach_returns_credential_blind_summary ... ok
[INFO] [stdout] test handoff::state::tests::get_by_alias_returns_entry ... ok
[INFO] [stdout] test handoff::state::tests::get_by_alias_unknown_returns_none ... ok
[INFO] [stdout] test handoff::state::tests::get_by_reference_returns_entry ... ok
[INFO] [stdout] test handoff::state::tests::get_by_reference_unknown_returns_none ... ok
[INFO] [stdout] test handoff::state::tests::list_active_returns_all_entries ... ok
[INFO] [stdout] test handoff::state::tests::process_exited_removes_handoff ... ok
[INFO] [stdout] test handoff::state::tests::process_exited_returns_summary ... ok
[INFO] [stdout] test handoff::state::tests::process_exited_unknown_alias_returns_none ... ok
[INFO] [stdout] test handoff::state::tests::remove_returns_entry_and_cleans_maps ... ok
[INFO] [stdout] test handoff::state::tests::remove_unknown_returns_none ... ok
[INFO] [stdout] test handoff::state::tests::second_attach_returns_already_attached ... ok
[INFO] [stdout] test handoff::summary::tests::credential_blind_has_no_output ... ok
[INFO] [stdout] test handoff::summary::tests::credential_blind_json_omits_output ... ok
[INFO] [stdout] test handoff::summary::tests::credential_blind_process_exited ... ok
[INFO] [stdout] test handoff::summary::tests::json_roundtrip ... ok
[INFO] [stdout] test handoff::summary::tests::shared_output_empty_string ... ok
[INFO] [stdout] test handoff::summary::tests::shared_output_includes_content ... ok
[INFO] [stdout] test handoff::summary::tests::shared_output_json_includes_output ... ok
[INFO] [stdout] test handoff::summary::tests::shared_output_process_exited ... ok
[INFO] [stdout] test handoff::summary::tests::values_preserved ... ok
[INFO] [stdout] test interpreter::dedicated::tests::clear_and_write_replaces_spool_contents ... ok
[INFO] [stdout] test interpreter::dedicated::tests::dedicated_pty_process_send_sync ... ok
[INFO] [stdout] test interpreter::dedicated::tests::parser_handles_cursor_movement ... ok
[INFO] [stdout] test interpreter::dedicated::tests::parser_handles_screen_clear ... ok
[INFO] [stdout] test interpreter::dedicated::tests::parser_scrollback_preserves_history ... ok
[INFO] [stdout] test interpreter::dedicated::tests::read_screen_returns_parser_contents ... ok
[INFO] [stdout] test interpreter::keys::tests::case_insensitive ... ok
[INFO] [stdout] test interpreter::keys::tests::ctrl_invalid_not_letter ... ok
[INFO] [stdout] test interpreter::keys::tests::double_escaped_angle ... ok
[INFO] [stdout] test interpreter::keys::tests::empty_input ... ok
[INFO] [stdout] test interpreter::keys::tests::escaped_angle_bracket ... ok
[INFO] [stdout] test interpreter::keys::tests::expand_all_arrows ... ok
[INFO] [stdout] test interpreter::keys::tests::expand_arrows_and_enter ... ok
[INFO] [stdout] test interpreter::keys::tests::expand_backspace ... ok
[INFO] [stdout] test interpreter::keys::tests::expand_cr_alias ... ok
[INFO] [stdout] test interpreter::keys::tests::expand_ctrl_a ... ok
[INFO] [stdout] test interpreter::keys::tests::expand_ctrl_c ... ok
[INFO] [stdout] test interpreter::keys::tests::expand_ctrl_d ... ok
[INFO] [stdout] test interpreter::keys::tests::expand_ctrl_z ... ok
[INFO] [stdout] test interpreter::keys::tests::expand_enter ... ok
[INFO] [stdout] test interpreter::keys::tests::expand_escape ... ok
[INFO] [stdout] test interpreter::keys::tests::expand_return_alias ... ok
[INFO] [stdout] test interpreter::keys::tests::expand_space ... ok
[INFO] [stdout] test interpreter::keys::tests::expand_tab ... ok
[INFO] [stdout] test interpreter::keys::tests::mixed_text_and_keys ... ok
[INFO] [stdout] test interpreter::keys::tests::multiple_keys_in_sequence ... ok
[INFO] [stdout] test interpreter::keys::tests::no_keys_passthrough ... ok
[INFO] [stdout] test interpreter::keys::tests::unclosed_angle_bracket ... ok
[INFO] [stdout] test interpreter::keys::tests::unknown_token_passthrough ... ok
[INFO] [stdout] test interpreter::managed::tests::managed_interpreter_send_sync ... ok
[INFO] [stdout] test interpreter::managed::tests::new_creates_instance ... ok
[INFO] [stdout] test interpreter::managed_process::tests::managed_process_send_sync ... ok
[INFO] [stdout] test interpreter::session::tests::test_interpreter_kind_detection ... ok
[INFO] [stdout] test interpreter::session::tests::test_make_sentinel_format ... ok
[INFO] [stdout] test interpreter::session::tests::test_make_sentinel_unique ... ok
[INFO] [stdout] test interpreter::session::tests::test_sentinel_cmd_generic ... ok
[INFO] [stdout] test interpreter::session::tests::test_sentinel_cmd_node ... ok
[INFO] [stdout] test interpreter::session::tests::test_sentinel_cmd_python ... ok
[INFO] [stdout] test interpreter::session::tests::test_squash_session_output_empty ... ok
[INFO] [stdout] test interpreter::session::tests::test_squash_session_output_simple ... ok
[INFO] [stdout] test handlers::condense::tests::test_partial_line_timeout ... ok
[INFO] [stdout] test handlers::condense::tests::test_empty_output ... ok
[INFO] [stdout] test handlers::condense::tests::test_sigint_forwarded_to_child ... ok
[INFO] [stdout] test handlers::condense::tests::test_signal_forwarding ... ok
[INFO] [stdout] test interpreter::session::tests::test_strip_prompt_helper ... ok
[INFO] [stdout] test interpreter::tests::is_repl_background_not_repl ... ok
[INFO] [stdout] test interpreter::tests::is_repl_cargo_build_not_repl ... ok
[INFO] [stdout] test interpreter::tests::is_repl_empty_not_repl ... ok
[INFO] [stdout] test interpreter::tests::is_repl_irb ... ok
[INFO] [stdout] test interpreter::tests::is_repl_node ... ok
[INFO] [stdout] test interpreter::tests::is_repl_node_app_not_repl ... ok
[INFO] [stdout] test interpreter::tests::is_repl_piped_python_not_repl ... ok
[INFO] [stdout] test interpreter::tests::is_repl_psql ... ok
[INFO] [stdout] test interpreter::tests::is_repl_python3 ... ok
[INFO] [stdout] test interpreter::tests::is_repl_python3_interactive ... ok
[INFO] [stdout] test interpreter::tests::is_repl_python3_script_not_repl ... ok
[INFO] [stdout] test interpreter::tests::is_repl_python_version_variant ... ok
[INFO] [stdout] test interpreter::tests::is_repl_python_with_path ... ok
[INFO] [stdout] test interpreter::tests::is_repl_redirect_not_repl ... ok
[INFO] [stdout] test interpreter::tests::is_repl_sqlite3 ... ok
[INFO] [stdout] test interpreter::session::tests::test_strip_consecutive_echo_then_output ... ok
[INFO] [stdout] test interpreter::session::tests::test_strip_interleaved_echo_and_output ... ok
[INFO] [stdout] test mcp::dispatch::tests::initialize_returns_capabilities ... ok
[INFO] [stdout] test mcp::dispatch::tests::sh_interact_schema_actions_match_handler ... ok
[INFO] [stdout] test mcp::dispatch::tests::error_responses_include_process_digest ... ok
[INFO] [stdout] test mcp::dispatch::tests::sh_session_schema_actions_match_handler ... ok
[INFO] [stdout] test mcp::dispatch::tests::sh_session_schema_has_name_and_shell ... ok
[INFO] [stdout] test mcp::dispatch::tests::notifications_initialized_returns_none ... ok
[INFO] [stdout] test mcp::dispatch::tests::sh_run_schema_has_cmd_required ... ok
[INFO] [stdout] test mcp::dispatch::tests::string_request_id_preserved ... ok
[INFO] [stdout] test mcp::dispatch::tests::tools_call_before_initialized_returns_error ... ok
[INFO] [stdout] test mcp::dispatch::tests::tools_call_invalid_params_returns_error ... ok
[INFO] [stdout] test mcp::dispatch::tests::tools_call_missing_name_returns_invalid_params ... ok
[INFO] [stdout] test handlers::condense::tests::test_bursty_output_intermediate_flush ... ok
[INFO] [stdout] test mcp::dispatch::tests::tools_call_sh_help_returns_compact_text ... ok
[INFO] [stdout] test handlers::condense::tests::test_exit_code_nonzero ... ok
[INFO] [stdout] test interpreter::session::tests::test_strip_no_output_command ... ok
[INFO] [stdout] test mcp::dispatch::tests::tools_call_unknown_tool_returns_method_not_found ... ok
[INFO] [stdout] test mcp::format::tests::digest_empty ... ok
[INFO] [stdout] test mcp::format::tests::digest_multiple_processes ... ok
[INFO] [stdout] test mcp::format::tests::digest_single_process ... ok
[INFO] [stdout] test mcp::format::tests::sh_help_reference_card ... ok
[INFO] [stdout] test mcp::format::tests::sh_interact_kill ... ok
[INFO] [stdout] test mcp::format::tests::sh_interact_kill_state_killed_no_repeat ... ok
[INFO] [stdout] test mcp::format::tests::sh_interact_read_tail ... ok
[INFO] [stdout] test mcp::format::tests::sh_interact_send_input ... ok
[INFO] [stdout] test mcp::format::tests::sh_interact_send_input_background_mode ... ok
[INFO] [stdout] test mcp::format::tests::sh_interact_send_input_interpreter_empty_output ... ok
[INFO] [stdout] test mcp::format::tests::sh_interact_send_input_interpreter_mode ... ok
[INFO] [stdout] test mcp::format::tests::sh_interact_signal ... ok
[INFO] [stdout] test mcp::format::tests::sh_interact_status ... ok
[INFO] [stdout] test mcp::format::tests::sh_run_failure_with_enrichment ... ok
[INFO] [stdout] test mcp::format::tests::sh_run_success_condense ... ok
[INFO] [stdout] test mcp::format::tests::sh_run_with_recommendations ... ok
[INFO] [stdout] test mcp::format::tests::sh_session_close ... ok
[INFO] [stdout] test mcp::format::tests::sh_session_create ... ok
[INFO] [stdout] test mcp::format::tests::sh_session_list ... ok
[INFO] [stdout] test mcp::format::tests::sh_spawn_matched ... ok
[INFO] [stdout] test mcp::format::tests::sh_spawn_timeout ... ok
[INFO] [stdout] test mcp::format::tests::tool_response_empty_digest ... ok
[INFO] [stdout] test mcp::format::tests::tool_response_with_digest ... ok
[INFO] [stdout] test mcp::format::tests::unknown_tool_falls_back_to_json ... ok
[INFO] [stdout] test mcp::dispatch::tests::unknown_method_returns_method_not_found ... ok
[INFO] [stdout] test mcp::server::tests::test_server_error_display ... ok
[INFO] [stdout] test mcp::dispatch::tests::tools_list_returns_six_tools ... ok
[INFO] [stdout] test mcp::dispatch::tests::tools_call_sh_run_executes_command ... ok
[INFO] [stdout] test interpreter::session::tests::test_strip_multiline_output ... ok
[INFO] [stdout] test mcp::server::tests::test_server_eof ... ok
[INFO] [stdout] test mcp::server::tests::test_server_full_mcp_lifecycle ... ok
[INFO] [stdout] test mcp::server::tests::test_server_initialize ... ok
[INFO] [stdout] test mcp::server::tests::test_server_multiple_requests ... ok
[INFO] [stdout] test mcp::server::tests::test_server_new ... ok
[INFO] [stdout] test mcp::server::tests::test_server_shutdown_signal ... ok
[INFO] [stdout] test mcp::server::tests::test_server_notification_no_output ... ok
[INFO] [stdout] test mcp::transport::tests::empty_lines_skipped ... ok
[INFO] [stdout] test mcp::transport::tests::eof_returns_none ... ok
[INFO] [stdout] test mcp::transport::tests::into_split_reader_works ... ok
[INFO] [stdout] test mcp::transport::tests::into_split_writer_works ... ok
[INFO] [stdout] test mcp::transport::tests::invalid_json_returns_parse_error ... ok
[INFO] [stdout] test mcp::transport::tests::invalid_json_then_valid_request ... ok
[INFO] [stdout] test mcp::transport::tests::missing_jsonrpc_field_returns_invalid_request ... ok
[INFO] [stdout] test mcp::transport::tests::multiple_requests_sequential ... ok
[INFO] [stdout] test mcp::transport::tests::notification_null_params_omitted ... ok
[INFO] [stdout] test mcp::transport::tests::numeric_id_preserved ... ok
[INFO] [stdout] test mcp::transport::tests::read_valid_request ... ok
[INFO] [stdout] test mcp::transport::tests::response_is_single_line ... ok
[INFO] [stdout] test mcp::transport::tests::shared_writer_concurrent_writes ... ok
[INFO] [stdout] test mcp::transport::tests::string_id_preserved ... ok
[INFO] [stdout] test mcp::transport::tests::transport_error_display ... ok
[INFO] [stdout] test mcp::transport::tests::transport_error_from_io_error ... ok
[INFO] [stdout] test mcp::transport::tests::write_notification_no_id ... ok
[INFO] [stdout] test mcp::transport::tests::write_response_to_output ... ok
[INFO] [stdout] test mcp::transport::tests::wrong_jsonrpc_version_returns_invalid_request ... ok
[INFO] [stdout] test mcp::types::tests::application_error_codes_correct ... ok
[INFO] [stdout] test mcp::types::tests::initialize_params_deserialize ... ok
[INFO] [stdout] test mcp::types::tests::initialize_params_deserialize_without_client_version ... ok
[INFO] [stdout] test mcp::types::tests::initialize_result_serialization ... ok
[INFO] [stdout] test mcp::types::tests::json_rpc_error_codes_correct ... ok
[INFO] [stdout] test mcp::types::tests::json_rpc_request_round_trip ... ok
[INFO] [stdout] test mcp::types::tests::json_rpc_request_with_string_id ... ok
[INFO] [stdout] test mcp::types::tests::json_rpc_request_without_params ... ok
[INFO] [stdout] test mcp::types::tests::json_rpc_response_error ... ok
[INFO] [stdout] test mcp::types::tests::json_rpc_response_success ... ok
[INFO] [stdout] test mcp::types::tests::none_fields_omitted_from_json_rpc_error ... ok
[INFO] [stdout] test mcp::types::tests::none_fields_omitted_from_json_rpc_response ... ok
[INFO] [stdout] test mcp::types::tests::none_fields_omitted_from_sh_interact_status_response ... ok
[INFO] [stdout] test mcp::types::tests::none_fields_omitted_from_sh_run_response ... ok
[INFO] [stdout] test mcp::types::tests::none_fields_omitted_from_sh_spawn_response ... ok
[INFO] [stdout] test mcp::types::tests::process_digest_entry_all_optional_fields ... ok
[INFO] [stdout] test mcp::types::tests::process_digest_entry_clone ... ok
[INFO] [stdout] test mcp::types::tests::process_digest_entry_required_fields_only ... ok
[INFO] [stdout] test mcp::types::tests::sh_help_response_serialization ... ok
[INFO] [stdout] test mcp::types::tests::sh_interact_kill_response_serialization ... ok
[INFO] [stdout] test mcp::types::tests::sh_interact_params_deserialize ... ok
[INFO] [stdout] test mcp::types::tests::sh_interact_params_deserialize_minimal ... ok
[INFO] [stdout] test mcp::types::tests::sh_interact_params_deserialize_with_background ... ok
[INFO] [stdout] test mcp::types::tests::sh_interact_read_tail_response_serialization ... ok
[INFO] [stdout] test mcp::types::tests::sh_interact_send_response_serialization ... ok
[INFO] [stdout] test mcp::types::tests::sh_interact_signal_response_serialization ... ok
[INFO] [stdout] test mcp::types::tests::sh_interact_status_response_serialization ... ok
[INFO] [stdout] test mcp::types::tests::sh_run_params_deserialize ... ok
[INFO] [stdout] test mcp::types::tests::sh_run_params_deserialize_minimal ... ok
[INFO] [stdout] test mcp::types::tests::sh_run_response_serialization ... ok
[INFO] [stdout] test mcp::types::tests::sh_run_response_with_matched_lines ... ok
[INFO] [stdout] test mcp::types::tests::sh_run_response_with_recommendations ... ok
[INFO] [stdout] test mcp::types::tests::sh_session_list_response_serialization ... ok
[INFO] [stdout] test mcp::types::tests::sh_session_params_deserialize ... ok
[INFO] [stdout] test mcp::types::tests::sh_spawn_params_deserialize ... ok
[INFO] [stdout] test mcp::types::tests::sh_spawn_params_deserialize_minimal ... ok
[INFO] [stdout] test mcp::types::tests::sh_spawn_response_serialization ... ok
[INFO] [stdout] test mcp::types::tests::tool_definition_serialization ... ok
[INFO] [stdout] test mcp::types::tests::tool_response_with_empty_processes ... ok
[INFO] [stdout] test mcp::types::tests::tool_response_with_error_still_has_processes ... ok
[INFO] [stdout] test mcp::types::tests::tool_response_wraps_result_and_processes ... ok
[INFO] [stdout] test policy::config::tests::test_empty_policy_is_ok ... ok
[INFO] [stdout] test policy::config::tests::test_error_index_for_second_rule ... ok
[INFO] [stdout] test policy::config::tests::test_handoff_defaults ... ok
[INFO] [stdout] test policy::config::tests::test_invalid_regex_in_forbidden ... ok
[INFO] [stdout] test mcp::server::tests::test_server_tools_call_sh_help ... ok
[INFO] [stdout] test policy::config::tests::test_invalid_regex_in_yield_to_operator ... ok
[INFO] [stdout] test policy::config::tests::test_missing_scope_applies_globally ... ok
[INFO] [stdout] test policy::config::tests::test_invalid_regex_returns_error ... ok
[INFO] [stdout] test policy::config::tests::test_valid_config_all_rules_populated ... ok
[INFO] [stdout] test policy::matcher::tests::auto_confirm_scope_match ... ok
[INFO] [stdout] test policy::matcher::tests::auto_confirm_scope_mismatch ... ok
[INFO] [stdout] test policy::matcher::tests::auto_confirm_with_absolute_path_command ... ok
[INFO] [stdout] test policy::matcher::tests::check_yield_ignores_forbidden ... ok
[INFO] [stdout] test policy::matcher::tests::forbidden_rm_file_not_matched ... ok
[INFO] [stdout] test policy::matcher::tests::empty_policy_falls_through ... ok
[INFO] [stdout] test policy::matcher::tests::forbidden_rm_rf_root_blocked ... ok
[INFO] [stdout] test policy::matcher::tests::precedence_yield_before_auto_confirm ... ok
[INFO] [stdout] test policy::matcher::tests::multiple_forbidden_first_match_wins ... ok
[INFO] [stdout] test policy::matcher::tests::scope_extraction_integration ... ok
[INFO] [stdout] test policy::matcher::tests::unscoped_auto_confirm_matches_all ... ok
[INFO] [stdout] test policy::matcher::tests::yield_to_operator_password_prompt ... ok
[INFO] [stdout] test policy::scope::tests::extract_scope_absolute_path ... ok
[INFO] [stdout] test policy::scope::tests::extract_scope_empty_string ... ok
[INFO] [stdout] test policy::scope::tests::extract_scope_env_limitation ... ok
[INFO] [stdout] test policy::matcher::tests::regex_patterns_work ... ok
[INFO] [stdout] test policy::scope::tests::extract_scope_relative_path ... ok
[INFO] [stdout] test policy::scope::tests::extract_scope_simple_command ... ok
[INFO] [stdout] test policy::scope::tests::extract_scope_single_token ... ok
[INFO] [stdout] test policy::scope::tests::extract_scope_sudo_limitation ... ok
[INFO] [stdout] test policy::scope::tests::extract_scope_with_leading_whitespace ... ok
[INFO] [stdout] test policy::scope::tests::scope_matches_absolute_path ... ok
[INFO] [stdout] test policy::scope::tests::scope_matches_empty_command_with_scope ... ok
[INFO] [stdout] test policy::scope::tests::scope_matches_empty_scope_list ... ok
[INFO] [stdout] test policy::scope::tests::scope_matches_multiple_scopes ... ok
[INFO] [stdout] test policy::scope::tests::scope_matches_no_match ... ok
[INFO] [stdout] test policy::scope::tests::scope_matches_exact_match ... ok
[INFO] [stdout] test policy::scope::tests::scope_matches_none_matches_everything ... ok
[INFO] [stdout] test process::spool::tests::empty_read_all_returns_empty ... ok
[INFO] [stdout] test process::spool::tests::empty_read_tail_returns_empty ... ok
[INFO] [stdout] test process::spool::tests::concurrent_write_and_read_no_panic ... ok
[INFO] [stdout] test process::spool::tests::incremental_writes_wrap_correctly ... ok
[INFO] [stdout] test process::spool::tests::len_and_is_empty_after_operations ... ok
[INFO] [stdout] test process::spool::tests::len_saturates_at_capacity ... ok
[INFO] [stdout] test process::spool::tests::manager_creates_and_gets_spool ... ok
[INFO] [stdout] test process::spool::tests::manager_enforces_aggregate_limit ... ok
[INFO] [stdout] test process::spool::tests::manager_refuses_duplicate_alias ... ok
[INFO] [stdout] test process::spool::tests::manager_remove_frees_capacity ... ok
[INFO] [stdout] test process::spool::tests::manager_remove_nonexistent_is_noop ... ok
[INFO] [stdout] test process::spool::tests::read_tail_after_wrap ... ok
[INFO] [stdout] test process::spool::tests::read_tail_more_than_available ... ok
[INFO] [stdout] test process::spool::tests::read_tail_returns_last_n_bytes ... ok
[INFO] [stdout] test process::spool::tests::single_large_write_equals_capacity ... ok
[INFO] [stdout] test process::spool::tests::total_written_tracks_cumulative_bytes ... ok
[INFO] [stdout] test process::spool::tests::write_and_read_small_data ... ok
[INFO] [stdout] test process::spool::tests::write_more_than_capacity_overwrites_oldest ... ok
[INFO] [stdout] test process::state::tests::as_str_values ... ok
[INFO] [stdout] test process::state::tests::awaiting_input_to_handed_off ... ok
[INFO] [stdout] test process::state::tests::awaiting_input_to_killed ... ok
[INFO] [stdout] test process::state::tests::awaiting_input_to_running ... ok
[INFO] [stdout] test process::state::tests::completed_to_any_invalid ... ok
[INFO] [stdout] test process::state::tests::completed_to_running_invalid ... ok
[INFO] [stdout] test process::state::tests::failed_to_any_invalid ... ok
[INFO] [stdout] test process::state::tests::failed_to_running_invalid ... ok
[INFO] [stdout] test process::state::tests::handed_off_to_completed ... ok
[INFO] [stdout] test process::state::tests::handed_off_to_failed ... ok
[INFO] [stdout] test process::state::tests::handed_off_to_running ... ok
[INFO] [stdout] test process::state::tests::killed_to_any_invalid ... ok
[INFO] [stdout] test process::state::tests::non_terminal_states ... ok
[INFO] [stdout] test process::state::tests::running_to_awaiting_input ... ok
[INFO] [stdout] test process::state::tests::running_to_completed ... ok
[INFO] [stdout] test process::state::tests::running_to_failed ... ok
[INFO] [stdout] test process::state::tests::running_to_handed_off ... ok
[INFO] [stdout] test process::state::tests::running_to_killed ... ok
[INFO] [stdout] test process::state::tests::running_to_timed_out ... ok
[INFO] [stdout] test process::state::tests::self_transitions_invalid ... ok
[INFO] [stdout] test process::state::tests::serialize_produces_correct_json ... ok
[INFO] [stdout] test process::state::tests::terminal_states ... ok
[INFO] [stdout] test process::state::tests::timed_out_to_any_invalid ... ok
[INFO] [stdout] test process::table::tests::active_count_excludes_terminal ... ok
[INFO] [stdout] test process::table::tests::cleanup_keeps_running_processes ... ok
[INFO] [stdout] test process::spool::tests::read_all_returns_chronological_order_after_wrap ... ok
[INFO] [stdout] test process::table::tests::compact_stubs_after_seen_by_client ... ok
[INFO] [stdout] test process::table::tests::cleanup_removes_expired_terminal_entries ... ok
[INFO] [stdout] test process::table::tests::digest_changed_first_call_returns_full_table ... ok
[INFO] [stdout] test process::table::tests::digest_changed_returns_only_modified_entries ... ok
[INFO] [stdout] test process::table::tests::digest_entry_awaiting_input_has_notify_operator ... ok
[INFO] [stdout] test process::table::tests::digest_entry_has_no_watch_fields_when_no_matches ... ok
[INFO] [stdout] test process::table::tests::digest_entry_has_watch_fields_when_matches_exist ... ok
[INFO] [stdout] test process::table::tests::digest_full_returns_all_entries ... ok
[INFO] [stdout] test process::table::tests::digest_cap_retains_10_most_recent_terminal ... ok
[INFO] [stdout] test process::table::tests::digest_ordering_awaiting_input_first_then_running_then_terminal ... ok
[INFO] [stdout] test process::table::tests::digest_none_returns_empty ... ok
[INFO] [stdout] test process::table::tests::dismiss_frees_slot_for_new_registration ... ok
[INFO] [stdout] test process::table::tests::dismiss_nonexistent_returns_error ... ok
[INFO] [stdout] test process::table::tests::digest_ordering_within_category_elapsed_ms_descending ... ok
[INFO] [stdout] test process::table::tests::error_code_mapping ... ok
[INFO] [stdout] test process::table::tests::get_returns_none_for_unknown_alias ... ok
[INFO] [stdout] test process::table::tests::interpreter_field_defaults_to_none ... ok
[INFO] [stdout] test process::table::tests::invalid_state_transition_completed_to_running ... ok
[INFO] [stdout] test process::table::tests::dismiss_removes_entry ... ok
[INFO] [stdout] test process::table::tests::register_at_process_limit_returns_error ... ok
[INFO] [stdout] test process::table::tests::register_process_with_unique_alias ... ok
[INFO] [stdout] test process::table::tests::register_duplicate_alias_returns_alias_in_use ... ok
[INFO] [stdout] test process::table::tests::register_reuses_alias_after_failed ... ok
[INFO] [stdout] test process::table::tests::register_reuses_alias_after_completed ... ok
[INFO] [stdout] test process::table::tests::register_still_rejects_running_alias ... ok
[INFO] [stdout] test process::table::tests::running_to_completed ... ok
[INFO] [stdout] test process::table::tests::register_reuses_alias_after_kill ... ok
[INFO] [stdout] test process::table::tests::running_to_killed ... ok
[INFO] [stdout] test process::table::tests::running_to_failed ... ok
[INFO] [stdout] test process::table::tests::running_to_timed_out ... ok
[INFO] [stdout] test process::table::tests::sequence_counter_increments_on_every_mutation ... ok
[INFO] [stdout] test process::table::tests::update_state_alias_not_found ... ok
[INFO] [stdout] test process::table::tests::watch_match_recording_updates_last_match_and_count ... ok
[INFO] [stdout] test router::categories::tests::test_categorize_empty_command ... ok
[INFO] [stdout] test router::categories::tests::test_categorize_fallback_condense ... ok
[INFO] [stdout] test router::categories::tests::test_categorize_grammar_category ... ok
[INFO] [stdout] test router::categories::tests::test_categorize_dangerous_pattern_overrides ... ok
[INFO] [stdout] test router::categories::tests::test_category_from_str ... ok
[INFO] [stdout] test router::categories::tests::test_categorize_uses_categories_config ... ok
[INFO] [stdout] test router::categories::tests::test_grammar_category_overrides_config ... ok
[INFO] [stdout] test router::categories::tests::test_invalid_category_in_config ... ok
[INFO] [stdout] test router::categories::tests::test_dangerous_overrides_grammar_category ... ok
[INFO] [stdout] test router::categories::tests::test_load_categories_config ... ok
[INFO] [stdout] test router::tests::test_categorize_command_str_dangerous ... ok
[INFO] [stdout] test router::categories::tests::test_load_dangerous_patterns ... ok
[INFO] [stdout] test router::tests::test_categorize_command_str_echo_passthrough ... ok
[INFO] [stdout] test router::tests::test_categorize_command_str_empty ... ok
[INFO] [stdout] test router::tests::test_categorize_command_str_git_structured ... ok
[INFO] [stdout] test router::tests::test_categorize_command_str_unknown_falls_back_condense ... ok
[INFO] [stdout] test router::tests::test_compound_command_routing ... ok
[INFO] [stdout] test router::tests::test_enrichment_cp_nonexistent_file ... ok
[INFO] [stdout] test router::tests::test_enrichment_none_on_success ... ok
[INFO] [stdout] test mcp::server::tests::test_server_tools_list ... ok
[INFO] [stdout] test router::tests::test_grammar_category_overrides_config ... ok
[INFO] [stdout] test router::tests::test_mcp_mode_dangerous_returns_warning_without_executing ... ok
[INFO] [stdout] test router::tests::test_mcp_mode_interactive_returns_error ... ok
[INFO] [stdout] test router::tests::test_no_pipeline_unknown_still_condense ... ok
[INFO] [stdout] test router::tests::test_pipeline_dangerous_still_dangerous ... ok
[INFO] [stdout] test router::tests::test_pipeline_known_condense_command_stays_condense ... ok
[INFO] [stdout] test router::tests::test_pipeline_known_passthrough_stays_passthrough ... ok
[INFO] [stdout] test router::tests::test_pipeline_unknown_command_defaults_passthrough ... ok
[INFO] [stdout] test router::tests::test_preflight_integration ... ok
[INFO] [stdout] test router::tests::test_route_cat_passthrough ... ok
[INFO] [stdout] test router::tests::test_route_cp_narrate ... ok
[INFO] [stdout] test router::tests::test_route_echo_passthrough_integration ... ok
[INFO] [stdout] test router::tests::test_route_empty_command_error ... ok
[INFO] [stdout] test router::tests::test_route_git_status_structured ... ok
[INFO] [stdout] test router::tests::test_route_npm_install_condense ... ok
[INFO] [stdout] test router::tests::test_route_rm_rf_dangerous ... ok
[INFO] [stdout] test router::tests::test_route_unknown_command_fallback_condense ... ok
[INFO] [stdout] test router::tests::test_route_vim_interactive ... ok
[INFO] [stdout] test safety::tests::blocked_commands_return_human_readable_reason ... ok
[INFO] [stdout] test safety::tests::chmod_777_root_is_blocked ... ok
[INFO] [stdout] test safety::tests::chmod_777_specific_path_is_allowed ... ok
[INFO] [stdout] test safety::tests::complex_safe_commands_are_not_blocked ... ok
[INFO] [stdout] test safety::tests::dd_read_from_block_device_is_allowed ... ok
[INFO] [stdout] test safety::tests::dd_write_to_block_device_is_blocked ... ok
[INFO] [stdout] test safety::tests::empty_command_is_not_blocked ... ok
[INFO] [stdout] test safety::tests::fork_bomb_is_blocked ... ok
[INFO] [stdout] test safety::tests::mkfs_is_blocked ... ok
[INFO] [stdout] test safety::tests::normal_commands_pass_through ... ok
[INFO] [stdout] test safety::tests::redirect_to_block_device_is_blocked ... ok
[INFO] [stdout] test safety::tests::rm_rf_root_glob_is_blocked ... ok
[INFO] [stdout] test safety::tests::rm_rf_root_is_blocked ... ok
[INFO] [stdout] test safety::tests::rm_rf_specific_path_home_is_allowed ... ok
[INFO] [stdout] test safety::tests::rm_rf_specific_path_tmp_is_allowed ... ok
[INFO] [stdout] test session::boundary::tests::test_detect_boundary_mixed_output ... ok
[INFO] [stdout] test session::boundary::tests::test_detect_boundary_no_markers ... ok
[INFO] [stdout] test session::boundary::tests::test_detect_boundary_osc133_failure ... ok
[INFO] [stdout] test session::boundary::tests::test_detect_boundary_osc133_incomplete ... ok
[INFO] [stdout] test session::boundary::tests::test_detect_boundary_osc133_success ... ok
[INFO] [stdout] test session::boundary::tests::test_detect_boundary_sentinel_success ... ok
[INFO] [stdout] test session::boundary::tests::test_detect_boundary_sentinel_uuid_mismatch ... ok
[INFO] [stdout] test session::boundary::tests::test_detect_osc133_c_multiline_output ... ok
[INFO] [stdout] test session::boundary::tests::test_detect_osc133_c_strips_echo ... ok
[INFO] [stdout] test session::boundary::tests::test_detect_osc133_stale_d_before_c_ignored ... ok
[INFO] [stdout] test session::boundary::tests::test_detect_osc133_with_c_marker ... ok
[INFO] [stdout] test session::boundary::tests::test_detect_osc133_without_c_fallback ... ok
[INFO] [stdout] test session::boundary::tests::test_detect_strategy_bash ... ok
[INFO] [stdout] test session::boundary::tests::test_detect_strategy_bin_bash ... ok
[INFO] [stdout] test session::boundary::tests::test_detect_strategy_dash ... ok
[INFO] [stdout] test session::boundary::tests::test_detect_strategy_sh ... ok
[INFO] [stdout] test session::boundary::tests::test_detect_strategy_unknown_fallback ... ok
[INFO] [stdout] test session::boundary::tests::test_detect_strategy_usr_bin_zsh ... ok
[INFO] [stdout] test session::boundary::tests::test_detect_strategy_zsh ... ok
[INFO] [stdout] test session::boundary::tests::test_osc133_sequences_stripped ... ok
[INFO] [stdout] test session::boundary::tests::test_sentinel_lines_stripped ... ok
[INFO] [stdout] test session::boundary::tests::test_shell_hook_bash_contains_prompt_command ... ok
[INFO] [stdout] test session::boundary::tests::test_shell_hook_zsh_contains_precmd ... ok
[INFO] [stdout] test session::boundary::tests::test_shell_hooks_contain_preexec ... ok
[INFO] [stdout] test session::boundary::tests::test_shell_hooks_contain_ps0 ... ok
[INFO] [stdout] test session::boundary::tests::test_shell_hooks_suppress_prompt_eol_mark ... ok
[INFO] [stdout] test session::boundary::tests::test_wrap_command_sentinel ... ok
[INFO] [stdout] test session::boundary::tests::test_wrap_command_shell_integration ... ok
[INFO] [stdout] test router::tests::test_enrichment_on_failure ... ok
[INFO] [stdout] test session::manager::tests::test_close_nonexistent_session ... ok
[INFO] [stdout] test mcp::server::tests::test_server_unknown_tool_error ... ok
[INFO] [stdout] test router::tests::test_enrichment_diagnostics_non_empty_fields ... ok
[INFO] [stdout] test session::manager::tests::test_close_all ... ok
[INFO] [stdout] test session::manager::tests::test_close_session ... ok
[INFO] [stdout] test session::manager::tests::test_create_main_session ... ok
[INFO] [stdout] test session::manager::tests::test_cwd_tracking_through_manager ... ok
[INFO] [stdout] test session::manager::tests::test_duplicate_session_name ... ok
[INFO] [stdout] test session::manager::tests::test_create_session_with_explicit_shell ... ok
[INFO] [stdout] test session::manager::tests::test_error_codes ... ok
[INFO] [stdout] test session::manager::tests::test_error_display ... ok
[INFO] [stdout] test session::manager::tests::test_ensure_default_session_already_exists ... ok
[INFO] [stdout] test session::manager::tests::test_environment_persistence_through_manager ... ok
[INFO] [stdout] test session::manager::tests::test_get_session_nonexistent ... ok
[INFO] [stdout] test session::manager::tests::test_execute_in_session ... ok
[INFO] [stdout] test session::manager::tests::test_get_session_main ... ok
[INFO] [stdout] test session::manager::tests::test_idle_session_cleanup ... ok
[INFO] [stdout] test session::manager::tests::test_list_sessions_after_main ... ok
[INFO] [stdout] test session::manager::tests::test_session_not_found ... ok
[INFO] [stdout] test session::manager::tests::test_session_limit_reached ... ok
[INFO] [stdout] test session::shell::tests::test_clean_output_no_match_preserves_all ... ok
[INFO] [stdout] test session::shell::tests::test_clean_output_preserves_percent_in_content ... ok
[INFO] [stdout] test session::shell::tests::test_clean_output_strips_echo_with_ansi_prompt ... ok
[INFO] [stdout] test session::shell::tests::test_clean_output_strips_echo_with_cr ... ok
[INFO] [stdout] test session::shell::tests::test_clean_output_strips_echo_with_prompt_prefix ... ok
[INFO] [stdout] test session::shell::tests::test_clean_output_strips_prompt_sp ... ok
[INFO] [stdout] test session::shell::tests::test_clean_output_strips_prompt_sp_with_newline ... ok
[INFO] [stdout] test session::shell::tests::test_clean_output_strips_simple_echo ... ok
[INFO] [stdout] test session::shell::tests::test_clean_output_strips_trailing_prompt ... ok
[INFO] [stdout] test mcp::dispatch::tests::sh_spawn_wait_for_does_not_block_sh_help ... ok
[INFO] [stdout] test session::manager::tests::test_session_count ... ok
[INFO] [stdout] test session::shell::tests::test_environment_persistence ... ok
[INFO] [stdout] test session::shell::tests::test_execute_echo_hello ... ok
[INFO] [stdout] test session::shell::tests::stress_concurrent_initialization ... ok
[INFO] [stdout] test session::shell::tests::test_cwd_tracking ... ok
[INFO] [stdout] test mcp::dispatch::tests::tools_call_sh_session_list ... ok
[INFO] [stdout] test session::shell::tests::test_execute_output_no_echo_bleed ... ok
[INFO] [stdout] test session::shell::tests::test_is_prompt_sp_hash_with_spaces ... ok
[INFO] [stdout] test session::shell::tests::test_is_prompt_sp_not_bare_percent ... ok
[INFO] [stdout] test session::shell::tests::test_is_prompt_sp_not_empty ... ok
[INFO] [stdout] test session::shell::tests::test_is_prompt_sp_not_normal_percent ... ok
[INFO] [stdout] test session::shell::tests::test_is_prompt_sp_percent_with_cr_and_spaces ... ok
[INFO] [stdout] test session::shell::tests::test_is_prompt_sp_percent_with_spaces ... ok
[INFO] [stdout] test session::shell::tests::test_is_prompt_sp_spaces_only ... ok
[INFO] [stdout] test session::shell::tests::test_execute_failing_command ... ok
[INFO] [stdout] test session::shell::tests::test_execute_ls_no_echo_doubling ... ok
[INFO] [stdout] test handlers::condense::tests::test_condense_with_grammar ... ok
[INFO] [stdout] test session::shell::tests::test_is_ready_before_and_after_init ... ok
[INFO] [stdout] test session::shell::tests::test_kill_terminates_shell ... ok
[INFO] [stdout] test session::shell::tests::test_shell_spawns_successfully ... ok
[INFO] [stdout] test shutdown::tests::test_check_stale_pid_corrupt_file ... ok
[INFO] [stdout] test shutdown::tests::test_check_stale_pid_current_process ... ok
[INFO] [stdout] test shutdown::tests::test_check_stale_pid_dead_process ... ok
[INFO] [stdout] test shutdown::tests::test_check_stale_pid_no_file ... ok
[INFO] [stdout] test shutdown::tests::test_cleanup_stale_pid_files ... ok
[INFO] [stdout] test shutdown::tests::test_custom_drain_timeout ... ok
[INFO] [stdout] test shutdown::tests::test_initial_state_not_shutdown ... ok
[INFO] [stdout] test shutdown::tests::test_multiple_subscribers ... ok
[INFO] [stdout] test shutdown::tests::test_pid_dir_xdg ... ok
[INFO] [stdout] test shutdown::tests::test_pid_file_path_format ... ok
[INFO] [stdout] test shutdown::tests::test_remove_nonexistent_pid_file ... ok
[INFO] [stdout] test shutdown::tests::test_remove_pid_file ... ok
[INFO] [stdout] test session::shell::tests::test_startup_output_discarded ... ok
[INFO] [stdout] test shutdown::tests::test_shutdown_sequence_no_sessions ... ok
[INFO] [stdout] test shutdown::tests::test_subscriber_receives_shutdown ... ok
[INFO] [stdout] test shutdown::tests::test_trigger_shutdown_idempotent ... ok
[INFO] [stdout] test shutdown::tests::test_trigger_shutdown_sets_flag ... ok
[INFO] [stdout] test shutdown::tests::test_with_defaults ... ok
[INFO] [stdout] test shutdown::tests::test_write_pid_file ... ok
[INFO] [stdout] test shutdown::tests::test_write_pid_file_creates_dirs ... ok
[INFO] [stdout] test shutdown::tests::test_shutdown_sequence_closes_sessions ... ok
[INFO] [stdout] test session::shell::tests::test_pty_echo_disabled_after_spawn ... ok
[INFO] [stdout] test squasher::block::tests::test_docker_buildkit_delimited_block ... ok
[INFO] [stdout] test squasher::block::tests::test_docker_buildkit_block_with_error_keyword ... ok
[INFO] [stdout] test squasher::block::tests::test_block_interrupted_by_new_block_start ... ok
[INFO] [stdout] test squasher::block::tests::test_docker_error_failed_to_solve ... ok
[INFO] [stdout] test squasher::block::tests::test_docker_buildkit_fallback_no_error_keyword ... ok
[INFO] [stdout] test squasher::block::tests::test_docker_error_flush_without_blank ... ok
[INFO] [stdout] test squasher::block::tests::test_empty_block_start_then_immediate_end ... ok
[INFO] [stdout] test squasher::block::tests::test_extract_no_match_graceful_fallback ... ok
[INFO] [stdout] test squasher::block::tests::test_flush_at_end_of_stream ... ok
[INFO] [stdout] test squasher::block::tests::test_gcc_error_block ... ok
[INFO] [stdout] test squasher::block::tests::test_gcc_fatal_error_block ... ok
[INFO] [stdout] test squasher::block::tests::test_gcc_flush_without_trailing_blank ... ok
[INFO] [stdout] test squasher::block::tests::test_gcc_multiple_blocks ... ok
[INFO] [stdout] test squasher::block::tests::test_gcc_warning_block_with_code ... ok
[INFO] [stdout] test squasher::block::tests::test_gcc_warning_without_code ... ok
[INFO] [stdout] test squasher::block::tests::test_jest_graceful_fallback_internal_blank ... ok
[INFO] [stdout] test squasher::block::tests::test_jest_compact_error_block ... ok
[INFO] [stdout] test squasher::block::tests::test_jest_block_flush_at_end ... ok
[INFO] [stdout] test squasher::block::tests::test_jest_multiple_compact_blocks ... ok
[INFO] [stdout] test squasher::block::tests::test_missing_optional_captures ... ok
[INFO] [stdout] test squasher::block::tests::test_passthrough_no_rules ... ok
[INFO] [stdout] test squasher::block::tests::test_mixed_blocks_and_normal_lines ... ok
[INFO] [stdout] test squasher::block::tests::test_passthrough_non_matching_lines ... ok
[INFO] [stdout] test squasher::block::tests::test_multiple_sequential_blocks ... ok
[INFO] [stdout] test squasher::block::tests::test_pytest_assertion_block ... ok
[INFO] [stdout] test squasher::block::tests::test_pytest_block_flush_at_end ... ok
[INFO] [stdout] test squasher::block::tests::test_pytest_multiple_failure_blocks ... ok
[INFO] [stdout] test squasher::block::tests::test_pytest_short_summary_failed_line ... ok
[INFO] [stdout] test squasher::block::tests::test_webpack_error_flush_without_trailing_blank ... ok
[INFO] [stdout] test squasher::block::tests::test_single_block_compression ... ok
[INFO] [stdout] test squasher::block::tests::test_webpack_error_module_not_found ... ok
[INFO] [stdout] test squasher::block::tests::test_webpack_warning_block ... ok
[INFO] [stdout] test squasher::block::tests::test_webpack_error_without_location ... ok
[INFO] [stdout] test squasher::dedup::tests::test_format_count_gt1_multi_token_uses_simplified_template ... ok
[INFO] [stdout] test squasher::block::tests::test_webpack_multiple_error_blocks ... ok
[INFO] [stdout] test squasher::dedup::tests::test_format_count_one_returns_first_instance ... ok
[INFO] [stdout] test squasher::dedup::tests::test_format_count_gt1_single_token_uses_first_instance ... ok
[INFO] [stdout] test squasher::dedup::tests::test_format_multi_token_does_not_use_first_instance ... ok
[INFO] [stdout] test squasher::dedup::tests::test_group_format_multiple_instances ... ok
[INFO] [stdout] test squasher::dedup::tests::test_group_format_single_instance ... ok
[INFO] [stdout] test squasher::dedup::tests::test_implicit_dedup_consecutive_similar ... ok
[INFO] [stdout] test squasher::dedup::tests::test_flush_all_clears_groups ... ok
[INFO] [stdout] test squasher::dedup::tests::test_implicit_dedup_dissimilar_not_merged ... ok
[INFO] [stdout] test squasher::dedup::tests::test_ingest_exact_template_match ... ok
[INFO] [stdout] test squasher::dedup::tests::test_implicit_dedup_streak_break ... ok
[INFO] [stdout] test squasher::dedup::tests::test_ingest_creates_group ... ok
[INFO] [stdout] test squasher::dedup::tests::test_ingest_same_template_increments_count ... ok
[INFO] [stdout] test squasher::dedup::tests::test_simplify_template_adjacent_tokens ... ok
[INFO] [stdout] test squasher::dedup::tests::test_simplify_template_multiple_tokens ... ok
[INFO] [stdout] test squasher::dedup::tests::test_simplify_template_single_token ... ok
[INFO] [stdout] test squasher::dedup::tests::test_simplify_template_unclosed_brace ... ok
[INFO] [stdout] test squasher::dedup::tests::test_max_groups_enforced ... ok
[INFO] [stdout] test squasher::dedup::tests::test_simplify_template_no_tokens ... ok
[INFO] [stdout] test squasher::dedup::tests::test_template_length_truncated ... ok
[INFO] [stdout] test squasher::dedup::tests::test_tokenize_hashes ... ok
[INFO] [stdout] test squasher::dedup::tests::test_tokenize_iso_timestamps ... ok
[INFO] [stdout] test squasher::dedup::tests::test_tokenize_order_matters_url_before_path ... ok
[INFO] [stdout] test squasher::dedup::tests::test_tokenize_packages ... ok
[INFO] [stdout] test squasher::dedup::tests::test_tokenize_paths ... ok
[INFO] [stdout] test squasher::dedup::tests::test_tokenize_semver ... ok
[INFO] [stdout] test squasher::dedup::tests::test_tokenize_plain_numbers ... ok
[INFO] [stdout] test squasher::dedup::tests::test_tokenize_semver_with_prerelease ... ok
[INFO] [stdout] test squasher::dedup::tests::test_tokenize_syslog_timestamps ... ok
[INFO] [stdout] test squasher::dedup::tests::test_tokenize_single_digit_not_replaced ... ok
[INFO] [stdout] test squasher::pattern::tests::test_case_insensitive_preset ... ok
[INFO] [stdout] test squasher::pattern::tests::test_filter_all_lines_match ... ok
[INFO] [stdout] test squasher::pattern::tests::test_filter_empty_input ... ok
[INFO] [stdout] test squasher::dedup::tests::test_tokenize_urls ... ok
[INFO] [stdout] test squasher::pattern::tests::test_integration_mixed_output_with_drop ... ok
[INFO] [stdout] test squasher::pattern::tests::test_invalid_regex_returns_error ... ok
[INFO] [stdout] test squasher::pattern::tests::test_integration_npm_install_filter ... ok
[INFO] [stdout] test squasher::pattern::tests::test_is_preset_valid ... ok
[INFO] [stdout] test squasher::pattern::tests::test_multiple_patterns_or_match ... ok
[INFO] [stdout] test squasher::pattern::tests::test_no_patterns_matches_nothing ... ok
[INFO] [stdout] test squasher::pattern::tests::test_is_preset_invalid ... ok
[INFO] [stdout] test squasher::pattern::tests::test_preset_npm_expansion ... ok
[INFO] [stdout] test squasher::pattern::tests::test_preset_errors_expansion ... ok
[INFO] [stdout] test squasher::pattern::tests::test_preset_test_failures_expansion ... ok
[INFO] [stdout] test squasher::pattern::tests::test_preset_unknown_returns_literal ... ok
[INFO] [stdout] test squasher::pattern::tests::test_preset_warnings_expansion ... ok
[INFO] [stdout] test squasher::pattern::tests::test_regex_pattern ... ok
[INFO] [stdout] test squasher::pattern::tests::test_simple_regex_match ... ok
[INFO] [stdout] test squasher::pattern::tests::test_unmatched_drop_no_summary ... ok
[INFO] [stdout] test squasher::pattern::tests::test_unmatched_mode_default_is_squash ... ok
[INFO] [stdout] test squasher::pattern::tests::test_unmatched_mode_from_str ... ok
[INFO] [stdout] test squasher::pattern::tests::test_unmatched_squash_847_lines ... ok
[INFO] [stdout] test squasher::pattern::tests::test_unmatched_squash_no_unmatched_lines ... ok
[INFO] [stdout] test squasher::pattern::tests::test_unmatched_squash_produces_summary ... ok
[INFO] [stdout] test squasher::pattern::tests::test_preset_test_results_expansion ... ok
[INFO] [stdout] test squasher::pattern::tests::test_watch_filter_custom_regex_case_insensitive ... ok
[INFO] [stdout] test squasher::pattern::tests::test_watch_filter_invalid_regex_in_pipe ... ok
[INFO] [stdout] test squasher::pattern::tests::test_watch_filter_invalid_regex_returns_error ... ok
[INFO] [stdout] test squasher::pattern::tests::test_watch_filter_custom_regex_pipe_separated ... ok
[INFO] [stdout] test squasher::pattern::tests::test_watch_filter_unknown_preset_literal ... ok
[INFO] [stdout] test squasher::pattern::tests::test_watch_filter_with_preset ... ok
[INFO] [stdout] test squasher::dedup::tests::test_tokenize_uuids ... ok
[INFO] [stdout] test squasher::pattern::tests::test_watch_filter_with_test_results_preset ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_binary_detection_random_bytes ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_binary_detection_threshold_just_above ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_binary_detection_normal_text_not_triggered ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_binary_detection_threshold_just_below ... ok
[INFO] [stdout] test mcp::server::tests::test_server_full_stack_sh_run ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_condense_large_repetitive_output_still_deduped ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_condense_short_list_boundary_29_unique ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_condense_short_list_boundary_30_not_bypassed ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_condense_short_repeated_lines_still_deduped ... ok
[INFO] [stdout] test session::shell::tests::test_execute_consecutive_no_echo_bleed ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_condense_short_unique_git_tags_preserved ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_condense_small_output_ps_like ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_enriched_truncation_no_hazards_simple_marker ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_enriched_truncation_shows_error_count ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_condense_small_output_skips_dedup ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_metrics_default_zeros ... ok
[INFO] [stdout] test session::shell::tests::test_initialization_completes ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_enriched_truncation_via_process ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_metrics_oreo_suppressed ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_finalize_returns_metrics ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_metrics_dedup_counts ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_metrics_no_truncation_no_suppressed ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_metrics_progress_stripped_count ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_binary_detection_works_for_all_categories ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_pipeline_empty_input ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_metrics_vte_stripped_count ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_pipeline_collapses_progress ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_pipeline_dedup_repetitive_lines ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_pipeline_strips_ansi ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_pipeline_mixed_content ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_process_dangerous_raw_passthrough ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_pipeline_plain_text_passthrough ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_process_interactive_raw_passthrough ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_pipeline_truncation ... ok
[INFO] [stdout] test session::manager::tests::test_ensure_default_session_creates ... FAILED
[INFO] [stdout] test squasher::pipeline::tests::test_process_condense_matches_existing_pipeline ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_process_passthrough_vte_strip_only ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_process_narrate_no_dedup ... ok
[INFO] [stdout] test squasher::progress::tests::test_complete_line_passthrough ... ok
[INFO] [stdout] test squasher::progress::tests::test_flush_empty ... ok
[INFO] [stdout] test squasher::progress::tests::test_flush_pending_overwrites ... ok
[INFO] [stdout] test squasher::progress::tests::test_interleaved_overwrites_and_completes ... ok
[INFO] [stdout] test squasher::progress::tests::test_overwrite_sequence_then_complete ... ok
[INFO] [stdout] test squasher::progress::tests::test_overwrite_then_complete_emits_nothing_extra ... ok
[INFO] [stdout] test squasher::progress::tests::test_partial_line_passthrough ... ok
[INFO] [stdout] test squasher::progress::tests::test_single_overwrite_stripped ... ok
[INFO] [stdout] test squasher::truncate::tests::test_300_lines_oreo_default ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_process_condense_with_dedup ... ok
[INFO] [stdout] test squasher::truncate::tests::test_50_lines_no_truncation ... ok
[INFO] [stdout] test squasher::truncate::tests::test_byte_limit_with_large_lines ... ok
[INFO] [stdout] test squasher::truncate::tests::test_custom_head_tail_split ... ok
[INFO] [stdout] test squasher::truncate::tests::test_default_config_values ... ok
[INFO] [stdout] test squasher::truncate::tests::test_default_max_bytes ... ok
[INFO] [stdout] test squasher::truncate::tests::test_empty_input ... ok
[INFO] [stdout] test squasher::truncate::tests::test_enriched_marker_errors_only ... ok
[INFO] [stdout] test squasher::truncate::tests::test_enriched_marker_singular_forms ... ok
[INFO] [stdout] test squasher::truncate::tests::test_enriched_marker_warnings_only ... ok
[INFO] [stdout] test squasher::truncate::tests::test_enriched_marker_with_hazards ... ok
[INFO] [stdout] test squasher::truncate::tests::test_enriched_marker_zero_hazards ... ok
[INFO] [stdout] test squasher::truncate::tests::test_exact_fit_no_truncation ... ok
[INFO] [stdout] test squasher::truncate::tests::test_exactly_at_budget_no_truncation ... ok
[INFO] [stdout] test squasher::truncate::tests::test_hazard_counts_default ... ok
[INFO] [stdout] test squasher::truncate::tests::test_marker_format ... ok
[INFO] [stdout] test squasher::truncate::tests::test_max_bytes_small_limit ... ok
[INFO] [stdout] test squasher::truncate::tests::test_max_bytes_truncation ... ok
[INFO] [stdout] test squasher::truncate::tests::test_one_line_over_budget ... ok
[INFO] [stdout] test squasher::truncate::tests::test_short_input_passthrough ... ok
[INFO] [stdout] test squasher::truncate::tests::test_truncate_delegates_to_truncate_with_counts ... ok
[INFO] [stdout] test squasher::truncate::tests::test_truncation_large_input ... ok
[INFO] [stdout] test squasher::truncate::tests::test_truncation_with_marker ... ok
[INFO] [stdout] test squasher::truncate::tests::test_with_max_bytes_constructor ... ok
[INFO] [stdout] test squasher::utf8::tests::test_2byte_char_split_across_buffers ... ok
[INFO] [stdout] test squasher::utf8::tests::test_3byte_char_split_across_buffers ... ok
[INFO] [stdout] test squasher::utf8::tests::test_4byte_char_split_multiple_ways ... ok
[INFO] [stdout] test squasher::utf8::tests::test_empty_input ... ok
[INFO] [stdout] test squasher::utf8::tests::test_flush_empty_carryover ... ok
[INFO] [stdout] test squasher::utf8::tests::test_flush_returns_replacement_for_incomplete ... ok
[INFO] [stdout] test squasher::utf8::tests::test_invalid_byte_replaced ... ok
[INFO] [stdout] test squasher::utf8::tests::test_mixed_ascii_and_split_multibyte ... ok
[INFO] [stdout] test squasher::utf8::tests::test_pure_ascii_passthrough ... ok
[INFO] [stdout] test squasher::utf8::tests::test_valid_multibyte_complete ... ok
[INFO] [stdout] test squasher::vte_strip::tests::test_detect_cursor_movement ... ok
[INFO] [stdout] test squasher::vte_strip::tests::test_detect_erase ... ok
[INFO] [stdout] test squasher::vte_strip::tests::test_detect_erase_display ... ok
[INFO] [stdout] test squasher::vte_strip::tests::test_empty_input ... ok
[INFO] [stdout] test squasher::vte_strip::tests::test_mixed_ansi_and_text ... ok
[INFO] [stdout] test squasher::vte_strip::tests::test_plain_text_passthrough ... ok
[INFO] [stdout] test squasher::vte_strip::tests::test_strip_256_color ... ok
[INFO] [stdout] test squasher::vte_strip::tests::test_strip_ansi_empty ... ok
[INFO] [stdout] test squasher::vte_strip::tests::test_strip_ansi_multiline ... ok
[INFO] [stdout] test squasher::vte_strip::tests::test_strip_ansi_preserves_plain ... ok
[INFO] [stdout] test squasher::vte_strip::tests::test_strip_bold_color ... ok
[INFO] [stdout] test squasher::vte_strip::tests::test_strip_multiple_colors ... ok
[INFO] [stdout] test squasher::vte_strip::tests::test_strip_prompt_sp_empty_eol_mark ... ok
[INFO] [stdout] test squasher::vte_strip::tests::test_strip_prompt_sp_empty_input ... ok
[INFO] [stdout] test squasher::vte_strip::tests::test_strip_prompt_sp_hash_with_spaces ... ok
[INFO] [stdout] test squasher::vte_strip::tests::test_strip_prompt_sp_multiple_trailing_empty_lines ... ok
[INFO] [stdout] test squasher::vte_strip::tests::test_strip_prompt_sp_no_prompt_sp ... ok
[INFO] [stdout] test squasher::vte_strip::tests::test_strip_prompt_sp_percent_with_spaces ... ok
[INFO] [stdout] test squasher::vte_strip::tests::test_strip_prompt_sp_percent_with_spaces_and_cr ... ok
[INFO] [stdout] test squasher::vte_strip::tests::test_strip_prompt_sp_preserves_content ... ok
[INFO] [stdout] test squasher::vte_strip::tests::test_strip_prompt_sp_preserves_single_percent ... ok
[INFO] [stdout] test squasher::vte_strip::tests::test_strip_simple_color ... ok
[INFO] [stdout] test tools::sh_help::tests::custom_config_values_reflected ... ok
[INFO] [stdout] test tools::sh_help::tests::empty_watch_presets_when_config_has_none ... ok
[INFO] [stdout] test tools::sh_help::tests::error_display_includes_tool_name_and_valid_tools ... ok
[INFO] [stdout] test tools::sh_help::tests::filtered_help_still_includes_presets_and_limits ... ok
[INFO] [stdout] test tools::sh_help::tests::full_help_contains_all_five_tools ... ok
[INFO] [stdout] test tools::sh_help::tests::filtered_help_returns_only_requested_tool ... ok
[INFO] [stdout] test tools::sh_help::tests::help_includes_squasher_defaults ... ok
[INFO] [stdout] test tools::sh_help::tests::help_includes_watch_presets_from_config ... ok
[INFO] [stdout] test tools::sh_help::tests::help_includes_zero_usage_counts ... ok
[INFO] [stdout] test tools::sh_help::tests::invalid_tool_name_returns_error ... ok
[INFO] [stdout] test tools::sh_help::tests::help_includes_resource_limits ... ok
[INFO] [stdout] test tools::sh_help::tests::response_is_compact ... ok
[INFO] [stdout] test tools::sh_help::tests::sh_help_summary_has_tool_filter_param ... ok
[INFO] [stdout] test tools::sh_help::tests::sh_interact_summary_has_correct_params ... ok
[INFO] [stdout] test tools::sh_help::tests::response_serializes_to_valid_json ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_process_narrate_no_truncation ... ok
[INFO] [stdout] test tools::sh_help::tests::sh_run_summary_has_correct_params ... ok
[INFO] [stdout] test tools::sh_help::tests::sh_spawn_summary_has_correct_params ... ok
[INFO] [stdout] test tools::sh_interact::tests::handle_dispatches_read_full ... ok
[INFO] [stdout] test tools::sh_help::tests::usage_reflects_live_process_table_state ... ok
[INFO] [stdout] test tools::sh_interact::tests::handle_dispatches_kill ... ok
[INFO] [stdout] test tools::sh_interact::tests::handle_dispatches_read_tail ... ok
[INFO] [stdout] test tools::sh_interact::tests::handle_dispatches_send_signal ... ok
[INFO] [stdout] test tools::sh_interact::tests::handle_dispatches_status ... ok
[INFO] [stdout] test tools::sh_interact::tests::kill_completed_process_returns_invalid_action ... ok
[INFO] [stdout] test tools::sh_interact::tests::kill_already_killed_process_returns_invalid_action ... ok
[INFO] [stdout] test tools::sh_interact::tests::kill_awaiting_input_process_succeeds ... ok
[INFO] [stdout] test tools::sh_interact::tests::kill_updates_state_to_killed ... ok
[INFO] [stdout] test tools::sh_interact::tests::kill_unknown_alias_returns_error ... ok
[INFO] [stdout] test tools::sh_interact::tests::read_full_empty_spool ... ok
[INFO] [stdout] test tools::sh_interact::tests::read_full_unknown_alias_returns_error ... ok
[INFO] [stdout] test tools::sh_interact::tests::read_tail_empty_spool ... ok
[INFO] [stdout] test tools::sh_interact::tests::read_full_strips_ansi_escape_sequences ... ok
[INFO] [stdout] test tools::sh_interact::tests::read_tail_returns_last_n_lines ... ok
[INFO] [stdout] test tools::sh_interact::tests::read_tail_strips_ansi_escape_sequences ... ok
[INFO] [stdout] test tools::sh_interact::tests::read_tail_unknown_alias_returns_error ... ok
[INFO] [stdout] test tools::sh_interact::tests::read_tail_with_default_lines ... ok
[INFO] [stdout] test tools::sh_interact::tests::read_tail_on_completed_process_succeeds ... ok
[INFO] [stdout] test tools::sh_interact::tests::read_full_returns_entire_spool ... ok
[INFO] [stdout] test tools::sh_interact::tests::send_input_to_awaiting_input_process_passes_state_check ... ok
[INFO] [stdout] test tools::sh_interact::tests::send_input_to_completed_process_returns_invalid_action ... ok
[INFO] [stdout] test tools::sh_interact::tests::send_input_to_killed_process_returns_invalid_action ... ok
[INFO] [stdout] test tools::sh_interact::tests::send_signal_default_sigint ... ok
[INFO] [stdout] test tools::sh_interact::tests::send_signal_explicit_sighup ... ok
[INFO] [stdout] test tools::sh_interact::tests::send_input_unknown_alias_returns_error ... ok
[INFO] [stdout] test tools::sh_interact::tests::send_input_without_input_param_returns_invalid_params ... ok
[INFO] [stdout] test tools::sh_interact::tests::send_signal_to_awaiting_input_process_succeeds ... ok
[INFO] [stdout] test tools::sh_interact::tests::send_signal_unknown_alias_returns_error ... ok
[INFO] [stdout] test tools::sh_interact::tests::send_signal_explicit_sigterm ... ok
[INFO] [stdout] test tools::sh_interact::tests::send_signal_to_completed_process_returns_invalid_action ... ok
[INFO] [stdout] test tools::sh_interact::tests::send_signal_unsupported_signal_returns_error ... ok
[INFO] [stdout] test tools::sh_interact::tests::status_completed_process_with_exit_code ... ok
[INFO] [stdout] test tools::sh_interact::tests::status_awaiting_input_with_prompt_tail ... ok
[INFO] [stdout] test tools::sh_interact::tests::status_unknown_alias_returns_error ... ok
[INFO] [stdout] test tools::sh_interact::tests::tool_error_display ... ok
[INFO] [stdout] test tools::sh_interact::tests::tool_error_from_process_table_error ... ok
[INFO] [stdout] test tools::sh_interact::tests::unknown_action_rejected_by_serde ... ok
[INFO] [stdout] test tools::sh_interact::tests::status_failed_process_with_error_tail ... ok
[INFO] [stdout] test tools::sh_interact::tests::status_running_process ... ok
[INFO] [stdout] test tools::sh_run::tests::test_category_display_all_variants ... ok
[INFO] [stdout] test tools::sh_run::tests::test_default_session_constant ... ok
[INFO] [stdout] test session::shell::tests::test_timeout_enforcement ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_process_narrate_vte_strip_only ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_process_structured_vte_strip_only ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_process_empty_input ... ok
[INFO] [stdout] test squasher::pipeline::tests::test_process_metrics_populated_for_all_categories ... ok
[INFO] [stdout] test tools::sh_run::tests::test_echo_categorized_as_passthrough ... ok
[INFO] [stdout] test tools::sh_run::tests::test_deny_list_blocks_mkfs ... ok
[INFO] [stdout] test tools::sh_run::tests::test_deny_list_blocks_rm_rf_root ... ok
[INFO] [stdout] test tools::sh_run::tests::test_deny_list_allows_safe_commands ... ok
[INFO] [stdout] test tools::sh_run::tests::test_handle_echo_hello ... ok
[INFO] [stdout] test tools::sh_run::tests::test_handle_empty_cmd_error ... ok
[INFO] [stdout] test tools::sh_run::tests::test_handle_cwd_tracking ... ok
[INFO] [stdout] test tools::sh_run::tests::test_handle_timeout_resolution ... ok
[INFO] [stdout] test tools::sh_run::tests::test_dangerous_category_passes_through ... ok
[INFO] [stdout] test tools::sh_run::tests::test_handle_enrichment_exit_127_command_not_found ... ok
[INFO] [stdout] test tools::sh_run::tests::test_handle_enrichment_on_failure ... ok
[INFO] [stdout] test tools::sh_run::tests::test_handle_recommendations_on_success ... ok
[INFO] [stdout] test tools::sh_run::tests::test_handle_exit_code ... ok
[INFO] [stdout] test tools::sh_run::tests::test_llm_hints_dedup_by_prefer_string ... ok
[INFO] [stdout] test tools::sh_run::tests::test_llm_hints_session_cap_at_two ... ok
[INFO] [stdout] test tools::sh_run::tests::test_handle_response_structure ... ok
[INFO] [stdout] test tools::sh_run::tests::test_handle_no_enrichment_on_success ... ok
[INFO] [stdout] test tools::sh_run::tests::test_preset_detection_vs_raw_regex ... ok
[INFO] [stdout] test tools::sh_run::tests::test_resolve_timeout_explicit ... ok
[INFO] [stdout] test tools::sh_run::tests::test_resolve_timeout_explicit_overrides_scope ... ok
[INFO] [stdout] test tools::sh_run::tests::test_resolve_timeout_global_default ... ok
[INFO] [stdout] test tools::sh_run::tests::test_resolve_timeout_path_command ... ok
[INFO] [stdout] test tools::sh_run::tests::test_resolve_timeout_per_scope ... ok
[INFO] [stdout] test tools::sh_run::tests::test_resolve_timeout_per_scope_cargo ... ok
[INFO] [stdout] test tools::sh_run::tests::test_handle_with_watch_drop_unmatched ... ok
[INFO] [stdout] test tools::sh_run::tests::test_scope_extraction_empty ... ok
[INFO] [stdout] test tools::sh_run::tests::test_scope_extraction_simple ... ok
[INFO] [stdout] test tools::sh_run::tests::test_scope_extraction_single_word ... ok
[INFO] [stdout] test tools::sh_run::tests::test_scope_extraction_with_path ... ok
[INFO] [stdout] test tools::sh_run::tests::test_handle_with_watch_pattern ... ok
[INFO] [stdout] test tools::sh_run::tests::test_squash_output_empty ... ok
[INFO] [stdout] test tools::sh_run::tests::test_squash_output_passthrough ... ok
[INFO] [stdout] test tools::sh_run::tests::test_strip_ansi_empty ... ok
[INFO] [stdout] test tools::sh_run::tests::test_strip_ansi_preserves_plain_text ... ok
[INFO] [stdout] test tools::sh_run::tests::test_strip_ansi_removes_color_codes ... ok
[INFO] [stdout] test tools::sh_run::tests::test_tool_error_display ... ok
[INFO] [stdout] test tools::sh_run::tests::test_tool_error_from_session_error ... ok
[INFO] [stdout] test tools::sh_run::tests::test_watch_filter_empty_watch ... ok
[INFO] [stdout] test tools::sh_run::tests::test_watch_filter_invalid_regex ... ok
[INFO] [stdout] test tools::sh_run::tests::test_watch_filter_none ... ok
[INFO] [stdout] test tools::sh_run::tests::test_squash_output_strips_ansi ... ok
[INFO] [stdout] test tools::sh_run::tests::test_watch_filter_preset_errors ... ok
[INFO] [stdout] test tools::sh_run::tests::test_watch_filter_preset_from_config ... ok
[INFO] [stdout] test tools::sh_run::tests::test_watch_filter_raw_regex_drop ... ok
[INFO] [stdout] test tools::sh_run::tests::test_watch_filter_raw_regex_keep ... ok
[INFO] [stdout] test tools::sh_session::tests::test_audit_format_summary ... ok
[INFO] [stdout] test tools::sh_session::tests::test_audit_last_n ... ok
[INFO] [stdout] test tools::sh_session::tests::test_audit_no_context_error ... ok
[INFO] [stdout] test tools::sh_session::tests::test_audit_returns_entries ... ok
[INFO] [stdout] test tools::sh_session::tests::test_close_nonexistent_session ... ok
[INFO] [stdout] test tools::sh_session::tests::test_close_missing_name ... ok
[INFO] [stdout] test tools::sh_session::tests::test_close_session ... ok
[INFO] [stdout] test tools::sh_run::tests::test_llm_hints_appear_on_success_for_known_grammar ... ok
[INFO] [stdout] test tools::sh_session::tests::test_create_missing_name ... ok
[INFO] [stdout] test tools::sh_session::tests::test_create_limit_reached ... ok
[INFO] [stdout] test tools::sh_run::tests::test_llm_hints_absent_on_failure ... ok
[INFO] [stdout] test tools::sh_session::tests::test_list_empty ... ok
[INFO] [stdout] test tools::sh_session::tests::test_create_duplicate_name ... ok
[INFO] [stdout] test tools::sh_run::tests::test_preflight_recommendations_detected_for_npm ... ok
[INFO] [stdout] test tools::sh_session::tests::test_params_deserialize_audit ... ok
[INFO] [stdout] test tools::sh_session::tests::test_params_deserialize_audit_summary ... ok
[INFO] [stdout] test tools::sh_session::tests::test_params_deserialize_close ... ok
[INFO] [stdout] test tools::sh_session::tests::test_params_deserialize_create ... ok
[INFO] [stdout] test tools::sh_session::tests::test_params_deserialize_list ... ok
[INFO] [stdout] test tools::sh_run::tests::test_preflight_recommendations_not_for_unknown_commands ... ok
[INFO] [stdout] test tools::sh_session::tests::test_tool_error_display ... ok
[INFO] [stdout] test tools::sh_session::tests::test_unknown_action_rejected_by_serde ... ok
[INFO] [stdout] test tools::sh_spawn::tests::alias_auto_generation_sequential ... ok
[INFO] [stdout] test tools::sh_spawn::tests::alias_conflict_returns_correct_error_code ... ok
[INFO] [stdout] test tools::sh_spawn::tests::clean_bg_output_no_marker ... ok
[INFO] [stdout] test tools::sh_spawn::tests::clean_bg_output_removes_marker ... ok
[INFO] [stdout] test tools::sh_spawn::tests::extract_bg_pid_from_output ... ok
[INFO] [stdout] test tools::sh_spawn::tests::extract_bg_pid_missing ... ok
[INFO] [stdout] test tools::sh_spawn::tests::extract_bg_pid_with_whitespace ... ok
[INFO] [stdout] test tools::sh_spawn::tests::find_match_line_found ... ok
[INFO] [stdout] test tools::sh_spawn::tests::find_match_line_matches_text_inside_ansi ... ok
[INFO] [stdout] test tools::sh_spawn::tests::find_match_line_not_found ... ok
[INFO] [stdout] test tools::sh_spawn::tests::find_match_line_strips_ansi_from_output ... ok
[INFO] [stdout] test tools::sh_session::tests::test_session_error_to_tool_error ... ok
[INFO] [stdout] test tools::sh_spawn::tests::get_output_tail_fewer_lines_than_max ... ok
[INFO] [stdout] test tools::sh_spawn::tests::get_output_tail_returns_last_n_lines ... ok
[INFO] [stdout] test tools::sh_spawn::tests::get_output_tail_strips_ansi ... ok
[INFO] [stdout] test tools::sh_spawn::tests::process_limit_returns_correct_error_code ... ok
[INFO] [stdout] test tools::sh_spawn::tests::get_output_tail_unknown_alias ... ok
[INFO] [stdout] test tools::sh_spawn::tests::process_registered_in_table_after_register ... ok
[INFO] [stdout] test tools::sh_spawn::tests::resolve_spawn_timeout_explicit_overrides_scope ... ok
[INFO] [stdout] test tools::sh_spawn::tests::resolve_spawn_timeout_per_scope_cargo ... ok
[INFO] [stdout] test tools::sh_spawn::tests::resolve_spawn_timeout_per_scope_npm ... ok
[INFO] [stdout] test tools::sh_spawn::tests::resolve_spawn_timeout_unknown_uses_default ... ok
[INFO] [stdout] test tools::sh_spawn::tests::resolve_spawn_timeout_path_command_extracts_basename ... ok
[INFO] [stdout] test tools::sh_session::tests::test_create_session ... ok
[INFO] [stdout] test tools::sh_run::tests::test_passthrough_output_not_squashed ... ok
[INFO] [stdout] test tools::sh_run::tests::test_response_includes_category_field ... ok
[INFO] [stdout] test tools::sh_session::tests::test_full_lifecycle ... ok
[INFO] [stdout] test tools::sh_spawn::tests::spawn_invalid_wait_for_regex ... ok
[INFO] [stdout] test tools::sh_session::tests::test_list_sessions ... ok
[INFO] [stdout] test tools::sh_spawn::tests::spawn_alias_conflict_error ... ok
[INFO] [stdout] test tools::sh_spawn::tests::tool_error_display ... ok
[INFO] [stdout] test tools::sh_spawn::tests::tool_error_from_process_table_error ... ok
[INFO] [stdout] test util::tests::expand_tilde_no_tilde ... ok
[INFO] [stdout] test util::tests::expand_tilde_with_custom_home ... ok
[INFO] [stdout] test yield_engine::detector::tests::test_active_output_no_yield ... ok
[INFO] [stdout] test yield_engine::detector::tests::test_auto_confirm_response ... ok
[INFO] [stdout] test yield_engine::detector::tests::test_default_config_sane ... ok
[INFO] [stdout] test tools::sh_spawn::tests::spawn_empty_alias_rejected ... ok
[INFO] [stdout] test yield_engine::detector::tests::test_from_config ... ok
[INFO] [stdout] test yield_engine::detector::tests::test_from_config_skips_invalid ... ok
[INFO] [stdout] test yield_engine::detector::tests::test_feed_empty_bytes_noop ... ok
[INFO] [stdout] test yield_engine::detector::tests::test_no_policy_match_falls_through ... ok
[INFO] [stdout] test yield_engine::detector::tests::test_prompt_after_silence_yields ... ok
[INFO] [stdout] test yield_engine::detector::tests::test_prompt_tail_lossy_utf8 ... ok
[INFO] [stdout] test yield_engine::detector::tests::test_no_prompt_match_no_yield ... ok
[INFO] [stdout] test yield_engine::detector::tests::test_question_mark_pattern ... ok
[INFO] [stdout] test yield_engine::detector::tests::test_re_trigger_prevention ... ok
[INFO] [stdout] test yield_engine::detector::tests::test_slow_startup_no_false_yield ... ok
[INFO] [stdout] test yield_engine::detector::tests::test_reset_clears_yield_state ... ok
[INFO] [stdout] test yield_engine::detector::tests::test_tail_buffer_rotation ... ok
[INFO] [stdout] test yield_engine::detector::tests::test_yes_no_prompt_pattern ... ok
[INFO] [stdout] test yield_engine::detector::tests::test_yield_to_operator_decision ... ok
[INFO] [stdout] test tools::sh_session::tests::test_list_multiple_sessions ... ok
[INFO] [stdout] test tools::sh_spawn::tests::spawn_wait_for_matching ... FAILED
[INFO] [stdout] test tools::sh_spawn::tests::spawn_wait_for_timeout ... ok
[INFO] [stdout] test tools::sh_spawn::tests::spawn_basic_command ... ok
[INFO] [stdout] test tools::sh_spawn::tests::spawn_deny_list_blocks_mkfs ... ok
[INFO] [stdout] test tools::sh_spawn::tests::spawn_deny_list_blocks_rm_rf_root ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- audit::logger::tests::disabled_logger_no_crash stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'audit::logger::tests::disabled_logger_no_crash' (32) panicked at src/audit/logger.rs:705:9:
[INFO] [stdout] assertion failed: logger.file.is_none()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55b1a6b0d602 - std::backtrace_rs::backtrace::libunwind::trace::hff358a60abf734fc
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x55b1a6b0d602 - std::backtrace_rs::backtrace::trace_unsynchronized::h3b121f916dd95ec6
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x55b1a6b0d602 - std::sys::backtrace::_print_fmt::hde0a62ded68798e9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x55b1a6b0d602 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h93773fc827e3113d
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x55b1a6b2027a - core::fmt::rt::Argument::fmt::h01eff69902dad97f
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x55b1a6b2027a - core::fmt::write::hed7b5c73d82ecb7c
[INFO] [stdout]    6:     0x55b1a6ad81e6 - std::io::default_write_fmt::h2f696ff5b8bbaa4b
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x55b1a6ad81e6 - std::io::Write::write_fmt::h5e66814db8a9cfce
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x55b1a6aebf39 - std::sys::backtrace::BacktraceLock::print::h8b1d6fcc5a56d1a3
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x55b1a6aebf39 - std::panicking::default_hook::{{closure}}::h2be84df4f189ae36
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x55b1a6aebdd1 - std::panicking::default_hook::hf0ea8939246f43a9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x55b1a66d735e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h02d35e3888986252
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x55b1a66d735e - test::test_main_with_exit_callback::{{closure}}::h939640a27d647173
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x55b1a6aec262 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hc9df09ff391af3e7
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x55b1a6aec262 - std::panicking::panic_with_hook::hb4bd9ac1123582a0
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x55b1a6aec02a - std::panicking::panic_handler::{{closure}}::hde00dd15f5637fe2
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x55b1a6ae6a69 - std::sys::backtrace::__rust_end_short_backtrace::hb72197fa777c1785
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x55b1a6acb4ad - __rustc[4425a7e20b4c8619]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x55b1a6b2ae1c - core::panicking::panic_fmt::ha59b517dd231f4da
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x55b1a6b2ade2 - core::panicking::panic::hbff2745fd4c5afec
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x55b1a61a55db - mish::audit::logger::tests::disabled_logger_no_crash::h1b5d7747abaf5db7
[INFO] [stdout]                                at /opt/rustwide/workdir/src/audit/logger.rs:705:9
[INFO] [stdout]   21:     0x55b1a61a5797 - mish::audit::logger::tests::disabled_logger_no_crash::{{closure}}::hea0749541f4a0865
[INFO] [stdout]                                at /opt/rustwide/workdir/src/audit/logger.rs:693:34
[INFO] [stdout]   22:     0x55b1a63d1b76 - core::ops::function::FnOnce::call_once::h3c84a8a6fa917114
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x55b1a66d711b - core::ops::function::FnOnce::call_once::hddb3cd395c36bfbb
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x55b1a66d711b - test::__rust_begin_short_backtrace::h0b6a7601d9750bfa
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x55b1a66eab2a - test::run_test_in_process::{{closure}}::h444209903f00b347
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x55b1a66eab2a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hfb3ba8f46e537649
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   27:     0x55b1a66eab2a - std::panicking::catch_unwind::do_call::h1672a45911fcf9dc
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x55b1a66eab2a - std::panicking::catch_unwind::h0fadaee22787a6dd
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x55b1a66eab2a - std::panic::catch_unwind::hc47ad190f2c8e188
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x55b1a66eab2a - test::run_test_in_process::hcd7faaf934f29999
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x55b1a66eab2a - test::run_test::{{closure}}::hddc4550da4871867
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x55b1a66c4f84 - test::run_test::{{closure}}::h98ae26689f13ed94
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x55b1a66c4f84 - std::sys::backtrace::__rust_begin_short_backtrace::h3ec4d1f21ad44588
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x55b1a66c8922 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::hd8bf2c73d479939f
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x55b1a66c8922 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h3b4248f358af2491
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   36:     0x55b1a66c8922 - std::panicking::catch_unwind::do_call::hda10a64f4b8daebe
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x55b1a66c8922 - std::panicking::catch_unwind::h659e5ee8336ec8c7
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x55b1a66c8922 - std::panic::catch_unwind::h9d4d66a538912c18
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x55b1a66c8922 - std::thread::lifecycle::spawn_unchecked::{{closure}}::h7557906bb51d79f1
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x55b1a66c8922 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h9e460d1d7fc83d35
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x55b1a6ae1a9f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h61282da819d64ea9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   42:     0x55b1a6ae1a9f - std::sys::thread::unix::Thread::new::thread_start::h982f9ea829d1b5fb
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   43:     0x7194f62cdaa4 - <unknown>
[INFO] [stdout]   44:     0x7194f635aa64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- session::manager::tests::test_ensure_default_session_creates stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'session::manager::tests::test_ensure_default_session_creates' (1158) panicked at src/session/manager.rs:817:58:
[INFO] [stdout] ensure: ShellError(InitTimeout)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55b1a6b0d602 - std::backtrace_rs::backtrace::libunwind::trace::hff358a60abf734fc
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x55b1a6b0d602 - std::backtrace_rs::backtrace::trace_unsynchronized::h3b121f916dd95ec6
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x55b1a6b0d602 - std::sys::backtrace::_print_fmt::hde0a62ded68798e9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x55b1a6b0d602 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h93773fc827e3113d
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x55b1a6b2027a - core::fmt::rt::Argument::fmt::h01eff69902dad97f
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x55b1a6b2027a - core::fmt::write::hed7b5c73d82ecb7c
[INFO] [stdout]    6:     0x55b1a6ad81e6 - std::io::default_write_fmt::h2f696ff5b8bbaa4b
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x55b1a6ad81e6 - std::io::Write::write_fmt::h5e66814db8a9cfce
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x55b1a6aebf39 - std::sys::backtrace::BacktraceLock::print::h8b1d6fcc5a56d1a3
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x55b1a6aebf39 - std::panicking::default_hook::{{closure}}::h2be84df4f189ae36
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x55b1a6aebdd1 - std::panicking::default_hook::hf0ea8939246f43a9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x55b1a66d735e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h02d35e3888986252
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x55b1a66d735e - test::test_main_with_exit_callback::{{closure}}::h939640a27d647173
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x55b1a6aec262 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hc9df09ff391af3e7
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x55b1a6aec262 - std::panicking::panic_with_hook::hb4bd9ac1123582a0
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x55b1a6aebff8 - std::panicking::panic_handler::{{closure}}::hde00dd15f5637fe2
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x55b1a6ae6a69 - std::sys::backtrace::__rust_end_short_backtrace::hb72197fa777c1785
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x55b1a6acb4ad - __rustc[4425a7e20b4c8619]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x55b1a6b2ae1c - core::panicking::panic_fmt::ha59b517dd231f4da
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x55b1a6b29e82 - core::result::unwrap_failed::hf2d1f30a3ac850fc
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x55b1a604e891 - core::result::Result<T,E>::expect::hab4aa4b91b08ec96
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x55b1a62580a2 - mish::session::manager::tests::test_ensure_default_session_creates::{{closure}}::h9928bc2910927871
[INFO] [stdout]                                at /opt/rustwide/workdir/src/session/manager.rs:817:58
[INFO] [stdout]   22:     0x55b1a614b3d2 - <core::pin::Pin<P> as core::future::future::Future>::poll::hfec5f35018bee0fb
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/future/future.rs:133:9
[INFO] [stdout]   23:     0x55b1a614b16d - <core::pin::Pin<P> as core::future::future::Future>::poll::h8862a86cad05f074
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/future/future.rs:133:9
[INFO] [stdout]   24:     0x55b1a63c79cd - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}::h8fe4aea0e1450c89
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:753:70
[INFO] [stdout]   25:     0x55b1a63c788b - tokio::task::coop::with_budget::he2e844343d342fcf
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/task/coop/mod.rs:167:5
[INFO] [stdout]   26:     0x55b1a63c788b - tokio::task::coop::budget::h81b7e6d44ed9f648
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/task/coop/mod.rs:133:5
[INFO] [stdout]   27:     0x55b1a63c788b - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::h8b84df13a0a7fac5
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:753:25
[INFO] [stdout]   28:     0x55b1a63c0fe0 - tokio::runtime::scheduler::current_thread::Context::enter::h08284a6982b826dd
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:442:19
[INFO] [stdout]   29:     0x55b1a63c53dd - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::h39428d2ba355a339
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:752:44
[INFO] [stdout]   30:     0x55b1a63c4444 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}::hae8e0d7939b02b30
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:840:68
[INFO] [stdout]   31:     0x55b1a61c5ccb - tokio::runtime::context::scoped::Scoped<T>::set::hcfb02b338860f41c
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   32:     0x55b1a5e76e09 - tokio::runtime::context::set_scheduler::{{closure}}::h05f6f4df70492c15
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context.rs:176:38
[INFO] [stdout]   33:     0x55b1a6291db2 - std::thread::local::LocalKey<T>::try_with::h8c193acecbc7532c
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   34:     0x55b1a629010e - std::thread::local::LocalKey<T>::with::hc6010b8ba850f6ec
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   35:     0x55b1a5e76d1d - tokio::runtime::context::set_scheduler::h96a40b2e280fec56
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context.rs:176:17
[INFO] [stdout]   36:     0x55b1a63c3900 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::h29ea64db36b79269
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:840:27
[INFO] [stdout]   37:     0x55b1a63c4696 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::hdd0abc9383d97c68
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:740:24
[INFO] [stdout]   38:     0x55b1a63bd7e0 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}::haeaa77ab9015f698
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   39:     0x55b1a5fd07d3 - tokio::runtime::context::runtime::enter_runtime::he915d55cd18ee169
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   40:     0x55b1a63bcce1 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::ha848c52874898cc4
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   41:     0x55b1a633fa14 - tokio::runtime::runtime::Runtime::block_on_inner::h032c1e50f1f443f9
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/runtime.rs:368:52
[INFO] [stdout]   42:     0x55b1a634026c - tokio::runtime::runtime::Runtime::block_on::hdd24bf0b0132c1de
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/runtime.rs:342:18
[INFO] [stdout]   43:     0x55b1a6257b7e - mish::session::manager::tests::test_ensure_default_session_creates::hd049d9f67b5ba52e
[INFO] [stdout]                                at /opt/rustwide/workdir/src/session/manager.rs:822:30
[INFO] [stdout]   44:     0x55b1a6257c17 - mish::session::manager::tests::test_ensure_default_session_creates::{{closure}}::h0592955c428a4535
[INFO] [stdout]                                at /opt/rustwide/workdir/src/session/manager.rs:813:51
[INFO] [stdout]   45:     0x55b1a63dce66 - core::ops::function::FnOnce::call_once::h9c51d7e505e12a22
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46:     0x55b1a66d711b - core::ops::function::FnOnce::call_once::hddb3cd395c36bfbb
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   47:     0x55b1a66d711b - test::__rust_begin_short_backtrace::h0b6a7601d9750bfa
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:663:18
[INFO] [stdout]   48:     0x55b1a66eab2a - test::run_test_in_process::{{closure}}::h444209903f00b347
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:686:74
[INFO] [stdout]   49:     0x55b1a66eab2a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hfb3ba8f46e537649
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   50:     0x55b1a66eab2a - std::panicking::catch_unwind::do_call::h1672a45911fcf9dc
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:581:40
[INFO] [stdout]   51:     0x55b1a66eab2a - std::panicking::catch_unwind::h0fadaee22787a6dd
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:544:19
[INFO] [stdout]   52:     0x55b1a66eab2a - std::panic::catch_unwind::hc47ad190f2c8e188
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panic.rs:359:14
[INFO] [stdout]   53:     0x55b1a66eab2a - test::run_test_in_process::hcd7faaf934f29999
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:686:27
[INFO] [stdout]   54:     0x55b1a66eab2a - test::run_test::{{closure}}::hddc4550da4871867
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:607:43
[INFO] [stdout]   55:     0x55b1a66c4f84 - test::run_test::{{closure}}::h98ae26689f13ed94
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:637:41
[INFO] [stdout]   56:     0x55b1a66c4f84 - std::sys::backtrace::__rust_begin_short_backtrace::h3ec4d1f21ad44588
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   57:     0x55b1a66c8922 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::hd8bf2c73d479939f
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   58:     0x55b1a66c8922 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h3b4248f358af2491
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   59:     0x55b1a66c8922 - std::panicking::catch_unwind::do_call::hda10a64f4b8daebe
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:581:40
[INFO] [stdout]   60:     0x55b1a66c8922 - std::panicking::catch_unwind::h659e5ee8336ec8c7
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:544:19
[INFO] [stdout]   61:     0x55b1a66c8922 - std::panic::catch_unwind::h9d4d66a538912c18
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panic.rs:359:14
[INFO] [stdout]   62:     0x55b1a66c8922 - std::thread::lifecycle::spawn_unchecked::{{closure}}::h7557906bb51d79f1
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   63:     0x55b1a66c8922 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h9e460d1d7fc83d35
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   64:     0x55b1a6ae1a9f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h61282da819d64ea9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   65:     0x55b1a6ae1a9f - std::sys::thread::unix::Thread::new::thread_start::h982f9ea829d1b5fb
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   66:     0x7194f62cdaa4 - <unknown>
[INFO] [stdout]   67:     0x7194f635aa64 - clone
[INFO] [stdout]   68:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tools::sh_spawn::tests::spawn_wait_for_matching stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tools::sh_spawn::tests::spawn_wait_for_matching' (2133) panicked at src/tools/sh_spawn.rs:875:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: Bool(false)
[INFO] [stdout]  right: true
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55b1a6b0d602 - std::backtrace_rs::backtrace::libunwind::trace::hff358a60abf734fc
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x55b1a6b0d602 - std::backtrace_rs::backtrace::trace_unsynchronized::h3b121f916dd95ec6
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x55b1a6b0d602 - std::sys::backtrace::_print_fmt::hde0a62ded68798e9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x55b1a6b0d602 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h93773fc827e3113d
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x55b1a6b2027a - core::fmt::rt::Argument::fmt::h01eff69902dad97f
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x55b1a6b2027a - core::fmt::write::hed7b5c73d82ecb7c
[INFO] [stdout]    6:     0x55b1a6ad81e6 - std::io::default_write_fmt::h2f696ff5b8bbaa4b
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x55b1a6ad81e6 - std::io::Write::write_fmt::h5e66814db8a9cfce
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x55b1a6aebf39 - std::sys::backtrace::BacktraceLock::print::h8b1d6fcc5a56d1a3
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x55b1a6aebf39 - std::panicking::default_hook::{{closure}}::h2be84df4f189ae36
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x55b1a6aebdd1 - std::panicking::default_hook::hf0ea8939246f43a9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x55b1a66d735e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h02d35e3888986252
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x55b1a66d735e - test::test_main_with_exit_callback::{{closure}}::h939640a27d647173
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x55b1a6aec262 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hc9df09ff391af3e7
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x55b1a6aec262 - std::panicking::panic_with_hook::hb4bd9ac1123582a0
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x55b1a6aebff8 - std::panicking::panic_handler::{{closure}}::hde00dd15f5637fe2
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x55b1a6ae6a69 - std::sys::backtrace::__rust_end_short_backtrace::hb72197fa777c1785
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x55b1a6acb4ad - __rustc[4425a7e20b4c8619]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x55b1a6b2ae1c - core::panicking::panic_fmt::ha59b517dd231f4da
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x55b1a6b2aca3 - core::panicking::assert_failed_inner::h3c3301979dc81b81
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x55b1a610519c - core::panicking::assert_failed::h78350e8d3fbfa709
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x55b1a5efaaef - mish::tools::sh_spawn::tests::spawn_wait_for_matching::{{closure}}::{{closure}}::h1ae5b326cd4db18c
[INFO] [stdout]                                at /opt/rustwide/workdir/src/tools/sh_spawn.rs:875:9
[INFO] [stdout]   22:     0x55b1a614b3d2 - <core::pin::Pin<P> as core::future::future::Future>::poll::hfec5f35018bee0fb
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/future/future.rs:133:9
[INFO] [stdout]   23:     0x55b1a614b16d - <core::pin::Pin<P> as core::future::future::Future>::poll::h8862a86cad05f074
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/future/future.rs:133:9
[INFO] [stdout]   24:     0x55b1a63c79cd - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}::h8fe4aea0e1450c89
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:753:70
[INFO] [stdout]   25:     0x55b1a63c788b - tokio::task::coop::with_budget::he2e844343d342fcf
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/task/coop/mod.rs:167:5
[INFO] [stdout]   26:     0x55b1a63c788b - tokio::task::coop::budget::h81b7e6d44ed9f648
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/task/coop/mod.rs:133:5
[INFO] [stdout]   27:     0x55b1a63c788b - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::h8b84df13a0a7fac5
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:753:25
[INFO] [stdout]   28:     0x55b1a63c0fe0 - tokio::runtime::scheduler::current_thread::Context::enter::h08284a6982b826dd
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:442:19
[INFO] [stdout]   29:     0x55b1a63c53dd - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::h39428d2ba355a339
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:752:44
[INFO] [stdout]   30:     0x55b1a63c4444 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}::hae8e0d7939b02b30
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:840:68
[INFO] [stdout]   31:     0x55b1a61c5ccb - tokio::runtime::context::scoped::Scoped<T>::set::hcfb02b338860f41c
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   32:     0x55b1a5e76e09 - tokio::runtime::context::set_scheduler::{{closure}}::h05f6f4df70492c15
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context.rs:176:38
[INFO] [stdout]   33:     0x55b1a6291db2 - std::thread::local::LocalKey<T>::try_with::h8c193acecbc7532c
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   34:     0x55b1a629010e - std::thread::local::LocalKey<T>::with::hc6010b8ba850f6ec
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   35:     0x55b1a5e76d1d - tokio::runtime::context::set_scheduler::h96a40b2e280fec56
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context.rs:176:17
[INFO] [stdout]   36:     0x55b1a63c3900 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::h29ea64db36b79269
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:840:27
[INFO] [stdout]   37:     0x55b1a63c4696 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::hdd0abc9383d97c68
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:740:24
[INFO] [stdout]   38:     0x55b1a63bd7e0 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}::haeaa77ab9015f698
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   39:     0x55b1a5fd07d3 - tokio::runtime::context::runtime::enter_runtime::he915d55cd18ee169
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   40:     0x55b1a63bcce1 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::ha848c52874898cc4
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   41:     0x55b1a633fa14 - tokio::runtime::runtime::Runtime::block_on_inner::h032c1e50f1f443f9
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/runtime.rs:368:52
[INFO] [stdout]   42:     0x55b1a634026c - tokio::runtime::runtime::Runtime::block_on::hdd24bf0b0132c1de
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/runtime.rs:342:18
[INFO] [stdout]   43:     0x55b1a5ef9ee6 - mish::tools::sh_spawn::tests::spawn_wait_for_matching::{{closure}}::h32f896cffe9e30f2
[INFO] [stdout]                                at /opt/rustwide/workdir/src/tools/sh_spawn.rs:884:30
[INFO] [stdout]   44:     0x55b1a63defee - core::ops::function::FnOnce::call_once::hb10951734138f04f
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x55b1a69f4e0e - serial_test::serial_code_lock::local_serial_core::hede56f7bdb573849
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serial_test-3.4.0/src/serial_code_lock.rs:36:5
[INFO] [stdout]   46:     0x55b1a5ef9d5b - mish::tools::sh_spawn::tests::spawn_wait_for_matching::h2d5f5d4ca128e214
[INFO] [stdout]                                at /opt/rustwide/workdir/src/tools/sh_spawn.rs:854:5
[INFO] [stdout]   47:     0x55b1a5ef9f87 - mish::tools::sh_spawn::tests::spawn_wait_for_matching::{{closure}}::hbf8e2db7279bb57b
[INFO] [stdout]                                at /opt/rustwide/workdir/src/tools/sh_spawn.rs:854:19
[INFO] [stdout]   48:     0x55b1a63e5196 - core::ops::function::FnOnce::call_once::he743288a58b11188
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   49:     0x55b1a66d711b - core::ops::function::FnOnce::call_once::hddb3cd395c36bfbb
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   50:     0x55b1a66d711b - test::__rust_begin_short_backtrace::h0b6a7601d9750bfa
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:663:18
[INFO] [stdout]   51:     0x55b1a66eab2a - test::run_test_in_process::{{closure}}::h444209903f00b347
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:686:74
[INFO] [stdout]   52:     0x55b1a66eab2a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hfb3ba8f46e537649
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   53:     0x55b1a66eab2a - std::panicking::catch_unwind::do_call::h1672a45911fcf9dc
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:581:40
[INFO] [stdout]   54:     0x55b1a66eab2a - std::panicking::catch_unwind::h0fadaee22787a6dd
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:544:19
[INFO] [stdout]   55:     0x55b1a66eab2a - std::panic::catch_unwind::hc47ad190f2c8e188
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panic.rs:359:14
[INFO] [stdout]   56:     0x55b1a66eab2a - test::run_test_in_process::hcd7faaf934f29999
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:686:27
[INFO] [stdout]   57:     0x55b1a66eab2a - test::run_test::{{closure}}::hddc4550da4871867
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:607:43
[INFO] [stdout]   58:     0x55b1a66c4f84 - test::run_test::{{closure}}::h98ae26689f13ed94
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:637:41
[INFO] [stdout]   59:     0x55b1a66c4f84 - std::sys::backtrace::__rust_begin_short_backtrace::h3ec4d1f21ad44588
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   60:     0x55b1a66c8922 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::hd8bf2c73d479939f
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   61:     0x55b1a66c8922 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h3b4248f358af2491
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   62:     0x55b1a66c8922 - std::panicking::catch_unwind::do_call::hda10a64f4b8daebe
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:581:40
[INFO] [stdout]   63:     0x55b1a66c8922 - std::panicking::catch_unwind::h659e5ee8336ec8c7
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:544:19
[INFO] [stdout]   64:     0x55b1a66c8922 - std::panic::catch_unwind::h9d4d66a538912c18
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panic.rs:359:14
[INFO] [stdout]   65:     0x55b1a66c8922 - std::thread::lifecycle::spawn_unchecked::{{closure}}::h7557906bb51d79f1
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   66:     0x55b1a66c8922 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h9e460d1d7fc83d35
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   67:     0x55b1a6ae1a9f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h61282da819d64ea9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   68:     0x55b1a6ae1a9f - std::sys::thread::unix::Thread::new::thread_start::h982f9ea829d1b5fb
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   69:     0x7194f62cdaa4 - <unknown>
[INFO] [stdout]   70:     0x7194f635aa64 - clone
[INFO] [stdout]   71:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     audit::logger::tests::disabled_logger_no_crash
[INFO] [stdout]     session::manager::tests::test_ensure_default_session_creates
[INFO] [stdout]     tools::sh_spawn::tests::spawn_wait_for_matching
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 1413 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 69.25s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "d25db3f1e42b972f1ef6b5f9840e69b458b33ee1442e8b088a3d6e3604e1d030", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d25db3f1e42b972f1ef6b5f9840e69b458b33ee1442e8b088a3d6e3604e1d030", kill_on_drop: false }`
[INFO] [stdout] d25db3f1e42b972f1ef6b5f9840e69b458b33ee1442e8b088a3d6e3604e1d030
