[INFO] fetching crate runex-core 0.1.11...
[INFO] testing runex-core-0.1.11 against 1.95.0 for beta-1.96-2
[INFO] extracting crate runex-core 0.1.11 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate runex-core 0.1.11
[INFO] finished tweaking crates.io crate runex-core 0.1.11
[INFO] tweaked toml for crates.io crate runex-core 0.1.11 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate runex-core 0.1.11 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate runex-core 0.1.11 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.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serial_test v3.4.0
[INFO] [stderr]   Downloaded serial_test_derive v3.4.0
[INFO] [stderr]   Downloaded which v7.0.3
[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.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6aacaf4ebae4351e3d7ee7d35b0189848c60f51c2c2799d26ba12f508b7f9554
[INFO] running `Command { std: "docker" "start" "-a" "6aacaf4ebae4351e3d7ee7d35b0189848c60f51c2c2799d26ba12f508b7f9554", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6aacaf4ebae4351e3d7ee7d35b0189848c60f51c2c2799d26ba12f508b7f9554", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6aacaf4ebae4351e3d7ee7d35b0189848c60f51c2c2799d26ba12f508b7f9554", kill_on_drop: false }`
[INFO] [stdout] 6aacaf4ebae4351e3d7ee7d35b0189848c60f51c2c2799d26ba12f508b7f9554
[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.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 024634159ead5e4b4b687e342cecbfeec15d892393a2af1d692df3c9d602bccd
[INFO] running `Command { std: "docker" "start" "-a" "024634159ead5e4b4b687e342cecbfeec15d892393a2af1d692df3c9d602bccd", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling env_home v0.1.0
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling which v7.0.3
[INFO] [stderr]    Compiling thiserror v2.0.18
[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 toml v0.8.23
[INFO] [stderr]    Compiling runex-core v0.1.11 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.21s
[INFO] running `Command { std: "docker" "inspect" "024634159ead5e4b4b687e342cecbfeec15d892393a2af1d692df3c9d602bccd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "024634159ead5e4b4b687e342cecbfeec15d892393a2af1d692df3c9d602bccd", kill_on_drop: false }`
[INFO] [stdout] 024634159ead5e4b4b687e342cecbfeec15d892393a2af1d692df3c9d602bccd
[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.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 437c1c769e92f88df296222149685fa9122d0afb8278f7953de4b3ff49a26e49
[INFO] running `Command { std: "docker" "start" "-a" "437c1c769e92f88df296222149685fa9122d0afb8278f7953de4b3ff49a26e49", kill_on_drop: false }`
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling sdd v3.0.10
[INFO] [stderr]    Compiling which v7.0.3
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling serial_test_derive v3.4.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling scc v2.4.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[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 futures-executor v0.3.32
[INFO] [stderr]    Compiling serial_test v3.4.0
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling runex-core v0.1.11 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 9.81s
[INFO] running `Command { std: "docker" "inspect" "437c1c769e92f88df296222149685fa9122d0afb8278f7953de4b3ff49a26e49", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "437c1c769e92f88df296222149685fa9122d0afb8278f7953de4b3ff49a26e49", kill_on_drop: false }`
[INFO] [stdout] 437c1c769e92f88df296222149685fa9122d0afb8278f7953de4b3ff49a26e49
[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.95.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] f35dc4ed04a07df988664779abd3e6ff73e1c3abdaa5d83279961e9f73d4ee76
[INFO] running `Command { std: "docker" "start" "-a" "f35dc4ed04a07df988664779abd3e6ff73e1c3abdaa5d83279961e9f73d4ee76", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/runex_core-f90ab228db422de7)
[INFO] [stdout] 
[INFO] [stdout] running 299 tests
[INFO] [stdout] test config::tests::add_remove::append_abbr_rejects_invalid_key ... ok
[INFO] [stdout] test config::tests::control_char_rejection::parse_config_accepts_key_without_control_chars ... ok
[INFO] [stdout] test config::tests::add_remove::append_abbr_creates_valid_config ... ok
[INFO] [stdout] test config::tests::add_remove::append_abbr_preserves_existing ... ok
[INFO] [stdout] test config::tests::add_remove::append_abbr_with_when_command_exists ... ok
[INFO] [stdout] test config::tests::add_remove::remove_abbr_returns_zero_for_missing_key ... ok
[INFO] [stdout] test config::tests::control_char_rejection::parse_config_rejects_control_char_in_key ... ok
[INFO] [stdout] test config::tests::control_char_rejection::parse_config_rejects_control_char_in_when_command_exists ... ok
[INFO] [stdout] test config::tests::control_char_rejection::parse_config_rejects_del_in_expand ... ok
[INFO] [stdout] test config::tests::add_remove::remove_abbr_deletes_matching_key ... ok
[INFO] [stdout] test config::tests::control_char_rejection::parse_config_rejects_empty_when_command_exists_entry ... ok
[INFO] [stdout] test config::tests::control_char_rejection::parse_config_rejects_whitespace_only_when_command_exists_entry ... ok
[INFO] [stdout] test config::tests::deceptive_unicode::parse_config_accepts_bare_command_name_in_when_command_exists ... ok
[INFO] [stdout] test config::tests::control_char_rejection::parse_config_rejects_empty_key ... ok
[INFO] [stdout] test config::tests::deceptive_unicode::parse_config_rejects_bom_in_expand ... ok
[INFO] [stdout] test config::tests::control_char_rejection::parse_config_rejects_del_in_key ... ok
[INFO] [stdout] test config::tests::deceptive_unicode::parse_config_rejects_backslash_in_when_command_exists ... ok
[INFO] [stdout] test config::tests::deceptive_unicode::parse_config_rejects_bom_in_key ... ok
[INFO] [stdout] test config::tests::expand_validation::parse_config_accepts_normal_expand ... ok
[INFO] [stdout] test config::tests::deceptive_unicode::parse_config_rejects_zwsp_in_key ... ok
[INFO] [stdout] test config::tests::deceptive_unicode::parse_config_rejects_rlo_in_expand ... ok
[INFO] [stdout] test config::tests::deceptive_unicode::parse_config_rejects_rlo_in_key ... ok
[INFO] [stdout] test config::tests::deceptive_unicode::parse_config_rejects_colon_in_when_command_exists ... ok
[INFO] [stdout] test config::tests::deceptive_unicode::parse_config_rejects_bom_in_when_command_exists ... ok
[INFO] [stdout] test config::tests::expand_validation::parse_config_rejects_whitespace_only_expand ... ok
[INFO] [stdout] test config::tests::deceptive_unicode::parse_config_rejects_path_separator_in_when_command_exists ... ok
[INFO] [stdout] test config::tests::field_validation::parse_config_accepts_max_expand_length ... ok
[INFO] [stdout] test config::tests::field_validation::parse_config_rejects_nul_byte_in_expand ... ok
[INFO] [stdout] test config::tests::field_validation::parse_config_accepts_max_when_command_exists_entry ... ok
[INFO] [stdout] test config::tests::field_validation::parse_config_accepts_max_key_length ... ok
[INFO] [stdout] test config::tests::control_char_rejection::parse_config_rejects_del_in_when_command_exists ... ok
[INFO] [stdout] test config::tests::field_validation::parse_config_rejects_nul_byte_in_key ... ok
[INFO] [stdout] test config::tests::field_validation::parse_config_rejects_nul_byte_in_when_command_exists ... ok
[INFO] [stdout] test config::tests::field_validation::parse_config_rejects_oversized_key ... ok
[INFO] [stdout] test config::tests::field_validation::parse_config_rejects_oversized_expand ... ok
[INFO] [stdout] test config::tests::parsing::default_config_path_env_override ... ok
[INFO] [stdout] test config::tests::field_validation::parse_config_rejects_oversized_when_command_exists_entry ... ok
[INFO] [stdout] test config::tests::parsing::default_config_path_ignores_empty_runex_config ... ok
[INFO] [stdout] test config::tests::parsing::default_config_path_uses_xdg_config_home ... ok
[INFO] [stdout] test config::tests::parsing::load_config_follows_symlink_to_regular_file ... ok
[INFO] [stdout] test config::tests::parsing::load_config_rejects_named_pipe ... ok
[INFO] [stdout] test config::tests::parsing::load_config_from_file ... ok
[INFO] [stdout] test config::tests::parsing::parse_config_keybind_absent_gives_all_none ... ok
[INFO] [stdout] test config::tests::parsing::parse_config_rejects_invalid_per_shell_keybind ... ok
[INFO] [stdout] test config::tests::parsing::parse_minimal_toml ... ok
[INFO] [stdout] test config::tests::parsing::parse_missing_version_is_err ... ok
[INFO] [stdout] test config::tests::parsing::parse_config_with_subtable_trigger ... ok
[INFO] [stdout] test config::tests::parsing::parse_empty_abbr_list ... ok
[INFO] [stdout] test config::tests::parsing::parse_with_keybind ... ok
[INFO] [stdout] test config::tests::parsing::load_config_rejects_symlink_to_dev_zero ... ok
[INFO] [stdout] test config::tests::version_validation::parse_config_accepts_version_1 ... ok
[INFO] [stdout] test config::tests::when_command_exists_limit::parse_config_accepts_max_when_command_exists_entries ... ok
[INFO] [stdout] test config::tests::version_validation::parse_config_rejects_version_0 ... ok
[INFO] [stdout] test config::tests::parsing::xdg_config_home_uses_env_var ... ok
[INFO] [stdout] test config::tests::version_validation::parse_config_rejects_version_99 ... ok
[INFO] [stdout] test config::tests::parsing::xdg_config_home_empty_env_falls_back_to_home ... ok
[INFO] [stdout] test doctor::tests::diagnostics::config_file_missing ... ok
[INFO] [stdout] test doctor::tests::diagnostics::config_parse_error_detail_shown ... ok
[INFO] [stdout] test doctor::tests::diagnostics::config_parse_multiline_error_splits_detail_and_verbose ... ok
[INFO] [stdout] test doctor::tests::diagnostics::command_not_found_is_warn ... ok
[INFO] [stdout] test doctor::tests::diagnostics::config_parse_single_line_error_has_no_verbose ... ok
[INFO] [stdout] test doctor::tests::diagnostics::all_healthy ... ok
[INFO] [stdout] test doctor::tests::diagnostics::doctor_ok_when_only_pwsh_self_insert_is_shift_space ... ok
[INFO] [stdout] test doctor::tests::diagnostics::doctor_warns_empty_key ... ok
[INFO] [stdout] test doctor::tests::diagnostics::doctor_warns_shift_space_self_insert ... ok
[INFO] [stdout] test config::tests::when_command_exists_limit::parse_config_rejects_too_many_when_command_exists_entries ... ok
[INFO] [stdout] test doctor::tests::diagnostics::doctor_warns_when_default_self_insert_is_shift_space ... ok
[INFO] [stdout] test doctor::tests::sanitization::doctor_command_check_detail_strips_control_chars_from_cmd ... ok
[INFO] [stdout] test doctor::tests::diagnostics::diag_result_is_healthy_with_error ... ok
[INFO] [stdout] test doctor::tests::sanitization::doctor_command_check_name_strips_control_chars ... ok
[INFO] [stdout] test doctor::tests::diagnostics::doctor_ok_alt_space_self_insert ... ok
[INFO] [stdout] test doctor::tests::strict::check_duplicate_key_condition_then_no_condition_is_ok ... ok
[INFO] [stdout] test doctor::tests::strict::check_no_condition_blocks_later_rules ... ok
[INFO] [stdout] test config::tests::deceptive_unicode::parse_config_rejects_shell_metacharacters_in_when_command_exists ... ok
[INFO] [stdout] test doctor::tests::strict::check_duplicate_key_with_condition_is_ok ... ok
[INFO] [stdout] test doctor::tests::sanitization::doctor_self_loop_detail_strips_control_chars_from_key ... ok
[INFO] [stdout] test doctor::tests::strict::check_unknown_abbr_field ... ok
[INFO] [stdout] test doctor::tests::strict::check_duplicate_key_without_condition ... ok
[INFO] [stdout] test doctor::tests::diagnostics::doctor_warns_self_loop ... ok
[INFO] [stdout] test doctor::tests::strict::check_no_warnings_for_valid_config ... ok
[INFO] [stdout] test doctor::tests::strict::levenshtein_basic ... ok
[INFO] [stdout] test doctor::tests::strict::suggest_similar_field_name ... ok
[INFO] [stdout] test doctor::tests::strict::check_unknown_keybind_field ... ok
[INFO] [stdout] test doctor::tests::strict::check_unknown_top_level_field ... ok
[INFO] [stdout] test expand::tests::duplicate_key_failed_condition_then_real_expands ... ok
[INFO] [stdout] test expand::tests::expand_timed_same_result_as_expand ... ok
[INFO] [stdout] test expand::tests::expand_with_cursor_placeholder ... ok
[INFO] [stdout] test expand::tests::expand_without_cursor_placeholder ... ok
[INFO] [stdout] test expand::tests::extract_cursor_placeholder_at_end ... ok
[INFO] [stdout] test config::tests::parsing::parse_with_when_command_exists ... ok
[INFO] [stdout] test expand::tests::extract_cursor_placeholder_found ... ok
[INFO] [stdout] test config::tests::version_validation::parse_config_rejects_version_2 ... ok
[INFO] [stdout] test expand::tests::extract_cursor_placeholder_not_found ... ok
[INFO] [stdout] test expand::tests::list_returns_all_pairs ... ok
[INFO] [stdout] test expand::tests::list_with_shell_filters_per_shell ... ok
[INFO] [stdout] test expand::tests::key_eq_expand_passes_through ... ok
[INFO] [stdout] test expand::tests::selects_correct_abbr ... ok
[INFO] [stdout] test expand::tests::duplicate_key_self_loop_then_real_expands ... ok
[INFO] [stdout] test expand::tests::expand_per_shell_pwsh_uses_pwsh_expand ... ok
[INFO] [stdout] test expand::tests::expand_per_shell_skips_when_no_shell_entry ... ok
[INFO] [stdout] test expand::tests::expand_timed_records_command_exists_calls ... ok
[INFO] [stdout] test expand::tests::expand_timed_records_expand_phase ... ok
[INFO] [stdout] test expand::tests::when_command_exists_present ... ok
[INFO] [stdout] test expand::tests::which_abbr_duplicate_self_loop_then_expanded ... ok
[INFO] [stdout] test expand::tests::which_abbr_no_match ... ok
[INFO] [stdout] test init::tests::integration_line::default_config_content_has_version ... ok
[INFO] [stdout] test init::tests::integration_line::integration_line_bash ... ok
[INFO] [stdout] test init::tests::integration_line::integration_line_bash_escapes_single_quote_in_bin ... ok
[INFO] [stdout] test init::tests::integration_line::integration_line_bash_semicolon_does_not_inject ... ok
[INFO] [stdout] test init::tests::integration_line::integration_line_clink_newline_in_bin_does_not_inject ... ok
[INFO] [stdout] test init::tests::integration_line::integration_line_clink_single_quote_in_bin_is_lua_quoted ... ok
[INFO] [stdout] test init::tests::integration_line::integration_line_nu_escapes_special_chars_in_bin ... ok
[INFO] [stdout] test expand::tests::which_abbr_all_skipped_returns_all_skipped ... ok
[INFO] [stdout] test init::tests::integration_line::integration_line_nu_quotes_cfg_dir_with_backslash ... ok
[INFO] [stdout] test init::tests::integration_line::integration_line_nu_save_path_is_quoted ... ok
[INFO] [stdout] test expand::tests::when_command_exists_absent ... ok
[INFO] [stdout] test doctor::tests::sanitization::doctor_config_file_detail_strips_control_chars_from_path ... ok
[INFO] [stdout] test init::tests::integration_line::integration_line_pwsh ... ok
[INFO] [stdout] test init::tests::integration_line::integration_line_nu_uses_caret_external_command_syntax ... ok
[INFO] [stdout] test init::tests::integration_line::integration_line_nu_quotes_cfg_dir_with_spaces ... ok
[INFO] [stdout] test init::tests::integration_line::integration_line_pwsh_semicolon_does_not_inject ... ok
[INFO] [stdout] test init::tests::integration_line::integration_line_zsh_escapes_single_quote_in_bin ... ok
[INFO] [stdout] test init::tests::nu_quote_path_deceptive::nu_quote_path_drops_zwsp ... ok
[INFO] [stdout] test init::tests::nu_quote_path_deceptive::nu_quote_path_drops_rlo ... ok
[INFO] [stdout] test init::tests::nu_quote_path_deceptive::nu_quote_path_drops_bom ... ok
[INFO] [stdout] test init::tests::nu_quote_path_deceptive::nu_quote_path_escapes_dollar_sign ... ok
[INFO] [stdout] test init::tests::nu_quote_path_escaping::integration_line_nu_newline_in_xdg_does_not_inject ... ok
[INFO] [stdout] test config::tests::control_char_rejection::parse_config_rejects_control_char_in_expand ... ok
[INFO] [stdout] test init::tests::nu_quote_path_escaping::nu_quote_path_drops_del ... ok
[INFO] [stdout] test init::tests::nu_quote_path_escaping::nu_quote_path_drops_unicode_line_separators ... ok
[INFO] [stdout] test init::tests::nu_quote_path_escaping::nu_quote_path_drops_remaining_c0_control_chars ... ok
[INFO] [stdout] test init::tests::nu_quote_path_deceptive::nu_quote_path_preserves_non_deceptive_unicode ... ok
[INFO] [stdout] test expand::tests::which_abbr_no_shell_entry_is_skipped ... ok
[INFO] [stdout] test config::tests::control_char_rejection::parse_config_rejects_whitespace_only_key ... ok
[INFO] [stdout] test config::tests::parsing::parse_config_rejects_invalid_trigger_key ... ok
[INFO] [stdout] test expand::tests::match_expands ... ok
[INFO] [stdout] test expand::tests::no_match_passes_through ... ok
[INFO] [stdout] test init::tests::nu_quote_path_escaping::nu_quote_path_escapes_carriage_return ... ok
[INFO] [stdout] test config::tests::expand_validation::parse_config_rejects_empty_expand ... ok
[INFO] [stdout] test init::tests::nu_quote_path_escaping::nu_quote_path_escapes_newline ... ok
[INFO] [stdout] test model::tests::abbr_fields ... ok
[INFO] [stdout] test model::tests::parse_config_accepts_self_insert_shift_space ... ok
[INFO] [stdout] test init::tests::nu_quote_path_escaping::nu_quote_path_escapes_nul ... ok
[INFO] [stdout] test init::tests::nu_quote_path_escaping::nu_quote_path_escapes_tab ... ok
[INFO] [stdout] test model::tests::abbr_with_when_command_exists ... ok
[INFO] [stdout] test model::tests::expand_result_variants ... ok
[INFO] [stdout] test model::tests::config_fields ... ok
[INFO] [stdout] test model::tests::keybind_config_fields ... ok
[INFO] [stdout] test init::tests::nu_quote_path_escaping::rc_file_for_bash_ends_with_bashrc ... ok
[INFO] [stdout] test precache::tests::collect_unique_commands_deduplicates ... ok
[INFO] [stdout] test precache::tests::cache_roundtrip ... ok
[INFO] [stdout] test model::tests::per_shell_cmds_all_always_returns_value ... ok
[INFO] [stdout] test model::tests::per_shell_cmds_for_shell_returns_shell_specific ... ok
[INFO] [stdout] test precache::tests::collect_unique_commands_empty_config ... ok
[INFO] [stdout] test model::tests::per_shell_cmds_none_when_no_entry ... ok
[INFO] [stdout] test model::tests::per_shell_string_all_always_returns_value ... ok
[INFO] [stdout] test model::tests::per_shell_string_clink_uses_default ... ok
[INFO] [stdout] test model::tests::per_shell_string_for_shell_returns_shell_specific ... ok
[INFO] [stdout] test model::tests::per_shell_string_none_when_no_entry ... ok
[INFO] [stdout] test precache::tests::export_statement_bash ... ok
[INFO] [stdout] test precache::tests::export_statement_pwsh ... ok
[INFO] [stdout] test precache::tests::fingerprint_changes_on_mtime_change ... ok
[INFO] [stdout] test config::tests::parsing::load_config_rejects_oversized_file ... ok
[INFO] [stdout] test precache::tests::fingerprint_changes_on_shell_change ... ok
[INFO] [stdout] test precache::tests::parse_rejects_bad_fingerprint_format ... ok
[INFO] [stdout] test precache::tests::fingerprint_changes_on_path_change ... ok
[INFO] [stdout] test precache::tests::parse_invalid_json_returns_none ... ok
[INFO] [stdout] test precache::tests::parse_rejects_oversized_json ... ok
[INFO] [stdout] test precache::tests::build_cache_from_resolved_uses_config_commands ... ok
[INFO] [stdout] test precache::tests::parse_resolved_basic ... ok
[INFO] [stdout] test precache::tests::parse_resolved_empty ... ok
[INFO] [stdout] test precache::tests::parse_wrong_version_returns_none ... ok
[INFO] [stdout] test sanitize::tests::double_quote_escape_escapes_double_quote ... ok
[INFO] [stdout] test sanitize::tests::double_quote_escape_escapes_carriage_return ... ok
[INFO] [stdout] test sanitize::tests::double_quote_escape_escapes_backslash ... ok
[INFO] [stdout] test sanitize::tests::double_quote_escape_escapes_newline ... ok
[INFO] [stdout] test sanitize::tests::double_quote_escape_escapes_tab ... ok
[INFO] [stdout] test sanitize::tests::double_quote_escape_ignores_dollar ... ok
[INFO] [stdout] test sanitize::tests::double_quote_escape_ignores_letter ... ok
[INFO] [stdout] test sanitize::tests::double_quote_escape_ignores_nul ... ok
[INFO] [stdout] test sanitize::tests::is_deceptive_unicode_allows_normal_chars ... ok
[INFO] [stdout] test sanitize::tests::is_deceptive_unicode_detects_bom ... ok
[INFO] [stdout] test sanitize::tests::is_deceptive_unicode_detects_rlo ... ok
[INFO] [stdout] test sanitize::tests::is_deceptive_unicode_detects_zwsp ... ok
[INFO] [stdout] test sanitize::tests::is_nu_drop_char_drops_all_ascii_control ... ok
[INFO] [stdout] test sanitize::tests::is_nu_drop_char_drops_bom ... ok
[INFO] [stdout] test sanitize::tests::is_nu_drop_char_drops_line_separator ... ok
[INFO] [stdout] test model::tests::parse_config_keybind_entirely_absent ... ok
[INFO] [stdout] test init::tests::integration_line::integration_line_pwsh_escapes_single_quote_in_bin ... ok
[INFO] [stdout] test sanitize::tests::is_nu_drop_char_drops_nel ... ok
[INFO] [stdout] test sanitize::tests::is_nu_drop_char_drops_paragraph_separator ... ok
[INFO] [stdout] test sanitize::tests::is_nu_drop_char_drops_rlo ... ok
[INFO] [stdout] test sanitize::tests::is_nu_drop_char_drops_zwsp ... ok
[INFO] [stdout] test sanitize::tests::is_nu_drop_char_preserves_carriage_return ... ok
[INFO] [stdout] test sanitize::tests::is_nu_drop_char_preserves_tab ... ok
[INFO] [stdout] test sanitize::tests::is_unsafe_for_display_allows_normal_chars ... ok
[INFO] [stdout] test sanitize::tests::is_unsafe_for_display_detects_bel ... ok
[INFO] [stdout] test sanitize::tests::is_unsafe_for_display_detects_bom ... ok
[INFO] [stdout] test sanitize::tests::is_unsafe_for_display_detects_del ... ok
[INFO] [stdout] test sanitize::tests::sanitize_for_display_preserves_normal_text ... ok
[INFO] [stdout] test sanitize::tests::is_unsafe_for_display_detects_esc ... ok
[INFO] [stdout] test sanitize::tests::is_nu_drop_char_preserves_newline ... ok
[INFO] [stdout] test sanitize::tests::is_unsafe_for_display_detects_zwsp ... ok
[INFO] [stdout] test sanitize::tests::sanitize_for_display_strips_control_chars ... ok
[INFO] [stdout] test sanitize::tests::sanitize_for_display_strips_rlo ... ok
[INFO] [stdout] test shell::tests::case_pattern_globs::bash_case_pattern_bracket_key_is_literal ... ok
[INFO] [stdout] test shell::tests::case_pattern_globs::bash_case_pattern_star_key_matches_only_literal_star ... ok
[INFO] [stdout] test shell::tests::case_pattern_globs::bash_case_pattern_question_key_is_literal ... ok
[INFO] [stdout] test shell::tests::quote_functions::bash_quote_pattern_escapes_carriage_return ... ok
[INFO] [stdout] test shell::tests::case_pattern_globs::zsh_case_pattern_star_key_matches_only_literal_star ... ok
[INFO] [stdout] test shell::tests::quote_functions::bash_quote_pattern_escapes_newline ... ok
[INFO] [stdout] test shell::tests::quote_functions::bash_quote_string_cr_safe_in_eval_context ... ok
[INFO] [stdout] test shell::tests::case_pattern_globs::pwsh_script_has_single_default_clause ... ok
[INFO] [stdout] test shell::tests::quote_functions::bash_quote_string_drops_carriage_return ... ok
[INFO] [stdout] test shell::tests::quote_functions::bash_quote_string_drops_newline ... ok
[INFO] [stdout] test shell::tests::quote_functions::bash_quote_string_escapes_nul ... ok
[INFO] [stdout] test shell::tests::quote_functions::bash_quote_string_newline_safe_in_eval_context ... ok
[INFO] [stdout] test shell::tests::quote_functions::lua_quote_string_escapes_nul ... ok
[INFO] [stdout] test shell::tests::quote_functions::lua_quote_string_escapes_tab ... ok
[INFO] [stdout] test shell::tests::quote_functions::nu_quote_string_escapes_carriage_return ... ok
[INFO] [stdout] test shell::tests::quote_functions::nu_quote_string_escapes_nul ... ok
[INFO] [stdout] test shell::tests::quote_functions::nu_quote_string_nul_is_dropped_not_embedded ... ok
[INFO] [stdout] test shell::tests::quote_functions::pwsh_quote_string_drops_carriage_return ... ok
[INFO] [stdout] test shell::tests::quote_functions::pwsh_quote_string_drops_newline ... ok
[INFO] [stdout] test shell::tests::quote_functions::pwsh_quote_string_escapes_nul ... ok
[INFO] [stdout] test shell::tests::quote_functions::nu_token_uses_equals_form_to_prevent_argument_injection ... ok
[INFO] [stdout] test shell::tests::quote_functions::nu_quote_string_embedded_preserves_non_ascii_unicode ... ok
[INFO] [stdout] test shell::tests::quote_functions::nu_bin_newline_does_not_inject_into_cmd_block ... ok
[INFO] [stdout] test shell::tests::quote_functions::pwsh_quote_string_newline_not_using_backtick_concat ... ok
[INFO] [stdout] test shell::tests::regression_issues::bash_no_self_insert_when_not_configured ... ok
[INFO] [stdout] test shell::tests::quote_functions::nu_quote_string_escapes_newline ... ok
[INFO] [stdout] test sanitize::tests::is_unsafe_for_display_detects_rlo ... ok
[INFO] [stdout] test shell::tests::regression_issues::bash_quote_string_drops_unicode_line_separator ... ok
[INFO] [stdout] test shell::tests::regression_issues::bash_self_insert_alt_space_when_configured ... ok
[INFO] [stdout] test shell::tests::regression_issues::clink_script_bin_with_double_quote_uses_single_quote_shell_wrapping ... ok
[INFO] [stdout] test shell::tests::regression_issues::nu_quote_string_drops_remaining_c0_control_chars ... ok
[INFO] [stdout] test shell::tests::regression_issues::nu_quote_string_escapes_dollar_sign ... ok
[INFO] [stdout] test shell::tests::regression_issues::clink_script_double_quote_in_bin_does_not_inject_into_popen ... ok
[INFO] [stdout] test shell::tests::regression_issues::clink_ignores_shell_specific_trigger_fields ... ok
[INFO] [stdout] test shell::tests::regression_issues::nu_quote_string_embedded_escapes_dollar_sign ... ok
[INFO] [stdout] test shell::tests::regression_issues::nu_quote_string_escapes_tab ... ok
[INFO] [stdout] test shell::tests::regression_issues::pwsh_quote_string_drops_unicode_line_separator ... ok
[INFO] [stdout] test shell::tests::regression_issues::nu_self_insert_alt_space_when_configured ... ok
[INFO] [stdout] test shell::tests::regression_issues::nu_self_insert_shift_space_when_configured ... ok
[INFO] [stdout] test shell::tests::regression_issues::pwsh_no_self_insert_when_not_configured ... ok
[INFO] [stdout] test shell::tests::regression_issues::nu_no_self_insert_when_not_configured ... ok
[INFO] [stdout] test shell::tests::regression_issues::nu_quote_string_drops_unicode_line_separator ... ok
[INFO] [stdout] test shell::tests::regression_issues::zsh_self_insert_alt_space_when_configured ... ok
[INFO] [stdout] test shell::tests::script_generation::bash_script_does_not_eval_debug_trap ... ok
[INFO] [stdout] test shell::tests::script_generation::bash_script_embeds_known_tokens ... ok
[INFO] [stdout] test shell::tests::regression_issues::zsh_no_self_insert_when_not_configured ... ok
[INFO] [stdout] test shell::tests::regression_issues::nu_quote_string_drops_del ... ok
[INFO] [stdout] test shell::tests::script_generation::bash_script_uses_keybind_override ... ok
[INFO] [stdout] test shell::tests::script_generation::bin_single_quote_is_escaped_in_zsh ... ok
[INFO] [stdout] test shell::tests::script_generation::bin_single_quote_is_escaped_in_bash ... ok
[INFO] [stdout] test shell::tests::regression_issues::trigger_for_shell_override_takes_precedence_over_default ... ok
[INFO] [stdout] test shell::tests::script_generation::clink_script_has_clink ... ok
[INFO] [stdout] test shell::tests::script_generation::bin_with_special_chars_is_safe_in_nu ... ok
[INFO] [stdout] test shell::tests::script_generation::clink_script_uses_alt_space_sequence ... ok
[INFO] [stdout] test shell::tests::script_generation::export_script_placeholder_bin_does_not_cause_second_order_substitution ... ok
[INFO] [stdout] test shell::tests::script_generation::export_script_contains_bin ... ok
[INFO] [stdout] test shell::tests::script_generation::bin_single_quote_is_escaped_in_pwsh ... ok
[INFO] [stdout] test shell::tests::script_generation::bash_script_has_bind ... ok
[INFO] [stdout] test shell::tests::script_generation::bin_double_quote_is_escaped_in_clink ... ok
[INFO] [stdout] test shell::tests::regression_issues::pwsh_self_insert_shift_space_when_configured ... ok
[INFO] [stdout] test shell::tests::regression_issues::trigger_for_falls_back_to_default ... ok
[INFO] [stdout] test shell::tests::script_generation::nu_bin_with_special_chars_uses_caret_syntax ... ok
[INFO] [stdout] test shell::tests::script_generation::nu_script_has_keybindings ... ok
[INFO] [stdout] test shell::tests::script_generation::pwsh_script_uses_global_keybind ... ok
[INFO] [stdout] test shell::tests::script_generation::pwsh_script_uses_spacebar_name_for_alt_space ... ok
[INFO] [stdout] test shell::tests::script_generation::zsh_script_has_zle_widget ... ok
[INFO] [stdout] test shell::tests::shell_parse::shell_parse_error_display_strips_bel ... ok
[INFO] [stdout] test shell::tests::shell_parse::parse_unknown_errors ... ok
[INFO] [stdout] test shell::tests::shell_parse::shell_parse_error_display_strips_esc_sequences ... ok
[INFO] [stdout] test shell::tests::shell_parse::shell_parse_error_display_strips_bom ... ok
[INFO] [stdout] test shell::tests::shell_parse::shell_parse_error_display_strips_del ... ok
[INFO] [stdout] test shell::tests::regression_issues::pwsh_self_insert_alt_space_when_configured ... ok
[INFO] [stdout] test shell::tests::unicode_edge_cases::lua_quote_string_drops_del ... ok
[INFO] [stdout] test shell::tests::unicode_edge_cases::lua_quote_string_drops_unicode_line_separators ... ok
[INFO] [stdout] test shell::tests::script_generation::pwsh_script_has_psreadline ... ok
[INFO] [stdout] test timings::tests::timings_new_is_empty ... ok
[INFO] [stdout] test timings::tests::timings_record_command_exists_call ... ok
[INFO] [stdout] test shell::tests::shell_parse::parse_case_insensitive ... ok
[INFO] [stdout] test shell::tests::script_generation::pwsh_script_embeds_known_tokens ... ok
[INFO] [stdout] test shell::tests::unicode_edge_cases::lua_quote_string_decimal_escape_not_ambiguous_with_following_digit ... ok
[INFO] [stdout] test shell::tests::shell_parse::shell_parse_error_display_strips_zwsp ... ok
[INFO] [stdout] test shell::tests::script_generation::nu_bin_uses_caret_external_command_syntax ... ok
[INFO] [stdout] test timings::tests::timings_total_duration ... ok
[INFO] [stdout] test shell::tests::script_generation::pwsh_script_short_circuits_non_candidates ... ok
[INFO] [stdout] test shell::tests::shell_parse::parse_bash ... ok
[INFO] [stdout] test timings::tests::timings_record_phase ... ok
[INFO] [stdout] test shell::tests::shell_parse::shell_parse_error_display_strips_rlo ... ok
[INFO] [stdout] test shell::tests::unicode_edge_cases::bash_quote_pattern_drops_unicode_line_separators ... ok
[INFO] [stdout] test shell::tests::script_generation::no_keybinds_means_no_handlers ... ok
[INFO] [stdout] test shell::tests::script_generation::nu_bin_in_cmd_string_does_not_break_outer_quotes ... ok
[INFO] [stdout] test timings::tests::phase_timer_elapsed_is_positive ... ok
[INFO] [stdout] test precache::tests::parse_rejects_too_many_commands ... ok
[INFO] [stdout] test config::tests::parsing::parse_config_accepts_max_abbr ... ok
[INFO] [stdout] test config::tests::parsing::parse_config_rejects_too_many_abbr ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 299 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.90s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests runex_core
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "f35dc4ed04a07df988664779abd3e6ff73e1c3abdaa5d83279961e9f73d4ee76", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f35dc4ed04a07df988664779abd3e6ff73e1c3abdaa5d83279961e9f73d4ee76", kill_on_drop: false }`
[INFO] [stdout] f35dc4ed04a07df988664779abd3e6ff73e1c3abdaa5d83279961e9f73d4ee76
