[INFO] fetching crate runex-core 0.1.13...
[INFO] testing runex-core-0.1.13 against 1.99.0-beta.8 for beta-1.100-2
[INFO] extracting crate runex-core 0.1.13 into /workspace/builds/worker-6-tc1/source
[INFO] started tweaking crates.io crate runex-core 0.1.13
[INFO] finished tweaking crates.io crate runex-core 0.1.13
[INFO] tweaked toml for crates.io crate runex-core 0.1.13 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate runex-core 0.1.13 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate runex-core 0.1.13 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.99.0-beta.8" "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 serial_test v3.4.0
[INFO] [stderr]   Downloaded env_home v0.1.0
[INFO] [stderr]   Downloaded semver v1.0.27
[INFO] [stderr]   Downloaded which v7.0.3
[INFO] [stderr]   Downloaded libredox v0.1.14
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 484e0172fb9095f996f2c4e6298ed275d2e44dc2e29907d3c15bf3f8c9b4c144
[INFO] running `Command { std: "docker" "start" "484e0172fb9095f996f2c4e6298ed275d2e44dc2e29907d3c15bf3f8c9b4c144", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "484e0172fb9095f996f2c4e6298ed275d2e44dc2e29907d3c15bf3f8c9b4c144", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "484e0172fb9095f996f2c4e6298ed275d2e44dc2e29907d3c15bf3f8c9b4c144" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "484e0172fb9095f996f2c4e6298ed275d2e44dc2e29907d3c15bf3f8c9b4c144", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "484e0172fb9095f996f2c4e6298ed275d2e44dc2e29907d3c15bf3f8c9b4c144" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling env_home v0.1.0
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling indexmap v2.13.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 which v7.0.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling thiserror v2.0.18
[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.13 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.89s
[INFO] running `Command { std: "docker" "inspect" "484e0172fb9095f996f2c4e6298ed275d2e44dc2e29907d3c15bf3f8c9b4c144", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "484e0172fb9095f996f2c4e6298ed275d2e44dc2e29907d3c15bf3f8c9b4c144" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling sdd v3.0.10
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling scc v2.4.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling which v7.0.3
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling serial_test_derive v3.4.0
[INFO] [stderr]    Compiling serial_test v3.4.0
[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.13 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]     --> src/shell.rs:1694:13
[INFO] [stdout]      |
[INFO] [stdout] 1694 |         use super::*;
[INFO] [stdout]      |             ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 18.04s
[INFO] running `Command { std: "docker" "inspect" "484e0172fb9095f996f2c4e6298ed275d2e44dc2e29907d3c15bf3f8c9b4c144", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "484e0172fb9095f996f2c4e6298ed275d2e44dc2e29907d3c15bf3f8c9b4c144" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]     --> src/shell.rs:1694:13
[INFO] [stderr]      |
[INFO] [stderr] 1694 |         use super::*;
[INFO] [stderr]      |             ^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `runex-core` (lib test) generated 1 warning (run `cargo fix --lib -p runex-core --tests` to apply 1 suggestion)
[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-7469c65cb9a4dfdc)
[INFO] [stdout] 
[INFO] [stdout] running 351 tests
[INFO] [stdout] test config::tests::add_remove::append_abbr_rejects_invalid_key ... ok
[INFO] [stdout] test config::tests::control_char_rejection::parse_config_rejects_del_in_key ... ok
[INFO] [stdout] test config::tests::control_char_rejection::parse_config_rejects_del_in_when_command_exists ... 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_accepts_key_without_control_chars ... ok
[INFO] [stdout] test config::tests::control_char_rejection::parse_config_rejects_empty_key ... 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_returns_zero_for_missing_key ... ok
[INFO] [stdout] test config::tests::deceptive_unicode::parse_config_rejects_backslash_in_when_command_exists ... ok
[INFO] [stdout] test config::tests::control_char_rejection::parse_config_rejects_whitespace_only_key ... ok
[INFO] [stdout] test config::tests::add_remove::append_abbr_preserves_existing ... ok
[INFO] [stdout] test config::tests::deceptive_unicode::parse_config_rejects_colon_in_when_command_exists ... 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_rejects_rlo_in_expand ... ok
[INFO] [stdout] test config::tests::control_char_rejection::parse_config_rejects_control_char_in_key ... 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_zwsp_in_key ... ok
[INFO] [stdout] test config::tests::add_remove::append_abbr_with_when_command_exists ... ok
[INFO] [stdout] test config::tests::control_char_rejection::parse_config_rejects_control_char_in_expand ... ok
[INFO] [stdout] test config::tests::deceptive_unicode::parse_config_rejects_bom_in_expand ... ok
[INFO] [stdout] test config::tests::deceptive_unicode::parse_config_accepts_bare_command_name_in_when_command_exists ... ok
[INFO] [stdout] test config::tests::expand_validation::parse_config_rejects_whitespace_only_expand ... ok
[INFO] [stdout] test config::tests::control_char_rejection::parse_config_rejects_control_char_in_when_command_exists ... ok
[INFO] [stdout] test config::tests::deceptive_unicode::parse_config_rejects_bom_in_key ... 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::deceptive_unicode::parse_config_rejects_path_separator_in_when_command_exists ... ok
[INFO] [stdout] test config::tests::expand_validation::parse_config_accepts_normal_expand ... ok
[INFO] [stdout] test config::tests::expand_validation::parse_config_rejects_empty_expand ... ok
[INFO] [stdout] test config::tests::add_remove::remove_abbr_deletes_matching_key ... ok
[INFO] [stdout] test config::tests::field_validation::parse_config_rejects_nul_byte_in_when_command_exists ... ok
[INFO] [stdout] test config::tests::parsing::default_config_path_ignores_empty_runex_config ... ok
[INFO] [stdout] test config::tests::field_validation::parse_config_rejects_oversized_expand ... ok
[INFO] [stdout] test config::tests::parsing::load_config_from_file ... ok
[INFO] [stdout] test config::tests::parsing::default_config_path_env_override ... ok
[INFO] [stdout] test config::tests::parsing::load_config_rejects_named_pipe ... ok
[INFO] [stdout] test config::tests::parsing::default_config_path_uses_xdg_config_home ... 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_expand ... 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_when_command_exists_entry ... ok
[INFO] [stdout] test config::tests::parsing::parse_config_rejects_invalid_trigger_key ... 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_config_keybind_absent_gives_all_none ... ok
[INFO] [stdout] test config::tests::parsing::parse_minimal_toml ... ok
[INFO] [stdout] test config::tests::parsing::parse_config_rejects_invalid_per_shell_keybind ... ok
[INFO] [stdout] test config::tests::deceptive_unicode::parse_config_rejects_shell_metacharacters_in_when_command_exists ... ok
[INFO] [stdout] test config::tests::validation_walker::collect_issues_empty_for_valid_config ... ok
[INFO] [stdout] test config::tests::parsing::xdg_config_home_empty_env_falls_back_to_home ... ok
[INFO] [stdout] test config::tests::parsing::parse_missing_version_is_err ... ok
[INFO] [stdout] test config::tests::parsing::load_config_rejects_symlink_to_dev_zero ... ok
[INFO] [stdout] test config::tests::parsing::xdg_config_home_uses_env_var ... ok
[INFO] [stdout] test config::tests::parsing::parse_with_keybind ... ok
[INFO] [stdout] test config::tests::parsing::parse_with_when_command_exists ... ok
[INFO] [stdout] test config::tests::validation_walker::collect_issues_finds_multiple_rejected_rules ... ok
[INFO] [stdout] test config::tests::validation_walker::collect_issues_reports_per_shell_cmds_path ... ok
[INFO] [stdout] test config::tests::validation_walker::first_validation_error_preserves_key_before_expand ... ok
[INFO] [stdout] test config::tests::validation_walker::collect_issues_reports_when_command_exists_index_1_based ... ok
[INFO] [stdout] test config::tests::validation_walker::first_validation_error_preserves_per_shell_expand_order ... ok
[INFO] [stdout] test config::tests::deceptive_unicode::parse_config_rejects_bom_in_when_command_exists ... ok
[INFO] [stdout] test config::tests::validation_walker::first_validation_error_preserves_rule_order ... ok
[INFO] [stdout] test config::tests::validation_walker::collect_issues_reports_per_shell_expand_path ... ok
[INFO] [stdout] test config::tests::version_validation::parse_config_accepts_version_1 ... ok
[INFO] [stdout] test config::tests::version_validation::parse_config_rejects_version_99 ... ok
[INFO] [stdout] test doctor::tests::diagnostics::all_healthy ... ok
[INFO] [stdout] test config::tests::version_validation::parse_config_rejects_version_0 ... ok
[INFO] [stdout] test config::tests::version_validation::parse_config_rejects_version_2 ... ok
[INFO] [stdout] test config::tests::when_command_exists_limit::parse_config_accepts_max_when_command_exists_entries ... ok
[INFO] [stdout] test config::tests::when_command_exists_limit::parse_config_rejects_too_many_when_command_exists_entries ... ok
[INFO] [stdout] test config::tests::validation_walker::first_validation_error_preserves_too_many_cmds_before_bad_cmd_entry ... ok
[INFO] [stdout] test config::tests::add_remove::append_abbr_creates_valid_config ... ok
[INFO] [stdout] test config::tests::field_validation::parse_config_accepts_max_expand_length ... ok
[INFO] [stdout] test config::tests::parsing::load_config_follows_symlink_to_regular_file ... ok
[INFO] [stdout] test config::tests::validation_walker::collect_issues_reports_multiple_issues_in_one_rule_in_order ... ok
[INFO] [stdout] test doctor::tests::diagnostics::config_file_missing ... 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_shift_space_self_insert ... ok
[INFO] [stdout] test doctor::tests::diagnostics::diag_result_is_healthy_with_error ... ok
[INFO] [stdout] test doctor::tests::rejected_rules::check_rejected_rules_does_not_leak_raw_values ... ok
[INFO] [stdout] test doctor::tests::rejected_rules::check_rejected_rules_emits_summary_check_first ... ok
[INFO] [stdout] test doctor::tests::diagnostics::command_not_found_is_warn ... ok
[INFO] [stdout] test doctor::tests::diagnostics::config_parse_multiline_error_splits_detail_and_verbose ... ok
[INFO] [stdout] test doctor::tests::diagnostics::config_parse_error_detail_shown ... ok
[INFO] [stdout] test doctor::tests::diagnostics::doctor_warns_empty_key ... 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::config_parse_single_line_error_has_no_verbose ... ok
[INFO] [stdout] test doctor::tests::rejected_rules::check_rejected_rules_warns_for_each_bad_rule ... ok
[INFO] [stdout] test doctor::tests::diagnostics::doctor_warns_self_loop ... ok
[INFO] [stdout] test doctor::tests::strict::check_no_condition_blocks_later_rules ... ok
[INFO] [stdout] test doctor::tests::strict::check_no_warnings_for_valid_config ... ok
[INFO] [stdout] test doctor::tests::sanitization::doctor_config_file_detail_strips_control_chars_from_path ... ok
[INFO] [stdout] test doctor::tests::sanitization::doctor_self_loop_detail_strips_control_chars_from_key ... ok
[INFO] [stdout] test doctor::tests::strict::check_duplicate_key_without_condition ... ok
[INFO] [stdout] test doctor::tests::strict::levenshtein_basic ... ok
[INFO] [stdout] test doctor::tests::strict::check_unknown_top_level_field ... ok
[INFO] [stdout] test doctor::tests::strict::precache_deprecation_silent_when_toml_invalid ... ok
[INFO] [stdout] test doctor::tests::strict::precache_deprecation_silent_when_section_absent ... ok
[INFO] [stdout] test doctor::tests::strict::suggest_similar_field_name ... ok
[INFO] [stdout] test doctor::tests::diagnostics::doctor_ok_alt_space_self_insert ... ok
[INFO] [stdout] test doctor::tests::strict::precache_deprecation_warns_when_section_is_present ... ok
[INFO] [stdout] test doctor::tests::strict::check_unknown_keybind_field ... ok
[INFO] [stdout] test expand::tests::duplicate_key_failed_condition_then_real_expands ... ok
[INFO] [stdout] test expand::tests::expand_per_shell_pwsh_uses_pwsh_expand ... ok
[INFO] [stdout] test expand::tests::expand_timed_records_command_exists_calls ... ok
[INFO] [stdout] test expand::tests::expand_timed_same_result_as_expand ... ok
[INFO] [stdout] test expand::tests::expand_timed_records_expand_phase ... ok
[INFO] [stdout] test expand::tests::duplicate_key_self_loop_then_real_expands ... 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_found ... ok
[INFO] [stdout] test expand::tests::extract_cursor_placeholder_not_found ... ok
[INFO] [stdout] test doctor::tests::rejected_rules::check_rejected_rules_empty_for_valid_config ... ok
[INFO] [stdout] test doctor::tests::rejected_rules::check_rejected_rules_skips_when_deserialization_fails ... ok
[INFO] [stdout] test doctor::tests::rejected_rules::check_rejected_rules_skips_when_unsupported_version ... ok
[INFO] [stdout] test doctor::tests::sanitization::doctor_command_check_name_strips_control_chars ... ok
[INFO] [stdout] test doctor::tests::strict::check_duplicate_key_condition_then_no_condition_is_ok ... ok
[INFO] [stdout] test doctor::tests::strict::check_duplicate_key_with_condition_is_ok ... 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 doctor::tests::strict::check_unknown_abbr_field ... ok
[INFO] [stdout] test expand::tests::no_match_passes_through ... ok
[INFO] [stdout] test expand::tests::expand_per_shell_skips_when_no_shell_entry ... ok
[INFO] [stdout] test expand::tests::selects_correct_abbr ... ok
[INFO] [stdout] test expand::tests::extract_cursor_placeholder_at_end ... ok
[INFO] [stdout] test expand::tests::which_abbr_no_match ... ok
[INFO] [stdout] test expand::tests::when_command_exists_absent ... ok
[INFO] [stdout] test expand::tests::which_abbr_no_shell_entry_is_skipped ... 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 hook::tests::command_position_after_logical_and_is_true ... ok
[INFO] [stdout] test config::tests::parsing::load_config_rejects_oversized_file ... ok
[INFO] [stdout] test hook::tests::command_position_after_pipe_is_true ... ok
[INFO] [stdout] test hook::tests::command_position_middle_of_args_is_false ... ok
[INFO] [stdout] test hook::tests::command_position_after_sudo_at_start_is_true ... ok
[INFO] [stdout] test hook::tests::command_position_after_sudo_following_pipe_is_true ... ok
[INFO] [stdout] test hook::tests::command_position_only_spaces_is_true ... ok
[INFO] [stdout] test hook::tests::hook_handles_cursor_placeholder ... ok
[INFO] [stdout] test hook::tests::hook_expands_known_token_at_command_position ... ok
[INFO] [stdout] test hook::tests::hook_inserts_space_for_unknown_token ... ok
[INFO] [stdout] test hook::tests::hook_expands_token_after_sudo ... ok
[INFO] [stdout] test hook::tests::hook_inserts_space_on_empty_line ... ok
[INFO] [stdout] test hook::tests::hook_inserts_space_when_not_in_command_position ... ok
[INFO] [stdout] test hook::tests::hook_preserves_text_right_of_cursor ... ok
[INFO] [stdout] test hook::tests::hook_respects_when_command_exists_failure ... ok
[INFO] [stdout] test hook::tests::render_bash_quotes_single_quotes_in_expansion ... ok
[INFO] [stdout] test init::tests::integration_line::clink_install_path_honors_env_override ... ok
[INFO] [stdout] test hook::tests::render_zsh_splits_lbuffer_rbuffer ... ok
[INFO] [stdout] test init::tests::integration_line::clink_install_path_treats_empty_env_as_unset ... ok
[INFO] [stdout] test init::tests::integration_line::clink_install_path_falls_back_to_home ... ok
[INFO] [stdout] test config::tests::validation_walker::first_validation_error_preserves_too_many_rules_before_rule_validation ... ok
[INFO] [stdout] test hook::tests::command_position_empty_prefix_is_true ... ok
[INFO] [stdout] test init::tests::integration_line::integration_line_bash ... ok
[INFO] [stdout] test init::tests::integration_line::clink_install_path_uses_localappdata_when_set ... ok
[INFO] [stdout] test init::tests::integration_line::default_config_content_has_version ... ok
[INFO] [stdout] test init::tests::integration_line::default_config_content_includes_default_trigger ... ok
[INFO] [stdout] test init::tests::integration_line::default_config_content_includes_sample_abbr_gst ... 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_nu_quotes_cfg_dir_with_spaces ... 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 init::tests::integration_line::integration_line_nu_quotes_cfg_dir_with_backslash ... 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_pwsh_semicolon_does_not_inject ... ok
[INFO] [stdout] test init::tests::integration_line::integration_line_pwsh_escapes_single_quote_in_bin ... ok
[INFO] [stdout] test init::tests::integration_line::next_steps_for_clink_mentions_new_cmd_window ... ok
[INFO] [stdout] test init::tests::integration_line::next_steps_for_pwsh_mentions_dot_profile ... 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_drops_rlo ... ok
[INFO] [stdout] test init::tests::integration_line::integration_line_nu_save_path_is_quoted ... 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::integration_line::integration_line_bash_escapes_single_quote_in_bin ... ok
[INFO] [stdout] test init::tests::nu_quote_path_escaping::nu_quote_path_drops_del ... ok
[INFO] [stdout] test init::tests::integration_line::next_steps_for_bash_mentions_source_command ... ok
[INFO] [stdout] test expand::tests::key_eq_expand_passes_through ... ok
[INFO] [stdout] test init::tests::nu_quote_path_escaping::nu_quote_path_drops_remaining_c0_control_chars ... ok
[INFO] [stdout] test hook::tests::command_position_after_logical_or_is_true ... ok
[INFO] [stdout] test hook::tests::command_position_after_sudo_mid_args_is_false ... 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_escapes_carriage_return ... ok
[INFO] [stdout] test init::tests::nu_quote_path_escaping::nu_quote_path_escapes_newline ... ok
[INFO] [stdout] test integration_check::tests::clink_lua_drift_returns_outdated ... ok
[INFO] [stdout] test integration_check::tests::clink_lua_match_normalises_newlines ... ok
[INFO] [stdout] test expand::tests::match_expands ... ok
[INFO] [stdout] test expand::tests::which_abbr_all_skipped_returns_all_skipped ... ok
[INFO] [stdout] test hook::tests::command_position_after_semicolon_is_true ... ok
[INFO] [stdout] test hook::tests::command_position_does_not_expand_after_assignment ... ok
[INFO] [stdout] test hook::tests::command_position_not_fooled_by_substring_sudo ... ok
[INFO] [stdout] test init::tests::integration_line::integration_line_pwsh ... 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_deceptive::nu_quote_path_preserves_non_deceptive_unicode ... ok
[INFO] [stdout] test init::tests::nu_quote_path_escaping::integration_line_nu_newline_in_xdg_does_not_inject ... 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 init::tests::nu_quote_path_escaping::rc_file_for_bash_ends_with_bashrc ... ok
[INFO] [stdout] test model::tests::parse_config_keybind_entirely_absent ... ok
[INFO] [stdout] test model::tests::per_shell_cmds_for_shell_returns_shell_specific ... 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::build_cache_from_resolved_uses_config_commands ... ok
[INFO] [stdout] test precache::tests::cache_roundtrip ... ok
[INFO] [stdout] test integration_check::tests::clink_lua_match_returns_ok ... ok
[INFO] [stdout] test integration_check::tests::clink_lua_not_found_is_skipped ... ok
[INFO] [stdout] test integration_check::tests::rcfile_check_for_clink_skips_when_no_override ... ok
[INFO] [stdout] test integration_check::tests::rcfile_marker_absent_returns_missing ... ok
[INFO] [stdout] test integration_check::tests::rcfile_marker_present_returns_ok ... ok
[INFO] [stdout] test integration_check::tests::rcfile_missing_returns_skipped ... ok
[INFO] [stdout] test model::tests::abbr_fields ... ok
[INFO] [stdout] test model::tests::abbr_with_when_command_exists ... ok
[INFO] [stdout] test model::tests::config_fields ... ok
[INFO] [stdout] test model::tests::expand_result_variants ... ok
[INFO] [stdout] test model::tests::keybind_config_fields ... ok
[INFO] [stdout] test model::tests::parse_config_accepts_self_insert_shift_space ... ok
[INFO] [stdout] test model::tests::per_shell_cmds_all_always_returns_value ... ok
[INFO] [stdout] test precache::tests::collect_unique_commands_empty_config ... ok
[INFO] [stdout] test precache::tests::export_statement_bash ... ok
[INFO] [stdout] test precache::tests::collect_unique_commands_deduplicates ... ok
[INFO] [stdout] test precache::tests::export_statement_pwsh ... 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_escapes_carriage_return ... ok
[INFO] [stdout] test sanitize::tests::double_quote_escape_ignores_dollar ... ok
[INFO] [stdout] test precache::tests::parse_resolved_basic ... ok
[INFO] [stdout] test sanitize::tests::double_quote_escape_escapes_double_quote ... ok
[INFO] [stdout] test precache::tests::parse_resolved_empty ... 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 precache::tests::fingerprint_changes_on_mtime_change ... ok
[INFO] [stdout] test precache::tests::fingerprint_changes_on_path_change ... ok
[INFO] [stdout] test sanitize::tests::is_nu_drop_char_drops_all_ascii_control ... ok
[INFO] [stdout] test sanitize::tests::is_deceptive_unicode_detects_zwsp ... ok
[INFO] [stdout] test precache::tests::parse_rejects_bad_fingerprint_format ... ok
[INFO] [stdout] test sanitize::tests::double_quote_escape_escapes_backslash ... 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_nu_drop_char_drops_bom ... ok
[INFO] [stdout] test precache::tests::fingerprint_changes_on_shell_change ... ok
[INFO] [stdout] test sanitize::tests::is_nu_drop_char_preserves_newline ... ok
[INFO] [stdout] test precache::tests::parse_rejects_oversized_json ... ok
[INFO] [stdout] test precache::tests::parse_invalid_json_returns_none ... ok
[INFO] [stdout] test precache::tests::parse_wrong_version_returns_none ... 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_preserves_carriage_return ... ok
[INFO] [stdout] test sanitize::tests::is_nu_drop_char_drops_zwsp ... ok
[INFO] [stdout] test sanitize::tests::is_deceptive_unicode_detects_rlo ... 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_zwsp ... ok
[INFO] [stdout] test sanitize::tests::sanitize_for_display_preserves_normal_text ... ok
[INFO] [stdout] test shell::tests::quote_functions::bash_quote_string_escapes_nul ... ok
[INFO] [stdout] test sanitize::tests::sanitize_for_display_strips_control_chars ... 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_newline_safe_in_eval_context ... ok
[INFO] [stdout] test shell::tests::quote_functions::bash_quote_string_drops_newline ... ok
[INFO] [stdout] test shell::tests::quote_functions::lua_quote_string_escapes_tab ... ok
[INFO] [stdout] test sanitize::tests::sanitize_for_display_strips_rlo ... 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::nu_quote_string_escapes_carriage_return ... ok
[INFO] [stdout] test shell::tests::quote_functions::nu_quote_string_escapes_nul ... ok
[INFO] [stdout] test sanitize::tests::is_unsafe_for_display_detects_del ... ok
[INFO] [stdout] test shell::tests::quote_functions::nu_hook_invocation_uses_separate_line_and_cursor_args ... ok
[INFO] [stdout] test sanitize::tests::is_unsafe_for_display_detects_esc ... ok
[INFO] [stdout] test shell::tests::quote_functions::lua_quote_string_escapes_nul ... ok
[INFO] [stdout] test shell::tests::quote_functions::pwsh_quote_string_drops_carriage_return ... ok
[INFO] [stdout] test sanitize::tests::is_unsafe_for_display_detects_rlo ... ok
[INFO] [stdout] test sanitize::tests::is_nu_drop_char_drops_line_separator ... 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_quote_string_nul_is_dropped_not_embedded ... ok
[INFO] [stdout] test shell::tests::quote_functions::pwsh_quote_string_drops_newline ... ok
[INFO] [stdout] test shell::tests::quote_functions::pwsh_quote_string_newline_not_using_backtick_concat ... ok
[INFO] [stdout] test sanitize::tests::is_nu_drop_char_preserves_tab ... ok
[INFO] [stdout] test shell::tests::regression_issues::bash_quote_string_drops_unicode_line_separator ... ok
[INFO] [stdout] test sanitize::tests::is_nu_drop_char_drops_nel ... ok
[INFO] [stdout] test shell::tests::regression_issues::nu_quote_string_drops_del ... ok
[INFO] [stdout] test shell::tests::regression_issues::nu_quote_string_drops_remaining_c0_control_chars ... ok
[INFO] [stdout] test shell::tests::regression_issues::clink_io_popen_command_is_wrapped_in_extra_pair_of_quotes ... ok
[INFO] [stdout] test shell::tests::regression_issues::nu_quote_string_drops_unicode_line_separator ... ok
[INFO] [stdout] test shell::tests::regression_issues::nu_quote_string_escapes_dollar_sign ... ok
[INFO] [stdout] test shell::tests::regression_issues::nu_quote_string_escapes_tab ... ok
[INFO] [stdout] test shell::tests::quote_functions::pwsh_quote_string_escapes_nul ... ok
[INFO] [stdout] test shell::tests::regression_issues::clink_ignores_shell_specific_trigger_fields ... ok
[INFO] [stdout] test shell::tests::quote_functions::nu_quote_string_escapes_newline ... ok
[INFO] [stdout] test shell::tests::regression_issues::nu_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_no_self_insert_when_not_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::bash_self_insert_alt_space_when_configured ... ok
[INFO] [stdout] test shell::tests::regression_issues::bash_no_self_insert_when_not_configured ... ok
[INFO] [stdout] test shell::tests::quote_functions::bash_quote_string_cr_safe_in_eval_context ... 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::script_generation::bash_script_uses_keybind_override ... ok
[INFO] [stdout] test shell::tests::script_generation::bin_double_quote_is_escaped_in_clink ... ok
[INFO] [stdout] test shell::tests::script_generation::bin_single_quote_is_escaped_in_bash ... ok
[INFO] [stdout] test shell::tests::script_generation::bin_single_quote_is_escaped_in_pwsh ... ok
[INFO] [stdout] test shell::tests::script_generation::bin_single_quote_is_escaped_in_zsh ... ok
[INFO] [stdout] test shell::tests::regression_issues::pwsh_quote_string_drops_unicode_line_separator ... ok
[INFO] [stdout] test shell::tests::regression_issues::pwsh_self_insert_shift_space_when_configured ... ok
[INFO] [stdout] test shell::tests::script_generation::bin_with_special_chars_is_safe_in_nu ... ok
[INFO] [stdout] test shell::tests::regression_issues::zsh_no_self_insert_when_not_configured ... ok
[INFO] [stdout] test shell::tests::regression_issues::pwsh_self_insert_alt_space_when_configured ... ok
[INFO] [stdout] test shell::tests::script_generation::export_script_contains_bin ... ok
[INFO] [stdout] test shell::tests::script_generation::bash_script_does_not_eval_debug_trap ... ok
[INFO] [stdout] test shell::tests::script_generation::clink_script_has_clink ... ok
[INFO] [stdout] test shell::tests::script_generation::no_keybinds_means_no_handlers ... ok
[INFO] [stdout] test shell::tests::script_generation::bash_script_has_bind ... ok
[INFO] [stdout] test shell::tests::script_generation::nu_bin_uses_caret_external_command_syntax ... ok
[INFO] [stdout] test shell::tests::script_generation::pwsh_script_does_not_embed_known_tokens ... ok
[INFO] [stdout] test shell::tests::script_generation::pwsh_script_has_paste_guard ... ok
[INFO] [stdout] test shell::tests::script_generation::pwsh_script_has_psreadline ... ok
[INFO] [stdout] test shell::tests::script_generation::pwsh_script_uses_global_keybind ... ok
[INFO] [stdout] test shell::tests::shell_parse::parse_bash ... ok
[INFO] [stdout] test shell::tests::script_generation::clink_script_uses_alt_space_sequence ... ok
[INFO] [stdout] test shell::tests::regression_issues::trigger_for_shell_override_takes_precedence_over_default ... ok
[INFO] [stdout] test shell::tests::script_generation::export_script_placeholder_bin_does_not_cause_second_order_substitution ... 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::shell_parse::shell_parse_error_display_strips_esc_sequences ... ok
[INFO] [stdout] test shell::tests::shell_parse::shell_parse_error_display_strips_rlo ... ok
[INFO] [stdout] test shell::tests::shell_parse::shell_parse_error_display_strips_zwsp ... 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::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::zsh_script_has_zle_widget ... ok
[INFO] [stdout] test shell::tests::script_generation::nu_bin_in_cmd_string_does_not_break_outer_quotes ... ok
[INFO] [stdout] test shell::tests::shell_parse::shell_parse_error_display_strips_bel ... 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::regression_issues::zsh_self_insert_alt_space_when_configured ... ok
[INFO] [stdout] test timings::tests::timings_record_phase ... ok
[INFO] [stdout] test shell::tests::script_generation::bash_script_does_not_embed_known_tokens ... 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 timings::tests::phase_timer_elapsed_is_positive ... ok
[INFO] [stdout] test shell::tests::regression_issues::nu_quote_string_embedded_escapes_dollar_sign ... ok
[INFO] [stdout] test shell::tests::script_generation::pwsh_script_uses_spacebar_name_for_alt_space ... ok
[INFO] [stdout] test shell::tests::shell_parse::parse_unknown_errors ... ok
[INFO] [stdout] test timings::tests::timings_total_duration ... ok
[INFO] [stdout] test shell::tests::regression_issues::trigger_for_falls_back_to_default ... ok
[INFO] [stdout] test shell::tests::shell_parse::parse_case_insensitive ... 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. 351 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.93s
[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" "484e0172fb9095f996f2c4e6298ed275d2e44dc2e29907d3c15bf3f8c9b4c144", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "484e0172fb9095f996f2c4e6298ed275d2e44dc2e29907d3c15bf3f8c9b4c144", kill_on_drop: false }`
[INFO] [stdout] 484e0172fb9095f996f2c4e6298ed275d2e44dc2e29907d3c15bf3f8c9b4c144
