[INFO] cloning repository https://github.com/paveluv/meiksh [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/paveluv/meiksh" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpaveluv%2Fmeiksh", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpaveluv%2Fmeiksh'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 0ba9a13508f84cbb9f5458273f6a13bef64c522d [INFO] testing paveluv/meiksh against master#f9988fefd3add01f414f52b414308e7872622fee for pr-155114 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpaveluv%2Fmeiksh" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/paveluv/meiksh [INFO] removed 0 missing tests [INFO] finished tweaking git repo https://github.com/paveluv/meiksh [INFO] tweaked toml for git repo https://github.com/paveluv/meiksh written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/paveluv/meiksh on toolchain f9988fefd3add01f414f52b414308e7872622fee [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/paveluv/meiksh 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" "+f9988fefd3add01f414f52b414308e7872622fee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [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" "+f9988fefd3add01f414f52b414308e7872622fee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9090f61f954b9e1686dcf245d755619878550fcac2af335498a1f7cfb3633544 [INFO] running `Command { std: "docker" "start" "-a" "9090f61f954b9e1686dcf245d755619878550fcac2af335498a1f7cfb3633544", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9090f61f954b9e1686dcf245d755619878550fcac2af335498a1f7cfb3633544", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9090f61f954b9e1686dcf245d755619878550fcac2af335498a1f7cfb3633544", kill_on_drop: false }` [INFO] [stdout] 9090f61f954b9e1686dcf245d755619878550fcac2af335498a1f7cfb3633544 [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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7ae73d25c39a6cb6c391f45e72fb2dc0271b3ec03790f90b59b4be53a5ee5fd1 [INFO] running `Command { std: "docker" "start" "-a" "7ae73d25c39a6cb6c391f45e72fb2dc0271b3ec03790f90b59b4be53a5ee5fd1", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling meiksh v0.1.3 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.83s [INFO] running `Command { std: "docker" "inspect" "7ae73d25c39a6cb6c391f45e72fb2dc0271b3ec03790f90b59b4be53a5ee5fd1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7ae73d25c39a6cb6c391f45e72fb2dc0271b3ec03790f90b59b4be53a5ee5fd1", kill_on_drop: false }` [INFO] [stdout] 7ae73d25c39a6cb6c391f45e72fb2dc0271b3ec03790f90b59b4be53a5ee5fd1 [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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 641f93f8b51785d5076b809f3e1005d04ac6332bfea64db29711f11df623331d [INFO] running `Command { std: "docker" "start" "-a" "641f93f8b51785d5076b809f3e1005d04ac6332bfea64db29711f11df623331d", kill_on_drop: false }` [INFO] [stderr] Compiling meiksh v0.1.3 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 48.51s [INFO] running `Command { std: "docker" "inspect" "641f93f8b51785d5076b809f3e1005d04ac6332bfea64db29711f11df623331d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "641f93f8b51785d5076b809f3e1005d04ac6332bfea64db29711f11df623331d", kill_on_drop: false }` [INFO] [stdout] 641f93f8b51785d5076b809f3e1005d04ac6332bfea64db29711f11df623331d [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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] af5b543e13a2e157d30a2048f21dbc7b65d1cbabd80f2d9ebbd522f3994f8b16 [INFO] running `Command { std: "docker" "start" "-a" "af5b543e13a2e157d30a2048f21dbc7b65d1cbabd80f2d9ebbd522f3994f8b16", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/meiksh-b823530e394b3ff8) [INFO] [stdout] [INFO] [stdout] running 2012 tests [INFO] [stdout] test bstr::tests::byte_writer_basic ... ok [INFO] [stdout] test bstr::tests::byte_writer_hex_lower_and_upper ... ok [INFO] [stdout] test bstr::tests::byte_writer_as_bytes ... ok [INFO] [stdout] test bstr::tests::byte_writer_octal ... ok [INFO] [stdout] test bstr::tests::byte_writer_numeric ... ok [INFO] [stdout] test bstr::tests::bytes_from_cstr_preserves_non_utf8 ... ok [INFO] [stdout] test bstr::tests::i64_to_bytes_convenience ... ok [INFO] [stdout] test bstr::tests::is_name_validates_posix_names ... ok [INFO] [stdout] test bstr::tests::parse_hex_i64_edge_cases ... ok [INFO] [stdout] test bstr::tests::byte_writer_with_capacity ... ok [INFO] [stdout] test bstr::tests::join_bytes_works ... ok [INFO] [stdout] test bstr::tests::parse_i64_basic ... ok [INFO] [stdout] test bstr::tests::parse_i64_sign_only_returns_none ... ok [INFO] [stdout] test bstr::tests::parse_octal_i64_edge_cases ... ok [INFO] [stdout] test bstr::tests::push_f64_fixed_basic ... ok [INFO] [stdout] test bstr::tests::push_u64_basic ... ok [INFO] [stdout] test bstr::tests::push_u64_hex_basic ... ok [INFO] [stdout] test bstr::tests::push_f64_fixed_nan_and_infinity ... ok [INFO] [stdout] test bstr::tests::push_u64_hex_alpha_digits ... ok [INFO] [stdout] test bstr::tests::push_f64_fixed_zero_precision ... ok [INFO] [stdout] test bstr::tests::push_i64_basic ... ok [INFO] [stdout] test bstr::tests::push_u64_hex_upper_zero_and_alpha ... ok [INFO] [stdout] test bstr::tests::push_u64_octal_basic ... ok [INFO] [stdout] test bstr::tests::push_u64_octal_padded_basic ... ok [INFO] [stdout] test bstr::tests::split_once_byte_works ... ok [INFO] [stdout] test bstr::tests::trim_ascii_ws_works ... ok [INFO] [stdout] test bstr::tests::trim_trailing_newlines_removes_only_trailing ... ok [INFO] [stdout] test bstr::tests::u64_to_bytes_convenience ... ok [INFO] [stdout] test bstr::tests::write_cstring_into_happy_path_reuses_buffer ... ok [INFO] [stdout] test bstr::tests::write_cstring_into_interior_nul_reports_error_without_touching_buffer ... ok [INFO] [stdout] test builtin::alias::tests::needs_quoting_and_shell_quote_if_needed_coverage ... ok [INFO] [stdout] test builtin::alias::tests::alias_define_and_lookup ... ok [INFO] [stdout] test builtin::alias::tests::unalias_dash_a ... ok [INFO] [stdout] test builtin::alias::tests::alias_and_unalias_manage_alias_table ... ok [INFO] [stdout] test bstr::tests::byte_writer_time_format ... ok [INFO] [stdout] test builtin::alias::tests::unalias_dash_dash_no_name ... ok [INFO] [stdout] test builtin::alias::tests::unalias_invalid_option ... ok [INFO] [stdout] test builtin::alias::tests::unalias_missing_name ... ok [INFO] [stdout] test builtin::alias::tests::alias_output_is_shell_quoted_for_reinput ... ok [INFO] [stdout] test builtin::alias::tests::alias_single_name_lookup_missing ... ok [INFO] [stdout] test bstr::tests::push_u64_hex_upper_basic ... ok [INFO] [stdout] test builtin::alias::tests::alias_no_args_lists ... ok [INFO] [stdout] test builtin::bind::tests::bind_f_with_missing_file_reports_status_1 ... ok [INFO] [stdout] test builtin::bind::tests::bind_editline_with_invalid_keyseq_returns_status_1 ... ok [INFO] [stdout] test builtin::bind::tests::bind_r_without_keyseq_reports_error ... ok [INFO] [stdout] test builtin::bind::tests::bind_no_args_dumps_current_bindings ... ok [INFO] [stdout] test builtin::bind::tests::bind_single_colon_arg_applies_line_and_returns_zero ... ok [INFO] [stdout] test builtin::bind::tests::bind_positional_single_colonless_arg_falls_through_to_apply_line ... ok [INFO] [stdout] test builtin::bind::tests::editline_form_installs_binding ... ok [INFO] [stdout] test builtin::bind::tests::bind_r_with_invalid_key_argument_returns_status_1 ... ok [INFO] [stdout] test builtin::bind::tests::bind_f_without_filename_reports_error ... ok [INFO] [stdout] test builtin::bind::tests::editline_unknown_function_returns_status_1 ... ok [INFO] [stdout] test builtin::bind::tests::editline_form_accepts_mixed_readline_name ... ok [INFO] [stdout] test builtin::bind::tests::do_apply_line_success_returns_zero ... ok [INFO] [stdout] test builtin::bind::tests::bind_x_with_malformed_spec_returns_status_1 ... ok [INFO] [stdout] test builtin::bind::tests::editline_unsupported_function_returns_status_1 ... ok [INFO] [stdout] test builtin::bind::tests::parse_bind_x_spec_accepts_unquoted_keyname_form ... ok [INFO] [stdout] test builtin::bind::tests::parse_bind_x_spec_accepts_quoted_key ... ok [INFO] [stdout] test builtin::bind::tests::multi_arg_readline_applies_each ... ok [INFO] [stdout] test builtin::bind::tests::parse_bind_x_spec_rejects_malformed ... ok [INFO] [stdout] test builtin::bind::tests::parse_key_argument_quoted_and_keyname ... ok [INFO] [stdout] test builtin::bind::tests::trim_ws_strips_leading_and_trailing_spaces_and_tabs ... ok [INFO] [stdout] test builtin::cd::tests::canonicalize_logical_path_handles_all_cases ... ok [INFO] [stdout] test builtin::cd::tests::canonicalize_logical_path_removes_dots ... ok [INFO] [stdout] test builtin::bind::tests::parse_bind_x_spec_rejects_unterminated_quoted_key ... ok [INFO] [stdout] test builtin::cd::tests::cd_dash_dash_handling ... ok [INFO] [stdout] test builtin::cd::tests::cd_home_not_set ... ok [INFO] [stdout] test builtin::cd::tests::cd_empty_dir ... ok [INFO] [stdout] test builtin::cd::tests::cd_invalid_option ... ok [INFO] [stdout] test builtin::bind::tests::parse_bind_x_spec_missing_colon_in_unquoted_form_is_none ... ok [INFO] [stdout] test builtin::cd::tests::cd_home_when_set ... ok [INFO] [stdout] test builtin::cd::tests::cd_cdpath_match_found ... ok [INFO] [stdout] test builtin::cd::tests::cd_physical_mode ... ok [INFO] [stdout] test builtin::cd::tests::cd_physical_mode_with_dash_e_get_cwd_fails ... ok [INFO] [stdout] test builtin::cd::tests::cd_too_many_args ... ok [INFO] [stdout] test builtin::cd::tests::cd_logical_curpath_pwd_ends_with_slash ... ok [INFO] [stdout] test builtin::cd::tests::cd_physical_no_dash_e_getcwd_fails_uses_curpath ... ok [INFO] [stdout] test builtin::bind::tests::bind_x_without_argument_reports_error ... ok [INFO] [stdout] test builtin::command::tests::command_big_v_alias ... ok [INFO] [stdout] test builtin::command::tests::command_big_v_external ... ok [INFO] [stdout] test builtin::command::tests::command_big_v_not_found ... ok [INFO] [stdout] test builtin::command::tests::command_big_v_function ... ok [INFO] [stdout] test builtin::command::tests::command_big_v_reserved_word ... ok [INFO] [stdout] test builtin::command::tests::command_big_v_regular_builtin ... ok [INFO] [stdout] test builtin::cd::tests::resolve_cd_target_no_cdpath ... ok [INFO] [stdout] test builtin::command::tests::command_big_v_special_builtin ... ok [INFO] [stdout] test builtin::command::tests::command_no_utility_execute_mode ... ok [INFO] [stdout] test builtin::command::tests::command_no_utility_name ... ok [INFO] [stdout] test builtin::command::tests::command_runs_builtin ... ok [INFO] [stdout] test builtin::command::tests::command_v_external_not_found ... ok [INFO] [stdout] test builtin::command::tests::command_v_reserved_word ... ok [INFO] [stdout] test builtin::command::tests::command_v_alias ... ok [INFO] [stdout] test builtin::command::tests::command_v_external_found ... ok [INFO] [stdout] test builtin::command::tests::command_v_function ... ok [INFO] [stdout] test builtin::command::tests::command_v_special_builtin ... ok [INFO] [stdout] test builtin::command::tests::command_v_regular_builtin ... ok [INFO] [stdout] test builtin::command::tests::command_v_too_many_args ... ok [INFO] [stdout] test builtin::command::tests::describe_command_function ... ok [INFO] [stdout] test builtin::command::tests::describe_command_reserved_word ... ok [INFO] [stdout] test builtin::command::tests::describe_command_regular_builtin ... ok [INFO] [stdout] test builtin::command::tests::execute_command_builtin_error_converts_to_status ... ok [INFO] [stdout] test builtin::command::tests::execute_command_external_permission_denied ... ok [INFO] [stdout] test builtin::command::tests::describe_command_alias ... ok [INFO] [stdout] test builtin::command::tests::execute_command_external_not_found ... ok [INFO] [stdout] test builtin::command::tests::execute_command_external_spawn_other_error ... ok [INFO] [stdout] test builtin::command::tests::execute_command_external_spawn_enoent ... ok [INFO] [stdout] test builtin::command::tests::describe_command_special_builtin ... ok [INFO] [stdout] test builtin::command::tests::hash_command_not_found ... ok [INFO] [stdout] test builtin::command::tests::hash_no_args_empty ... ok [INFO] [stdout] test builtin::command::tests::hash_dash_r ... ok [INFO] [stdout] test builtin::command::tests::execute_command_runs_builtin_directly ... ok [INFO] [stdout] test builtin::command::tests::parse_options_dash_v ... ok [INFO] [stdout] test builtin::command::tests::parse_options_bare_dash_stops ... ok [INFO] [stdout] test builtin::command::tests::parse_options_dash_big_v ... ok [INFO] [stdout] test builtin::command::tests::parse_options_dash_p ... ok [INFO] [stdout] test builtin::command::tests::parse_options_double_dash ... ok [INFO] [stdout] test builtin::command::tests::parse_options_unknown_dash_flag_stops ... ok [INFO] [stdout] test builtin::command::tests::search_path_fallback_to_getenv ... ok [INFO] [stdout] test builtin::command::tests::type_alias ... ok [INFO] [stdout] test builtin::command::tests::search_path_empty_dir_segment ... ok [INFO] [stdout] test builtin::command::tests::type_multiple_mixed ... ok [INFO] [stdout] test builtin::command::tests::type_external_command ... ok [INFO] [stdout] test builtin::command::tests::type_function ... ok [INFO] [stdout] test builtin::command::tests::type_regular_builtin ... ok [INFO] [stdout] test builtin::command::tests::type_reserved_word ... ok [INFO] [stdout] test builtin::command::tests::usage_status_execute_mode ... ok [INFO] [stdout] test builtin::command::tests::type_special_builtin ... ok [INFO] [stdout] test builtin::command::tests::which_in_path_with_slash_existing ... ok [INFO] [stdout] test builtin::command::tests::which_in_path_with_slash_not_found ... ok [INFO] [stdout] test builtin::dot::tests::dot_too_many_arguments ... ok [INFO] [stdout] test builtin::dot::tests::dot_with_slash_path_not_regular_file ... ok [INFO] [stdout] test builtin::exec::tests::exec_not_found_error ... ok [INFO] [stdout] test builtin::echo::tests::echo_write_error_returns_nonzero ... ok [INFO] [stdout] test builtin::exec::tests::exec_nul_byte_arg_error ... ok [INFO] [stdout] test builtin::dot::tests::dot_with_slash_path_readable_regular_file ... ok [INFO] [stdout] test builtin::fc::tests::fc_resolve_operand_covers_positive_negative_and_string ... ok [INFO] [stdout] test builtin::fc::tests::find_on_char_boundary_returns_none_when_not_found ... ok [INFO] [stdout] test builtin::flow::tests::break_invalid_number ... ok [INFO] [stdout] test builtin::flow::tests::break_zero_level ... ok [INFO] [stdout] test builtin::flow::tests::break_too_many_args ... ok [INFO] [stdout] test builtin::flow::tests::return_too_many_args ... ok [INFO] [stdout] test builtin::getopts::tests::getopts_optind_past_params ... ok [INFO] [stdout] test builtin::getopts::tests::getopts_optind_past_params_readonly_optind ... ok [INFO] [stdout] test builtin::flow::tests::continue_not_in_loop ... ok [INFO] [stdout] test builtin::getopts::tests::getopts_too_few_args ... ok [INFO] [stdout] test builtin::jobs::tests::bg_no_current_job_error ... ok [INFO] [stdout] test builtin::jobs::tests::bg_no_job_control ... ok [INFO] [stdout] test builtin::jobs::tests::bg_with_valid_job ... ok [INFO] [stdout] test builtin::jobs::tests::bg_no_job_control_error ... ok [INFO] [stdout] test builtin::jobs::tests::fg_no_job_control ... ok [INFO] [stdout] test builtin::jobs::tests::fg_no_job_control_error ... ok [INFO] [stdout] test builtin::jobs::tests::fg_with_valid_job ... ok [INFO] [stdout] test builtin::jobs::tests::format_job_state_stopped ... ok [INFO] [stdout] test builtin::jobs::tests::job_current_marker_variants ... ok [INFO] [stdout] test builtin::jobs::tests::job_display_pid_fallbacks ... ok [INFO] [stdout] test builtin::bind::tests::bind_positional_successful_readline_form_returns_status_0 ... ok [INFO] [stdout] test builtin::jobs::tests::format_job_state_coverage ... ok [INFO] [stdout] test builtin::jobs::tests::jobs_invalid_option_error ... ok [INFO] [stdout] test builtin::jobs::tests::jobs_reaped_done_nonzero_status ... ok [INFO] [stdout] test builtin::jobs::tests::jobs_reaped_done_zero_status ... ok [INFO] [stdout] test builtin::jobs::tests::jobs_reaped_signaled ... ok [INFO] [stdout] test builtin::jobs::tests::jobs_reaped_skips_unselected ... ok [INFO] [stdout] test builtin::jobs::tests::jobs_reaped_stopped_is_silent ... ok [INFO] [stdout] test builtin::jobs::tests::jobs_running_long_mode ... ok [INFO] [stdout] test builtin::jobs::tests::jobs_running_normal_mode ... ok [INFO] [stdout] test builtin::jobs::tests::jobs_running_pid_only_mode ... ok [INFO] [stdout] test builtin::jobs::tests::jobs_skips_unselected_jobs_in_main_loop ... ok [INFO] [stdout] test builtin::jobs::tests::jobs_skips_unselected_running_jobs ... ok [INFO] [stdout] test builtin::jobs::tests::jobs_stopped_job_output ... ok [INFO] [stdout] test builtin::jobs::tests::parse_jobs_operands_invalid ... ok [INFO] [stdout] test builtin::jobs::tests::parse_jobs_operands_valid_id ... ok [INFO] [stdout] test builtin::jobs::tests::parse_jobs_operands_error_via_invoke ... ok [INFO] [stdout] test builtin::jobs::tests::parse_jobs_options_bare_dash_stops ... ok [INFO] [stdout] test builtin::jobs::tests::parse_jobs_options_coverage ... ok [INFO] [stdout] test builtin::jobs::tests::parse_wait_operand_variants ... ok [INFO] [stdout] test builtin::jobs::tests::resolve_job_id_bare_operand_without_percent ... ok [INFO] [stdout] test builtin::jobs::tests::resolve_job_id_substring_search ... ok [INFO] [stdout] test builtin::jobs::tests::resolve_job_id_prefix_search ... ok [INFO] [stdout] test builtin::jobs::tests::resolve_job_id_variants ... ok [INFO] [stdout] test builtin::jobs::tests::wait_invalid_pid ... ok [INFO] [stdout] test builtin::jobs::tests::wait_invalid_job_id ... ok [INFO] [stdout] test builtin::jobs::tests::fg_no_current_job_error ... ok [INFO] [stdout] test builtin::jobs::tests::wait_with_job_operand ... ok [INFO] [stdout] test builtin::kill::tests::kill_dash_dash_separator ... ok [INFO] [stdout] test builtin::kill::tests::kill_dash_l_exit_code ... ok [INFO] [stdout] test builtin::kill::tests::kill_dash_l_exit_code_above_128 ... ok [INFO] [stdout] test builtin::kill::tests::kill_dash_l_invalid_exit_status ... ok [INFO] [stdout] test builtin::kill::tests::kill_dash_l_lists_signals ... ok [INFO] [stdout] test builtin::kill::tests::kill_dash_s_no_signal ... ok [INFO] [stdout] test builtin::kill::tests::kill_dash_s_with_signal_name_sends_to_pid ... ok [INFO] [stdout] test builtin::kill::tests::kill_dash_l_unknown_signal ... ok [INFO] [stdout] test builtin::kill::tests::kill_invalid_pid ... ok [INFO] [stdout] test builtin::kill::tests::kill_job_no_pgid_uses_first_child_pid ... ok [INFO] [stdout] test builtin::kill::tests::kill_job_not_found ... ok [INFO] [stdout] test builtin::kill::tests::kill_job_pid_zero_is_noop ... ok [INFO] [stdout] test builtin::kill::tests::kill_job_send_signal_fails ... ok [INFO] [stdout] test builtin::kill::tests::kill_job_sigcont_updates_state ... ok [INFO] [stdout] test builtin::kill::tests::kill_job_stopped_target_auto_sends_sigcont ... ok [INFO] [stdout] test builtin::kill::tests::kill_job_stopped_target_stop_signal_does_not_auto_cont ... ok [INFO] [stdout] test builtin::kill::tests::kill_job_with_pgid_success ... ok [INFO] [stdout] test builtin::kill::tests::kill_negative_pid_via_separator ... ok [INFO] [stdout] test builtin::kill::tests::kill_no_args ... ok [INFO] [stdout] test builtin::kill::tests::kill_no_pid_after_signal ... ok [INFO] [stdout] test builtin::kill::tests::kill_pid_send_signal_fails ... ok [INFO] [stdout] test builtin::kill::tests::parse_kill_signal_numeric ... ok [INFO] [stdout] test builtin::kill::tests::parse_kill_signal_sig_prefix ... ok [INFO] [stdout] test builtin::kill::tests::parse_kill_signal_unknown ... ok [INFO] [stdout] test builtin::kill::tests::parse_kill_signal_zero ... ok [INFO] [stdout] test builtin::printf::tests::printf_b_backslash_c_stops_mid_format ... ok [INFO] [stdout] test builtin::printf::tests::printf_b_format_backslash_c_stops ... ok [INFO] [stdout] test builtin::printf::tests::printf_b_format_with_escape ... ok [INFO] [stdout] test builtin::printf::tests::printf_char_format ... ok [INFO] [stdout] test builtin::printf::tests::printf_char_value_parse ... ok [INFO] [stdout] test builtin::printf::tests::printf_escape_sequences ... ok [INFO] [stdout] test builtin::printf::tests::printf_expand_b_all_escapes ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_escape_all_sequences ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_hex_alt_zero_padded ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_hex_left_pad ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_hex_left_padded ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_hex_no_percent_prefix ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_hex_output ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_hex_upper ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_hex_upper_alt ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_hex_zero_pad ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_hex_zero_padded ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_loop_basic ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_octal_alt_flag ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_octal_alt_zero ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_octal_left_pad ... ok [INFO] [stdout] test builtin::jobs::tests::jobs_pid_only_skips_reaped ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_octal_no_o_suffix ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_octal_no_percent_prefix ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_hex_alt_flag ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_hex_alt_right_padded ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_octal_output ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_octal_zero_pad ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_hex_no_suffix ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_octal_right_padded ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_octal_zero_padded ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_parse_numeric_error ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_reuse_with_multiple_args ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_signed_integer ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_signed_left_padded ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_signed_negative_zero_pad ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_signed_negative_zero_padded ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_partial_conversion_accumulates ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_signed_no_ld_suffix ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_signed_no_percent_prefix ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_signed_right_padded ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_signed_zero_padded ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_string_left_flag ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_string_left_padded ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_string_no_percent_prefix ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_string_right_padded ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_string_with_precision ... ok [INFO] [stdout] test builtin::command::tests::type_not_found ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_octal_left_padded ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_unsigned_left_pad ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_unsigned_left_padded ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_unsigned_integer ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_unsigned_no_percent_prefix ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_unsigned_no_lu_suffix ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_unsigned_right_padded ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_unsigned_zero_pad ... ok [INFO] [stdout] test builtin::printf::tests::printf_format_unsigned_zero_padded ... ok [INFO] [stdout] test builtin::printf::tests::printf_hex_parse ... ok [INFO] [stdout] test builtin::printf::tests::printf_hex_prefix_no_digits_errors ... ok [INFO] [stdout] test builtin::printf::tests::printf_incomplete_format_spec ... ok [INFO] [stdout] test builtin::printf::tests::printf_invalid_number_error ... ok [INFO] [stdout] test builtin::printf::tests::printf_left_align_width ... ok [INFO] [stdout] test builtin::printf::tests::printf_left_padded_integer ... ok [INFO] [stdout] test builtin::printf::tests::printf_literal_percent_sign ... ok [INFO] [stdout] test builtin::printf::tests::printf_loop_breaks_when_args_exhausted ... ok [INFO] [stdout] test builtin::printf::tests::printf_missing_format_operand ... ok [INFO] [stdout] test builtin::printf::tests::printf_numbered_arg_no_args ... ok [INFO] [stdout] test builtin::printf::tests::printf_negative_zero_padded ... ok [INFO] [stdout] test builtin::printf::tests::printf_octal_invalid_digit_accumulates_zero ... ok [INFO] [stdout] test builtin::printf::tests::printf_numbered_arg_with_args ... ok [INFO] [stdout] test builtin::printf::tests::printf_parse_int_hex ... ok [INFO] [stdout] test builtin::printf::tests::printf_parse_int_negative ... ok [INFO] [stdout] test builtin::printf::tests::printf_parse_int_octal ... ok [INFO] [stdout] test builtin::printf::tests::printf_partial_conversion_detected ... ok [INFO] [stdout] test builtin::printf::tests::printf_partial_conversion_quoted_literal ... ok [INFO] [stdout] test builtin::printf::tests::printf_partial_decimal_accumulates ... ok [INFO] [stdout] test builtin::printf::tests::printf_octal_parse ... ok [INFO] [stdout] test builtin::printf::tests::printf_partial_decimal_negative_accumulates ... ok [INFO] [stdout] test builtin::printf::tests::printf_partial_hex_accumulates ... ok [INFO] [stdout] test builtin::printf::tests::printf_partial_octal_accumulates ... ok [INFO] [stdout] test builtin::printf::tests::printf_parse_int_char_literal ... ok [INFO] [stdout] test builtin::printf::tests::printf_parse_int_empty ... ok [INFO] [stdout] test builtin::printf::tests::printf_precision_truncation ... ok [INFO] [stdout] test builtin::printf::tests::printf_sign_alone_errors ... ok [INFO] [stdout] test builtin::printf::tests::printf_sign_prefix_parse ... ok [INFO] [stdout] test builtin::printf::tests::printf_unknown_conversion ... ok [INFO] [stdout] test builtin::printf::tests::printf_width_and_precision_combined ... ok [INFO] [stdout] test builtin::printf::tests::printf_width_padding ... ok [INFO] [stdout] test builtin::printf::tests::printf_zero_padded_integer ... ok [INFO] [stdout] test builtin::pwd::tests::logical_pwd_is_valid_rejects_dot_components ... ok [INFO] [stdout] test builtin::pwd::tests::pwd_invalid_option ... ok [INFO] [stdout] test builtin::pwd::tests::pwd_logical_falls_back_to_cwd_when_paths_differ ... ok [INFO] [stdout] test builtin::pwd::tests::pwd_logical_returns_pwd_when_valid ... ok [INFO] [stdout] test builtin::pwd::tests::pwd_too_many_args ... ok [INFO] [stdout] test builtin::read::tests::parse_read_options_dash_p_separated_and_joined_forms ... ok [INFO] [stdout] test builtin::read::tests::parse_read_options_delimiter_multi_byte_none ... ok [INFO] [stdout] test builtin::read::tests::parse_read_options_invalid_returns_none ... ok [INFO] [stdout] test builtin::read::tests::push_read_piece_different_quotedness_creates_new_entry ... ok [INFO] [stdout] test builtin::pwd::tests::logical_pwd_is_valid_rejects_non_absolute ... ok [INFO] [stdout] test builtin::read::tests::read_logical_line_backslash_at_eof ... ok [INFO] [stdout] test builtin::read::tests::push_read_piece_merges_same_quoted ... ok [INFO] [stdout] test builtin::read::tests::read_logical_line_backslash_eof_after_escape ... ok [INFO] [stdout] test builtin::read::tests::read_logical_line_backslash_newline_interactive_shows_ps2 ... ok [INFO] [stdout] test builtin::read::tests::read_logical_line_backslash_newline_continues ... ok [INFO] [stdout] test builtin::read::tests::read_logical_line_quoted_to_unquoted_transition ... ok [INFO] [stdout] test builtin::read::tests::read_logical_line_backslash_other_quotes_char ... ok [INFO] [stdout] test builtin::read::tests::read_logical_line_buffered_rewinds_past_delimiter ... ok [INFO] [stdout] test builtin::read::tests::read_logical_line_raw_mode_preserves_backslash ... ok [INFO] [stdout] test builtin::read::tests::read_options_and_assignments_parsing ... ok [INFO] [stdout] test builtin::read::tests::read_with_input_dash_p_writes_prompt_to_stderr_before_read ... ok [INFO] [stdout] test builtin::read::tests::read_with_input_default_reply_variable ... ok [INFO] [stdout] test builtin::read::tests::read_with_input_eof_returns_status_1 ... ok [INFO] [stdout] test builtin::read::tests::read_with_input_invalid_option_returns_diag ... ok [INFO] [stdout] test builtin::read::tests::read_with_input_readonly_var_returns_diag ... ok [INFO] [stdout] test builtin::read::tests::read_with_input_read_error_returns_diag ... ok [INFO] [stdout] test builtin::read::tests::split_read_assignments_multibyte_ifs_c_locale ... ok [INFO] [stdout] test builtin::read::tests::read_with_input_splits_into_multiple_vars ... ok [INFO] [stdout] test builtin::read::tests::split_read_assignments_multibyte_ifs_utf8_locale ... ok [INFO] [stdout] test builtin::read::tests::split_read_assignments_quoted_ifs_delimiter_skipped ... ok [INFO] [stdout] test builtin::set::tests::set_dash_dash_sets_positional ... ok [INFO] [stdout] test builtin::set::tests::set_dash_o_invalid_name ... ok [INFO] [stdout] test builtin::set::tests::set_dash_o_named_option ... ok [INFO] [stdout] test builtin::set::tests::set_no_args_lists_env ... ok [INFO] [stdout] test builtin::set::tests::set_plus_o_no_name_lists_reinput ... ok [INFO] [stdout] test builtin::set::tests::set_short_option_flags ... ok [INFO] [stdout] test builtin::set::tests::shift_count_exceeds_positional_len ... ok [INFO] [stdout] test builtin::set::tests::shift_rejects_invalid_arguments ... ok [INFO] [stdout] test builtin::set::tests::shift_success_drains_positional ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_bang_empty_operand_is_true ... ok [INFO] [stdout] test builtin::set::tests::set_minus_o_no_name_lists_options ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_bang_nonempty_operand_is_false ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_compound_and_false_chain ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_compound_bash_completion_regression ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_bracket_missing_closing ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_compound_empty_parens ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_compound_dangling_or_operator ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_compound_not_with_parenthesized_inner_or ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_compound_or_left_associative ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_compound_and_short_circuits_on_false_lhs ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_compound_not_binds_tighter_than_and ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_compound_and_binds_tighter_than_or ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_compound_or_true_right ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_compound_parens_override_precedence ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_compound_unbalanced_open_paren ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_compound_unexpected_close_paren ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_compound_vte_regression ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_compound_or_short_circuits_on_true_lhs ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_ef_different_files ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_file_binary_ot_both_missing ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_compound_unparseable_still_errors ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_file_binary_nt_first_missing_second_exists ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_file_binary_nt_both_missing ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_four_args_invalid ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_ef_same_file ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_four_args_negated ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_file_binary_nt_with_missing ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_four_args_negated_true_becomes_false ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_integer_binary_operators ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_nt_first_exists_second_not ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_ot_first_missing_second_exists ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_single_empty_arg_is_false ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_single_nonempty_arg_is_true ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_ot_older_than ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_nt_newer_than ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_socket_file_operator ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_string_less_than_operator ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_unary_block_special ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_string_greater_than_operator ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_string_not_equal_operator ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_unary_directory ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_unary_directory_not_found ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_unary_char_special ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_unary_readable ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_unary_fifo ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_unary_setuid ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_unary_executable ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_unary_symlink ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_unary_setgid ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_unary_size_nonzero ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_unary_tty_invalid_fd ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_unary_tty_bad_fd ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_unary_tty_negative_fd ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_unary_z_empty_string ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_unary_z_nonempty_string ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_unknown_binary_operator ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_zero_args ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_unary_writable ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_unknown_unary_operator ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_unknown_operator_error ... ok [INFO] [stdout] test builtin::tests::lookup_empty_name_returns_none ... ok [INFO] [stdout] test builtin::tests::parse_i32_out_of_range ... ok [INFO] [stdout] test builtin::tests::builtin_registry_knows_core_commands ... ok [INFO] [stdout] test builtin::tests::run_empty_argv_returns_zero ... ok [INFO] [stdout] test builtin::tests::resolve_cd_target_cdpath_no_match ... ok [INFO] [stdout] test builtin::tests::write_stdout_coverage ... ok [INFO] [stdout] test builtin::tests::run_unknown_builtin_returns_127 ... ok [INFO] [stdout] test builtin::tests::diag_status_syserr_coverage ... ok [INFO] [stdout] test builtin::tests::resolve_cd_target_cdpath_empty_prefix ... ok [INFO] [stdout] test builtin::trap::tests::format_trap_condition_coverage ... ok [INFO] [stdout] test builtin::times::tests::times_error_branch ... ok [INFO] [stdout] test builtin::trap::tests::is_unsigned_decimal_helper ... ok [INFO] [stdout] test builtin::trap::tests::parse_trap_condition_coverage ... ok [INFO] [stdout] test builtin::trap::tests::parse_trap_action_variants ... ok [INFO] [stdout] test builtin::trap::tests::trap_action_without_condition_errors ... ok [INFO] [stdout] test builtin::test_builtin::tests::test_unary_socket ... ok [INFO] [stdout] test builtin::times::tests::format_times_value_helper ... ok [INFO] [stdout] test builtin::trap::tests::trap_dash_dash_with_action_and_condition ... ok [INFO] [stdout] test builtin::trap::tests::trap_dash_dash_no_args_prints ... ok [INFO] [stdout] test builtin::trap::tests::trap_dash_p_invalid_condition_errors ... ok [INFO] [stdout] test builtin::trap::tests::trap_dash_p_no_operands_lists_all ... ok [INFO] [stdout] test builtin::trap::tests::trap_dash_p_specific_condition_prints ... ok [INFO] [stdout] test builtin::trap::tests::trap_invalid_condition_error ... ok [INFO] [stdout] test builtin::trap::tests::trap_numeric_reset ... ok [INFO] [stdout] test builtin::trap::tests::trap_output_action_variants ... ok [INFO] [stdout] test builtin::trap::tests::trap_set_ignore ... ok [INFO] [stdout] test builtin::trap::tests::trap_numeric_reset_invalid_condition ... ok [INFO] [stdout] test builtin::ulimit::tests::format_limit_covers_both_branches ... ok [INFO] [stdout] test builtin::ulimit::tests::ulimit_resource_for_option_covers_all_and_unknown ... ok [INFO] [stdout] test builtin::trap::tests::trap_set_and_reset_via_dash ... ok [INFO] [stdout] test builtin::umask::tests::copy_permission_bits_from_user ... ok [INFO] [stdout] test builtin::umask::tests::parse_symbolic_clause_invalid_operator ... ok [INFO] [stdout] test builtin::umask::tests::symbolic_permission_copy_from_user ... ok [INFO] [stdout] test builtin::umask::tests::parse_symbolic_clause_no_operator ... ok [INFO] [stdout] test builtin::umask::tests::parse_symbolic_targets_empty_defaults_to_all ... ok [INFO] [stdout] test builtin::umask::tests::parse_symbolic_empty_clause_returns_none ... ok [INFO] [stdout] test builtin::umask::tests::symbolic_mask_invalid_perm_char ... ok [INFO] [stdout] test builtin::umask::tests::symbolic_permission_s_is_noop ... ok [INFO] [stdout] test builtin::umask::tests::symbolic_mask_with_implicit_all_targets ... ok [INFO] [stdout] test builtin::umask::tests::umask_double_dash_separator ... ok [INFO] [stdout] test builtin::umask::tests::umask_invalid_option ... ok [INFO] [stdout] test builtin::umask::tests::umask_invalid_mask ... ok [INFO] [stdout] test builtin::umask::tests::symbolic_permission_unknown_char_returns_none ... ok [INFO] [stdout] test builtin::umask::tests::umask_display_octal ... ok [INFO] [stdout] test builtin::umask::tests::umask_set_octal ... ok [INFO] [stdout] test builtin::umask::tests::umask_display_symbolic ... ok [INFO] [stdout] test builtin::umask::tests::umask_parsing_helpers ... ok [INFO] [stdout] test builtin::umask::tests::umask_too_many_arguments ... ok [INFO] [stdout] test builtin::vars::tests::export_dash_p_with_operands_errors ... ok [INFO] [stdout] test builtin::vars::tests::export_invalid_option_errors ... ok [INFO] [stdout] test builtin::vars::tests::readonly_invalid_option_errors ... ok [INFO] [stdout] test builtin::vars::tests::export_updates_shell_state ... ok [INFO] [stdout] test builtin::vars::tests::unset_double_dash_stops_option_parsing ... ok [INFO] [stdout] test builtin::vars::tests::readonly_marks_variable_readonly ... ok [INFO] [stdout] test builtin::vars::tests::export_preserves_literal_tilde_in_value ... ok [INFO] [stdout] test builtin::vars::tests::readonly_preserves_literal_tilde_in_value ... ok [INFO] [stdout] test builtin::vars::tests::unset_invalid_option_errors ... ok [INFO] [stdout] test builtin::vars::tests::unset_readonly_var_error ... ok [INFO] [stdout] test exec::command::tests::case_fallthrough_stops_at_end ... ok [INFO] [stdout] test exec::command::tests::case_no_match_returns_zero ... ok [INFO] [stdout] test exec::command::tests::control_flow_propagates_across_functions_and_loops ... ok [INFO] [stdout] test exec::command::tests::execute_case_commands ... ok [INFO] [stdout] test exec::command::tests::execute_for_commands ... ok [INFO] [stdout] test exec::command::tests::execute_if_and_loop_commands ... ok [INFO] [stdout] test exec::command::tests::function_def_registers_and_calls ... ok [INFO] [stdout] test exec::command::tests::execute_if_covers_then_and_else_branches ... ok [INFO] [stdout] test exec::command::tests::for_readonly_variable_error ... ok [INFO] [stdout] test exec::command::tests::group_command_executes_inline ... ok [INFO] [stdout] test builtin::vars::tests::unset_removes_variable_and_export_flag ... ok [INFO] [stdout] test exec::command::tests::compound_command_redirection_error ... ok [INFO] [stdout] test exec::command::tests::loop_and_function_exit_behavior ... ok [INFO] [stdout] test exec::pipeline::tests::execute_and_or_negated_last_pipeline_suppresses_errexit ... ok [INFO] [stdout] test exec::pipeline::tests::errexit_suppressed_in_negated_pipeline ... ok [INFO] [stdout] test exec::pipeline::tests::pipefail_returns_rightmost_nonzero ... ok [INFO] [stdout] test builtin::command::tests::execute_command_with_default_path ... ok [INFO] [stdout] test builtin::command::tests::execute_command_external_spawn_success ... ok [INFO] [stdout] test exec::command::tests::subshell_program_error ... ok [INFO] [stdout] test exec::pipeline::tests::timed_pipeline_exercises_time_report ... ok [INFO] [stdout] test exec::pipeline::tests::timed_pipeline_posix_mode ... ok [INFO] [stdout] test exec::pipeline::tests::wait_for_external_child_stopped_and_signaled ... ok [INFO] [stdout] test exec::pipeline::tests::wait_for_pipeline_stopped_and_signaled ... ok [INFO] [stdout] test exec::pipeline::tests::wait_pipeline_handoff_foreground_no_pgid ... ok [INFO] [stdout] test exec::pipeline::tests::wait_pipeline_handoff_foreground_tcgetpgrp_err ... ok [INFO] [stdout] test exec::process::tests::build_process_from_expanded_covers_empty_and_assignment_env ... ok [INFO] [stdout] test exec::process::tests::exec_prepared_in_current_process_prepare_failure_exits ... ok [INFO] [stdout] test exec::process::tests::join_boxed_bytes_various_inputs ... ok [INFO] [stdout] test exec::process::tests::spawn_child_access_denied ... ok [INFO] [stdout] test exec::pipeline::tests::execute_pipeline_async_single_command ... ok [INFO] [stdout] test exec::pipeline::tests::execute_pipeline_negated_multi_command ... ok [INFO] [stdout] test exec::pipeline::tests::spawn_pipeline_covers_compound_command_variants ... ok [INFO] [stdout] test exec::and_or::tests::spawn_and_or_monitor_mode_single_pipeline ... ok [INFO] [stdout] test exec::process::tests::spawn_child_not_found ... ok [INFO] [stdout] test exec::pipeline::tests::spawn_pipeline_process_without_monitor_mode ... ok [INFO] [stdout] test exec::process::tests::spawn_prepared_errors_for_missing_executable ... ok [INFO] [stdout] test exec::process::tests::spawn_path_verified_false_passes_both_checks ... ok [INFO] [stdout] test exec::command::tests::subshell_wait_errors ... ok [INFO] [stdout] test exec::process::tests::split_bytes_helper ... ok [INFO] [stdout] test exec::process::tests::spawn_child_join_group_and_fd_action_error ... ok [INFO] [stdout] test exec::program::tests::check_errexit_does_nothing_when_disabled ... ok [INFO] [stdout] test exec::pipeline::tests::spawn_pipeline_forks_compound_commands ... ok [INFO] [stdout] test exec::process::tests::spawn_prepared_binary_rejection_exits_126 ... ok [INFO] [stdout] test exec::process::tests::spawn_prepared_enoexec_falls_back_to_source ... ok [INFO] [stdout] test exec::process::tests::spawn_prepared_exec_enoent_exits_127 ... ok [INFO] [stdout] test exec::process::tests::spawn_prepared_exec_generic_error_exits_126 ... ok [INFO] [stdout] test exec::program::tests::background_job_message_interactive ... ok [INFO] [stdout] test exec::program::tests::check_errexit_does_nothing_when_suppressed ... ok [INFO] [stdout] test exec::program::tests::check_errexit_stops_shell_on_failure ... ok [INFO] [stdout] test exec::program::tests::check_errexit_zero_status_does_nothing ... ok [INFO] [stdout] test exec::program::tests::errexit_does_not_exit_on_zero_status ... ok [INFO] [stdout] test exec::program::tests::errexit_exits_on_nonzero_simple_command ... ok [INFO] [stdout] test exec::program::tests::execute_and_or_skips_rhs_when_guard_fails ... ok [INFO] [stdout] test exec::program::tests::execute_program_stops_on_shell_not_running ... ok [INFO] [stdout] test exec::program::tests::lineno_env_var_matches_shell_lineno ... ok [INFO] [stdout] test exec::program::tests::errexit_suppressed_in_if_condition ... ok [INFO] [stdout] test exec::program::tests::lineno_env_var_updates_per_list_item ... ok [INFO] [stdout] test exec::program::tests::lineno_expand_nounset_on_line_2 ... ok [INFO] [stdout] test exec::program::tests::lineno_parse_error_empty_if_condition ... ok [INFO] [stdout] test exec::program::tests::lineno_parse_error_unterminated_double_quote ... ok [INFO] [stdout] test exec::program::tests::lineno_fills_empty_value_slot_for_exported_lineno ... ok [INFO] [stdout] test exec::program::tests::lineno_expand_error_on_line_3 ... ok [INFO] [stdout] test exec::program::tests::lineno_parse_error_unterminated_single_quote ... ok [INFO] [stdout] test exec::program::tests::lineno_runtime_break_outside_loop ... ok [INFO] [stdout] test exec::program::tests::lineno_runtime_readonly_assignment ... ok [INFO] [stdout] test exec::program::tests::special_builtin_utility_error_continues_interactive ... ok [INFO] [stdout] test exec::redirection::tests::apply_child_fd_actions_close_non_ebadf_propagates ... ok [INFO] [stdout] test exec::program::tests::special_builtin_utility_error_exits_noninteractive ... ok [INFO] [stdout] test exec::redirection::tests::apply_shell_redirection_read ... ok [INFO] [stdout] test exec::redirection::tests::apply_shell_redirection_readwrite ... ok [INFO] [stdout] test exec::redirection::tests::apply_shell_redirections_dup_error ... ok [INFO] [stdout] test exec::redirection::tests::apply_shell_redirections_multiple_same_fd ... ok [INFO] [stdout] test exec::redirection::tests::close_shell_fd_ebadf_ok ... ok [INFO] [stdout] test exec::redirection::tests::close_parent_redirection_fds_only_closes_marked ... ok [INFO] [stdout] test exec::redirection::tests::close_shell_fd_other_error ... ok [INFO] [stdout] test exec::redirection::tests::default_fd_for_redirection_covers_all_kinds ... ok [INFO] [stdout] test exec::redirection::tests::heredoc_expansion_error_paths ... ok [INFO] [stdout] test exec::redirection::tests::execute_nested_program_sets_up_heredoc_fd ... ok [INFO] [stdout] test exec::redirection::tests::open_for_write_noclobber_new_file_succeeds ... ok [INFO] [stdout] test exec::redirection::tests::open_for_write_noclobber_other_error ... ok [INFO] [stdout] test exec::redirection::tests::open_for_write_noclobber_non_regular_reopens ... ok [INFO] [stdout] test exec::redirection::tests::open_for_write_noclobber_regular_file_fails ... ok [INFO] [stdout] test exec::redirection::tests::prepare_redirections_creates_heredoc_pipe ... ok [INFO] [stdout] test exec::redirection::tests::prepare_redirections_dup_input_and_close ... ok [INFO] [stdout] test exec::redirection::tests::prepare_redirections_heredoc_write_error ... ok [INFO] [stdout] test exec::redirection::tests::prepare_redirections_produces_correct_fd_actions ... ok [INFO] [stdout] test exec::redirection::tests::prepare_redirections_noclobber_uses_excl ... ok [INFO] [stdout] test exec::redirection::tests::prepare_redirections_read_open_error ... ok [INFO] [stdout] test exec::redirection::tests::prepare_redirections_read_write_append_noclobber ... ok [INFO] [stdout] test exec::render::tests::case_pattern_matching_covers_wildcards_and_classes ... ok [INFO] [stdout] test exec::render::tests::render_and_or_produces_correct_output ... ok [INFO] [stdout] test exec::redirection::tests::replace_shell_fd_same_fd ... ok [INFO] [stdout] test exec::render::tests::render_case_with_fallthrough_and_multi_pattern ... ok [INFO] [stdout] test exec::render::tests::render_command_for_and_case ... ok [INFO] [stdout] test exec::render::tests::render_for_with_items_and_without ... ok [INFO] [stdout] test exec::render::tests::render_and_or_with_logical_or ... ok [INFO] [stdout] test exec::render::tests::render_command_line_redirections_only ... ok [INFO] [stdout] test exec::render::tests::render_helpers_cover_program_function_if_loop_simple_pipeline ... ok [INFO] [stdout] test exec::render::tests::render_here_doc_body_appends_newline_when_missing ... ok [INFO] [stdout] test exec::render::tests::render_pipeline_multiple_commands ... ok [INFO] [stdout] test exec::render::tests::render_if_with_elif_and_else ... ok [INFO] [stdout] test exec::render::tests::render_program_handles_async_and_heredoc_items ... ok [INFO] [stdout] test exec::render::tests::render_loop_until ... ok [INFO] [stdout] test exec::render::tests::render_redirected_command ... ok [INFO] [stdout] test exec::render::tests::render_redirection_operators_read_clobber_append_heredoc_strip ... ok [INFO] [stdout] test exec::render::tests::render_simple_with_multiple_heredocs ... ok [INFO] [stdout] test exec::scratch::tests::bytes_pool_recycle_clears_content ... ok [INFO] [stdout] test exec::render::tests::render_simple_handles_redirection_syntax ... ok [INFO] [stdout] test exec::redirection::tests::apply_child_fd_actions_close_ebadf_ignored ... ok [INFO] [stdout] test exec::scratch::tests::bytes_pool_take_and_recycle_reuses_buffer ... ok [INFO] [stdout] test exec::redirection::tests::apply_child_setup_test ... ok [INFO] [stdout] test exec::scratch::tests::exec_scratch_clear_into_pool_recycles_buffers ... ok [INFO] [stdout] test exec::scratch::tests::exec_scratch_pool_take_and_push_reuses_outer_capacity ... ok [INFO] [stdout] test exec::redirection::tests::apply_child_fd_actions_applies_dup_close ... ok [INFO] [stdout] test exec::simple::tests::apply_prefix_assignments_readonly_error ... ok [INFO] [stdout] test exec::scratch::tests::bytes_pool_respects_cap ... ok [INFO] [stdout] test exec::simple::tests::assignment_expansion_does_not_field_split ... ok [INFO] [stdout] test exec::simple::tests::assignment_only_command_without_words ... ok [INFO] [stdout] test exec::simple::tests::argv0_is_literal_returns_false_for_empty_words ... ok [INFO] [stdout] test exec::simple::tests::classify_argv0_not_literal_with_no_match_falls_back_to_external ... ok [INFO] [stdout] test exec::simple::tests::builtin_prefix_assignment_error ... ok [INFO] [stdout] test exec::simple::tests::declaration_builtin_expands_assignments_and_words ... ok [INFO] [stdout] test exec::simple::tests::exec_no_cmd_assignment_error ... ok [INFO] [stdout] test exec::simple::tests::external_command_prefix_assignment_error ... ok [INFO] [stdout] test exec::simple::tests::empty_command_redirection_error ... ok [INFO] [stdout] test exec::simple::tests::external_command_spawn_error_main ... ok [INFO] [stdout] test exec::simple::tests::exec_no_cmd_redirection_error ... ok [INFO] [stdout] test exec::simple::tests::function_prefix_assignment_readonly_restores_state ... ok [INFO] [stdout] test exec::simple::tests::function_call_reuses_cached_slot_on_second_invocation ... ok [INFO] [stdout] test exec::simple::tests::function_redirection_error ... ok [INFO] [stdout] test exec::simple::tests::function_prefix_assignments_are_temporary ... ok [INFO] [stdout] test exec::simple::tests::function_slot_cleared_after_function_removed ... ok [INFO] [stdout] test exec::simple::tests::has_command_substitution_detects_backtick_in_words ... ok [INFO] [stdout] test exec::simple::tests::has_command_substitution_dollar_paren_in_assignments ... ok [INFO] [stdout] test exec::simple::tests::has_command_substitution_via_word_parts ... ok [INFO] [stdout] test exec::simple::tests::non_literal_argv0_classifies_as_function_over_regular_builtin ... ok [INFO] [stdout] test exec::simple::tests::non_special_builtin_prefix_assignments_are_temporary ... ok [INFO] [stdout] test exec::simple::tests::non_literal_argv0_classifies_as_function_without_builtin ... ok [INFO] [stdout] test exec::simple::tests::literal_regular_builtin_shadowed_by_function_dispatches_function ... ok [INFO] [stdout] test exec::simple::tests::parse_i32_bytes_various_inputs ... ok [INFO] [stdout] test exec::simple::tests::prefix_assignment_readonly_external_error ... ok [INFO] [stdout] test exec::simple::tests::readonly_var_blocks_external_cmd_prefix_assignment ... ok [INFO] [stdout] test exec::simple::tests::restore_vars_with_ifs_invalidates_cache ... ok [INFO] [stdout] test exec::simple::tests::non_special_builtin_exit_with_temp_assignments ... ok [INFO] [stdout] test exec::simple::tests::probe_function_memoized_returns_cached_body_directly ... ok [INFO] [stdout] test exec::simple::tests::restore_vars_with_path_clears_cache ... ok [INFO] [stdout] test exec::simple::tests::external_command_spawn_error_subshell ... ok [INFO] [stdout] test exec::simple::tests::non_literal_argv0_classifies_as_special_builtin ... ok [INFO] [stdout] test exec::simple::tests::save_restore_vars_restores_previous_values ... ok [INFO] [stdout] test exec::simple::tests::var_error_bytes_formats_readonly ... ok [INFO] [stdout] test exec::simple::tests::special_builtin_prefix_assignments_are_permanent ... ok [INFO] [stdout] test exec::simple::tests::test_execute_expanded_readonly ... ok [INFO] [stdout] test exec::simple::tests::write_xtrace_empty_argv_with_assignments_only ... ok [INFO] [stdout] test exec::simple::tests::write_xtrace_with_custom_ps4 ... ok [INFO] [stdout] test exec::simple::tests::xtrace_includes_assignments ... ok [INFO] [stdout] test exec::simple::tests::xtrace_skipped_when_disabled ... ok [INFO] [stdout] test exec::simple::tests::xtrace_writes_trace_to_stderr ... ok [INFO] [stdout] test expand::arithmetic::tests::eval_arithmetic_distinguishes_assign_from_equality ... ok [INFO] [stdout] test expand::arithmetic::tests::apply_compound_assign_unknown_op_returns_error ... ok [INFO] [stdout] test expand::arithmetic::tests::eval_arithmetic_empty_variable_is_zero ... ok [INFO] [stdout] test expand::arithmetic::tests::eval_arithmetic_ternary_short_circuits_assignment ... ok [INFO] [stdout] test expand::expand_parts::tests::braced_assign_colon_with_invalid_name_errors ... ok [INFO] [stdout] test expand::expand_parts::tests::braced_none_with_word_parts_is_bad_substitution ... ok [INFO] [stdout] test expand::arithmetic::tests::eval_arithmetic_rejects_trailing_tokens ... ok [INFO] [stdout] test expand::expand_parts::tests::decompose_ifs_c_vs_utf8 ... ok [INFO] [stdout] test expand::arithmetic::tests::eval_arithmetic_simple_assignment_and_compound ... ok [INFO] [stdout] test expand::arithmetic::tests::eval_arithmetic_unary_plus_is_identity ... ok [INFO] [stdout] test expand::expand_parts::tests::drain_single_vec_concatenates_fields_and_current ... ok [INFO] [stdout] test expand::arithmetic::tests::eval_arithmetic_rejects_missing_closing_paren ... ok [INFO] [stdout] test expand::expand_parts::tests::drain_single_vec_pooled_concatenates_and_recycles_buffers ... ok [INFO] [stdout] test expand::expand_parts::tests::expand_at_single_field_without_ifs_joins_with_space ... ok [INFO] [stdout] test expand::expand_parts::tests::expand_tilde_known_user_with_trailing_slash_in_home_is_trimmed ... ok [INFO] [stdout] test expand::expand_parts::tests::pattern_segments_plain_tilde_with_empty_home_emits_empty_quoted ... ok [INFO] [stdout] test expand::expand_parts::tests::expand_bang_without_background_job_falls_back_to_special_param ... ok [INFO] [stdout] test expand::expand_parts::tests::expand_tilde_unknown_user_writes_literal_bytes_with_glob_detection ... ok [INFO] [stdout] test expand::expand_parts::tests::pattern_segments_emit_tilde_with_trailing_literal_tail ... ok [INFO] [stdout] test expand::expand_parts::tests::pattern_segments_known_user_tilde_with_trailing_slash_in_home_is_trimmed ... ok [INFO] [stdout] test expand::expand_parts::tests::pattern_segments_known_user_tilde_without_trailing_slash ... ok [INFO] [stdout] test expand::expand_parts::tests::pattern_segments_plain_tilde_with_home_trims_trailing_slash ... ok [INFO] [stdout] test expand::expand_parts::tests::pattern_segments_plain_tilde_with_unset_home_emits_literal_tilde ... ok [INFO] [stdout] test expand::expand_parts::tests::quoted_alt_colon_set_preserves_empty_field ... ok [INFO] [stdout] test expand::expand_parts::tests::pattern_segments_unknown_user_tilde_emits_literal_bytes ... ok [INFO] [stdout] test expand::expand_parts::tests::quoted_default_colon_unset_preserves_empty_field ... ok [INFO] [stdout] test expand::expand_parts::tests::quoted_default_unset_preserves_empty_field ... ok [INFO] [stdout] test expand::expand_parts::tests::quoted_simple_var_unset_still_preserves_empty_field ... ok [INFO] [stdout] test expand::expand_parts::tests::two_quoted_defaults_unset_concatenate_to_one_empty_field ... ok [INFO] [stdout] test expand::expand_parts::tests::unquoted_default_unset_still_produces_no_fields ... ok [INFO] [stdout] test expand::glob::tests::alpha_class_c_vs_utf8 ... ok [INFO] [stdout] test expand::glob::tests::bracket_helpers_cover_missing_closer ... ok [INFO] [stdout] test expand::glob::tests::backslash_at_end_of_pattern_is_literal ... ok [INFO] [stdout] test expand::glob::tests::bracket_with_nested_open_bracket_literal ... ok [INFO] [stdout] test expand::glob::tests::collating_symbol_as_range_endpoint ... ok [INFO] [stdout] test expand::glob::tests::collating_symbol_in_bracket_with_others ... ok [INFO] [stdout] test expand::glob::tests::collating_symbol_matches_literal ... ok [INFO] [stdout] test expand::glob::tests::correctness_matrix_ascii ... ok [INFO] [stdout] test expand::glob::tests::correctness_matrix_utf8 ... ok [INFO] [stdout] test expand::glob::tests::decode_pattern_char_nul_byte_fallback ... ok [INFO] [stdout] test expand::glob::tests::decode_pattern_char_lone_continuation_fallback ... ok [INFO] [stdout] test expand::glob::tests::empty_collating_symbol_falls_through ... ok [INFO] [stdout] test expand::glob::tests::equivalence_class_fallback_to_collating_symbol ... ok [INFO] [stdout] test expand::glob::tests::equivalence_class_in_bracket_with_others ... ok [INFO] [stdout] test expand::glob::tests::decode_pattern_char_single_byte_fallback ... ok [INFO] [stdout] test expand::glob::tests::equivalence_class_matches_literal ... ok [INFO] [stdout] test expand::glob::tests::malformed_collating_symbol_falls_through ... ok [INFO] [stdout] test expand::glob::tests::invalid_bracket_at_end_of_text ... ok [INFO] [stdout] test expand::glob::tests::malformed_equivalence_class_falls_through ... ok [INFO] [stdout] test expand::glob::tests::multi_char_collating_element_in_bracket ... ok [INFO] [stdout] test expand::glob::tests::multi_char_collsym_dash_closer ... ok [INFO] [stdout] test expand::glob::tests::multi_char_collsym_range_both_endpoints ... ok [INFO] [stdout] test expand::glob::tests::multi_char_collsym_with_dash_falls_through ... ok [INFO] [stdout] test expand::glob::tests::next_char_end_mid_char_returns_none ... ok [INFO] [stdout] test expand::glob::tests::question_mark_c_vs_utf8 ... ok [INFO] [stdout] test expand::glob::tests::question_mark_mid_char_fallback ... ok [INFO] [stdout] test expand::glob::tests::range_with_hyphen_before_closer ... ok [INFO] [stdout] test expand::glob::tests::star_memchr_skip_misses_and_fails_fast ... ok [INFO] [stdout] test expand::glob::tests::star_with_meta_next_skips_memchr ... ok [INFO] [stdout] test expand::glob::tests::with_offsets_matches_top_level ... ok [INFO] [stdout] test expand::parameter::tests::braced_expansion_with_trailing_junk_errors ... ok [INFO] [stdout] test expand::model::tests::redirect_word_with_expanded_field_splitting ... ok [INFO] [stdout] test expand::model::tests::expands_here_documents_without_field_splitting ... ok [INFO] [stdout] test expand::parameter::tests::dollar_single_quote_ctrl_backslash_escape ... ok [INFO] [stdout] test expand::parameter::tests::dollar_single_quote_helpers_cover_escape_matrix ... ok [INFO] [stdout] test expand::parameter::tests::colon_equals_rejects_positional_parameter ... ok [INFO] [stdout] test expand::parameter::tests::colon_equals_rejects_special_parameter ... ok [INFO] [stdout] test expand::model::tests::field_and_pattern_helpers_cover_corner_cases ... ok [INFO] [stdout] test expand::parameter::tests::dollar_single_quote_trailing_ctrl_c ... ok [INFO] [stdout] test expand::parameter::tests::is_digit_for_base_covers_all_branches ... ok [INFO] [stdout] test expand::parameter::tests::lookup_param_cached_handles_zero_and_special_parameter ... ok [INFO] [stdout] test expand::parameter::tests::dollar_single_quote_trailing_backslash ... ok [INFO] [stdout] test expand::parameter::tests::nounset_option_rejects_length_and_pattern_expansions_of_unset_parameters ... ok [INFO] [stdout] test expand::parameter::tests::is_name_empty_input ... ok [INFO] [stdout] test expand::parameter::tests::parameter_text_assignment_paths_are_split_out ... ok [INFO] [stdout] test expand::parameter::tests::parameter_text_dollar_helpers_are_split_out ... ok [INFO] [stdout] test expand::parameter::tests::parameter_helpers_cover_more_edge_cases ... ok [INFO] [stdout] test expand::parameter::tests::parameter_text_expansion_avoids_command_substitution ... ok [INFO] [stdout] test expand::parameter::tests::parameter_text_question_propagates_word_expansion_error ... ok [INFO] [stdout] test expand::parameter::tests::parse_parameter_expression_accepts_multi_digit_positional ... ok [INFO] [stdout] test expand::parameter::tests::parameter_text_question_operator_paths_are_split_out ... ok [INFO] [stdout] test expand::parameter::tests::parameter_text_plus_and_pattern_paths_are_split_out ... ok [INFO] [stdout] test expand::parameter::tests::parse_variable_base_escape_hex_digit_conversion ... ok [INFO] [stdout] test expand::parameter::tests::remove_parameter_pattern_no_match_returns_value_unchanged ... ok [INFO] [stdout] test expand::parameter::tests::scan_to_closing_brace_crosses_nested_constructs ... ok [INFO] [stdout] test expand::parameter::tests::scan_to_closing_brace_error_on_unterminated ... ok [INFO] [stdout] test expand::pathname::tests::expands_text_without_field_splitting_or_pathname_expansion ... ok [INFO] [stdout] test expand::parameter::tests::scan_to_closing_brace_skips_backslash ... ok [INFO] [stdout] test expand::pathname::tests::default_pathname_context_trait_impl ... ok [INFO] [stdout] test expand::pathname::tests::lone_bracket_command_does_not_opendir ... ok [INFO] [stdout] test expand::pathname::tests::has_active_glob_meta_matches_posix_bracket_rules ... ok [INFO] [stdout] test expand::pathname::tests::redirect_word_no_pathname_expansion ... ok [INFO] [stdout] test expand::parameter::tests::tilde_expanded_in_braced_default_word ... ok [INFO] [stdout] test expand::word::tests::arithmetic_parser_covers_more_operators ... ok [INFO] [stdout] test expand::word::tests::declaration_assignment_fallback_for_non_assignment_word ... ok [INFO] [stdout] test expand::word::tests::declaration_assignment_value_error_returns_empty_buffer ... ok [INFO] [stdout] test expand::word::tests::drain_single_vec_via_assignment_star ... ok [INFO] [stdout] test expand::word::tests::expand_assignment_value_via_parts ... ok [INFO] [stdout] test expand::word::tests::expand_assignment_value_via_parts_with_at ... ok [INFO] [stdout] test expand::word::tests::expand_error_paths_return_empty_bytes_via_error_arms ... ok [INFO] [stdout] test expand::word::tests::expand_redirect_word_at_expansion_via_parts ... ok [INFO] [stdout] test expand::word::tests::expand_redirect_word_empty_quoted_via_parts ... ok [INFO] [stdout] test expand::word::tests::expand_redirect_word_static_expansion_via_parts ... ok [INFO] [stdout] test expand::word::tests::expand_redirect_word_via_parts ... ok [INFO] [stdout] test expand::word::tests::expand_redirect_word_via_parts_multiple_fields ... ok [INFO] [stdout] test expand::glob::tests::property_new_vs_reference_small_alphabet ... ok [INFO] [stdout] test expand::word::tests::expand_redirect_word_via_parts_static_expansion ... ok [INFO] [stdout] test expand::word::tests::expand_word_at_empty_in_braced_default ... ok [INFO] [stdout] test expand::word::tests::expand_word_parsed_tilde_home_empty ... ok [INFO] [stdout] test expand::word::tests::expand_word_text_via_parts ... ok [INFO] [stdout] test expand::word::tests::expand_words_into_skips_truly_empty_word ... ok [INFO] [stdout] test expand::word::tests::here_doc_backtick_substitution ... ok [INFO] [stdout] test expand::word::tests::here_document_expands_at_sign ... ok [INFO] [stdout] test expand::word::tests::lookup_param_covers_name_and_positional ... ok [INFO] [stdout] test expand::word::tests::here_document_with_at_expansion ... ok [INFO] [stdout] test hash::tests::deterministic_across_calls ... ok [INFO] [stdout] test hash::tests::bit_avalanche_single_flip_changes_many_bits ... ok [INFO] [stdout] test hash::tests::distinct_keys_give_distinct_hashes ... ok [INFO] [stdout] test expand::word::tests::fake_context_special_param_star_and_at ... ok [INFO] [stdout] test hash::tests::bucket_distribution_on_env_like_keys ... ok [INFO] [stdout] test expand::word::tests::expand_word_via_parts_tilde_home_empty ... ok [INFO] [stdout] test hash::tests::hasher_clone_preserves_state ... ok [INFO] [stdout] test hash::tests::integer_writes_reach_mixer ... ok [INFO] [stdout] test hash::tests::read_short_tail_lengths_distinct ... ok [INFO] [stdout] test hash::tests::shellmap_roundtrip ... ok [INFO] [stdout] test hash::tests::shellset_roundtrip ... ok [INFO] [stdout] test interactive::editor::bracketed_paste::tests::frame_detector_drain_recovers_pending_bytes ... ok [INFO] [stdout] test interactive::editor::bracketed_paste::tests::frame_detector_emits_literals_on_mismatch ... ok [INFO] [stdout] test interactive::editor::bracketed_paste::tests::frame_detector_recognizes_start_marker ... ok [INFO] [stdout] test interactive::editor::history_search::tests::empty_history_returns_none ... ok [INFO] [stdout] test interactive::editor::history_search::tests::find_prefix_forward ... ok [INFO] [stdout] test interactive::editor::history_search::tests::find_prefix_hits_backward ... ok [INFO] [stdout] test interactive::editor::history_search::tests::find_prefix_miss_returns_none ... ok [INFO] [stdout] test interactive::editor::history_search::tests::find_prefix_forward_miss_returns_none ... ok [INFO] [stdout] test interactive::editor::bracketed_paste::tests::frame_detector_ordinary_byte_is_literal ... ok [INFO] [stdout] test interactive::editor::bracketed_paste::tests::frame_detector_recognizes_end_marker ... ok [INFO] [stdout] test interactive::editor::history_search::tests::find_substring_empty_returns_none ... ok [INFO] [stdout] test interactive::editor::redraw::tests::column_math_ascii_c_locale ... ok [INFO] [stdout] test interactive::editor::redraw::tests::column_math_multibyte_utf8 ... ok [INFO] [stdout] test interactive::editor::redraw::tests::redraw_sequence_includes_cursor_back_only_when_needed ... ok [INFO] [stdout] test interactive::editor::history_search::tests::find_substring_hits_both_directions ... ok [INFO] [stdout] test interactive::editor::words::tests::next_word_boundary_whitespace_vs_alnum ... ok [INFO] [stdout] test interactive::editor::words::tests::next_word_boundary_alnum_c_locale ... ok [INFO] [stdout] test interactive::editor::words::tests::next_word_boundary_paired_locales_on_multibyte ... ok [INFO] [stdout] test interactive::editor::words::tests::prev_word_boundary_paired_locales_on_multibyte ... ok [INFO] [stdout] test interactive::editor::history_search::tests::find_substring_needle_longer_than_any_entry_returns_none ... ok [INFO] [stdout] test interactive::editor::redraw::tests::redraw_sequence_utf8_cursor_math ... ok [INFO] [stdout] test interactive::editor::redraw::tests::display_width_visible_skips_invisible_ranges ... ok [INFO] [stdout] test interactive::editor::words::tests::prev_word_boundary_alnum_c_locale ... ok [INFO] [stdout] test interactive::emacs_editing::completion_context::tests::backtick_inside_double_quote_pushes_cmd_sub_frame ... ok [INFO] [stdout] test interactive::emacs_editing::completion_context::tests::closed_double_quote_pops_back_to_unquoted ... ok [INFO] [stdout] test interactive::emacs_editing::completion_context::tests::cursor_before_end_respects_limit ... ok [INFO] [stdout] test interactive::emacs_editing::completion_context::tests::backtick_substitution_pushes_and_pops ... ok [INFO] [stdout] test interactive::emacs_editing::completion_context::tests::backslash_then_char_falls_back_to_normal ... ok [INFO] [stdout] test interactive::emacs_editing::completion_context::tests::dollar_in_double_quote_without_paren_stays_literal ... ok [INFO] [stdout] test interactive::emacs_editing::completion_context::tests::comment_ends_at_newline ... ok [INFO] [stdout] test interactive::emacs_editing::completion_context::tests::double_quote_escape_rules ... ok [INFO] [stdout] test interactive::emacs_editing::completion_context::tests::closed_single_quote_is_normal ... ok [INFO] [stdout] test interactive::emacs_editing::completion_context::tests::double_quote_wrapped_cmd_substitution_still_pushes_unquoted_inner ... ok [INFO] [stdout] test interactive::emacs_editing::completion_context::tests::cmd_substitution_unquoted_pushes_frame ... ok [INFO] [stdout] test interactive::emacs_editing::completion_context::tests::open_quote_pos_after_backslash_is_none ... ok [INFO] [stdout] test interactive::emacs_editing::completion_context::tests::empty_buffer_is_normal ... ok [INFO] [stdout] test interactive::emacs_editing::completion_context::tests::hash_mid_word_is_not_a_comment ... ok [INFO] [stdout] test interactive::emacs_editing::completion_context::tests::inside_unterminated_single_quote_suppresses ... ok [INFO] [stdout] test interactive::emacs_editing::completion_context::tests::inside_comment_at_token_start_suppresses ... ok [INFO] [stdout] test interactive::emacs_editing::completion_context::tests::nested_single_quote_inside_double_quote_cmd_substitution ... ok [INFO] [stdout] test interactive::emacs_editing::completion_context::tests::inside_unterminated_double_quote_tags_as_double ... ok [INFO] [stdout] test interactive::emacs_editing::completion_context::tests::open_quote_pos_double_quote_inside_cmd_sub ... ok [INFO] [stdout] test interactive::emacs_editing::completion_context::tests::open_quote_pos_closed_quote_clears ... ok [INFO] [stdout] test interactive::emacs_editing::completion_context::tests::open_quote_pos_single_quote_after_double_close ... ok [INFO] [stdout] test interactive::emacs_editing::completion_context::tests::plain_word_is_normal ... ok [INFO] [stdout] test interactive::emacs_editing::completion_context::tests::open_quote_pos_double_quote_returns_open_byte ... ok [INFO] [stdout] test interactive::emacs_editing::completion_context::tests::open_quote_pos_single_quote_returns_open_byte ... ok [INFO] [stdout] test interactive::emacs_editing::completion_context::tests::single_quote_inside_cmd_substitution_suppresses ... ok [INFO] [stdout] test interactive::emacs_editing::completion_context::tests::open_quote_pos_innermost_quote_wins ... ok [INFO] [stdout] test interactive::emacs_editing::completion_context::tests::single_quote_inside_double_quote_is_literal ... ok [INFO] [stdout] test interactive::emacs_editing::completion_quoting::tests::bsquote_alphanumerics_unchanged ... ok [INFO] [stdout] test interactive::emacs_editing::completion_quoting::tests::bsquote_dequote_empty_returns_empty ... ok [INFO] [stdout] test interactive::emacs_editing::completion_quoting::tests::bsquote_dequote_drops_trailing_backslash ... ok [INFO] [stdout] test interactive::emacs_editing::completion_context::tests::trailing_unquoted_backslash_suppresses ... ok [INFO] [stdout] test interactive::emacs_editing::completion_quoting::tests::bsquote_dequote_no_escapes_is_identity ... ok [INFO] [stdout] test interactive::emacs_editing::completion_context::tests::open_quote_pos_in_comment_is_none ... ok [INFO] [stdout] test interactive::emacs_editing::completion_context::tests::open_quote_pos_normal_is_none ... ok [INFO] [stdout] test interactive::emacs_editing::completion_quoting::tests::bsquote_dequote_strips_backslash_escaped_space ... ok [INFO] [stdout] test interactive::emacs_editing::completion_quoting::tests::bsquote_dequote_strips_double_backslash ... ok [INFO] [stdout] test interactive::emacs_editing::completion_quoting::tests::bsquote_dequote_strips_escaped_dollar ... ok [INFO] [stdout] test interactive::emacs_editing::completion_quoting::tests::bsquote_dequote_strips_escaped_quote ... ok [INFO] [stdout] test interactive::emacs_editing::completion_quoting::tests::bsquote_escapes_command_separators ... ok [INFO] [stdout] test interactive::emacs_editing::completion_quoting::tests::bsquote_escapes_dollar ... ok [INFO] [stdout] test interactive::emacs_editing::completion_quoting::tests::bsquote_escapes_glob_metacharacters ... ok [INFO] [stdout] test interactive::emacs_editing::completion_quoting::tests::bsquote_escapes_backtick_and_hash ... ok [INFO] [stdout] test interactive::emacs_editing::completion_quoting::tests::bsquote_escapes_leading_tilde ... ok [INFO] [stdout] test interactive::emacs_editing::completion_quoting::tests::bsquote_escapes_quotes_and_backslash ... ok [INFO] [stdout] test interactive::emacs_editing::completion_quoting::tests::bsquote_escapes_every_byte_in_quote_set ... ok [INFO] [stdout] test interactive::emacs_editing::completion_quoting::tests::bsquote_escapes_redirection_chars ... ok [INFO] [stdout] test interactive::emacs_editing::completion_quoting::tests::bsquote_escapes_space ... ok [INFO] [stdout] test interactive::emacs_editing::completion_quoting::tests::bsquote_leaves_safe_punctuation_alone ... ok [INFO] [stdout] test interactive::emacs_editing::completion_quoting::tests::dquote_escapes_dollar ... ok [INFO] [stdout] test interactive::emacs_editing::completion_quoting::tests::dquote_escapes_backtick ... ok [INFO] [stdout] test interactive::emacs_editing::completion_quoting::tests::dquote_escapes_double_quote_and_backslash ... ok [INFO] [stdout] test interactive::emacs_editing::completion_quoting::tests::dquote_leaves_single_quote_and_glob_chars_alone ... ok [INFO] [stdout] test interactive::emacs_editing::completion_quoting::tests::dquote_leaves_space_bare ... ok [INFO] [stdout] test interactive::emacs_editing::completion_quoting::tests::squote_encodes_consecutive_single_quotes_individually ... ok [INFO] [stdout] test interactive::emacs_editing::completion_quoting::tests::squote_handles_only_quote ... ok [INFO] [stdout] test interactive::emacs_editing::completion_quoting::tests::squote_encodes_embedded_single_quote_with_close_escape_reopen ... ok [INFO] [stdout] test interactive::emacs_editing::completion_quoting::tests::squote_leaves_double_quote_and_backslash_alone ... ok [INFO] [stdout] test interactive::emacs_editing::completion_quoting::tests::squote_leaves_dollar_alone ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::append_terminator_brace_variable_appends_close_brace_only ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::abort_without_composite_rings_bell ... ok [INFO] [stdout] test interactive::emacs_editing::completion_quoting::tests::squote_leaves_glob_metacharacters_alone ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::accept_line_sets_outcome_and_clears_undo ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::append_terminator_bsquote_non_dir_appends_only_space ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::append_terminator_squote_appends_close_quote_then_space ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::backward_kill_word_at_sol_is_noop ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::backward_char_at_sol_rings_bell ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::backward_kill_word_uses_alnum_boundary ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::apply_edit_and_execute_records_tmp_path ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::apply_edit_and_execute_handles_open_failure_gracefully ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::append_terminator_dquote_appends_close_quote_then_space ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::backward_delete_char_removes_previous ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::apply_reverse_search_is_noop_when_routed_through_apply ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::beginning_and_end_of_line ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::beginning_of_history_jumps_to_oldest ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::beginning_of_history_on_empty_history_is_noop ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::case_word_at_eol_is_noop ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::capitalize_word_title_cases_first_letter ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::command_candidates_includes_aliases_and_functions ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::command_candidates_skips_path_segment_with_embedded_nul ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::command_position_after_lt_blank_paren_remains_command ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::command_candidates_skips_path_segment_with_failing_readdir ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::command_position_after_lt_paren_only_when_procsub_on ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::command_position_after_lt_paren_with_blanks_inside ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::command_position_after_dollar_paren ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::command_position_after_open_paren ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::complete_path_candidates_returns_empty_when_dir_contains_nul ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::command_position_after_pipe_is_command ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::command_position_at_buffer_start ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::command_position_after_gt_paren_only_when_procsub_on ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::complete_path_candidates_skips_dot_and_dotdot ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::command_position_mid_argument_is_not_command ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::complete_path_candidates_returns_empty_on_readdir_error ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::delete_char_empty_signals_eof ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::downcase_word_lowercases_alnum_run ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::forward_char_at_eol_rings_bell ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::complete_path_candidates_skips_non_matching_entries ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::gather_candidates_brace_variable_wraps_match ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::gather_candidates_bare_tilde_with_home_returns_single_candidate ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::gather_candidates_bare_tilde_without_home_returns_empty_path_set ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::gather_candidates_dollar_variable_matches_exported_name ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::history_search_backward_finds_prefix_match ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::gather_candidates_tilde_user_form_without_slash_returns_empty ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::history_search_no_match_leaves_buffer_untouched ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::gather_candidates_tilde_slash_expands_against_home ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::history_search_backward_walks_to_next_match ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::history_search_empty_history_is_noop ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::is_dir_candidate_rejects_empty_and_slash_suffixed ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::kill_buffer_appends_on_consecutive_kill_functions ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::kill_line_at_eol_is_noop_without_undo_entry ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::kill_line_removes_tail_and_populates_kill_buffer ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::history_search_forward_from_beginning_finds_next_match ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::kill_word_and_yank ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::kill_word_at_eol_is_noop ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::last_word_of_with_trailing_whitespace_strips_it ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::list_candidates_empty_returns_without_syscalls ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::last_word_of_all_whitespace_returns_empty ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::longest_common_prefix_empty_input_is_none ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::longest_common_prefix_partial_overlap_is_returned ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::longest_common_prefix_no_overlap_is_none ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::non_kill_function_resets_kill_append ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::next_history_overshoot_rings_bell ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::previous_and_next_history_walk ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::previous_history_with_empty_history_rings_bell ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::self_insert_appends_bytes ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::quoted_insert_sets_outcome_flag ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::terminal_columns_falls_back_to_columns_env_var ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::run_bind_x_parses_readline_point_on_return ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::run_bind_x_updates_buffer_and_point_from_environment ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::run_bind_x_removes_env_vars_when_previously_unset ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::transpose_chars_at_sol_in_middle_of_buffer_rings_bell ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::terminal_columns_uses_tty_override_when_present ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::transpose_chars_in_middle_swaps_adjacent ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::run_bind_x_ignores_invalid_readline_point ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::transpose_chars_swaps_last_two_at_eol ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::transpose_chars_with_fewer_than_two_chars_rings_bell ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::unix_line_discard_at_sol_is_noop ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::transpose_words_with_cursor_past_ws_after_last_word_rings_bell ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::unix_word_rubout_is_whitespace_scoped ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::transpose_words_with_only_one_word_rings_bell ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::undo_reverses_self_insert_run ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::unix_word_rubout_in_whitespace_is_noop ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::transpose_words_with_cursor_in_word_swaps_surrounding_words ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::transpose_words_with_cursor_on_leading_ws_walks_forward_then_bells ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::upcase_word_uppercases_alnum_run ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::word_start_walks_back_across_escaped_space ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::word_start_handles_three_consecutive_backslashes_before_delim ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::word_start_stops_at_bare_space ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::word_start_treats_double_backslash_as_unescaped_delim ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::word_start_with_empty_buffer_returns_zero ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::yank_last_arg_exhausted_walk_rings_bell_and_preserves_state ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::yank_with_empty_kill_buffer_rings_bell ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::yank_last_arg_repeated_walks_older_history ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::word_start_walks_back_across_multiple_escaped_delims ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::yank_last_arg_with_empty_history_rings_bell ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::yank_last_arg_picks_last_whitespace_word ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::word_start_walks_across_escaped_quote ... ok [INFO] [stdout] test interactive::emacs_editing::functions::tests::word_start_at_buffer_start_returns_zero ... ok [INFO] [stdout] test interactive::emacs_editing::keymap::tests::dump_inputrc_round_trips_macro_binding ... ok [INFO] [stdout] test interactive::emacs_editing::keymap::tests::bind_macro_and_exec_shell ... ok [INFO] [stdout] test interactive::emacs_editing::keymap::tests::emacs_fn_name_round_trip ... ok [INFO] [stdout] test interactive::emacs_editing::keymap::tests::unbind_empty_keyseq_without_entry_returns_false ... ok [INFO] [stdout] test interactive::emacs_editing::keymap::tests::unbind_reports_missing ... ok [INFO] [stdout] test interactive::emacs_editing::keymap::tests::needs_more_for_proper_prefix ... ok [INFO] [stdout] test interactive::emacs_editing::kill_buffer::tests::backward_kills_prepend ... ok [INFO] [stdout] test interactive::emacs_editing::keymap::tests::unbound_for_leaf_without_entry ... ok [INFO] [stdout] test interactive::emacs_editing::kill_buffer::tests::forward_kills_append ... ok [INFO] [stdout] test interactive::emacs_editing::kill_buffer::tests::mixed_directions_after_mark_replace ... ok [INFO] [stdout] test interactive::emacs_editing::keymap::tests::arrow_sequence_needs_more_then_function ... ok [INFO] [stdout] test interactive::emacs_editing::keymap::tests::bind_ignores_empty_keyseq ... ok [INFO] [stdout] test interactive::emacs_editing::keymap::tests::bind_overrides_default ... ok [INFO] [stdout] test interactive::emacs_editing::keymap::tests::default_binds_c_a_to_beginning_of_line ... ok [INFO] [stdout] test interactive::emacs_editing::kill_buffer::tests::non_kill_marker_resets_append ... ok [INFO] [stdout] test interactive::emacs_editing::search::tests::backward_push_narrows_to_match ... ok [INFO] [stdout] test interactive::emacs_editing::kill_buffer::tests::replace_when_no_previous_kill ... ok [INFO] [stdout] test interactive::emacs_editing::search::tests::failing_when_no_match ... ok [INFO] [stdout] test interactive::emacs_editing::search::tests::ctrl_g_aborts ... ok [INFO] [stdout] test interactive::emacs_editing::search::tests::backspace_on_empty_pattern_is_noop ... ok [INFO] [stdout] test interactive::emacs_editing::search::tests::delete_widens_pattern ... ok [INFO] [stdout] test interactive::emacs_editing::search::tests::feed_backspace_via_del_clears_last_byte ... ok [INFO] [stdout] test interactive::emacs_editing::search::tests::feed_ctrl_s_flips_to_forward_repeat ... ok [INFO] [stdout] test interactive::emacs_editing::search::tests::feed_ctrl_r_repeats_backward ... ok [INFO] [stdout] test interactive::emacs_editing::search::tests::newline_accepts ... ok [INFO] [stdout] test interactive::emacs_editing::search::tests::other_key_exits_with_redispatch ... ok [INFO] [stdout] test interactive::emacs_editing::search::tests::repeat_advances_past_current_match ... ok [INFO] [stdout] test interactive::emacs_editing::search::tests::repeat_forward_advances_past_current_match ... ok [INFO] [stdout] test interactive::emacs_editing::state::tests::insert_bytes_at_cursor_with_empty_input_is_noop ... ok [INFO] [stdout] test interactive::emacs_editing::state::tests::insert_bytes_advances_cursor_and_records_undo ... ok [INFO] [stdout] test interactive::emacs_editing::tests::read_line_accepts_single_character_on_enter ... ok [INFO] [stdout] test interactive::emacs_editing::tests::read_line_ctrl_d_on_empty_line_returns_none ... ok [INFO] [stdout] test interactive::emacs_editing::state::tests::paste_group_collapses_into_single_insert ... ok [INFO] [stdout] test interactive::emacs_editing::tests::read_line_dispatches_macro_binding ... ok [INFO] [stdout] test interactive::emacs_editing::tests::read_line_eof_returns_none ... ok [INFO] [stdout] test interactive::emacs_editing::keymap::tests::dump_inputrc_round_trips_every_binding ... ok [INFO] [stdout] test interactive::emacs_editing::tests::read_line_forward_search_empty_aborts_and_returns_empty_line ... ok [INFO] [stdout] test interactive::emacs_editing::undo::tests::inserted_coalesces_adjacent_runs ... ok [INFO] [stdout] test interactive::emacs_editing::undo::tests::non_adjacent_inserts_push_new_entry ... ok [INFO] [stdout] test interactive::emacs_editing::undo::tests::record_insert_empty_is_noop ... ok [INFO] [stdout] test interactive::emacs_editing::undo::tests::undo_case_change_restores_prior_bytes ... ok [INFO] [stdout] test interactive::emacs_editing::undo::tests::undo_empty_returns_false ... ok [INFO] [stdout] test interactive::emacs_editing::undo::tests::undo_inserted_removes_span ... ok [INFO] [stdout] test interactive::emacs_editing::undo::tests::undo_killed_reinserts_bytes ... ok [INFO] [stdout] test interactive::emacs_editing::undo::tests::undo_paste_drains_inserted_bytes ... ok [INFO] [stdout] test interactive::emacs_editing::tests::read_line_runs_bound_shell_command ... ok [INFO] [stdout] test interactive::emacs_editing::undo::tests::undo_transpose_chars_restores_order ... ok [INFO] [stdout] test interactive::emacs_editing::undo::tests::undo_yanked_drains_span_and_resets_cursor ... ok [INFO] [stdout] test interactive::emacs_editing::undo::tests::undo_transpose_words_rebuilds_left_gap_right ... ok [INFO] [stdout] test interactive::history::tests::append_history_silently_ignores_open_error ... ok [INFO] [stdout] test interactive::emacs_editing::tests::read_line_macro_accepting_newline_returns_immediately ... ok [INFO] [stdout] test interactive::history::tests::append_history_writes_to_histfile ... ok [INFO] [stdout] test interactive::inputrc::conditional::tests::duplicate_else_on_else_inactive_frame ... ok [INFO] [stdout] test interactive::history::tests::append_history_uses_default_path_when_histfile_unset ... ok [INFO] [stdout] test interactive::emacs_editing::tests::read_line_reverse_search_exit_falls_through_when_redispatch_no_op ... ok [INFO] [stdout] test interactive::inputrc::conditional::tests::duplicate_else_is_diagnostic ... ok [INFO] [stdout] test interactive::inputrc::conditional::tests::else_flips_active_branch ... ok [INFO] [stdout] test interactive::inputrc::conditional::tests::else_without_if_is_diagnostic ... ok [INFO] [stdout] test interactive::inputrc::conditional::tests::endif_without_if_is_diagnostic ... ok [INFO] [stdout] test interactive::inputrc::conditional::tests::if_vi_inactive_in_emacs_mode ... ok [INFO] [stdout] test interactive::inputrc::conditional::tests::if_emacs_active_in_emacs_mode ... ok [INFO] [stdout] test interactive::inputrc::conditional::tests::include_with_tab_separator_returns_path ... ok [INFO] [stdout] test interactive::inputrc::conditional::tests::include_returns_path ... ok [INFO] [stdout] test interactive::inputrc::conditional::tests::term_exact_match ... ok [INFO] [stdout] test interactive::inputrc::conditional::tests::nested_if_under_inactive_parent_stays_inactive_silently ... ok [INFO] [stdout] test interactive::inputrc::conditional::tests::term_prefix_before_dash_matches ... ok [INFO] [stdout] test interactive::inputrc::conditional::tests::term_mismatch_is_silent_and_inactive ... ok [INFO] [stdout] test interactive::inputrc::conditional::tests::term_unset_never_matches ... ok [INFO] [stdout] test interactive::emacs_editing::tests::read_line_rings_bell_for_unbound_multibyte_sequence ... ok [INFO] [stdout] test interactive::emacs_editing::tests::read_line_reverse_search_exits_on_redispatched_accept_line ... ok [INFO] [stdout] test interactive::inputrc::conditional::tests::trim_ws_strips_leading_and_trailing_whitespace_on_if_test ... ok [INFO] [stdout] test interactive::emacs_editing::tests::read_line_forward_search_fails_then_eofs_inside_search ... ok [INFO] [stdout] test interactive::inputrc::conditional::tests::unknown_test_diagnosed_and_inactive ... ok [INFO] [stdout] test interactive::inputrc::editline::tests::decode_keyseq_control_notation ... ok [INFO] [stdout] test interactive::inputrc::conditional::tests::unknown_directive_is_not_recognized ... ok [INFO] [stdout] test interactive::inputrc::editline::tests::decode_keyseq_rejects_empty ... ok [INFO] [stdout] test interactive::inputrc::editline::tests::decode_keyseq_backslash_escapes ... ok [INFO] [stdout] test interactive::inputrc::editline::tests::decode_keyseq_dangling_backslash_errors ... ok [INFO] [stdout] test interactive::inputrc::editline::tests::decode_keyseq_dangling_caret_errors ... ok [INFO] [stdout] test interactive::inputrc::editline::tests::decode_keyseq_tolerates_embedded_double_quotes ... ok [INFO] [stdout] test interactive::inputrc::editline::tests::decode_keyseq_literal_bytes_pass_through ... ok [INFO] [stdout] test interactive::inputrc::editline::tests::translate_readline_native_name_accepted ... ok [INFO] [stdout] test interactive::inputrc::editline::tests::translate_every_mapped_name ... ok [INFO] [stdout] test interactive::inputrc::editline::tests::decode_keyseq_mixed_control_and_backslash ... ok [INFO] [stdout] test interactive::inputrc::editline::tests::translate_unknown_name_is_distinct_from_unsupported ... ok [INFO] [stdout] test interactive::inputrc::escape::tests::dangling_backslash_is_error ... ok [INFO] [stdout] test interactive::inputrc::editline::tests::translate_unsupported_family ... ok [INFO] [stdout] test interactive::inputrc::escape::tests::control_missing_dash_is_error ... ok [INFO] [stdout] test interactive::inputrc::escape::tests::decode_basic_escapes ... ok [INFO] [stdout] test interactive::inputrc::escape::tests::control_without_target_is_error ... ok [INFO] [stdout] test interactive::inputrc::escape::tests::control_wraps_multibyte_inner_escape ... ok [INFO] [stdout] test interactive::inputrc::escape::tests::decode_hex_and_octal ... ok [INFO] [stdout] test interactive::inputrc::escape::tests::decode_keyname_control_meta ... ok [INFO] [stdout] test interactive::inputrc::escape::tests::empty_hex_escape_is_error ... ok [INFO] [stdout] test interactive::inputrc::escape::tests::decode_nested_c_m ... ok [INFO] [stdout] test interactive::inputrc::escape::tests::every_simple_escape_letter_decodes ... ok [INFO] [stdout] test interactive::inputrc::escape::tests::hex_escape_accepts_lowercase_and_uppercase ... ok [INFO] [stdout] test interactive::inputrc::escape::tests::meta_without_target_is_error ... ok [INFO] [stdout] test interactive::inputrc::escape::tests::octal_out_of_range_is_error ... ok [INFO] [stdout] test interactive::inputrc::escape::tests::meta_missing_dash_is_error ... ok [INFO] [stdout] test interactive::inputrc::escape::tests::unknown_keyname_token_is_error ... ok [INFO] [stdout] test interactive::inputrc::escape::tests::keyname_m_prefix_distinct_from_meta_prefix ... ok [INFO] [stdout] test interactive::inputrc::include::tests::relative_path_joined_to_dir ... ok [INFO] [stdout] test interactive::inputrc::escape::tests::unterminated_string_is_error ... ok [INFO] [stdout] test interactive::inputrc::include::tests::absolute_path_kept_verbatim ... ok [INFO] [stdout] test interactive::inputrc::include::tests::include_guard_blocks_recursion ... ok [INFO] [stdout] test interactive::inputrc::include::tests::relative_path_with_no_dir_in_including_file_uses_dot_slash ... ok [INFO] [stdout] test interactive::inputrc::escape::tests::unknown_escape_is_error ... ok [INFO] [stdout] test interactive::inputrc::io_tests::cannot_open_path_reports_diagnostic ... ok [INFO] [stdout] test interactive::inputrc::io_tests::ensure_startup_loaded_appends_slash_to_bare_home ... ok [INFO] [stdout] test interactive::inputrc::io_tests::ensure_startup_loaded_skips_empty_inputrc_and_falls_back_to_home ... ok [INFO] [stdout] test interactive::inputrc::keybind::tests::empty_left_hand_side_rejected ... ok [INFO] [stdout] test interactive::inputrc::keybind::tests::leading_and_trailing_whitespace_stripped_from_rhs ... ok [INFO] [stdout] test interactive::inputrc::keybind::tests::keyname_form_maps_to_function ... ok [INFO] [stdout] test interactive::inputrc::io_tests::ensure_startup_loaded_uses_etc_inputrc_when_user_file_missing ... ok [INFO] [stdout] test interactive::inputrc::io_tests::ensure_startup_loaded_loads_inputrc_env_var ... ok [INFO] [stdout] test interactive::inputrc::keybind::tests::macro_rhs_parsed_as_bytes ... ok [INFO] [stdout] test interactive::inputrc::io_tests::unterminated_if_block_through_load_from_path_reports_diagnostic ... ok [INFO] [stdout] test interactive::inputrc::keybind::tests::missing_colon_rejected ... ok [INFO] [stdout] test interactive::inputrc::keybind::tests::quoted_form_maps_to_function ... ok [INFO] [stdout] test interactive::inputrc::keybind::tests::trailing_junk_after_quoted_macro_rejected ... ok [INFO] [stdout] test interactive::inputrc::keybind::tests::unknown_function_rejected ... ok [INFO] [stdout] test interactive::inputrc::tests::apply_line_unknown_var_diagnoses ... ok [INFO] [stdout] test interactive::inputrc::tests::apply_line_binds_function_form ... ok [INFO] [stdout] test interactive::inputrc::tests::apply_line_set_known_bool ... ok [INFO] [stdout] test interactive::inputrc::tests::comment_and_blank_lines_are_ignored ... ok [INFO] [stdout] test interactive::inputrc::tests::apply_line_include_without_host_is_diagnostic ... ok [INFO] [stdout] test interactive::inputrc::tests::if_mode_vi_skips_emacs_branch ... ok [INFO] [stdout] test interactive::inputrc::tests::macro_binding_is_installed ... ok [INFO] [stdout] test interactive::inputrc::tests::if_mode_emacs_applies_and_vi_block_skipped ... ok [INFO] [stdout] test interactive::inputrc::tests::rebind_overrides_previous_binding ... ok [INFO] [stdout] test interactive::inputrc::tests::unknown_directive_is_diagnosed ... ok [INFO] [stdout] test interactive::inputrc::tests::macro_entry_wraps_bytes_in_keymap_entry ... ok [INFO] [stdout] test interactive::inputrc::tests::include_inside_inactive_if_is_silently_skipped ... ok [INFO] [stdout] test interactive::inputrc::keybind::tests::trailing_junk_after_quoted_lhs_rejected ... ok [INFO] [stdout] test interactive::inputrc::tests::unknown_variable_does_not_halt_parser ... ok [INFO] [stdout] test interactive::inputrc::tests::set_with_tab_separator_is_accepted ... ok [INFO] [stdout] test interactive::inputrc::vars::tests::bell_style_enum ... ok [INFO] [stdout] test interactive::inputrc::vars::tests::bell_style_invalid_value_is_error ... ok [INFO] [stdout] test interactive::inputrc::vars::tests::bracketed_paste_colored_stats_symlink_marks_toggle ... ok [INFO] [stdout] test interactive::inputrc::tests::unterminated_if_block_reports_diagnostic ... ok [INFO] [stdout] test interactive::inputrc::vars::tests::bell_style_audible_and_visible_values ... ok [INFO] [stdout] test interactive::inputrc::vars::tests::comment_begin_takes_literal_string ... ok [INFO] [stdout] test interactive::inputrc::tests::trim_whitespace_strips_both_sides ... ok [INFO] [stdout] test interactive::inputrc::vars::tests::bool_values_accepted ... ok [INFO] [stdout] test interactive::inputrc::vars::tests::empty_name_is_error ... ok [INFO] [stdout] test interactive::inputrc::vars::tests::editing_mode_vi_value_and_invalid_value ... ok [INFO] [stdout] test interactive::inputrc::vars::tests::input_meta_and_meta_flag_accepted ... ok [INFO] [stdout] test interactive::inputrc::vars::tests::integer_value_parsed ... ok [INFO] [stdout] test interactive::inputrc::vars::tests::set_u32_rejects_non_utf8_and_non_numeric ... ok [INFO] [stdout] test interactive::inputrc::vars::tests::output_meta_accepted ... ok [INFO] [stdout] test interactive::inputrc::vars::tests::set_bool_false_variants_and_invalid_value ... ok [INFO] [stdout] test interactive::inputrc::vars::tests::show_all_variables_toggle ... ok [INFO] [stdout] test interactive::inputrc::vars::tests::trailing_whitespace_in_value_is_trimmed ... ok [INFO] [stdout] test interactive::inputrc::vars::tests::unknown_variable_returns_error ... ok [INFO] [stdout] test interactive::mail::tests::check_mail_noop_when_no_mail_set ... ok [INFO] [stdout] test interactive::mail::tests::check_mail_respects_interval ... ok [INFO] [stdout] test interactive::mail::tests::check_mail_detects_new_mail ... ok [INFO] [stdout] test interactive::inputrc::vars::tests::variable_with_no_value_falls_through_to_typed_error ... ok [INFO] [stdout] test interactive::mail::tests::check_mail_skips_empty_path ... ok [INFO] [stdout] test interactive::mail::tests::command_is_fc_tests ... ok [INFO] [stdout] test interactive::notify::tests::done_zero_status_renders_done_no_status_suffix ... ok [INFO] [stdout] test interactive::mail::tests::check_mail_with_mailpath_and_custom_message ... ok [INFO] [stdout] test interactive::notify::tests::signaled_renders_signal_name ... ok [INFO] [stdout] test interactive::notify::tests::stopped_renders_signal_name ... ok [INFO] [stdout] test interactive::notify::tests::drain_writes_in_fifo_order_and_clears_queue ... ok [INFO] [stdout] test interactive::prompt::tests::build_prompt_env_falls_back_to_getcwd_when_pwd_unset ... ok [INFO] [stdout] test interactive::prompt::tests::expand_full_prompt_bash_mode_runs_all_three_passes ... ok [INFO] [stdout] test interactive::prompt::tests::expand_full_prompt_default_ps1_in_bash_mode_is_caller_default ... ok [INFO] [stdout] test interactive::prompt::tests::expand_full_prompt_default_ps1_in_posix_mode_is_caller_default ... ok [INFO] [stdout] test interactive::prompt::tests::expand_full_prompt_posix_mode_runs_history_pass_only ... ok [INFO] [stdout] test interactive::prompt::tests::expand_full_prompt_posix_mode_double_bang_emits_single_bang ... ok [INFO] [stdout] test interactive::prompt::tests::expand_full_prompt_ps3_skips_escape_pass_even_in_bash_mode ... ok [INFO] [stdout] test interactive::prompt::tests::expand_full_prompt_reruns_parameter_pass_each_call ... ok [INFO] [stdout] test interactive::prompt::tests::expand_prompt_exclamation_covers_all_branches ... ok [INFO] [stdout] test interactive::prompt::tests::expand_full_prompt_ps4_does_not_run_history_pass ... ok [INFO] [stdout] test interactive::prompt::tests::history_pass_does_not_scan_plain_digits ... ok [INFO] [stdout] test interactive::prompt::tests::history_pass_scans_bang_irrespective_of_origin ... ok [INFO] [stdout] test interactive::prompt::tests::read_line_propagates_non_eintr_error ... ok [INFO] [stdout] test interactive::prompt::tests::prompt_prefers_ps1 ... ok [INFO] [stdout] test interactive::prompt::tests::read_line_returns_empty_on_eintr ... ok [INFO] [stdout] test interactive::prompt_expand::tests::backslash_d_renders_date_shorthand ... ok [INFO] [stdout] test interactive::prompt_expand::tests::c_escapes_render_control_bytes ... ok [INFO] [stdout] test interactive::prompt_expand::tests::cwd_missing_yields_question_mark ... ok [INFO] [stdout] test interactive::prompt_expand::tests::d_empty_format_defaults_to_locale_time ... ok [INFO] [stdout] test interactive::prompt_expand::tests::d_format_output_capped_at_256_bytes ... ok [INFO] [stdout] test interactive::prompt_expand::tests::d_literal_format_renders ... ok [INFO] [stdout] test interactive::prompt_expand::tests::d_unterminated_emits_verbatim ... ok [INFO] [stdout] test interactive::prompt_expand::tests::dollar_escape_reflects_euid ... ok [INFO] [stdout] test interactive::prompt_expand::tests::empty_invisible_region_produces_no_range ... ok [INFO] [stdout] test interactive::prompt_expand::tests::empty_hostname_renders_question_mark ... ok [INFO] [stdout] test interactive::prompt_expand::tests::d_escape_without_brace_falls_through_as_literal ... ok [INFO] [stdout] test interactive::prompt_expand::tests::empty_cwd_renders_as_question_mark ... ok [INFO] [stdout] test interactive::prompt_expand::tests::fourth_octal_digit_starts_fresh_literal_run ... ok [INFO] [stdout] test interactive::prompt_expand::tests::host_falls_back_to_question_mark_when_missing ... ok [INFO] [stdout] test interactive::prompt_expand::tests::job_count_and_counter ... ok [INFO] [stdout] test interactive::prompt_expand::tests::job_count_zero_emits_literal_zero ... ok [INFO] [stdout] test interactive::prompt_expand::tests::invisible_region_records_byte_range ... ok [INFO] [stdout] test interactive::prompt_expand::tests::octal_escape_nul_byte ... ok [INFO] [stdout] test interactive::prompt_expand::tests::nested_open_bracket_is_literal ... ok [INFO] [stdout] test interactive::prompt_expand::tests::octal_escape_at_end_of_input_stops_short ... ok [INFO] [stdout] test interactive::prompt_expand::tests::octal_stops_at_non_octal_digit ... ok [INFO] [stdout] test interactive::prompt_expand::tests::octal_value_above_0o377_keeps_low_eight_bits ... ok [INFO] [stdout] test interactive::prompt_expand::tests::plain_text_passes_through ... ok [INFO] [stdout] test interactive::prompt_expand::tests::session_counter_starts_at_one ... ok [INFO] [stdout] test interactive::prompt_expand::tests::shell_name_is_basename_of_argv0 ... ok [INFO] [stdout] test interactive::prompt_expand::tests::octal_escapes_up_to_three_digits ... ok [INFO] [stdout] test interactive::prompt_expand::tests::shell_name_with_trailing_slash_emits_empty ... ok [INFO] [stdout] test interactive::prompt_expand::tests::tty_basename_is_rendered_when_set ... ok [INFO] [stdout] test interactive::prompt_expand::tests::short_host_with_no_dot_is_emitted_in_full ... ok [INFO] [stdout] test interactive::prompt_expand::tests::time_short_escapes_use_strftime ... ok [INFO] [stdout] test interactive::prompt_expand::tests::trailing_backslash_is_literal ... ok [INFO] [stdout] test interactive::prompt_expand::tests::tty_falls_back_to_tty_literal ... ok [INFO] [stdout] test interactive::prompt_expand::tests::two_invisible_regions_produce_non_overlapping_sorted_ranges ... ok [INFO] [stdout] test interactive::prompt_expand::tests::unknown_escape_is_emitted_as_two_bytes ... ok [INFO] [stdout] test interactive::prompt_expand::tests::unmatched_open_bracket_extends_to_end ... ok [INFO] [stdout] test interactive::prompt_expand::tests::unmatched_close_bracket_is_dropped ... ok [INFO] [stdout] test interactive::prompt_expand::tests::user_empty_falls_back_to_question_mark ... ok [INFO] [stdout] test interactive::prompt_expand::tests::user_falls_back_to_question_mark_when_missing ... ok [INFO] [stdout] test interactive::prompt_expand::tests::user_hostname_and_full_hostname_escapes ... ok [INFO] [stdout] test interactive::prompt_expand::tests::w_renders_no_slash_basename ... ok [INFO] [stdout] test interactive::prompt_expand::tests::w_with_empty_home_emits_absolute_path ... ok [INFO] [stdout] test interactive::prompt_expand::tests::w_renders_basename_trailing_slash_case ... ok [INFO] [stdout] test interactive::prompt_expand::tests::version_escapes_independent_of_shell_name ... ok [INFO] [stdout] test interactive::prompt_expand::tests::w_without_home_emits_absolute_path ... ok [INFO] [stdout] test interactive::prompt_expand::tests::version_escapes ... ok [INFO] [stdout] test interactive::prompt_expand::tests::w_and_big_w_collapse_home ... ok [INFO] [stdout] test interactive::prompt_expand::tests::w_does_not_collapse_non_proper_home_prefix ... ok [INFO] [stdout] test interactive::repl::tests::run_loop_exit_trap_on_sigint_stops_shell ... ok [INFO] [stdout] test interactive::repl::tests::run_loop_command_not_found_sets_status_127_and_continues ... ok [INFO] [stdout] test interactive::repl::tests::run_loop_exits_cleanly_on_eof ... ok [INFO] [stdout] test interactive::repl::tests::run_loop_covers_reaped_jobs_blank_lines_and_exit ... ok [INFO] [stdout] test interactive::repl::tests::run_loop_handles_sigint_by_redisplaying_prompt ... ok [INFO] [stdout] test interactive::repl::tests::run_loop_installs_sigchld_once_and_does_not_toggle_on_set_b ... ok [INFO] [stdout] test interactive::repl::tests::run_loop_prints_stopped_and_running_reap_notifications ... ok [INFO] [stdout] test interactive::repl::tests::run_loop_exits_on_immediate_eof ... ok [INFO] [stdout] test interactive::repl::tests::run_loop_fires_trap_on_sigint_at_prompt ... ok [INFO] [stdout] test interactive::repl::tests::run_loop_propagates_prompt_write_error ... ok [INFO] [stdout] test interactive::repl::tests::run_loop_retries_prompt_write_on_eintr ... ok [INFO] [stdout] test interactive::repl::tests::run_loop_signaled_and_done_nonzero_notifications ... ok [INFO] [stdout] test interactive::startup::tests::env_file_expands_parameters ... ok [INFO] [stdout] test interactive::repl::tests::run_loop_syntax_error_prints_error_and_continues ... ok [INFO] [stdout] test interactive::repl::tests::run_loop_recovers_from_parse_error ... ok [INFO] [stdout] test interactive::repl::tests::run_loop_vi_mode_exits_on_eof ... ok [INFO] [stdout] test interactive::startup::tests::env_file_skipped_when_relative ... ok [INFO] [stdout] test interactive::startup::tests::home_profile_does_not_duplicate_trailing_slash ... ok [INFO] [stdout] test interactive::startup::tests::env_file_sourced_when_absolute_and_present ... ok [INFO] [stdout] test interactive::startup::tests::etc_profile_can_set_env_for_later_expansion ... ok [INFO] [stdout] test interactive::startup::tests::env_variable_unset_is_a_no_op ... ok [INFO] [stdout] test interactive::startup::tests::home_profile_skipped_when_home_empty ... ok [INFO] [stdout] test interactive::startup::tests::home_profile_skipped_when_home_relative ... ok [INFO] [stdout] test interactive::startup::tests::preserves_user_ps1_when_already_set ... ok [INFO] [stdout] test interactive::startup::tests::home_profile_appends_slash_when_home_has_no_trailing_slash ... ok [INFO] [stdout] test interactive::startup::tests::seeds_default_ps1_when_unset_and_non_root ... ok [INFO] [stdout] test interactive::startup::tests::home_profile_skipped_when_home_unset ... ok [INFO] [stdout] test interactive::startup::tests::env_file_skipped_when_absolute_but_missing ... ok [INFO] [stdout] test interactive::startup::tests::seeds_ps1_even_when_startup_files_are_skipped ... ok [INFO] [stdout] test interactive::startup::tests::seeds_default_ps1_when_unset_and_root ... ok [INFO] [stdout] test interactive::startup::tests::skip_env_var_bypasses_all_files_but_keeps_marker ... ok [INFO] [stdout] test interactive::startup::tests::skip_env_var_only_honors_exact_value_one ... ok [INFO] [stdout] test interactive::startup::tests::source_error_propagates ... ok [INFO] [stdout] test interactive::startup::tests::sets_meiksh_version_marker_before_sourcing ... ok [INFO] [stdout] test interactive::startup::tests::setuid_guard_skips_all_files_but_keeps_marker ... ok [INFO] [stdout] test interactive::startup::tests::sources_all_three_files_in_order ... ok [INFO] [stdout] test interactive::startup::tests::sources_home_profile_when_present ... ok [INFO] [stdout] test interactive::startup::tests::sources_etc_profile_when_present ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_read_line_bell_and_redraw ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_read_line_eof_with_nonempty_continues ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_read_line_count_digit_triggers_readbyte ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_read_line_eof_returns_none ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_read_line_erase_char_fallback ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_read_line_find_triggers_need_find_target ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_read_line_insert_mode_change ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_read_line_redraw_on_motion ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_read_line_tcgetattr_error_falls_back ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::bigword_end_at_end ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::bigword_forward_and_backward ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::bigword_forward_multibyte ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::char_len_at_past_end_returns_zero ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::delete_d_motion_on_whole_line ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::delete_motion_empties_line ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::do_find_all_directions ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::do_find_multibyte_target ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::do_find_skips_continuation_bytes ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_read_line_read_error_propagates ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::do_find_t_multibyte ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::dot_repeat_delete_empties_line ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_read_line_v_command_empty_file_redraws ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::expected_utf8_len_branches ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_read_line_returns_line_on_enter ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_read_line_v_command_runs_editor ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::find_char_with_multibyte_collects_bytes ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_read_line_v_command_whitespace_only_redraws ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::glob_expand_no_match_returns_err ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::glob_expand_marks_directories_with_trailing_slash ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::glob_expand_nomatch_returns_err ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::glob_expand_null_byte_returns_err ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_read_line_redraw_covers_full_redraw ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::glob_expand_error_returns_err ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::glob_expand_with_mocked_files ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::is_word_char_tests ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::glob_expand_literal_nonexistent_pattern_returns_err ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::last_char_start_multibyte ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::pipe_column_motion_clamps_to_last_char ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::pipe_on_empty_line ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::prev_char_start_at_zero ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::put_p_on_empty_line ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::replace_char_multibyte_collects_bytes ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::replace_char_invalid_multibyte_uses_first_byte ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::replace_char_nul_uses_fallback ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::replace_char_with_invalid_byte ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::replay_cmd_X_multibyte ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::replay_cmd_c_cc_and_motion ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::replay_cmd_c_with_cc ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::replay_cmd_c_no_arg ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::replay_cmd_d_with_dd ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::replay_cmd_c_with_motion ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::replay_cmd_d_and_c_with_motion ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::replay_cmd_d_dd_and_motion ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::replay_cmd_d_motion_on_empty_line ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::replay_cmd_d_with_motion ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::replay_cmd_d_no_arg ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::replay_cmd_r_multibyte ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::replay_cmd_r_no_arg ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::replay_cmd_r ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::replay_cmd_r_cursor_past_end ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::replay_cmd_r_with_count ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::replay_cmd_r_past_end ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::replay_cmd_unknown_is_noop ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::replay_cmd_x_and_X ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::replay_cmd_x_cursor_adjusts ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::replay_cmd_x_multibyte ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::resolve_motion_covers_all_motions ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::resolve_motion_e_multibyte ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::resolve_motion_h_and_l ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::resolve_motion_h_multibyte ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::resolve_motion_l_multibyte ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::search_backward_on_empty_hist_entry ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::tilde_at_end_of_line_stops ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::tilde_non_alpha_at_end_stops ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::tilde_on_non_alpha_advances_cursor ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_B_at_start_bells ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_D_on_empty_line ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_D_on_empty ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_G_default_goes_to_oldest ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_D_multibyte_end ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::undo_on_empty_edit_line ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_G_with_count ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_G_with_explicit_count ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_G_without_count_with_history ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_G_without_count_no_history ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_P_empty_yank_buf ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_G_with_empty_history_line ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_U_without_history_clears_line ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_W_empty_line_truly_stuck ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_X_at_start_bells ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_W_at_end_no_move ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_X_deletes_multibyte_char_before ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_a_appends_after_multibyte ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_b_at_start_bells ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_backslash_dir_appends_slash ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_backslash_ambiguous_bells ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_backslash_glob_nomatch_no_change ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_comma_bell_when_not_found ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_comma_reverse_find ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_backslash_unique_completion ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_comma_reverses_find_direction ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_comma_with_t_and_T_directions ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_comma_with_invalid_last_find_cmd ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_0_dollar ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_comma_no_last_find ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_C_change_to_end ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_D_delete_to_end ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_G_goes_to_oldest ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_R_enter_returns ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_R_replace_mode ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_W_B_motion ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_U_undoes_all ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_S_substitute_line ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_Y_yank_to_end ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_a_A_i_I_enter_insert ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_X_delete_before ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_c_change ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_caret ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_count_prefix ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_cc_clears_line ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_d_with_invalid_motion_bells ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_d_with_motion ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_dd_clears_line ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_dot_repeat ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_enter_in_command_mode ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_e_E_motion ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_find_f_F_t_T ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_h_l_motion ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_hash_comments_out ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_minus_navigates_history ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_n_N_repeat_search ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_numbered_G ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_history_k_j ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_numbered_G_empty_history ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_p_P_put ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_plus_navigates_forward ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_r_replace ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_pipe ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_r_with_count ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_search_backspace ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_search_forward ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_sigint_in_command_mode ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_search_not_found_bells ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_semicolon_comma_repeat_find ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_search_backward ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_unknown_bells ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_tilde_toggle_case ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_u_undo ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_v_returns_run_editor_action ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_x_delete ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_y_yank ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_yy_yanks_line ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_count_digits_continuation ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_count_zero_normalization ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_dollar_on_multibyte_end ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_dot_no_last_cmd ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_dl_multibyte ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_command_w_b_motion ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_dot_with_explicit_count ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_esc_to_command_mode ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_dw_multibyte ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_find_not_found_bells ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_h_at_beginning_bells ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_insert_mode_backspace_erases ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_insert_mode_ctrl_c_returns_empty ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_insert_mode_ctrl_v_inserts_literal ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_insert_mode_ctrl_w_deletes_word ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_insert_mode_enter_returns_line ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_j_with_no_history_bells ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_insert_not_at_end_redraws ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_insert_mode_eof_returns_none ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_k_with_empty_history_line ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_l_at_end_bells ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_p_P_empty_yank_no_redraw ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_p_after_multibyte ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_p_empty_yank_buf ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_r_replace_at_end_of_line ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_replace_char_past_end ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_r_replaces_multibyte ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_process_motion_unknown_op_noop ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_k_with_no_history_bells ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_replace_mode_past_end ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_replace_mode_esc_adjusts_cursor ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_replace_with_count ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_pipe_column_multibyte ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_search_backspace_multibyte ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_search_backward_finds_match ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_search_backward_not_found ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_search_backward_not_found_bells ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_search_default_direction_noop ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_search_forward_edit_line_save ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_search_forward_break_and_edit_line ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_search_forward_idx_break ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_search_forward_not_found ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_semicolon_bell_on_not_found ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_search_forward_finds_match ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_semicolon_no_last_find ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_search_forward_from_oldest_wraps ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_search_forward_idx_wraps ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_star_glob_nomatch_leaves_line ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_tilde_at_end_break ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_semicolon_with_last_find_on_end ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_star_glob_expand ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_star_with_explicit_glob_chars ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_tilde_on_empty_line ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_tilde_count_overflow ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_w_at_end_no_move ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_w_empty_line_truly_stuck ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_x_past_end ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_x_deletes_multibyte_char ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::vi_w_truly_stuck_no_movement ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::word_backward_covers_all_branches ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::word_end_multibyte ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::w_W_on_empty_line_bells ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::word_end_punctuation_class ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::word_backward_multibyte ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::word_forward_multibyte ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::word_forward_multibyte_punct ... ok [INFO] [stdout] test shell::env::tests::add_history_skips_empty_and_respects_histsize ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::word_forward_covers_all_branches ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::word_backward_skips_punctuation_class ... ok [INFO] [stdout] test interactive::vi_editing::tests::vi_tests::word_end_and_bigword_end ... ok [INFO] [stdout] test shell::env::tests::env_for_child_filters_exported_values ... ok [INFO] [stdout] test shell::env::tests::env_for_exec_utility_overlays_and_appends ... ok [INFO] [stdout] test shell::env::tests::export_without_value_marks_variable_exported ... ok [INFO] [stdout] test shell::env::tests::readonly_variables_reject_mutation_and_unset ... ok [INFO] [stdout] test shell::env::tests::set_var_fills_previously_marked_empty_slot ... ok [INFO] [stdout] test shell::env::tests::set_var_grows_slot_vector_when_shrunk ... ok [INFO] [stdout] test shell::env::tests::export_var_error_on_readonly ... ok [INFO] [stdout] test shell::error::tests::shell_error_message_bytes_and_exit_status ... ok [INFO] [stdout] test shell::error::tests::shell_error_status_helpers_work ... ok [INFO] [stdout] test shell::error::tests::shell_error_converts_from_parse_and_expand_errors ... ok [INFO] [stdout] test shell::expand_context::tests::context_trait_methods_work ... ok [INFO] [stdout] test shell::expand_context::tests::dollar_hyphen_excludes_i_when_not_interactive ... ok [INFO] [stdout] test shell::expand_context::tests::dollar_hyphen_includes_i_when_interactive ... ok [INFO] [stdout] test shell::expand_context::tests::special_parameters_reflect_shell_state ... ok [INFO] [stdout] test shell::expand_context::tests::command_substitute_sets_last_status_on_nonzero_exit ... ok [INFO] [stdout] test shell::expand_context::tests::command_substitute_maps_error ... ok [INFO] [stdout] test shell::jobs::tests::continue_job_errors_when_job_missing ... ok [INFO] [stdout] test shell::jobs::tests::continue_job_foreground_with_owns_terminal ... ok [INFO] [stdout] test shell::jobs::tests::continue_job_no_pgid_sends_sigcont_to_each_child ... ok [INFO] [stdout] test shell::expand_context::tests::command_substitute_success ... ok [INFO] [stdout] test shell::jobs::tests::continue_job_sends_sigcont_to_process_group ... ok [INFO] [stdout] test shell::jobs::tests::find_job_by_prefix_and_substring ... ok [INFO] [stdout] test shell::jobs::tests::foreground_handoff_not_interactive_returns_none ... ok [INFO] [stdout] test shell::jobs::tests::foreground_handoff_returns_none_when_tcgetpgrp_fails ... ok [INFO] [stdout] test shell::jobs::tests::foreground_handoff_switches_terminal_process_group ... ok [INFO] [stdout] test shell::jobs::tests::foreground_handoff_with_owns_terminal ... ok [INFO] [stdout] test shell::jobs::tests::known_job_status_fast_path_avoids_syscalls ... ok [INFO] [stdout] test shell::jobs::tests::known_job_statuses_shortcut_in_wait_for_job ... ok [INFO] [stdout] test shell::jobs::tests::launch_and_wait_for_background_job_updates_state ... ok [INFO] [stdout] test shell::jobs::tests::previous_job_id_with_two_stopped_jobs ... ok [INFO] [stdout] test shell::jobs::tests::print_jobs_emits_finished_branch_when_job_is_done ... ok [INFO] [stdout] test shell::jobs::tests::print_jobs_shows_done_for_finished_job ... ok [INFO] [stdout] test shell::jobs::tests::print_jobs_shows_running_for_active_job ... ok [INFO] [stdout] test shell::jobs::tests::print_jobs_shows_stopped_running_and_done ... ok [INFO] [stdout] test shell::jobs::tests::print_jobs_signaled_and_done_nonzero ... ok [INFO] [stdout] test shell::jobs::tests::print_jobs_stopped_notification_is_noop ... ok [INFO] [stdout] test shell::jobs::tests::reap_jobs_continued_child_transitions_to_running ... ok [INFO] [stdout] test shell::jobs::tests::reap_jobs_collects_finished_background_jobs ... ok [INFO] [stdout] test shell::jobs::tests::reap_jobs_handles_try_wait_errors ... ok [INFO] [stdout] test shell::jobs::tests::reap_jobs_reports_stopped_when_child_remains_stopped ... ok [INFO] [stdout] test shell::jobs::tests::reap_jobs_signaled_produces_finished_entry ... ok [INFO] [stdout] test shell::jobs::tests::reap_jobs_signaled_child ... ok [INFO] [stdout] test shell::jobs::tests::source_path_errors_when_file_missing ... ok [INFO] [stdout] test shell::jobs::tests::reap_jobs_stopped_then_continued ... ok [INFO] [stdout] test shell::jobs::tests::try_wait_child_returns_continued ... ok [INFO] [stdout] test shell::jobs::tests::try_wait_child_returns_signaled ... ok [INFO] [stdout] test shell::jobs::tests::try_wait_child_returns_stopped_for_stopped_process ... ok [INFO] [stdout] test shell::jobs::tests::wait_for_all_jobs_returns_130_on_interrupt ... ok [INFO] [stdout] test shell::jobs::tests::wait_for_child_blocking_retries_on_eintr_and_pid_zero ... ok [INFO] [stdout] test shell::jobs::tests::wait_for_child_blocking_signaled ... ok [INFO] [stdout] test shell::jobs::tests::wait_for_child_blocking_skips_stop_when_not_reporting ... ok [INFO] [stdout] test shell::jobs::tests::wait_for_child_interruptible_retries_on_pid_zero ... ok [INFO] [stdout] test shell::jobs::tests::wait_for_job_cleanup_removes_known_pids ... ok [INFO] [stdout] test shell::jobs::tests::wait_for_job_cleanup_iterates_remaining_children ... ok [INFO] [stdout] test shell::jobs::tests::wait_for_job_operand_consumes_status_second_wait_returns_127 ... ok [INFO] [stdout] test shell::jobs::tests::source_path_runs_script ... ok [INFO] [stdout] test shell::jobs::tests::wait_for_job_with_owns_terminal_and_signaled_cleanup ... ok [INFO] [stdout] test shell::jobs::tests::wait_for_job_operand_returns_130_on_eintr_with_pending_signal ... ok [INFO] [stdout] test shell::jobs::tests::wait_for_job_restores_saved_termios ... ok [INFO] [stdout] test shell::jobs::tests::wait_for_pid_operand_handles_interrupt_and_echild ... ok [INFO] [stdout] test shell::jobs::tests::wait_for_pid_operand_stopped ... ok [INFO] [stdout] test shell::jobs::tests::wait_on_job_index_blocking_error ... ok [INFO] [stdout] test shell::jobs::tests::wait_on_job_index_signaled_with_cleanup ... ok [INFO] [stdout] test shell::jobs::tests::wait_on_job_index_stopped ... ok [INFO] [stdout] test shell::jobs::tests::wait_on_job_index_blocking_exited ... ok [INFO] [stdout] test shell::jobs::tests::wait_on_job_index_interruptible_stopped ... ok [INFO] [stdout] test shell::jobs::tests::wait_operands_return_known_statuses_or_127 ... ok [INFO] [stdout] test shell::jobs::tests::wait_on_job_index_signaled ... ok [INFO] [stdout] test shell::jobs::tests::wait_operations_fail_on_echild ... ok [INFO] [stdout] test shell::options::tests::bash_procsub_shows_up_in_reportable_options ... ok [INFO] [stdout] test shell::options::tests::bash_procsub_independent_of_bash_prompts ... ok [INFO] [stdout] test shell::options::tests::bash_procsub_named_option_toggles_flag ... ok [INFO] [stdout] test shell::options::tests::bash_prompts_named_option_toggles_selector ... ok [INFO] [stdout] test shell::options::tests::bash_prompts_shows_up_in_reportable_options ... ok [INFO] [stdout] test shell::options::tests::default_options_enable_emacs_mode ... ok [INFO] [stdout] test shell::options::tests::old_bash_compat_option_name_is_rejected ... ok [INFO] [stdout] test shell::options::tests::reportable_options_includes_new_options ... ok [INFO] [stdout] test shell::options::tests::reportable_options_lists_both_editing_modes ... ok [INFO] [stdout] test shell::options::tests::set_named_option_accepts_new_options ... ok [INFO] [stdout] test shell::options::tests::set_named_option_emacs_flips_vi ... ok [INFO] [stdout] test shell::options::tests::set_named_option_off_leaves_other_mode_alone ... ok [INFO] [stdout] test shell::options::tests::set_named_option_vi_flips_emacs ... ok [INFO] [stdout] test shell::options::tests::set_short_option_accepts_new_options ... ok [INFO] [stdout] test shell::proc_substitute::tests::cleanup_lease_closes_fd_and_reaps_child ... ok [INFO] [stdout] test shell::proc_substitute::tests::cleanup_lease_unlinks_fifo_and_reaps_child ... ok [INFO] [stdout] test shell::proc_substitute::tests::drain_proc_sub_leases_pops_back_to_mark_in_reverse_order ... ok [INFO] [stdout] test shell::proc_substitute::tests::drain_respects_mark_and_keeps_outer_leases ... ok [INFO] [stdout] test shell::proc_substitute::tests::dev_fd_supported_caches_after_first_probe ... ok [INFO] [stdout] test shell::proc_substitute::tests::drain_with_mixed_backings_dispatches_correctly ... ok [INFO] [stdout] test shell::proc_substitute::tests::diagnose_formats_syscall_and_strerror ... ok [INFO] [stdout] test shell::proc_substitute::tests::format_dev_fd_path_writes_decimal_fd ... ok [INFO] [stdout] test shell::proc_substitute::tests::generate_fifo_path_falls_back_when_tmpdir_empty ... ok [INFO] [stdout] test shell::proc_substitute::tests::process_substitute_dev_fd_fork_failure_closes_pipe_and_diagnoses ... ok [INFO] [stdout] test shell::proc_substitute::tests::generate_fifo_path_honors_tmpdir_when_set ... ok [INFO] [stdout] test shell::proc_substitute::tests::generate_fifo_path_uses_default_tmpdir_when_unset ... ok [INFO] [stdout] test shell::proc_substitute::tests::process_substitute_dev_fd_pipe_failure_diagnoses_pipe ... ok [INFO] [stdout] test shell::jobs::tests::wait_for_job_signaled_child ... ok [INFO] [stdout] test shell::proc_substitute::tests::process_substitute_fifo_mkfifo_failure_diagnoses ... ok [INFO] [stdout] test shell::proc_substitute::tests::process_substitute_dev_fd_parent_close_failure_rolls_back ... ok [INFO] [stdout] test shell::proc_substitute::tests::process_substitute_fifo_fork_failure_unlinks_and_diagnoses ... ok [INFO] [stdout] test shell::jobs::tests::wait_for_job_stopped_handling ... ok [INFO] [stdout] test shell::run::tests::active_option_flags_includes_new_options ... ok [INFO] [stdout] test shell::proc_substitute::tests::process_substitute_fifo_mode_makes_fifo_and_forks ... ok [INFO] [stdout] test shell::run::tests::active_option_flags_monitor_and_syntax_check ... ok [INFO] [stdout] test shell::run::tests::capture_output_returns_error_on_fork_failure ... ok [INFO] [stdout] test shell::proc_substitute::tests::process_substitute_fifo_child_open_failure_exits_one ... ok [INFO] [stdout] test shell::proc_substitute::tests::reap_until_exit_propagates_non_eintr_error ... ok [INFO] [stdout] test shell::proc_substitute::tests::reap_until_exit_returns_status_for_normal_exit ... ok [INFO] [stdout] test shell::run::tests::classify_script_read_error_maps_to_sh_exit_statuses ... ok [INFO] [stdout] test shell::proc_substitute::tests::process_substitute_dev_fd_read_form_emits_dev_fd_path ... ok [INFO] [stdout] test shell::run::tests::execute_string_uses_current_alias_table ... ok [INFO] [stdout] test shell::proc_substitute::tests::process_substitute_dev_fd_write_form_swaps_pipe_ends ... ok [INFO] [stdout] test shell::proc_substitute::tests::process_substitute_fifo_mode_write_form_uses_o_rdonly ... ok [INFO] [stdout] test shell::run::tests::capture_output_reads_data_from_pipe ... ok [INFO] [stdout] test shell::run::tests::from_args_constructs_shell_from_argv ... ok [INFO] [stdout] test shell::run::tests::parse_options_combined_c_with_other_flags ... ok [INFO] [stdout] test shell::run::tests::load_script_source_not_found ... ok [INFO] [stdout] test shell::run::tests::maybe_run_stdin_source_parse_error ... ok [INFO] [stdout] test shell::run::tests::parse_options_covers_dashdash_and_unknown_flags ... ok [INFO] [stdout] test shell::run::tests::load_script_source_binary_file_rejected ... ok [INFO] [stdout] test shell::run::tests::resolve_script_path_prefers_current_directory ... ok [INFO] [stdout] test shell::run::tests::parse_options_handles_command_script_and_errors ... ok [INFO] [stdout] test shell::run::tests::capture_output_sets_last_status_127 ... ok [INFO] [stdout] test shell::run::tests::capture_output_sets_last_status_on_nonzero_exit ... ok [INFO] [stdout] test shell::run::tests::run_source_syntax_only_parses_without_executing ... ok [INFO] [stdout] test shell::run::tests::run_standard_input_eof_with_remaining_bytes ... ok [INFO] [stdout] test shell::run::tests::run_standard_input_retries_read_on_eintr ... ok [INFO] [stdout] test shell::run::tests::setup_interactive_signals_ignores_sigquit_sigterm_installs_sigint ... ok [INFO] [stdout] test shell::run::tests::search_script_path_empty_dir_and_not_found ... ok [INFO] [stdout] test shell::run::tests::capture_output_success ... ok [INFO] [stdout] test shell::run::tests::shell_run_executes_command_string ... ok [INFO] [stdout] test shell::run::tests::resolve_script_path_searches_executable_path_entries ... ok [INFO] [stdout] test shell::run::tests::run_builtin_assignment_error ... ok [INFO] [stdout] test shell::run::tests::run_standard_input_fatal_read_error ... ok [INFO] [stdout] test shell::run::tests::script_prefix_heuristic_rejects_nul_before_newline ... ok [INFO] [stdout] test shell::run::tests::shell_run_executes_script_from_path ... ok [INFO] [stdout] test shell::run::tests::stdin_parse_error_requires_more_input_for_open_constructs ... ok [INFO] [stdout] test shell::state::tests::return_in_dot_sourced_file_exits_source_with_status ... ok [INFO] [stdout] test shell::state::tests::define_function_redefines_existing_slot_in_place ... ok [INFO] [stdout] test shell::state::tests::run_builtin_returns_correct_flow_signals ... ok [INFO] [stdout] test shell::run::tests::syntax_check_only_skips_execution ... ok [INFO] [stdout] test shell::traps::tests::execute_trap_action_and_run_pending_traps_work ... ok [INFO] [stdout] test shell::traps::tests::reset_traps_for_subshell_keeps_ignore_removes_command ... ok [INFO] [stdout] test shell::traps::tests::set_trap_ignore_and_default_use_signal_syscall ... ok [INFO] [stdout] test shell::traps::tests::set_trap_noop_when_signal_ignored_on_entry ... ok [INFO] [stdout] test shell::vars::tests::cached_binding_equality_ignores_cache ... ok [INFO] [stdout] test shell::vars::tests::cached_binding_resolve_read_does_not_allocate_slot ... ok [INFO] [stdout] test shell::vars::tests::cached_binding_resolves_once ... ok [INFO] [stdout] test shell::vars::tests::cached_var_binding_debug_prints_placeholder ... ok [INFO] [stdout] test shell::vars::tests::clone_copies_cached_slot_value ... ok [INFO] [stdout] test shell::vars::tests::ensure_slot_assigns_stable_indices ... ok [INFO] [stdout] test shell::vars::tests::iter_skips_unset ... ok [INFO] [stdout] test shell::vars::tests::lookup_returns_none_when_unset ... ok [INFO] [stdout] test syntax::ast::tests::alias_expanding_to_blanks_produces_eof_in_produce_word ... ok [INFO] [stdout] test syntax::ast::tests::alias_expansion_after_assignment_and_redirection ... ok [INFO] [stdout] test syntax::ast::tests::alias_expansion_produces_non_word_tokens ... ok [INFO] [stdout] test syntax::ast::tests::alias_expansion_in_simple_commands ... ok [INFO] [stdout] test syntax::ast::tests::alias_expansion_interns_reserved_word_tokens ... ok [INFO] [stdout] test syntax::ast::tests::alias_ineligible_word_on_heredoc_line_skips_expansion ... ok [INFO] [stdout] test syntax::ast::tests::alias_not_expanded_in_reserved_word_position ... ok [INFO] [stdout] test syntax::ast::tests::alias_shadows_keyword_at_command_position ... ok [INFO] [stdout] test syntax::ast::tests::alias_trailing_blank_triggers_reclassify_on_heredoc_line ... ok [INFO] [stdout] test syntax::ast::tests::arithmetic_expansion_with_quoting ... ok [INFO] [stdout] test syntax::ast::tests::arithmetic_unmatched_close_paren ... ok [INFO] [stdout] test syntax::ast::tests::backslash_newline_at_word_start_before_delim ... ok [INFO] [stdout] test syntax::ast::tests::backslash_newline_before_comment_does_not_start_comment ... ok [INFO] [stdout] test syntax::ast::tests::backslash_newline_before_comment_in_command_substitution ... ok [INFO] [stdout] test syntax::ast::tests::backslash_newline_before_operator_resets ... ok [INFO] [stdout] test syntax::ast::tests::backslash_newline_continuation ... ok [INFO] [stdout] test syntax::ast::tests::backslash_newline_continuation_in_alias ... ok [INFO] [stdout] test syntax::ast::tests::backslash_newline_inside_backticks_preserved ... ok [INFO] [stdout] test syntax::ast::tests::backslash_newline_inside_dollar_single_quote_preserved ... ok [INFO] [stdout] test syntax::ast::tests::backslash_newline_inside_command_substitution_preserved ... ok [INFO] [stdout] test syntax::ast::tests::backslash_newline_inside_double_quotes_preserved ... ok [INFO] [stdout] test syntax::ast::tests::backslash_newline_inside_single_quotes_preserved ... ok [INFO] [stdout] test syntax::ast::tests::backslash_newline_mid_word_produces_stripped_form ... ok [INFO] [stdout] test syntax::ast::tests::backslash_newline_mixed_unquoted_and_dquoted ... ok [INFO] [stdout] test syntax::ast::tests::case_fall_through_semi_amp ... ok [INFO] [stdout] test syntax::ast::tests::case_arm_without_separator_before_esac ... ok [INFO] [stdout] test syntax::ast::tests::case_pattern_accepts_keyword_word ... ok [INFO] [stdout] test syntax::ast::tests::case_semi_before_non_esac_error ... ok [INFO] [stdout] test syntax::ast::tests::case_with_plain_semi_before_esac ... ok [INFO] [stdout] test syntax::ast::tests::command_starts_with_redirect ... ok [INFO] [stdout] test syntax::ast::tests::case_with_semi_amp_fallthrough ... ok [INFO] [stdout] test syntax::ast::tests::clone_covers_all_command_variants ... ok [INFO] [stdout] test syntax::ast::tests::comment_with_close_paren_inside_command_substitution ... ok [INFO] [stdout] test syntax::ast::tests::consume_paren_body_backslash_escape_non_newline ... ok [INFO] [stdout] test syntax::ast::tests::consume_paren_body_with_backslash ... ok [INFO] [stdout] test syntax::ast::tests::consume_paren_body_backslash_non_newline ... ok [INFO] [stdout] test syntax::ast::tests::consume_paren_body_backtick_inside_command_substitution ... ok [INFO] [stdout] test syntax::ast::tests::consume_paren_body_with_nested_parens ... ok [INFO] [stdout] test syntax::ast::tests::consume_quoted_element_backtick ... ok [INFO] [stdout] test syntax::ast::tests::consume_scan_covers_dollar_single_quote_and_default_in_subshell ... ok [INFO] [stdout] test syntax::ast::tests::continuation_at_start_of_input ... ok [INFO] [stdout] test syntax::ast::tests::continuation_in_word ... ok [INFO] [stdout] test syntax::ast::tests::consume_paren_body_with_comment ... ok [INFO] [stdout] test syntax::ast::tests::continuation_inside_backticks ... ok [INFO] [stdout] test syntax::ast::tests::continuation_inside_double_quotes ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_alias_name ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_and_if ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_append_operator ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_arith_close ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_assignment ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_bang_negation ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_clobber_write ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_dollar_brace ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_dollar_double_paren ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_dollar_paren ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_dollar_single_quote ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_dup_output ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_double_semicolon ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_dup_input ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_heredoc_delimiter_word ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_heredoc_strip_tabs ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_heredoc_operator ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_io_number ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_keyword_case ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_keyword_done ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_keyword_do ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_keyword_else ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_keyword_elif ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_keyword_esac ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_keyword_fi ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_keyword_if ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_keyword_for ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_keyword_in ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_keyword_then ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_keyword_until ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_or_if ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_read_write ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_keyword_while ... ok [INFO] [stdout] test syntax::ast::tests::continuation_splits_semi_amp ... ok [INFO] [stdout] test syntax::ast::tests::dollar_construct_in_double_quotes ... ok [INFO] [stdout] test syntax::ast::tests::empty_brace_group_is_syntax_error ... ok [INFO] [stdout] test syntax::ast::tests::elif_empty_condition_is_parse_error ... ok [INFO] [stdout] test syntax::ast::tests::empty_command_at_if_position ... ok [INFO] [stdout] test syntax::ast::tests::empty_do_group_is_syntax_error ... ok [INFO] [stdout] test syntax::ast::tests::empty_heredoc_delimiter_after_ltlt ... ok [INFO] [stdout] test syntax::ast::tests::empty_heredoc_delimiter_error_2 ... ok [INFO] [stdout] test syntax::ast::tests::empty_subshell_is_syntax_error ... ok [INFO] [stdout] test syntax::ast::tests::error_case_pattern_missing_rparen ... ok [INFO] [stdout] test syntax::ast::tests::error_case_expected_word ... ok [INFO] [stdout] test syntax::ast::tests::empty_then_clause_is_syntax_error ... ok [INFO] [stdout] test syntax::ast::tests::error_expected_close_brace ... ok [INFO] [stdout] test syntax::ast::tests::error_for_expected_variable_name ... ok [INFO] [stdout] test syntax::ast::tests::error_expected_close_paren_subshell ... ok [INFO] [stdout] test syntax::ast::tests::error_function_keyword_expected_name ... ok [INFO] [stdout] test syntax::ast::tests::error_function_keyword_invalid_name ... ok [INFO] [stdout] test syntax::ast::tests::error_redirect_only_no_command ... ok [INFO] [stdout] test syntax::ast::tests::error_unexpected_lparen_after_word ... ok [INFO] [stdout] test syntax::ast::tests::for_loop_non_word_token_breaks_word_list ... ok [INFO] [stdout] test syntax::ast::tests::for_loop_with_non_word_after_in ... ok [INFO] [stdout] test syntax::ast::tests::for_loop_without_in_clause ... ok [INFO] [stdout] test syntax::ast::tests::for_loop_break_on_non_word ... ok [INFO] [stdout] test syntax::ast::tests::function_def_via_word_lparen_rparen ... ok [INFO] [stdout] test syntax::ast::tests::function_keyword_basic ... ok [INFO] [stdout] test syntax::ast::tests::function_keyword_def ... ok [INFO] [stdout] test syntax::ast::tests::function_keyword_invalid_name ... ok [INFO] [stdout] test syntax::ast::tests::function_keyword_with_parens ... ok [INFO] [stdout] test syntax::ast::tests::function_keyword_def_with_optional_parens ... ok [INFO] [stdout] test syntax::ast::tests::heredoc_escaped_backslash_at_eol_is_not_continuation ... ok [INFO] [stdout] test syntax::ast::tests::heredoc_line_overflow_ionumber_becomes_word ... ok [INFO] [stdout] test syntax::ast::tests::function_keyword_without_parens ... ok [INFO] [stdout] test syntax::ast::tests::heredoc_body_inside_alias_expansion ... ok [INFO] [stdout] test syntax::ast::tests::heredoc_continuation_in_body ... ok [INFO] [stdout] test syntax::ast::tests::heredoc_line_skip_continuations_between_tokens ... ok [INFO] [stdout] test syntax::ast::tests::heredoc_empty_delimiter_error ... ok [INFO] [stdout] test syntax::ast::tests::heredoc_partial_eq ... ok [INFO] [stdout] test syntax::ast::tests::heredoc_line_huge_ionumber_becomes_word ... ok [INFO] [stdout] test syntax::ast::tests::heredoc_quoted_delimiter_no_continuation ... ok [INFO] [stdout] test syntax::ast::tests::heredoc_line_large_number_not_ionumber ... ok [INFO] [stdout] test syntax::ast::tests::heredoc_with_and_on_same_line ... ok [INFO] [stdout] test syntax::ast::tests::heredoc_with_background_on_same_line ... ok [INFO] [stdout] test syntax::ast::tests::heredoc_with_append_redirect_on_same_line ... ok [INFO] [stdout] test syntax::ast::tests::heredoc_with_clobber_on_same_line ... ok [INFO] [stdout] test syntax::ast::tests::heredoc_with_dsemi_on_same_line ... ok [INFO] [stdout] test syntax::ast::tests::heredoc_with_fd_dup_on_same_line ... ok [INFO] [stdout] test syntax::ast::tests::heredoc_with_io_number_on_same_line ... ok [INFO] [stdout] test syntax::ast::tests::heredoc_with_less_and_on_same_line ... ok [INFO] [stdout] test syntax::ast::tests::heredoc_with_lparen_on_same_line ... ok [INFO] [stdout] test syntax::ast::tests::heredoc_with_operators_on_same_line ... ok [INFO] [stdout] test syntax::ast::tests::heredoc_with_or_on_same_line ... ok [INFO] [stdout] test syntax::ast::tests::heredoc_with_paren_on_same_line ... ok [INFO] [stdout] test syntax::ast::tests::heredoc_with_semicolon_on_same_line ... ok [INFO] [stdout] test syntax::ast::tests::heredoc_with_semi_amp_on_same_line ... ok [INFO] [stdout] test syntax::ast::tests::heredoc_with_less_on_same_line ... ok [INFO] [stdout] test syntax::ast::tests::heredoc_with_less_great_on_same_line ... ok [INFO] [stdout] test syntax::ast::tests::heredoc_with_redirect_on_same_line ... ok [INFO] [stdout] test syntax::ast::tests::heredoc_with_rparen_on_same_line ... ok [INFO] [stdout] test syntax::ast::tests::heredoc_with_strip_tabs_on_subsequent ... ok [INFO] [stdout] test syntax::ast::tests::heredoc_with_word_on_same_line ... ok [INFO] [stdout] test syntax::ast::tests::if_empty_condition_is_parse_error ... ok [INFO] [stdout] test syntax::ast::tests::leading_semicolon_is_syntax_error ... ok [INFO] [stdout] test syntax::ast::tests::list_item_partial_eq ... ok [INFO] [stdout] test syntax::ast::tests::io_number_recognised_inside_alias ... ok [INFO] [stdout] test syntax::ast::tests::lparen_after_simple_command_is_syntax_error ... ok [INFO] [stdout] test syntax::ast::tests::multiple_continuations_in_keyword ... ok [INFO] [stdout] test syntax::ast::tests::multiple_heredocs_on_same_line ... ok [INFO] [stdout] test syntax::ast::tests::parses_assignments_and_groups ... ok [INFO] [stdout] test syntax::ast::tests::multiple_prefix_assignments_before_command ... ok [INFO] [stdout] test syntax::ast::tests::nested_alias_pop_exhausted_layers_break ... ok [INFO] [stdout] test syntax::ast::tests::parser_covers_misc_error_and_token_paths ... ok [INFO] [stdout] test syntax::ast::tests::parses_case_arm_without_trailing_dsemi_before_esac ... ok [INFO] [stdout] test syntax::ast::tests::parses_extended_redirection_forms ... ok [INFO] [stdout] test syntax::ast::tests::parses_function_definition ... ok [INFO] [stdout] test syntax::ast::tests::parses_for_loops ... ok [INFO] [stdout] test syntax::ast::tests::parses_case_commands ... ok [INFO] [stdout] test syntax::ast::tests::parses_heredoc_operator_shape ... ok [INFO] [stdout] test syntax::ast::tests::parses_simple_pipeline ... ok [INFO] [stdout] test syntax::ast::tests::parses_while_and_until_loops ... ok [INFO] [stdout] test syntax::ast::tests::parses_if_with_elif_and_else ... ok [INFO] [stdout] test syntax::ast::tests::parses_redirections_on_compound_commands ... ok [INFO] [stdout] test syntax::ast::tests::parses_negated_async_pipeline ... ok [INFO] [stdout] test syntax::ast::tests::parses_logical_and_subshell_forms ... ok [INFO] [stdout] test syntax::ast::tests::produce_word_returns_eof_on_empty_continuation ... ok [INFO] [stdout] test syntax::ast::tests::reclassify_queued_alias_on_heredoc_line ... ok [INFO] [stdout] test syntax::ast::tests::reclassify_queued_alias_with_trailing_blank ... ok [INFO] [stdout] test syntax::ast::tests::reclassify_queued_token_trailing_blank_alias_on_heredoc_line ... ok [INFO] [stdout] test syntax::ast::tests::rejects_unterminated_quotes ... ok [INFO] [stdout] test syntax::ast::tests::scan_raw_word_trailing_backslash_eof ... ok [INFO] [stdout] test syntax::ast::tests::produce_word_eof_on_empty_prefix_and_delim ... ok [INFO] [stdout] test syntax::ast::tests::scan_raw_word_continuation_at_word_start_produces_word ... ok [INFO] [stdout] test syntax::ast::tests::reclassify_queued_keyword_on_heredoc_line ... ok [INFO] [stdout] test syntax::ast::tests::self_referential_alias_does_not_loop ... ok [INFO] [stdout] test syntax::ast::tests::second_heredoc_empty_delimiter_error ... ok [INFO] [stdout] test syntax::ast::tests::single_quote_in_alias_expansion ... ok [INFO] [stdout] test syntax::ast::tests::reclassify_trailing_blank_alias_on_heredoc_line ... ok [INFO] [stdout] test syntax::ast::tests::rejects_unterminated_dollar_single_quote ... ok [INFO] [stdout] test syntax::ast::tests::rejects_invalid_empty_command ... ok [INFO] [stdout] test syntax::ast::tests::skip_continuations_pushback_on_heredoc_line ... ok [INFO] [stdout] test syntax::ast::tests::split_assignment_non_name_returns_none ... ok [INFO] [stdout] test syntax::ast::tests::time_posix_pipeline ... ok [INFO] [stdout] test syntax::ast::tests::skip_continuations_pushback_between_operators ... ok [INFO] [stdout] test syntax::ast::tests::syntax_error_unexpected_lparen_after_name_without_rparen ... ok [INFO] [stdout] test syntax::ast::tests::self_referential_aliases_do_not_loop_indefinitely ... ok [INFO] [stdout] test syntax::ast::tests::standalone_bang_is_context_sensitive ... ok [INFO] [stdout] test syntax::ast::tests::tokenizer_emits_io_number_for_adjacent_digits ... ok [INFO] [stdout] test syntax::ast::tests::tokenizer_keeps_dollar_double_paren_as_single_word ... ok [INFO] [stdout] test syntax::ast::tests::tokenizer_keeps_backtick_as_single_word ... ok [INFO] [stdout] test syntax::ast::tests::time_default_pipeline ... ok [INFO] [stdout] test syntax::ast::tests::tokenizes_terminated_single_quotes ... ok [INFO] [stdout] test syntax::ast::tests::tokenizer_nested_constructs_in_brace_body ... ok [INFO] [stdout] test syntax::ast::tests::tokenizer_keeps_dollar_paren_as_single_word ... ok [INFO] [stdout] test syntax::ast::tests::tokenizer_keeps_dollar_brace_as_single_word ... ok [INFO] [stdout] test syntax::ast::tests::trailing_blank_aliases_expand_next_simple_command_word ... ok [INFO] [stdout] test syntax::ast::tests::unterminated_case_arm_breaks_loop ... ok [INFO] [stdout] test syntax::ast::tests::while_empty_condition_is_parse_error ... ok [INFO] [stdout] test syntax::ast::tests::word_partial_eq ... ok [INFO] [stdout] test syntax::byte_class::tests::alias_trailing_blank ... ok [INFO] [stdout] test syntax::byte_class::tests::ascii_ws_chars ... ok [INFO] [stdout] test syntax::byte_class::tests::digit_chars ... ok [INFO] [stdout] test syntax::byte_class::tests::glob_chars ... ok [INFO] [stdout] test syntax::ast::tests::until_empty_condition_is_parse_error ... ok [INFO] [stdout] test syntax::ast::tests::unterminated_single_quote_in_alias_layer ... ok [INFO] [stdout] test syntax::byte_class::tests::special_param_chars ... ok [INFO] [stdout] test syntax::byte_class::tests::name_start_and_cont ... ok [INFO] [stdout] test syntax::byte_class::tests::table_flags_are_independent ... ok [INFO] [stdout] test syntax::byte_class::tests::quote_chars ... ok [INFO] [stdout] test syntax::byte_class::tests::is_name_validates_posix_names ... ok [INFO] [stdout] test syntax::byte_class::tests::delim_chars ... ok [INFO] [stdout] test syntax::declaration_context::tests::apply_does_not_touch_tilde_in_quoted_literal ... ok [INFO] [stdout] test syntax::byte_class::tests::tilde_user_break_chars ... ok [INFO] [stdout] test syntax::declaration_context::tests::apply_is_noop_when_name_is_invalid ... ok [INFO] [stdout] test syntax::byte_class::tests::helpers_match_reference_for_all_256_bytes ... ok [INFO] [stdout] test syntax::declaration_context::tests::apply_keeps_value_equals_as_literal ... ok [INFO] [stdout] test syntax::byte_class::tests::word_break_chars ... ok [INFO] [stdout] test syntax::declaration_context::tests::apply_emits_tilde_after_unquoted_colon ... ok [INFO] [stdout] test syntax::declaration_context::tests::detect_name_equals_prefix_empty_name_returns_none ... ok [INFO] [stdout] test syntax::declaration_context::tests::detect_name_equals_prefix_non_literal_returns_none ... ok [INFO] [stdout] test syntax::declaration_context::tests::find_command_decl_util_boundary_bare_command_returns_none ... ok [INFO] [stdout] test syntax::declaration_context::tests::find_command_decl_util_boundary_non_decl_returns_none ... ok [INFO] [stdout] test syntax::declaration_context::tests::apply_preserves_dollar_expansion_in_value ... ok [INFO] [stdout] test syntax::declaration_context::tests::find_command_decl_util_boundary_non_literal_returns_none ... ok [INFO] [stdout] test syntax::declaration_context::tests::apply_sets_assignment_flag_and_splits_prefix ... ok [INFO] [stdout] test syntax::declaration_context::tests::build_assignment_value_parts_produces_tilde_for_path_like ... ok [INFO] [stdout] test syntax::declaration_context::tests::declaration_context_flag_matches_utility_shape ... ok [INFO] [stdout] test syntax::declaration_context::tests::apply_emits_tilde_literal_after_equals ... ok [INFO] [stdout] test syntax::declaration_context::tests::find_command_decl_util_boundary_single_prefix ... ok [INFO] [stdout] test syntax::declaration_context::tests::is_command_utility_matches_only_plain_command ... ok [INFO] [stdout] test syntax::declaration_context::tests::find_command_decl_util_boundary_peeks_nested_command ... ok [INFO] [stdout] test syntax::declaration_context::tests::literal_only_bytes_rejects_partial_literal_span ... ok [INFO] [stdout] test syntax::tests::aliases_basic ... ok [INFO] [stdout] test syntax::declaration_context::tests::find_command_decl_util_boundary_stops_at_double_dash ... ok [INFO] [stdout] test syntax::declaration_context::tests::is_declaration_utility_matches_canonical_set ... ok [INFO] [stdout] test syntax::declaration_context::tests::apply_is_noop_when_equals_is_quoted ... ok [INFO] [stdout] test syntax::declaration_context::tests::apply_is_noop_when_no_equals ... ok [INFO] [stdout] test syntax::tests::is_name_basic ... ok [INFO] [stdout] test syntax::tests::comment_after_semicolon_is_ignored ... ok [INFO] [stdout] test syntax::tests::next_complete_command_empty_line_returns_none ... ok [INFO] [stdout] test syntax::tests::next_complete_command_eof ... ok [INFO] [stdout] test syntax::tests::parse_session_current_line ... ok [INFO] [stdout] test syntax::tests::parse_session_uses_updated_aliases_between_commands ... ok [INFO] [stdout] test syntax::tests::semicolon_then_newline_then_command ... ok [INFO] [stdout] test syntax::tests::trailing_semicolon_is_valid ... ok [INFO] [stdout] test syntax::token::tests::backtick_end_unterminated_returns_len ... ok [INFO] [stdout] test syntax::token::tests::build_word_parts_for_slice_dquote_with_backslash ... ok [INFO] [stdout] test syntax::token::tests::backtick_end_with_backslash_escape ... ok [INFO] [stdout] test syntax::token::tests::build_dollar_parts_backtick_in_dquotes ... ok [INFO] [stdout] test syntax::token::tests::build_word_parts_for_slice_dquote_with_dollar ... ok [INFO] [stdout] test syntax::token::tests::build_word_parts_for_slice_tilde_at_start ... ok [INFO] [stdout] test syntax::token::tests::build_word_parts_for_slice_top_level_backslash ... ok [INFO] [stdout] test syntax::token::tests::build_word_parts_for_slice_top_level_backtick ... ok [INFO] [stdout] test syntax::token::tests::build_word_parts_for_slice_top_level_dollar ... ok [INFO] [stdout] test syntax::token::tests::build_word_parts_impl_dollar_literal ... ok [INFO] [stdout] test syntax::token::tests::build_word_parts_impl_dquote_non_special_backslash ... ok [INFO] [stdout] test syntax::token::tests::build_word_parts_impl_tilde_expansion ... ok [INFO] [stdout] test syntax::token::tests::build_word_parts_impl_unquoted_backslash ... ok [INFO] [stdout] test syntax::token::tests::classify_braced_name_digit_overflow ... ok [INFO] [stdout] test syntax::token::tests::classify_braced_name_empty ... ok [INFO] [stdout] test syntax::tests::parse_session_saves_alias_state ... ok [INFO] [stdout] test syntax::token::tests::classify_braced_name_positional ... ok [INFO] [stdout] test syntax::token::tests::build_word_parts_for_slice_bare_tilde ... ok [INFO] [stdout] test syntax::token::tests::classify_braced_name_special ... ok [INFO] [stdout] test syntax::tests::multi_line_alias_produces_separate_commands ... ok [INFO] [stdout] test syntax::token::tests::build_word_parts_for_slice_dquote_with_backtick ... ok [INFO] [stdout] test syntax::token::tests::classify_dollar_arithmetic_literal ... ok [INFO] [stdout] test syntax::token::tests::classify_dollar_braced_invalid_name_is_not_simple_var ... ok [INFO] [stdout] test syntax::token::tests::classify_dollar_braced_trailing_junk_is_not_simple_var ... ok [INFO] [stdout] test syntax::token::tests::classify_dollar_command_sub ... ok [INFO] [stdout] test syntax::token::tests::classify_dollar_empty_braces ... ok [INFO] [stdout] test syntax::token::tests::classify_dollar_literal_dollar_at_end ... ok [INFO] [stdout] test syntax::token::tests::classify_dollar_arith_complex ... ok [INFO] [stdout] test syntax::token::tests::classify_dollar_simple_var ... ok [INFO] [stdout] test syntax::token::tests::classify_braced_op_all ... ok [INFO] [stdout] test syntax::token::tests::classify_dollar_literal_dollar ... ok [INFO] [stdout] test syntax::token::tests::classify_dollar_simple_var_in_braces ... ok [INFO] [stdout] test syntax::token::tests::classify_dollar_arith_literal ... ok [INFO] [stdout] test syntax::token::tests::classify_dollar_unknown_char ... ok [INFO] [stdout] test syntax::token::tests::classify_dollar_unterminated_arith ... ok [INFO] [stdout] test syntax::token::tests::classify_dollar_unterminated_braces ... ok [INFO] [stdout] test syntax::token::tests::classify_dollar_unterminated_cmd ... ok [INFO] [stdout] test syntax::token::tests::display_name_for_keywords_and_word ... ok [INFO] [stdout] test syntax::token::tests::find_arith_end_nested ... ok [INFO] [stdout] test syntax::token::tests::find_arith_end_unterminated ... ok [INFO] [stdout] test syntax::token::tests::find_arith_end_with_dquote_backslash ... ok [INFO] [stdout] test syntax::token::tests::find_backtick_end_basic ... ok [INFO] [stdout] test syntax::token::tests::find_backtick_end_unterminated ... ok [INFO] [stdout] test syntax::token::tests::find_backtick_end_with_escape ... ok [INFO] [stdout] test syntax::token::tests::find_closing_brace_unterminated ... ok [INFO] [stdout] test syntax::token::tests::find_arith_end_with_quotes ... ok [INFO] [stdout] test syntax::token::tests::find_closing_brace_with_arith_and_cmd ... ok [INFO] [stdout] test syntax::token::tests::find_closing_brace_with_dquote_backslash ... ok [INFO] [stdout] test syntax::token::tests::find_closing_paren_nested ... ok [INFO] [stdout] test syntax::token::tests::find_closing_paren_unterminated ... ok [INFO] [stdout] test syntax::token::tests::find_closing_paren_with_dquote_backslash ... ok [INFO] [stdout] test syntax::token::tests::find_closing_paren_with_quotes ... ok [INFO] [stdout] test syntax::token::tests::flush_literal_merges_contiguous_spans ... ok [INFO] [stdout] test syntax::token::tests::find_closing_brace_with_nested ... ok [INFO] [stdout] test syntax::token::tests::heredoc_delimiter_backslash_at_eof ... ok [INFO] [stdout] test syntax::token::tests::flush_literal_glob_detection_in_merge ... ok [INFO] [stdout] test syntax::token::tests::heredoc_delimiter_backslash_inside_double_quotes ... ok [INFO] [stdout] test syntax::token::tests::heredoc_delimiter_backslash_newline_then_delim ... ok [INFO] [stdout] test syntax::token::tests::heredoc_delimiter_dollar_single_quote ... ok [INFO] [stdout] test syntax::token::tests::heredoc_delimiter_dollar_single_quote_with_escape ... ok [INFO] [stdout] test syntax::token::tests::heredoc_delimiter_backslash_preserves_non_special_in_dquotes ... ok [INFO] [stdout] test syntax::token::tests::heredoc_delimiter_double_quote_with_backslash ... ok [INFO] [stdout] test syntax::token::tests::heredoc_delimiter_helpers ... ok [INFO] [stdout] test syntax::token::tests::heredoc_delimiter_parse_backslash_escape ... ok [INFO] [stdout] test syntax::token::tests::heredoc_delimiter_parse_double_quoted ... ok [INFO] [stdout] test syntax::token::tests::heredoc_delimiter_parse_dollar_single_quote ... ok [INFO] [stdout] test syntax::token::tests::heredoc_delimiter_with_backtick ... ok [INFO] [stdout] test syntax::token::tests::heredoc_delimiter_with_dollar ... ok [INFO] [stdout] test syntax::token::tests::parse_i32_bytes_empty_returns_none ... ok [INFO] [stdout] test syntax::token::tests::parse_i32_bytes_non_digit_returns_none ... ok [INFO] [stdout] test syntax::token::tests::parse_i32_bytes_valid_numbers ... ok [INFO] [stdout] test syntax::token::tests::parse_u32_digits_empty ... ok [INFO] [stdout] test syntax::token::tests::parse_u32_digits_non_digit ... ok [INFO] [stdout] test syntax::token::tests::parse_u32_digits_overflow ... ok [INFO] [stdout] test syntax::token::tests::procsub_balances_nested_parens_in_body ... ok [INFO] [stdout] test syntax::token::tests::procsub_balances_backslash_escape_in_body ... ok [INFO] [stdout] test syntax::token::tests::procsub_balances_quotes_in_body ... ok [INFO] [stdout] test syntax::token::tests::procsub_blank_between_lt_and_paren_falls_through_to_redirection ... ok [INFO] [stdout] test syntax::token::tests::procsub_escaped_lt_is_literal ... ok [INFO] [stdout] test syntax::token::tests::procsub_off_does_not_lex_lt_paren_as_word ... ok [INFO] [stdout] test syntax::token::tests::procsub_mid_word_with_only_prefix_keeps_concatenation ... ok [INFO] [stdout] test syntax::token::tests::procsub_balances_single_quotes_in_body ... ok [INFO] [stdout] test syntax::token::tests::procsub_inside_single_quotes_is_literal ... ok [INFO] [stdout] test syntax::token::tests::procsub_inside_double_quotes_is_literal ... ok [INFO] [stdout] test syntax::token::tests::procsub_mid_word_concatenates_with_literals ... ok [INFO] [stdout] test syntax::token::tests::procsub_off_emits_option_aware_diagnostic ... ok [INFO] [stdout] test syntax::token::tests::procsub_read_form_lexes_when_option_on ... ok [INFO] [stdout] test syntax::token::tests::procsub_recognized_inside_dollar_paren ... ok [INFO] [stdout] test syntax::token::tests::procsub_two_substitutions_in_one_command ... ok [INFO] [stdout] test syntax::token::tests::procsub_unterminated_body_is_syntax_error ... ok [INFO] [stdout] test syntax::token::tests::procsub_write_form_lexes_when_option_on ... ok [INFO] [stdout] test syntax::token::tests::heredoc_delimiter_with_hash ... ok [INFO] [stdout] test syntax::token::tests::scan_raw_word_parts_braced_simple_var ... ok [INFO] [stdout] test syntax::token::tests::scan_raw_word_parts_arith_literal ... ok [INFO] [stdout] test syntax::token::tests::scan_raw_word_parts_dollar_at_end ... ok [INFO] [stdout] test syntax::token::tests::scan_raw_word_parts_resume_after_partial ... ok [INFO] [stdout] test syntax::token::tests::scan_raw_word_parts_tilde_at_word_end ... ok [INFO] [stdout] test syntax::token::tests::scan_raw_word_parts_tilde_user_at_end ... ok [INFO] [stdout] test syntax::token::tests::scan_raw_word_parts_tilde_user_path_at_end ... ok [INFO] [stdout] test syntax::token::tests::token_into_word_some_and_none ... ok [INFO] [stdout] test syntax::token::tests::unescape_backtick_in_dquote ... ok [INFO] [stdout] test syntax::token::tests::parse_braced_name_end_cases ... ok [INFO] [stdout] test sys::env::tests::getenv_found ... ok [INFO] [stdout] test syntax::token::tests::unescape_backtick_outside_dquote ... ok [INFO] [stdout] test sys::env::tests::get_environ_returns_map ... ok [INFO] [stdout] test sys::constants::tests::signal_name_covers_all_branches ... ok [INFO] [stdout] test sys::env::tests::unsetenv_success ... ok [INFO] [stdout] test sys::error::tests::sys_error_helper_methods_report_correct_variants ... ok [INFO] [stdout] test sys::env::tests::setenv_success ... ok [INFO] [stdout] test sys::fd_io::tests::clear_cloexec_error ... ok [INFO] [stdout] test sys::fd_io::tests::ensure_blocking_read_fd_caches_passthrough ... ok [INFO] [stdout] test sys::fd_io::tests::clear_cloexec_success ... ok [INFO] [stdout] test sys::fd_io::tests::ensure_blocking_read_fd_cache_invalidates_on_close ... ok [INFO] [stdout] test sys::fd_io::tests::ensure_blocking_read_fd_clears_nonblocking_for_fifo ... ok [INFO] [stdout] test sys::fd_io::tests::ensure_blocking_read_fd_surfaces_fcntl_errors ... ok [INFO] [stdout] test sys::fd_io::tests::ensure_blocking_read_fd_clears_nonblocking_for_tty ... ok [INFO] [stdout] test sys::fd_io::tests::error_pipe_and_fd ... ok [INFO] [stdout] test sys::fd_io::tests::fd_seek_rewind_reports_lseek_error ... ok [INFO] [stdout] test sys::fd_io::tests::fd_seek_rewind_zero_bytes_is_noop ... ok [INFO] [stdout] test sys::fd_io::tests::fifo_like_fd_fstat_error ... ok [INFO] [stdout] test sys::fd_io::tests::invalid_fd_operations_fail_cleanly ... ok [INFO] [stdout] test sys::fd_io::tests::success_pipe_and_fd ... ok [INFO] [stdout] test sys::fd_io::tests::pipe_roundtrip ... ok [INFO] [stdout] test sys::fd_io::tests::write_all_fd_zero_write_eio ... ok [INFO] [stdout] test sys::fs::tests::canonicalize_error ... ok [INFO] [stdout] test sys::fs::tests::change_dir_error ... ok [INFO] [stdout] test sys::fs::tests::file_needs_binary_rejection_elf_prefix_allowed ... ok [INFO] [stdout] test sys::fs::tests::file_needs_binary_rejection_handles_errors_and_empty ... ok [INFO] [stdout] test sys::fs::tests::file_needs_binary_rejection_shebang_allowed ... ok [INFO] [stdout] test sys::fs::tests::file_needs_binary_rejection_null_byte_triggers ... ok [INFO] [stdout] test sys::fs::tests::lstat_path_failure ... ok [INFO] [stdout] test sys::fs::tests::file_needs_binary_rejection_text_without_null_ok ... ok [INFO] [stdout] test sys::fs::tests::lstat_path_success ... ok [INFO] [stdout] test sys::fs::tests::open_for_redirect_noclobber_rewrites_flags ... ok [INFO] [stdout] test sys::fs::tests::trace_opendir_int_and_readdir_fallback ... ok [INFO] [stdout] test sys::fs::tests::read_dir_entries_readdir_error ... ok [INFO] [stdout] test sys::fs::tests::trace_stat_fifo_and_fstat_dir_arms ... ok [INFO] [stdout] test sys::fs::tests::unlink_failure ... ok [INFO] [stdout] test sys::fs::tests::unlink_success ... ok [INFO] [stdout] test sys::interface::tests::trace_getpid_and_getppid_dispatch ... ok [INFO] [stdout] test sys::locale::tests::count_chars_c_vs_utf8 ... ok [INFO] [stdout] test sys::locale::tests::count_chars_stops_at_nul ... ok [INFO] [stdout] test sys::locale::tests::ascii_fast_path_avoids_dispatch ... ok [INFO] [stdout] test sys::locale::tests::first_char_len_c_vs_utf8 ... ok [INFO] [stdout] test sys::locale::tests::first_char_len_empty ... ok [INFO] [stdout] test sys::locale::tests::mb_cur_max_c_vs_utf8 ... ok [INFO] [stdout] test sys::locale::tests::reinit_locale_defaults_to_c_when_unset ... ok [INFO] [stdout] test sys::locale::tests::reinit_locale_reads_lc_all_c ... ok [INFO] [stdout] test sys::locale::tests::reinit_locale_falls_back_to_lang ... ok [INFO] [stdout] test sys::locale::tests::trace_setup_locale_is_noop ... ok [INFO] [stdout] test sys::locale::tests::reinit_locale_reads_lc_all_utf8 ... ok [INFO] [stdout] test sys::process::tests::child_handle_wait_closes_stdout_pipe ... ok [INFO] [stdout] test sys::process::tests::child_handle_wait_with_output_reads_pipe ... ok [INFO] [stdout] test sys::process::tests::decode_wait_status_covers_fallback_shape ... ok [INFO] [stdout] test sys::process::tests::decode_wait_status_signal_terminated ... ok [INFO] [stdout] test sys::process::tests::decodes_wait_status_shapes ... ok [INFO] [stdout] test sys::process::tests::ensure_blocking_setfl_error ... ok [INFO] [stdout] test sys::process::tests::error_exec ... ok [INFO] [stdout] test sys::process::tests::exec_replace_rejects_nul_in_program_and_args ... ok [INFO] [stdout] test sys::process::tests::error_file_io ... ok [INFO] [stdout] test sys::process::tests::error_wait_and_signal ... ok [INFO] [stdout] test sys::process::tests::pending_signal_tracking ... ok [INFO] [stdout] test sys::process::tests::execvp_failure_returns_minus_one ... ok [INFO] [stdout] test sys::process::tests::process_identity_helper_covers_mismatch_branch ... ok [INFO] [stdout] test sys::process::tests::query_signal_disposition_error ... ok [INFO] [stdout] test sys::process::tests::shell_name_from_args_returns_first_arg_or_default ... ok [INFO] [stdout] test sys::process::tests::into_arg_matcher_impls ... ok [INFO] [stdout] test sys::process::tests::error_process_identity ... ok [INFO] [stdout] test sys::process::tests::signal_handler_error_paths ... ok [INFO] [stdout] test sys::process::tests::exec_replace_with_env_error_path ... ok [INFO] [stdout] test sys::process::tests::signal_utility_helpers ... ok [INFO] [stdout] test sys::process::tests::signal_handler_installation_succeeds ... ok [INFO] [stdout] test sys::process::tests::success_exec ... ok [INFO] [stdout] test sys::process::tests::success_file_io ... ok [INFO] [stdout] test sys::process::tests::success_process_identity ... ok [INFO] [stdout] test sys::process::tests::success_wait_and_signal ... ok [INFO] [stdout] test sys::process::tests::sys_success_branches_cover_fd_helpers ... ok [INFO] [stdout] test sys::process::tests::take_child_traces_returns_empty_by_default ... ok [INFO] [stdout] test sys::process::tests::trace_getcwd_erange_and_pipe_err ... ok [INFO] [stdout] test sys::process::tests::trace_getpwnam_null_str ... ok [INFO] [stdout] test sys::process::tests::trace_realpath_resolved_and_err ... ok [INFO] [stdout] test sys::process::tests::trace_waitpid_fallthrough ... ok [INFO] [stdout] test sys::process::tests::wait_pid_error_surfaces_errno ... ok [INFO] [stdout] test sys::process::tests::spawn_child_with_pipe_stdout_and_all_params ... ok [INFO] [stdout] test sys::time::tests::error_times_sysconf ... ok [INFO] [stdout] test sys::process::tests::trace_signal_default_fallthrough ... ok [INFO] [stdout] test sys::process::tests::spawn_child_no_pipe_stdout ... ok [INFO] [stdout] test sys::time::tests::format_strftime_empty_format_yields_empty_output ... ok [INFO] [stdout] test sys::time::tests::format_strftime_renders_bash_short_escapes ... ok [INFO] [stdout] test sys::time::tests::format_strftime_with_embedded_nul_returns_empty ... ok [INFO] [stdout] test sys::time::tests::getrlimit_invalid_resource_returns_error ... ok [INFO] [stdout] test sys::time::tests::format_strftime_renders_date_short_escape ... ok [INFO] [stdout] test sys::time::tests::local_time_now_honors_test_override ... ok [INFO] [stdout] test sys::time::tests::setrlimit_invalid_values_returns_error ... ok [INFO] [stdout] test sys::time::tests::local_time_now_returns_fixed_default_in_tests ... ok [INFO] [stdout] test sys::time::tests::success_umask_times_sysconf ... ok [INFO] [stdout] test sys::time::tests::trace_sysconf_dispatch ... ok [INFO] [stdout] test sys::time::tests::trace_times_err_path ... ok [INFO] [stdout] test sys::tty::tests::error_terminal_control ... ok [INFO] [stdout] test sys::tty::tests::get_terminal_attrs_error ... ok [INFO] [stdout] test sys::time::tests::trace_umask_times_sysconf_and_monotonic_dispatch ... ok [INFO] [stdout] test sys::tty::tests::set_terminal_attrs_success_and_error ... ok [INFO] [stdout] test sys::tty::tests::isatty_fd_delegates_to_interface ... ok [INFO] [stdout] test sys::tty::tests::success_terminal_control ... ok [INFO] [stdout] test sys::tty::tests::tty_basename_none_when_no_tty ... ok [INFO] [stdout] test sys::tty::tests::tty_basename_with_slash_returns_last_component ... ok [INFO] [stdout] test sys::tty::tests::tty_basename_without_slash_returns_whole_name ... ok [INFO] [stdout] test sys::types::tests::child_exit_status_code ... ok [INFO] [stdout] test sys::types::tests::file_stat_same_file_and_newer_than ... ok [INFO] [stdout] test sys::types::tests::file_stat_setuid_setgid ... ok [INFO] [stdout] test sys::types::tests::file_stat_type_predicates ... ok [INFO] [stdout] test sys::boundary_tests::libc_is_only_used_inside_sys_module ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2012 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.55s [INFO] [stdout] [INFO] [stderr] Running unittests tests/check_matrix_integrity.rs (/opt/rustwide/target/debug/deps/check_integrity-5b298eabf753b443) [INFO] [stderr] Running unittests tests/expect_pty.rs (/opt/rustwide/target/debug/deps/expect_pty-4f48cc881a62d852) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test tests::extract_md_citations_multiple_sections ... ok [INFO] [stdout] test tests::extract_md_citations_skips_non_section ... ok [INFO] [stdout] test tests::extract_source_sections_basic ... ok [INFO] [stdout] test tests::extract_md_citations_basic ... ok [INFO] [stdout] test tests::extract_source_sections_stops_at_next_heading ... ok [INFO] [stdout] test tests::extract_utility_pages_from_section ... ok [INFO] [stdout] test tests::parse_utility_desc_basic ... ok [INFO] [stdout] test tests::source_file_for_section_chapter1 ... ok [INFO] [stdout] test tests::source_file_for_section_chapter2 ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 77 tests [INFO] [stdout] test epty_parser::tests::closing_quote_escaped ... ok [INFO] [stdout] test json::tests::array_of_strings ... ok [INFO] [stdout] test epty_parser::tests::closing_quote_unterminated ... ok [INFO] [stdout] test json::tests::empty_array ... ok [INFO] [stdout] test epty_parser::tests::closing_quote_simple ... ok [INFO] [stdout] test json::tests::nested ... ok [INFO] [stdout] test json::tests::null_bool ... ok [INFO] [stdout] test json::tests::simple_string ... ok [INFO] [stdout] test json::tests::simple_object ... ok [INFO] [stdout] test json::tests::string_escapes ... ok [INFO] [stdout] test tests::apply_test_filter_selects_matching_tests ... ok [INFO] [stdout] test json::tests::trailing_data_err ... ok [INFO] [stdout] test tests::parse_script_modes_test ... ok [INFO] [stdout] test tests::parse_suite_doc_allows_lowercase_start ... ok [INFO] [stdout] test tests::parse_suite_allows_more_than_three_requirements ... ok [INFO] [stdout] test tests::parse_suite_basic ... ok [INFO] [stdout] test tests::parse_suite_doc_allows_missing_terminal_period ... ok [INFO] [stdout] test tests::parse_suite_doc_must_not_end_with_colon_dot ... ok [INFO] [stdout] test tests::parse_suite_mismatched_end ... ok [INFO] [stdout] test tests::parse_suite_mismatched_interactive ... ok [INFO] [stdout] test tests::parse_suite_multiline_script ... ok [INFO] [stdout] test tests::parse_suite_multiple_requirements ... ok [INFO] [stdout] test tests::parse_suite_nested_test ... ok [INFO] [stdout] test tests::parse_suite_no_requirement_is_allowed ... ok [INFO] [stdout] test tests::parse_suite_no_script_in_noninteractive_fails ... ok [INFO] [stdout] test tests::parse_suite_requirement_missing_doc_fails ... ok [INFO] [stdout] test tests::parse_suite_no_testsuite_uses_filename ... ok [INFO] [stdout] test tests::parse_suite_script_in_interactive_fails ... ok [INFO] [stdout] test tests::parse_suite_script_no_quoting_needed ... ok [INFO] [stdout] test tests::parse_suite_script_with_blank_lines ... ok [INFO] [stdout] test tests::parse_suite_setenv ... ok [INFO] [stdout] test tests::parse_suite_three_requirements_ok ... ok [INFO] [stdout] test tests::parse_suite_unterminated_test ... ok [INFO] [stdout] test tests::pattern_not_quoted ... ok [INFO] [stdout] test tests::parse_suite_trailing_whitespace_fails ... ok [INFO] [stdout] test tests::parse_suite_unterminated_script_fails ... ok [INFO] [stdout] test tests::pattern_backslash_verbatim ... ok [INFO] [stdout] test tests::pattern_doubled_quote ... ok [INFO] [stdout] test tests::pattern_regex_special_chars ... ok [INFO] [stdout] test tests::pattern_simple ... ok [INFO] [stdout] test tests::pattern_unterminated ... ok [INFO] [stdout] test tests::quoted_escaped_backslash ... ok [INFO] [stdout] test tests::pattern_trailing_backslash ... ok [INFO] [stdout] test tests::quoted_escape_sequences ... ok [INFO] [stdout] test tests::quoted_escaped_quote ... ok [INFO] [stdout] test tests::quoted_mixed ... ok [INFO] [stdout] test tests::quoted_simple ... ok [INFO] [stdout] test tests::quoted_not_quoted ... ok [INFO] [stdout] test tests::regex_alternation ... ok [INFO] [stdout] test tests::quoted_unterminated ... ok [INFO] [stdout] test tests::regex_alternation_three ... ok [INFO] [stdout] test tests::regex_backtracking ... ok [INFO] [stdout] test tests::regex_bracket_digit ... ok [INFO] [stdout] test tests::regex_done_with_code ... ok [INFO] [stdout] test tests::regex_bracket_range ... ok [INFO] [stdout] test tests::regex_complex_job_status ... ok [INFO] [stdout] test tests::regex_dot ... ok [INFO] [stdout] test tests::regex_dot_plus ... ok [INFO] [stdout] test tests::regex_dot_star ... ok [INFO] [stdout] test tests::regex_escape ... ok [INFO] [stdout] test tests::regex_escape_dot ... ok [INFO] [stdout] test tests::regex_find_empty_pattern ... ok [INFO] [stdout] test tests::regex_escape_special ... ok [INFO] [stdout] test tests::regex_find_returns_position ... ok [INFO] [stdout] test tests::regex_group_with_repeat ... ok [INFO] [stdout] test tests::regex_literal ... ok [INFO] [stdout] test tests::regex_job_notification ... ok [INFO] [stdout] test tests::regex_negated_bracket ... ok [INFO] [stdout] test tests::regex_nested_group ... ok [INFO] [stdout] test tests::regex_plus ... ok [INFO] [stdout] test tests::regex_question ... ok [INFO] [stdout] test tests::regex_star ... ok [INFO] [stdout] test tests::regex_stopped_suspended ... ok [INFO] [stdout] test tests::timeout_millis ... ok [INFO] [stdout] test tests::timeout_no_suffix_fails ... ok [INFO] [stdout] test tests::timeout_seconds ... ok [INFO] [stdout] test tests::script_modes_do_not_share_filesystem_state ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 77 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running unittests docs/html_to_md.rs (/opt/rustwide/target/debug/deps/html_to_md-5841fd71c430aaa1) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/meiksh-fc1bfb99d2a8b922) [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 615 tests [INFO] [stderr] Running tests/integration/basic.rs (/opt/rustwide/target/debug/deps/integration_basic-9f4c4ee656da3824) [INFO] [stdout] test builtins::cd_unset_home_fails ... ok [INFO] [stdout] test builtins::cd_logical_resolves_dotdot ... ok [INFO] [stdout] test builtins::command_builtin_reports_and_executes_posix_like_lookups ... ok [INFO] [stdout] test builtins::command_substitution_resets_command_traps ... ok [INFO] [stdout] test builtins::cd_uses_cdpath_and_reports_resolved_directory ... ok [INFO] [stdout] test builtins::command_v_alias_prefix ... ok [INFO] [stdout] test builtins::exec_with_double_dash_passes_arguments ... ok [INFO] [stdout] test builtins::exec_builtin_replaces_process_in_subshell ... ok [INFO] [stdout] test builtins::cd_logical_and_physical_modes ... ok [INFO] [stdout] test builtins::bg_sends_sigcont_to_background_job ... ok [INFO] [stdout] test builtins::exec_with_redirection_only_applies_to_shell ... ok [INFO] [stdout] test builtins::export_readonly_unset_and_pwd_support_listing_and_options ... ok [INFO] [stdout] test builtins::add_history_edge_cases ... ok [INFO] [stdout] test builtins::export_visible_to_child ... ok [INFO] [stdout] test builtins::fc_list_one_operand ... ok [INFO] [stdout] test builtins::fc_list_reversed_range ... ok [INFO] [stdout] test builtins::fc_edit_mode_empty_result ... ok [INFO] [stdout] test builtins::fc_reexec_with_missing_pattern_fails ... ok [INFO] [stdout] test builtins::getopts_combined_short_options ... ok [INFO] [stdout] test builtins::getopts_empty_param_list_reports_end ... ok [INFO] [stdout] test builtins::getopts_grouped_with_trailing_argument ... ok [INFO] [stdout] test builtins::getopts_double_dash_ends_options ... ok [INFO] [stdout] test builtins::getopts_invalid_option_normal_and_silent_mode ... ok [INFO] [stdout] test builtins::getopts_invalid_option_within_group_resumes ... ok [INFO] [stdout] test builtins::fc_option_parsing ... ok [INFO] [stdout] test builtins::getopts_non_option_operand_ends_options ... ok [INFO] [stdout] test builtins::getopts_missing_argument_normal_and_silent_mode ... ok [INFO] [stdout] test builtins::getopts_optind_initialized_to_one ... ok [INFO] [stdout] test builtins::getopts_option_with_separate_and_attached_arg ... ok [INFO] [stdout] test builtins::getopts_parses_positional_params_and_explicit_params ... ok [INFO] [stdout] test builtins::getopts_reset_optind_allows_reparsing ... ok [INFO] [stdout] test builtins::getopts_readonly_errors ... ok [INFO] [stdout] test builtins::fc_list_mode ... ok [INFO] [stdout] test builtins::getopts_resumes_after_invalid_option ... ok [INFO] [stdout] test builtins::getopts_usage_error ... ok [INFO] [stdout] test builtins::getopts_skips_colons_in_optstring ... ok [INFO] [stdout] test builtins::getopts_unsets_optarg_for_options_without_argument ... ok [INFO] [stdout] test builtins::hash_not_found_error ... ok [INFO] [stdout] test builtins::hash_skips_builtins_and_functions ... ok [INFO] [stdout] test builtins::hash_builtin_caches_and_clears ... ok [INFO] [stdout] test builtins::ignored_on_entry_signal_reported_by_trap ... ok [INFO] [stdout] test builtins::hash_path_change_clears_cache ... ok [INFO] [stdout] test builtins::kill_background_job_via_process_group ... ok [INFO] [stdout] test builtins::pwd_corrected_when_env_contains_dotdot ... ok [INFO] [stdout] test builtins::pwd_initialized_from_getcwd_when_env_invalid ... ok [INFO] [stdout] test builtins::prefix_assignment_path_is_restored ... ok [INFO] [stdout] test builtins::read_backslash_escaped_ifs_delim ... ok [INFO] [stdout] test builtins::path_cache_hit_resolves_command ... ok [INFO] [stdout] test builtins::read_without_variable_reads_into_reply ... ok [INFO] [stdout] test builtins::ordinary_builtin_errors_do_not_exit_non_interactive_shells ... ok [INFO] [stdout] test builtins::special_builtin_redirection_errors_still_exit_non_interactive_shells ... ok [INFO] [stdout] test builtins::subshell_preserves_ignored_traps ... ok [INFO] [stdout] test builtins::trap_accepts_sig_prefix ... ok [INFO] [stdout] test builtins::trap_supports_broader_signal_names ... ok [INFO] [stdout] test builtins::read_builtin_assigns_variables_in_current_shell ... ok [INFO] [stdout] test builtins::subshell_resets_command_traps ... ok [INFO] [stdout] test builtins::umask_accepts_symbolic_s_perm ... ok [INFO] [stdout] test builtins::fc_edit_mode ... ok [INFO] [stdout] test builtins::type_builtin_finds_builtins_and_externals ... ok [INFO] [stdout] test builtins::cd_dash_and_jobs_p_follow_milestone_six_paths ... ok [INFO] [stdout] test builtins::umask_accepts_symbolic_x_uppercase_perm ... ok [INFO] [stdout] test builtins::unalias_and_dot_follow_milestone_six_paths ... ok [INFO] [stdout] test control_flow::background_and_or_list_runs_asynchronously ... ok [INFO] [stdout] test builtins::unalias_diagnostic_for_unknown ... ok [INFO] [stdout] test control_flow::brace_group_executes_in_current_environment ... ok [INFO] [stdout] test builtins::umask_and_times_builtins_follow_current_shell_state ... ok [INFO] [stdout] test builtins::wait_second_returns_127_and_diagnostic ... ok [INFO] [stdout] test control_flow::case_pattern_that_is_a_reserved_word_name_still_matches ... ok [INFO] [stdout] test control_flow::errexit_fires_on_final_and_or_command ... ok [INFO] [stdout] test control_flow::control_flow_builtins_obey_function_and_loop_semantics ... ok [INFO] [stdout] test control_flow::errexit_suppressed_in_if_condition ... ok [INFO] [stdout] test control_flow::errexit_exits_on_failed_command ... ok [INFO] [stdout] test control_flow::direct_ast_execution_preserves_compound_commands ... ok [INFO] [stdout] test control_flow::errexit_suppressed_in_negated_pipeline ... ok [INFO] [stdout] test control_flow::errexit_suppressed_in_non_final_and_or ... ok [INFO] [stdout] test builtins::fc_reexec_mode ... ok [INFO] [stdout] test control_flow::errexit_suppressed_in_while_condition ... ok [INFO] [stdout] test control_flow::executes_shell_function ... ok [INFO] [stdout] test control_flow::executes_if_elif_else ... ok [INFO] [stdout] test control_flow::executes_subshell_and_group_commands ... ok [INFO] [stdout] test control_flow::if_with_empty_condition_is_syntax_error ... ok [INFO] [stdout] test control_flow::executes_while_and_until_loops ... ok [INFO] [stdout] test control_flow::executes_case_commands ... ok [INFO] [stdout] test control_flow::invalid_control_flow_builtins_fail_non_interactive_shells ... ok [INFO] [stdout] test control_flow::subshell_changes_do_not_affect_parent ... ok [INFO] [stdout] test control_flow::while_with_empty_condition_is_syntax_error ... ok [INFO] [stdout] test control_flow::until_with_empty_condition_is_syntax_error ... ok [INFO] [stdout] test control_flow::executes_for_loops ... ok [INFO] [stdout] test control_flow::pipeline_with_pty_exercises_terminal_foreground_control ... ok [INFO] [stdout] test builtins::ulimit_get_and_set ... ok [INFO] [stdout] test control_flow::negated_pipeline_flips_status ... ok [INFO] [stdout] test builtins::trap_wait_and_job_control_paths_cover_milestone_five ... ok [INFO] [stdout] test bind_builtin::bind_builtin_covers_all_options ... ok [INFO] [stdout] test emacs_mode::backspace_at_beginning_of_buffer_rings_bell ... ok [INFO] [stdout] test emacs_mode::backspace_deletes_previous_character ... ok [INFO] [stdout] test emacs_mode::bracketed_paste_forms_single_undo_group ... ok [INFO] [stdout] test emacs_mode::bracketed_paste_inserts_bytes_literally ... ok [INFO] [stdout] test emacs_mode::carriage_return_accepts_line_identically_to_lf has been running for over 60 seconds [INFO] [stdout] test emacs_mode::consecutive_kill_commands_accumulate has been running for over 60 seconds [INFO] [stdout] test emacs_mode::consecutive_kill_line_commands_append has been running for over 60 seconds [INFO] [stdout] test emacs_mode::carriage_return_accepts_line_identically_to_lf ... ok [INFO] [stdout] test emacs_mode::ctrl_a_inserts_at_beginning_of_line has been running for over 60 seconds [INFO] [stdout] test emacs_mode::consecutive_kill_commands_accumulate ... ok [INFO] [stdout] test emacs_mode::ctrl_b_at_beginning_of_buffer_rings_bell has been running for over 60 seconds [INFO] [stdout] test emacs_mode::consecutive_kill_line_commands_append ... ok [INFO] [stdout] test emacs_mode::ctrl_b_ctrl_f_move_by_char has been running for over 60 seconds [INFO] [stdout] test emacs_mode::ctrl_a_inserts_at_beginning_of_line ... ok [INFO] [stdout] test emacs_mode::ctrl_c_aborts_current_line_and_reprompts has been running for over 60 seconds [INFO] [stdout] test emacs_mode::ctrl_f_at_end_of_buffer_rings_bell ... ok [INFO] [stdout] test emacs_mode::ctrl_d_at_end_of_nonempty_buffer_rings_bell has been running for over 60 seconds [INFO] [stdout] test emacs_mode::ctrl_b_ctrl_f_move_by_char ... ok [INFO] [stdout] test emacs_mode::ctrl_d_nonempty_buffer_deletes_char has been running for over 60 seconds [INFO] [stdout] test emacs_mode::ctrl_c_aborts_current_line_and_reprompts ... ok [INFO] [stdout] test emacs_mode::ctrl_d_on_empty_line_exits has been running for over 60 seconds [INFO] [stdout] test emacs_mode::ctrl_d_at_end_of_nonempty_buffer_rings_bell ... ok [INFO] [stdout] test emacs_mode::ctrl_e_returns_to_end_of_line has been running for over 60 seconds [INFO] [stdout] test emacs_mode::ctrl_d_nonempty_buffer_deletes_char ... ok [INFO] [stdout] test emacs_mode::ctrl_d_on_empty_line_exits ... ok [INFO] [stdout] test emacs_mode::ctrl_g_aborts_incremental_search has been running for over 60 seconds [INFO] [stdout] test emacs_mode::ctrl_e_returns_to_end_of_line ... ok [INFO] [stdout] test emacs_mode::ctrl_g_without_composite_action_rings_bell has been running for over 60 seconds [INFO] [stdout] test emacs_mode::ctrl_n_on_fresh_buffer_rings_bell ... ok [INFO] [stdout] test emacs_mode::ctrl_j_accepts_line has been running for over 60 seconds [INFO] [stdout] test emacs_mode::ctrl_g_aborts_incremental_search ... ok [INFO] [stdout] test emacs_mode::ctrl_k_then_ctrl_y_round_trips_tail has been running for over 60 seconds [INFO] [stdout] test emacs_mode::ctrl_g_without_composite_action_rings_bell ... ok [INFO] [stdout] test emacs_mode::ctrl_l_emits_clear_screen_escape has been running for over 60 seconds [INFO] [stdout] test emacs_mode::ctrl_j_accepts_line ... ok [INFO] [stdout] test emacs_mode::ctrl_left_arrow_moves_backward_word has been running for over 60 seconds [INFO] [stdout] test emacs_mode::ctrl_k_then_ctrl_y_round_trips_tail ... ok [INFO] [stdout] test emacs_mode::ctrl_l_emits_clear_screen_escape ... ok [INFO] [stdout] test emacs_mode::ctrl_p_past_oldest_rings_bell has been running for over 60 seconds [INFO] [stdout] test emacs_mode::ctrl_left_arrow_moves_backward_word ... ok [INFO] [stdout] test emacs_mode::ctrl_p_recalls_previous_history has been running for over 60 seconds [INFO] [stdout] test emacs_mode::ctrl_b_at_beginning_of_buffer_rings_bell ... ok [INFO] [stdout] test emacs_mode::ctrl_q_quoted_insert_bypasses_dispatch has been running for over 60 seconds [INFO] [stdout] test emacs_mode::ctrl_p_past_oldest_rings_bell ... ok [INFO] [stdout] test emacs_mode::ctrl_r_reverse_search_finds_and_reexecutes has been running for over 60 seconds [INFO] [stdout] test emacs_mode::ctrl_p_recalls_previous_history ... ok [INFO] [stdout] test emacs_mode::ctrl_right_arrow_moves_forward_word has been running for over 60 seconds [INFO] [stdout] test emacs_mode::ctrl_q_quoted_insert_bypasses_dispatch ... ok [INFO] [stdout] test emacs_mode::ctrl_t_mid_buffer_exchanges_before_and_at_cursor has been running for over 60 seconds [INFO] [stdout] test emacs_mode::ctrl_r_reverse_search_finds_and_reexecutes ... ok [INFO] [stdout] test emacs_mode::ctrl_t_transposes_last_two_chars_at_end has been running for over 60 seconds [INFO] [stdout] test emacs_mode::ctrl_right_arrow_moves_forward_word ... ok [INFO] [stdout] test emacs_mode::ctrl_u_kills_backward_to_start has been running for over 60 seconds [INFO] [stdout] test emacs_mode::ctrl_t_mid_buffer_exchanges_before_and_at_cursor ... ok [INFO] [stdout] test emacs_mode::ctrl_underscore_undoes_self_insert_run has been running for over 60 seconds [INFO] [stdout] test emacs_mode::ctrl_t_transposes_last_two_chars_at_end ... ok [INFO] [stdout] test emacs_mode::ctrl_v_synonym_for_quoted_insert has been running for over 60 seconds [INFO] [stdout] test emacs_mode::ctrl_u_kills_backward_to_start ... ok [INFO] [stdout] test emacs_mode::ctrl_w_rubs_out_previous_word_to_whitespace has been running for over 60 seconds [INFO] [stdout] test emacs_mode::ctrl_underscore_undoes_self_insert_run ... ok [INFO] [stdout] test emacs_mode::ctrl_x_ctrl_e_edits_and_executes_via_visual has been running for over 60 seconds [INFO] [stdout] test emacs_mode::ctrl_v_synonym_for_quoted_insert ... ok [INFO] [stdout] test emacs_mode::delete_byte_deletes_previous_character has been running for over 60 seconds [INFO] [stdout] test emacs_mode::emacs_mode_suppresses_kernel_echo_of_erased_input ... ok [INFO] [stdout] test emacs_mode::delete_key_removes_char_under_cursor has been running for over 60 seconds [INFO] [stdout] test emacs_mode::ctrl_x_ctrl_e_edits_and_executes_via_visual ... ok [INFO] [stdout] test emacs_mode::down_arrow_next_history_walks_forward has been running for over 60 seconds [INFO] [stdout] test emacs_mode::delete_byte_deletes_previous_character ... ok [INFO] [stdout] test emacs_mode::editor_enables_bracketed_paste_on_entry has been running for over 60 seconds [INFO] [stdout] test emacs_mode::delete_key_removes_char_under_cursor ... ok [INFO] [stdout] test emacs_mode::emacs_mode_default_on_at_startup has been running for over 60 seconds [INFO] [stdout] test emacs_mode::down_arrow_next_history_walks_forward ... ok [INFO] [stdout] test emacs_mode::editor_enables_bracketed_paste_on_entry ... ok [INFO] [stdout] test emacs_mode::emacs_mode_default_on_at_startup ... ok [INFO] [stdout] test emacs_mode::emacs_mode_turns_off_vi_mode has been running for over 60 seconds [INFO] [stdout] test emacs_mode::ctrl_w_rubs_out_previous_word_to_whitespace ... ok [INFO] [stdout] test emacs_mode::emacs_mode_turns_off_vi_mode ... ok [INFO] [stdout] test emacs_mode::home_and_end_arrow_keys_move_to_ends has been running for over 60 seconds [INFO] [stdout] test emacs_mode::linux_home_keyseq_moves_to_beginning ... ok [INFO] [stdout] test emacs_mode::if_mode_emacs_directive_loads_without_diagnostic has been running for over 60 seconds [INFO] [stdout] test emacs_mode::if_mode_emacs_directive_loads_without_diagnostic ... ok [INFO] [stdout] test emacs_mode::if_term_directive_gates_bindings_without_diagnostic ... ok [INFO] [stdout] test emacs_mode::input_meta_and_output_meta_accepted_without_diagnostic ... ok [INFO] [stdout] test emacs_mode::meta_dot_yanks_last_argument ... ok [INFO] [stdout] test emacs_mode::kill_then_non_kill_then_kill_replaces_buffer has been running for over 60 seconds [INFO] [stdout] test emacs_mode::left_arrow_moves_backward_char has been running for over 60 seconds [INFO] [stdout] test emacs_mode::left_arrow_moves_backward_char ... ok [INFO] [stdout] test emacs_mode::linux_end_keyseq_moves_to_end has been running for over 60 seconds [INFO] [stdout] test emacs_mode::linux_end_keyseq_moves_to_end ... ok [INFO] [stdout] test emacs_mode::home_and_end_arrow_keys_move_to_ends ... ok [INFO] [stdout] test emacs_mode::meta_backspace_kills_word_backward has been running for over 60 seconds [INFO] [stdout] test emacs_mode::meta_c_capitalizes_word has been running for over 60 seconds [INFO] [stdout] test emacs_mode::meta_backspace_kills_word_backward ... ok [INFO] [stdout] test emacs_mode::meta_d_kills_word_forward has been running for over 60 seconds [INFO] [stdout] test emacs_mode::meta_underscore_is_yank_last_arg_synonym ... ok [INFO] [stdout] test emacs_mode::no_terminal_falls_back_silently ... ok [INFO] [stdout] test emacs_mode::non_interactive_set_o_emacs_updates_reportable_state ... ok [INFO] [stdout] test emacs_mode::meta_f_meta_b_move_by_word has been running for over 60 seconds [INFO] [stdout] test emacs_mode::meta_d_kills_word_forward ... ok [INFO] [stdout] test emacs_mode::meta_l_downcases_word_at_cursor has been running for over 60 seconds [INFO] [stdout] test emacs_mode::kill_then_non_kill_then_kill_replaces_buffer ... ok [INFO] [stdout] test emacs_mode::meta_t_transposes_words has been running for over 60 seconds [INFO] [stdout] test emacs_mode::meta_f_meta_b_move_by_word ... ok [INFO] [stdout] test emacs_mode::meta_u_upcases_word_at_cursor has been running for over 60 seconds [INFO] [stdout] test emacs_mode::meta_l_downcases_word_at_cursor ... ok [INFO] [stdout] test emacs_mode::set_mark_binding_rejected_as_unknown_function ... ok [INFO] [stdout] test emacs_mode::meta_u_upcases_word_at_cursor ... ok [INFO] [stdout] test emacs_mode::page_down_moves_to_end_of_history has been running for over 60 seconds [INFO] [stdout] test emacs_mode::meta_c_capitalizes_word ... ok [INFO] [stdout] test emacs_mode::page_up_moves_to_beginning_of_history has been running for over 60 seconds [INFO] [stdout] test emacs_mode::page_down_moves_to_end_of_history ... ok [INFO] [stdout] test emacs_mode::right_arrow_moves_forward_char has been running for over 60 seconds [INFO] [stdout] test emacs_mode::page_up_moves_to_beginning_of_history ... ok [INFO] [stdout] test emacs_mode::self_insert_and_accept_submits_command has been running for over 60 seconds [INFO] [stdout] test emacs_mode::set_plus_o_posix_format_emits_emacs_line ... ok [INFO] [stdout] test emacs_mode::self_insert_and_accept_submits_command ... ok [INFO] [stdout] test emacs_mode::set_o_emacs_enables_and_reports_on has been running for over 60 seconds [INFO] [stdout] test emacs_mode::meta_t_transposes_words ... ok [INFO] [stdout] test emacs_mode::set_o_vi_turns_off_emacs has been running for over 60 seconds [INFO] [stdout] test emacs_mode::set_o_emacs_enables_and_reports_on ... ok [INFO] [stdout] test emacs_mode::set_o_vi_turns_off_emacs ... ok [INFO] [stdout] test emacs_mode::set_plus_o_emacs_disables_and_reports_off has been running for over 60 seconds [INFO] [stdout] test emacs_mode::set_plus_o_emacs_disables_and_reports_off ... ok [INFO] [stdout] test emacs_mode::set_plus_o_emacs_from_default_reports_off ... ok [INFO] [stdout] test emacs_mode::tab_bsquote_escapes_space_in_filename ... ok [INFO] [stdout] test emacs_mode::ss3_home_key_moves_to_beginning has been running for over 60 seconds [INFO] [stdout] test emacs_mode::ss3_home_key_moves_to_beginning ... ok [INFO] [stdout] test emacs_mode::ss3_up_arrow_recalls_previous_history has been running for over 60 seconds [INFO] [stdout] test emacs_mode::ss3_up_arrow_recalls_previous_history ... ok [INFO] [stdout] test emacs_mode::start_kbd_macro_binding_rejected_as_unknown_function has been running for over 60 seconds [INFO] [stdout] test emacs_mode::start_kbd_macro_binding_rejected_as_unknown_function ... ok [INFO] [stdout] test emacs_mode::tab_after_trailing_backslash_inserts_literal_tab has been running for over 60 seconds [INFO] [stdout] test emacs_mode::tab_bsquote_escapes_dollar_in_filename has been running for over 60 seconds [INFO] [stdout] test emacs_mode::tab_completes_command_on_first_word ... ok [INFO] [stdout] test emacs_mode::tab_bsquote_escapes_glob_star_in_filename has been running for over 60 seconds [INFO] [stdout] test emacs_mode::tab_bsquote_escapes_dollar_in_filename ... ok [INFO] [stdout] test emacs_mode::tab_bsquote_lcp_quotes_partial_without_terminator has been running for over 60 seconds [INFO] [stdout] test emacs_mode::tab_bsquote_escapes_glob_star_in_filename ... ok [INFO] [stdout] test emacs_mode::tab_bsquote_prefix_dequotes_before_match has been running for over 60 seconds [INFO] [stdout] test emacs_mode::right_arrow_moves_forward_char ... ok [INFO] [stdout] test emacs_mode::tab_completes_command_inside_command_substitution has been running for over 60 seconds [INFO] [stdout] test emacs_mode::tab_bsquote_lcp_quotes_partial_without_terminator ... ok [INFO] [stdout] test emacs_mode::tab_directory_completion_appends_trailing_slash has been running for over 60 seconds [INFO] [stdout] test emacs_mode::tab_bsquote_prefix_dequotes_before_match ... ok [INFO] [stdout] test emacs_mode::tab_dquote_completes_filename_with_space has been running for over 60 seconds [INFO] [stdout] test emacs_mode::tab_completes_command_inside_command_substitution ... ok [INFO] [stdout] test emacs_mode::tab_dquote_directory_appends_slash_without_close_quote has been running for over 60 seconds [INFO] [stdout] test emacs_mode::tab_after_trailing_backslash_inserts_literal_tab ... ok [INFO] [stdout] test emacs_mode::tab_dquote_escapes_dollar_in_filename has been running for over 60 seconds [INFO] [stdout] test emacs_mode::tab_directory_completion_appends_trailing_slash ... ok [INFO] [stdout] test emacs_mode::tab_filename_completion_with_slash_path has been running for over 60 seconds [INFO] [stdout] test emacs_mode::tab_dquote_completes_filename_with_space ... ok [INFO] [stdout] test emacs_mode::tab_inside_comment_inserts_literal_tab has been running for over 60 seconds [INFO] [stdout] test emacs_mode::tab_dquote_directory_appends_slash_without_close_quote ... ok [INFO] [stdout] test emacs_mode::tab_inside_double_quote_still_completes_commands has been running for over 60 seconds [INFO] [stdout] test emacs_mode::tab_inside_empty_single_quote_with_no_match_rings_bell has been running for over 60 seconds [INFO] [stdout] test emacs_mode::tab_dquote_escapes_dollar_in_filename ... ok [INFO] [stdout] test emacs_mode::tab_filename_completion_with_slash_path ... ok [INFO] [stdout] test emacs_mode::tab_inside_nested_single_quote_uses_squote_mode has been running for over 60 seconds [INFO] [stdout] test emacs_mode::tab_inside_comment_inserts_literal_tab ... ok [INFO] [stdout] test emacs_mode::tab_inside_single_quote_completes_with_close_quote_and_space has been running for over 60 seconds [INFO] [stdout] test emacs_mode::tab_inside_double_quote_still_completes_commands ... ok [INFO] [stdout] test emacs_mode::tab_multiple_completions_fill_longest_common_prefix has been running for over 60 seconds [INFO] [stdout] test emacs_mode::tab_inside_empty_single_quote_with_no_match_rings_bell ... ok [INFO] [stdout] test emacs_mode::tab_no_completion_rings_bell has been running for over 60 seconds [INFO] [stdout] test emacs_mode::tab_inside_nested_single_quote_uses_squote_mode ... ok [ERROR] error running command: command timed out after 900 seconds [INFO] running `Command { std: "docker" "inspect" "af5b543e13a2e157d30a2048f21dbc7b65d1cbabd80f2d9ebbd522f3994f8b16", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "af5b543e13a2e157d30a2048f21dbc7b65d1cbabd80f2d9ebbd522f3994f8b16", kill_on_drop: false }` [INFO] [stdout] af5b543e13a2e157d30a2048f21dbc7b65d1cbabd80f2d9ebbd522f3994f8b16