[INFO] cloning repository https://github.com/DaveDev42/git-worktree-manager [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/DaveDev42/git-worktree-manager" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDaveDev42%2Fgit-worktree-manager", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDaveDev42%2Fgit-worktree-manager'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 501e829241e080ce66e414b9011a9b7f7f080539 [INFO] testing DaveDev42/git-worktree-manager against 1.97.0-beta.6 for beta-1.98-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDaveDev42%2Fgit-worktree-manager" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-5-tc1/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/DaveDev42/git-worktree-manager [INFO] finished tweaking git repo https://github.com/DaveDev42/git-worktree-manager [INFO] tweaked toml for git repo https://github.com/DaveDev42/git-worktree-manager written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/DaveDev42/git-worktree-manager on toolchain 1.97.0-beta.6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/DaveDev42/git-worktree-manager already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded typed-path v0.12.3 [INFO] [stderr] Downloaded digest v0.11.2 [INFO] [stderr] Downloaded fastrand v2.4.0 [INFO] [stderr] Downloaded hybrid-array v0.4.10 [INFO] [stderr] Downloaded line-clipping v0.3.7 [INFO] [stderr] Downloaded wezterm-color-types v0.3.0 [INFO] [stderr] Downloaded lab v0.11.0 [INFO] [stderr] Downloaded serial_test v3.4.0 [INFO] [stderr] Downloaded serial_test_derive v3.4.0 [INFO] [stderr] Downloaded wezterm-dynamic v0.2.1 [INFO] [stderr] Downloaded wezterm-dynamic-derive v0.1.1 [INFO] [stderr] Downloaded vtparse v0.6.2 [INFO] [stderr] Downloaded memmem v0.1.1 [INFO] [stderr] Downloaded ratatui-termwiz v0.1.0 [INFO] [stderr] Downloaded mac_address v1.1.8 [INFO] [stderr] Downloaded self-replace v1.5.0 [INFO] [stderr] Downloaded unicode-truncate v2.0.1 [INFO] [stderr] Downloaded lru v0.16.4 [INFO] [stderr] Downloaded kasuari v0.4.12 [INFO] [stderr] Downloaded wezterm-input-types v0.1.0 [INFO] [stderr] Downloaded wezterm-blob-leases v0.1.1 [INFO] [stderr] Downloaded termios v0.3.3 [INFO] [stderr] Downloaded terminfo v0.9.0 [INFO] [stderr] Downloaded ratatui-macros v0.7.0 [INFO] [stderr] Downloaded ratatui-crossterm v0.1.0 [INFO] [stderr] Downloaded ratatui v0.30.0 [INFO] [stderr] Downloaded console v0.16.3 [INFO] [stderr] Downloaded wezterm-bidi v0.2.3 [INFO] [stderr] Downloaded assert_cmd v2.2.0 [INFO] [stderr] Downloaded clap_complete v4.6.0 [INFO] [stderr] Downloaded finl_unicode v1.4.0 [INFO] [stderr] Downloaded zip v8.5.1 [INFO] [stderr] Downloaded fancy-regex v0.11.0 [INFO] [stderr] Downloaded ratatui-core v0.1.0 [INFO] [stderr] Downloaded ratatui-widgets v0.3.0 [INFO] [stderr] Downloaded termwiz v0.23.3 [INFO] [stderr] Downloaded deltae v0.3.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 426f31145f1909aacb8607eb3f05b97aa4a91911345556c99f6014a972b38765 [INFO] running `Command { std: "docker" "start" "426f31145f1909aacb8607eb3f05b97aa4a91911345556c99f6014a972b38765", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "426f31145f1909aacb8607eb3f05b97aa4a91911345556c99f6014a972b38765", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "426f31145f1909aacb8607eb3f05b97aa4a91911345556c99f6014a972b38765" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "426f31145f1909aacb8607eb3f05b97aa4a91911345556c99f6014a972b38765", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "426f31145f1909aacb8607eb3f05b97aa4a91911345556c99f6014a972b38765" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.184 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling lru v0.16.4 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling convert_case v0.10.0 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling compact_str v0.9.0 [INFO] [stderr] Compiling litrs v1.0.0 [INFO] [stderr] Compiling simd-adler32 v0.3.9 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling fastrand v2.4.0 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling const-oid v0.10.2 [INFO] [stderr] Compiling zlib-rs v0.6.3 [INFO] [stderr] Compiling line-clipping v0.3.7 [INFO] [stderr] Compiling bumpalo v3.20.2 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling indexmap v2.13.1 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling shell-words v1.1.1 [INFO] [stderr] Compiling document-features v0.2.12 [INFO] [stderr] Compiling typed-path v0.12.3 [INFO] [stderr] Compiling zopfli v0.8.3 [INFO] [stderr] Compiling pathdiff v0.2.3 [INFO] [stderr] Compiling unicode-truncate v2.0.1 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling mio v1.2.0 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling filetime v0.2.27 [INFO] [stderr] Compiling console v0.16.3 [INFO] [stderr] Compiling hybrid-array v0.4.10 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling crypto-common v0.2.1 [INFO] [stderr] Compiling block-buffer v0.12.0 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling xattr v1.6.1 [INFO] [stderr] Compiling tar v0.4.45 [INFO] [stderr] Compiling dialoguer v0.12.0 [INFO] [stderr] Compiling self-replace v1.5.0 [INFO] [stderr] Compiling digest v0.11.2 [INFO] [stderr] Compiling sha2 v0.11.0 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling clap_derive v4.6.0 [INFO] [stderr] Compiling zip v8.5.1 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling kasuari v0.4.12 [INFO] [stderr] Compiling clap v4.6.0 [INFO] [stderr] Compiling clap_complete v4.6.0 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling strum v0.27.2 [INFO] [stderr] Compiling ratatui-core v0.1.0 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling instability v0.3.12 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling ratatui-widgets v0.3.0 [INFO] [stderr] Compiling ratatui-crossterm v0.1.0 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling ratatui-macros v0.7.0 [INFO] [stderr] Compiling ratatui v0.30.0 [INFO] [stderr] Compiling git-worktree-manager v0.1.15 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 46.09s [INFO] running `Command { std: "docker" "inspect" "426f31145f1909aacb8607eb3f05b97aa4a91911345556c99f6014a972b38765", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "426f31145f1909aacb8607eb3f05b97aa4a91911345556c99f6014a972b38765" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling predicates-core v1.0.10 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling float-cmp v0.10.0 [INFO] [stderr] Compiling normalize-line-endings v0.3.0 [INFO] [stderr] Compiling assert_cmd v2.2.0 [INFO] [stderr] Compiling difflib v0.4.0 [INFO] [stderr] Compiling termtree v0.5.1 [INFO] [stderr] Compiling sdd v3.0.10 [INFO] [stderr] Compiling serial_test_derive v3.4.0 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling predicates-tree v1.0.13 [INFO] [stderr] Compiling scc v2.4.0 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling serial_test v3.4.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling predicates v3.1.4 [INFO] [stderr] Compiling git-worktree-manager v0.1.15 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 37.00s [INFO] running `Command { std: "docker" "inspect" "426f31145f1909aacb8607eb3f05b97aa4a91911345556c99f6014a972b38765", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "426f31145f1909aacb8607eb3f05b97aa4a91911345556c99f6014a972b38765" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.43s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/git_worktree_manager-be1d1ed8376fe341) [INFO] [stdout] [INFO] [stdout] running 255 tests [INFO] [stdout] test config::tests::interactive_presets_have_no_print_flag ... ok [INFO] [stdout] test config::tests::test_default_config ... ok [INFO] [stdout] test config::tests::test_preset_names ... ok [INFO] [stdout] test config::tests::test_parse_term_option ... ok [INFO] [stdout] test config::tests::test_resolve_launch_alias ... ok [INFO] [stdout] test console::tests::test_status_icon_pr_open ... ok [INFO] [stdout] test console::tests::test_status_icon_unknown_fallback ... ok [INFO] [stdout] test console::tests::test_status_style_known ... ok [INFO] [stdout] test console::tests::test_status_style_new_statuses ... ok [INFO] [stdout] test constants::tests::test_bg_fg_roundtrip ... ok [INFO] [stdout] test constants::tests::test_format_config_key ... ok [INFO] [stdout] test constants::tests::test_home_dir_or_fallback ... ok [INFO] [stdout] test constants::tests::test_launch_method_roundtrip ... ok [INFO] [stdout] test console::tests::test_status_icon_all_variants ... ok [INFO] [stdout] test constants::tests::test_preset_names_contents ... ok [INFO] [stdout] test constants::tests::test_to_bg_unsupported_methods_silent_noop ... ok [INFO] [stdout] test constants::tests::test_to_fg_supported_methods ... ok [INFO] [stdout] test constants::tests::test_to_fg_unsupported_methods_silent_noop ... ok [INFO] [stdout] test constants::tests::test_version_meets_minimum ... ok [INFO] [stdout] test constants::tests::test_to_bg_supported_methods ... ok [INFO] [stdout] test entrypoint::tests::lift_dash_target_handles_none_target ... ok [INFO] [stdout] test entrypoint::tests::lift_dash_target_lifts_hyphen_target ... ok [INFO] [stdout] test entrypoint::tests::lift_dash_target_lifts_with_no_forward_args ... ok [INFO] [stdout] test cwshare_setup::tests::test_detect_common_files_empty_dir ... ok [INFO] [stdout] test entrypoint::tests::lift_dash_target_passes_through_normal_target ... ok [INFO] [stdout] test cwshare_setup::tests::test_detect_common_files_finds_env ... ok [INFO] [stdout] test entrypoint::tests::reject_forward_args_passes_when_empty ... ok [INFO] [stdout] test entrypoint::tests::reject_forward_args_rejects_prompt_after_other_flags ... ok [INFO] [stdout] test cwshare_setup::tests::test_has_cwshare_file_returns_true_when_present ... ok [INFO] [stdout] test entrypoint::tests::reject_forward_args_rejects_prompt_after_positional ... ok [INFO] [stdout] test entrypoint::tests::reject_forward_args_rejects_prompt_file_leading ... ok [INFO] [stdout] test cwshare_setup::tests::test_create_cwshare_template_with_suggestions ... ok [INFO] [stdout] test entrypoint::tests::reject_forward_args_rejects_equals_form ... ok [INFO] [stdout] test cwshare_setup::tests::test_create_cwshare_template_creates_file ... ok [INFO] [stdout] test entrypoint::tests::reject_forward_args_rejects_prompt_leading ... ok [INFO] [stdout] test git::tests::is_locked_error_detects_git_message ... ok [INFO] [stdout] test git::tests::parse_pid_extracts_first_pid ... ok [INFO] [stdout] test cwshare_setup::tests::test_create_cwshare_template_no_suggestions ... ok [INFO] [stdout] test git::tests::parse_pid_returns_none_for_malformed ... ok [INFO] [stdout] test git::tests::parse_pid_picks_first_when_multiple ... ok [INFO] [stdout] test git::tests::parse_pid_handles_trailing_text ... ok [INFO] [stdout] test git::tests::parse_pid_returns_none_without_marker ... ok [INFO] [stdout] test git::tests::test_normalize_branch_name ... ok [INFO] [stdout] test messages::tests::test_branch_not_found ... ok [INFO] [stdout] test git::tests::test_canonicalize_or_existing_path ... ok [INFO] [stdout] test git::tests::test_canonicalize_or_relative_path ... ok [INFO] [stdout] test cwshare_setup::tests::test_has_cwshare_file_returns_false_when_missing ... ok [INFO] [stdout] test cwshare_setup::tests::test_detect_common_files_finds_vscode_settings ... ok [INFO] [stdout] test messages::tests::test_cannot_determine_base_branch ... ok [INFO] [stdout] test cwshare_setup::tests::test_detect_common_files_finds_nested ... ok [INFO] [stdout] test constants::tests::test_sanitize_branch_name ... ok [INFO] [stdout] test messages::tests::test_cannot_delete_main_worktree ... ok [INFO] [stdout] test git::tests::test_get_branch_name_error ... ok [INFO] [stdout] test messages::tests::test_deleting_remote_branch ... ok [INFO] [stdout] test messages::tests::test_detached_head_warning ... ok [INFO] [stdout] test messages::tests::test_missing_metadata ... ok [INFO] [stdout] test messages::tests::test_invalid_branch_name ... ok [INFO] [stdout] test messages::tests::test_removing_worktree ... ok [INFO] [stdout] test messages::tests::test_starting_ai_tool_foreground ... ok [INFO] [stdout] test messages::tests::test_starting_ai_tool_in ... ok [INFO] [stdout] test messages::tests::test_resuming_ai_tool_in ... ok [INFO] [stdout] test messages::tests::test_switched_to_worktree ... ok [INFO] [stdout] test messages::tests::test_target_not_found ... ok [INFO] [stdout] test operations::ai_tools::tests::auto_forward_prefix_known_tools ... ok [INFO] [stdout] test messages::tests::test_worktree_not_found ... ok [INFO] [stdout] test messages::tests::test_worktree_dir_not_found ... ok [INFO] [stdout] test operations::ai_tools::tests::auto_forward_prefix_strips_path_and_extension ... ok [INFO] [stdout] test messages::tests::test_cannot_determine_branch ... ok [INFO] [stdout] test operations::ai_tools::tests::handles_yolo_skip_permissions_argv ... ok [INFO] [stdout] test operations::ai_tools::tests::injects_settings_after_argv0_when_enabled ... ok [INFO] [stdout] test messages::tests::test_deleting_local_branch ... ok [INFO] [stdout] test operations::ai_tools::tests::noop_when_guard_disabled ... ok [INFO] [stdout] test operations::ai_tools::tests::build_env_map_no_env_forward_skips_auto ... ok [INFO] [stdout] test operations::ai_tools::tests::noop_when_argv_empty ... ok [INFO] [stdout] test operations::ai_tools::tests::build_env_map_strips_parent_context_vars ... ok [INFO] [stdout] test operations::ai_tools::tests::build_env_map_unknown_tool_no_auto ... ok [INFO] [stdout] test operations::ai_tools::tests::build_env_map_picks_up_prefix_match ... ok [INFO] [stdout] test operations::ai_tools::tests::tab_label_uses_sanitized_dir_name ... ok [INFO] [stdout] test operations::busy::tests::is_multiplexer_rejects_non_multiplexers ... ok [INFO] [stdout] test operations::ai_tools::tests::tab_label_caps_at_max_session_length ... ok [INFO] [stdout] test operations::busy::tests::is_suspicious_cmd_flags_version_strings ... ok [INFO] [stdout] test operations::busy::tests::is_multiplexer_matches_known_names ... ok [INFO] [stdout] test operations::busy::tests::self_tree_contains_current_pid ... ok [INFO] [stdout] test operations::busy::tests::is_suspicious_cmd_accepts_real_names ... ok [INFO] [stdout] test operations::busy::tests::self_tree_contains_parent_pid ... ok [INFO] [stdout] test operations::claude_process::tests::is_claude_process_detects_user_install ... ok [INFO] [stdout] test operations::claude_process::tests::is_claude_process_rejects_substring_outside_claude_path ... ok [INFO] [stdout] test operations::claude_process::tests::process_holds_worktree_matches_descendant_cwd ... ok [INFO] [stdout] test operations::claude_process::tests::process_holds_worktree_matches_dot_claude_fd ... ok [INFO] [stdout] test operations::claude_process::tests::process_holds_worktree_matches_exact_cwd ... ok [INFO] [stdout] test operations::claude_process::tests::process_holds_worktree_rejects_sibling_with_shared_prefix ... ok [INFO] [stdout] test operations::claude_process::tests::process_holds_worktree_rejects_unrelated_cwd_and_fds ... ok [INFO] [stdout] test operations::claude_process::tests::is_claude_process_detects_macos_desktop_app ... ok [INFO] [stdout] test operations::claude_settings::tests::is_legacy_rejects_unrelated_commands ... ok [INFO] [stdout] test operations::claude_settings::tests::is_legacy_rejects_current_bare_form ... ok [INFO] [stdout] test operations::claude_settings::tests::payload_has_pretooluse_bash_hook ... ok [INFO] [stdout] test operations::claude_settings::tests::pre_tool_use_bash_entry_is_bare_gw ... ok [INFO] [stdout] test operations::claude_settings::tests::is_legacy_recognizes_absolute_paths ... ok [INFO] [stdout] test operations::config_ops::tests::config_key_all_matches_name ... ok [INFO] [stdout] test operations::claude_settings::tests::worktree_remove_entry_is_bare_gw ... ok [INFO] [stdout] test operations::config_ops::tests::parse_args_empty_is_empty_array ... ok [INFO] [stdout] test operations::busy::tests::detect_busy_tiered_no_hard_when_jsonl_active_but_no_live_claude ... ok [INFO] [stdout] test operations::config_ops::tests::parse_args_whitespace_form ... ok [INFO] [stdout] test operations::config_ops::tests::parse_args_json_form ... ok [INFO] [stdout] test operations::config_ops::tests::parse_bool_variants ... ok [INFO] [stdout] test operations::busy::tests::detect_busy_tiered_returns_hard_for_lockfile ... ok [INFO] [stdout] test operations::ai_tools::tests::preserves_delegate_prompt_at_tail ... ok [INFO] [stdout] test operations::ai_tools::tests::preserves_trailing_continue_flag ... ok [INFO] [stdout] test operations::config_ops::tests::parse_number_for_timeout ... ok [INFO] [stdout] test operations::config_ops::tests::set_creates_intermediate_objects ... ok [INFO] [stdout] test operations::config_ops::tests::unset_missing_key_noop ... ok [INFO] [stdout] test operations::config_ops::tests::set_then_lookup_string ... ok [INFO] [stdout] test operations::config_ops::tests::set_rejects_non_object_intermediate ... ok [INFO] [stdout] test operations::config_ops::tests::parse_empty_string_value_is_empty_string ... ok [INFO] [stdout] test operations::config_ops::tests::parse_number_rejects_non_finite ... ok [INFO] [stdout] test operations::config_ops::tests::unset_removes_key_only ... ok [INFO] [stdout] test operations::display::tests::format_selector_row_busy_contains_badge ... ok [INFO] [stdout] test operations::display::tests::format_selector_row_busy_visible_width_matches_no_busy ... ok [INFO] [stdout] test operations::display::tests::format_selector_row_long_branch_does_not_truncate ... ok [INFO] [stdout] test operations::display::tests::format_selector_row_empty_age_pads_to_nine ... ok [INFO] [stdout] test operations::display::tests::format_selector_row_no_busy ... ok [INFO] [stdout] test operations::display::tests::test_format_age_boundary_below_one_hour ... ok [INFO] [stdout] test operations::display::tests::test_format_age_days ... ok [INFO] [stdout] test operations::display::tests::test_format_age_hours ... ok [INFO] [stdout] test operations::display::tests::test_format_age_just_now ... ok [INFO] [stdout] test operations::display::tests::test_format_age_months ... ok [INFO] [stdout] test operations::display::tests::test_format_age_weeks ... ok [INFO] [stdout] test operations::display::tests::test_format_age_years ... ok [INFO] [stdout] test operations::helpers::tests::test_parse_repo_branch_target ... ok [INFO] [stdout] test operations::display::tests::test_get_worktree_status_stale ... ok [INFO] [stdout] test operations::launchers::iterm::tests::applescript_escape_doubles_backslashes ... ok [INFO] [stdout] test operations::launchers::iterm::tests::applescript_escape_passes_through_plain_text ... ok [INFO] [stdout] test operations::launchers::tests::preserves_existing_quoting ... ok [INFO] [stdout] test operations::launchers::wezterm::tests::ignores_command_in_progress ... ok [INFO] [stdout] test operations::launchers::tests::appends_exec_login_shell ... ok [INFO] [stdout] test operations::launchers::wezterm::tests::picks_last_non_blank_line ... ok [INFO] [stdout] test operations::launchers::wezterm::tests::rejects_multiplexer_chrome_without_prompt ... ok [INFO] [stdout] test operations::launchers::wezterm::tests::rejects_blank_pane ... ok [INFO] [stdout] test operations::display::tests::test_get_worktree_status_busy_from_lockfile ... ok [INFO] [stdout] test operations::lockfile::tests::acquire_fails_when_live_lock_from_other_pid ... ok [INFO] [stdout] test operations::lockfile::tests::cleanup_stale_tmp_files_removes_dead_pids ... ok [INFO] [stdout] test operations::launchers::iterm::tests::applescript_escape_quotes_double_quotes ... ok [INFO] [stdout] test operations::launchers::wezterm::tests::detects_common_prompt_suffixes ... ok [INFO] [stdout] test operations::lockfile::tests::acquire_writes_file_and_drop_removes_it ... ok [INFO] [stdout] test operations::lockfile::tests::read_removes_stale_lockfile ... ok [INFO] [stdout] test operations::lockfile::tests::foreign_version_lockfile_is_not_cleaned ... ok [INFO] [stdout] test operations::lockfile::tests::acquire_does_not_leave_tmp_file_behind ... ok [INFO] [stdout] test operations::pr_cache::tests::cache_path_contains_repo_hash ... ok [INFO] [stdout] test operations::lockfile::tests::drop_does_not_remove_lockfile_owned_by_another_process ... ok [INFO] [stdout] test operations::lockfile::tests::lock_dir_follows_gitdir_indicator_when_dot_git_is_file ... ok [INFO] [stdout] test operations::lockfile::tests::read_returns_entry_for_live_pid ... ok [INFO] [stdout] test operations::claude_settings::tests::worktree_create_entry_is_bare_gw ... ok [INFO] [stdout] test operations::claude_process::tests::is_claude_process_rejects_unrelated_binary ... ok [INFO] [stdout] test entrypoint::tests::reject_forward_args_passes_ai_tool_flags ... ok [INFO] [stdout] test entrypoint::tests::reject_forward_args_ignores_short_dash_and_bare_dash ... ok [INFO] [stdout] test console::tests::test_status_icon_merged ... ok [INFO] [stdout] test git::tests::test_canonicalize_or_nonexistent_path ... ok [INFO] [stdout] test constants::tests::test_path_age_days ... ok [INFO] [stdout] test operations::pr_cache::tests::pr_state_variants_are_handled ... ok [INFO] [stdout] test operations::pr_cache::tests::repo_hash_differs_per_path ... ok [INFO] [stdout] test operations::pr_cache::tests::repo_hash_is_stable_and_short ... ok [INFO] [stdout] test cwshare_setup::tests::test_is_cwshare_prompted_false_without_git ... ok [INFO] [stdout] test operations::rm_batch::tests::count_buckets_entries_correctly ... ok [INFO] [stdout] test operations::rm_batch::tests::plan_busy_passes_unresolved_through_when_not_allowed ... ok [INFO] [stdout] test operations::rm_batch::tests::plan_busy_passthrough_when_allowed ... ok [INFO] [stdout] test operations::run::glob_tests::double_star_collapses ... ok [INFO] [stdout] test operations::run::glob_tests::empty_pattern_matches_only_empty ... ok [INFO] [stdout] test operations::run::glob_tests::leading_star ... ok [INFO] [stdout] test operations::run::glob_tests::literal_matches_exactly ... ok [INFO] [stdout] test operations::run::glob_tests::middle_star ... ok [INFO] [stdout] test operations::run::glob_tests::realistic_feat_glob ... ok [INFO] [stdout] test operations::run::glob_tests::star_matches_anything ... ok [INFO] [stdout] test operations::run::glob_tests::trailing_literal_anchored_to_end_with_repeated_substring ... ok [INFO] [stdout] test operations::run::glob_tests::trailing_star ... ok [INFO] [stdout] test operations::spawn_spec::tests::large_prompt_round_trips ... ok [INFO] [stdout] test operations::spawn_spec::tests::materialize_file_is_mode_0600 ... ok [INFO] [stdout] test operations::busy::tests::scan_cwd_finds_child_with_cwd_in_tempdir ... ok [INFO] [stdout] test operations::display::tests::test_get_worktree_status_not_busy_when_jsonl_active_but_no_live_claude ... ok [INFO] [stdout] test operations::pr_cache::tests::now_secs_returns_some_on_normal_system ... ok [INFO] [stdout] test operations::spawn_spec::tests::quote_path_for_shell_bare_for_unix_paths ... ok [INFO] [stdout] test operations::spawn_spec::tests::quote_path_for_shell_quotes_windows_backslashes ... ok [INFO] [stdout] test operations::pr_cache::tests::fetch_returns_none_on_forced_failure ... ok [INFO] [stdout] test operations::pr_cache::tests::fetch_parses_gh_json_from_env ... ok [INFO] [stdout] test operations::spawn_spec::tests::materialize_filename_is_shell_safe ... ok [INFO] [stdout] test operations::spawn_spec::tests::read_spec_rejects_wrong_version ... ok [INFO] [stdout] test operations::spawn_spec::tests::read_spec_rejects_empty_argv ... ok [INFO] [stdout] test operations::spawn_spec::tests::read_spec_round_trip ... ok [INFO] [stdout] test operations::spawn_spec::tests::materialize_writes_spec_and_returns_shell_line ... ok [INFO] [stdout] test operations::pr_cache::tests::from_disk_and_fetch_and_persist_split ... ok [INFO] [stdout] test operations::spawn_spec::tests::resolve_last_for_cwd_errors_outside_a_git_worktree ... ok [INFO] [stdout] test operations::pr_cache::tests::load_from_disk_rejects_corrupt_file ... ok [INFO] [stdout] test operations::pr_cache::tests::load_from_disk_rejects_expired_entry ... ok [INFO] [stdout] test operations::pr_cache::tests::load_from_disk_rejects_future_entry ... ok [INFO] [stdout] test operations::pr_cache::tests::load_from_disk_returns_fresh_entry ... ok [INFO] [stdout] test operations::sync_claude::unit_tests::merge_non_object_hooks_key_errors ... ok [INFO] [stdout] test operations::sync_claude::unit_tests::merge_migrates_legacy_absolute_path_entries ... ok [INFO] [stdout] test operations::sync_claude::unit_tests::merge_preserves_existing_user_hooks ... ok [INFO] [stdout] test operations::spawn_spec::tests::round_trip_preserves_killer_prompts ... ok [INFO] [stdout] test operations::pr_cache::tests::load_or_fetch_bypasses_disk_when_no_cache_true ... ok [INFO] [stdout] test operations::sync_claude::unit_tests::merge_non_object_root_errors ... ok [INFO] [stdout] test operations::pr_cache::tests::load_or_fetch_empty_when_gh_fails_and_no_cache_file ... ok [INFO] [stdout] test operations::pr_cache::tests::load_or_fetch_uses_disk_when_fresh ... ok [INFO] [stdout] test operations::pr_cache::tests::write_to_disk_cleans_up_tmp_file ... ok [INFO] [stdout] test operations::pr_cache::tests::write_to_disk_sweeps_old_orphan_tmp_files ... ok [INFO] [stdout] test operations::spawn_spec::tests::sweep_stale_removes_old_spec_files_only ... ok [INFO] [stdout] test operations::sync_claude::unit_tests::merge_preserves_other_bash_hook_alongside_ours ... ok [INFO] [stdout] test operations::sync_claude::unit_tests::merge_twice_is_idempotent ... ok [INFO] [stdout] test operations::sync_claude::unit_tests::migration_keeps_unrelated_bash_hook ... ok [INFO] [stdout] test shell_functions::tests::test_bash_uses_complete_targets ... ok [INFO] [stdout] test shell_functions::tests::test_generate_bash ... ok [INFO] [stdout] test shell_functions::tests::test_generate_powershell ... ok [INFO] [stdout] test shell_functions::tests::test_generate_fish ... ok [INFO] [stdout] test shell_functions::tests::test_fish_script_syntax ... ok [INFO] [stdout] test shell_functions::tests::test_powershell_uses_complete_targets ... ok [INFO] [stdout] test tui::arrow_select::tests::test_arrow_select_empty_items ... ok [INFO] [stdout] test tui::arrow_select::tests::test_key_enum_equality ... ok [INFO] [stdout] test shell_functions::tests::test_generate_zsh ... ok [INFO] [stdout] test tui::arrow_select::tests::test_truncate_no_truncation_needed ... ok [INFO] [stdout] test tui::arrow_select::tests::test_fallback_default_index_clamped ... ok [INFO] [stdout] test shell_functions::tests::test_generate_pwsh_alias ... ok [INFO] [stdout] test shell_functions::tests::test_generate_unknown ... ok [INFO] [stdout] test tui::arrow_select::tests::test_truncate_plain_text ... ok [INFO] [stdout] test tui::arrow_select::tests::test_truncate_width_one ... ok [INFO] [stdout] test tui::arrow_select::tests::test_visible_len_plain_text ... ok [INFO] [stdout] test tui::config_editor::tests::commit_edit_invalid_value_keeps_editing_open ... ok [INFO] [stdout] test tui::config_editor::tests::commit_edit_updates_value_and_marks_dirty ... ok [INFO] [stdout] test tui::config_editor::tests::begin_edit_seeds_buffer_with_current_value ... ok [INFO] [stdout] test tui::config_editor::tests::toggle_scope_blocked_outside_repo ... ok [INFO] [stdout] test tui::arrow_select::tests::test_truncate_with_ansi ... ok [INFO] [stdout] test tui::config_editor::tests::commit_edit_with_empty_buffer_unsets ... ok [INFO] [stdout] test tui::config_editor::tests::save_skips_repo_when_no_repo_loaded ... ok [INFO] [stdout] test tui::config_editor::tests::move_cursor_wraps_in_both_directions ... ok [INFO] [stdout] test tui::arrow_select::tests::test_visible_len_with_ansi ... ok [INFO] [stdout] test tui::config_editor::tests::save_persists_global_changes ... ok [INFO] [stdout] test operations::sync_claude::unit_tests::merge_into_empty_object_returns_changed ... ok [INFO] [stdout] test tui::list_view::tests::finalize_pending_replaces_only_placeholders ... ok [INFO] [stdout] test operations::spawn_spec::tests::materialize_writes_last_copy_into_git_dir ... ok [INFO] [stdout] test operations::spawn_spec::tests::read_spec_does_not_observe_unlink_for_persistent_copy ... ok [INFO] [stdout] test tui::list_view::tests::finalize_pending_replaces_placeholders ... ok [INFO] [stdout] test tui::list_view::tests::finalize_pending_returns_false_when_nothing_pending ... ok [INFO] [stdout] test operations::spawn_spec::tests::resolve_last_for_cwd_errors_when_no_spec_persisted ... ok [INFO] [stdout] test update::tests::test_cache_freshness ... ok [INFO] [stdout] test update::tests::test_current_target ... ok [INFO] [stdout] test update::tests::test_is_homebrew_install ... ok [INFO] [stdout] test update::tests::test_archive_ext ... ok [INFO] [stdout] test update::tests::test_is_newer ... ok [INFO] [stdout] test tui::raw_mode::tests::enter_returns_none_on_bad_fd ... ok [INFO] [stdout] test tui::multi_select::tests::empty_items_returns_empty_selection ... ok [INFO] [stdout] test shell_functions::tests::test_bash_script_syntax ... ok [INFO] [stdout] test tui::list_view::tests::run_then_finalize_replaces_pending_after_disconnect ... ok [INFO] [stdout] test tui::list_view::tests::complete_frame_shows_final_status ... ok [INFO] [stdout] test tui::list_view::tests::run_fills_statuses_from_channel ... ok [INFO] [stdout] test tui::list_view::tests::run_exits_when_sender_drops_with_pending_rows ... ok [INFO] [stdout] test operations::spawn_spec::tests::resolve_last_for_cwd_finds_persisted_spec ... ok [INFO] [stdout] test tui::list_view::tests::skeleton_frame_shows_placeholder_for_all_rows ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 255 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/gw.rs (/opt/rustwide/target/debug/deps/gw-4db51380fbbd0a56) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/busy_detection.rs (/opt/rustwide/target/debug/deps/busy_detection-e9243be41613632a) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test unix_only::busy_info_includes_tier_field ... ok [INFO] [stdout] test unix_only::no_busy_when_worktree_empty ... ok [INFO] [stdout] test unix_only::delete_refuses_with_lockfile_hard_tier_message ... ok [INFO] [stdout] [master (root-commit) a0f95c0] i [INFO] [stdout] 1 file changed, 1 insertion(+) [INFO] [stdout] create mode 100644 README [INFO] [stderr] Preparing worktree (new branch 'busy-branch-3099-1783557561605663371') [INFO] [stdout] HEAD is now at a0f95c0 i [INFO] [stdout] Deleted branch busy-branch-3099-1783557561605663371 (was a0f95c0). [INFO] [stdout] test unix_only::gw_rm_rejects_busy_worktree_when_not_tty ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.17s [INFO] [stdout] [INFO] [stderr] Running tests/busy_process_scan.rs (/opt/rustwide/target/debug/deps/busy_process_scan-f3ad1784aecde96c) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test unix_only::external_process_with_cwd_in_worktree_is_detected ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/spawn_roundtrip.rs (/opt/rustwide/target/debug/deps/spawn_roundtrip-34defd555ebaa361) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test spawn_ai_preserves_prompt_bytes_exactly ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s [INFO] [stdout] [INFO] [stderr] Running tests/test_busy_messages.rs (/opt/rustwide/target/debug/deps/test_busy_messages-75d88592488888de) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test both_tiers_lead_with_hard_then_show_soft ... ok [INFO] [stdout] test busy_block_empty_inputs_yields_empty_string ... ok [INFO] [stdout] test busy_block_renders_both_sections_when_both_tiers_present ... ok [INFO] [stdout] test busy_block_uses_neutral_header_and_no_force_hint ... ok [INFO] [stdout] test hard_only_uses_strong_refusal ... ok [INFO] [stdout] test soft_only_uses_warning_tone ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/test_claude_session.rs (/opt/rustwide/target/debug/deps/test_claude_session-eaaffc07df3f29fa) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test encode_path_with_dots ... ok [INFO] [stdout] test encode_path_with_trailing_slash ... ok [INFO] [stdout] test encode_simple_path ... ok [INFO] [stdout] test find_active_sessions_handles_missing_dir ... ok [INFO] [stdout] test newest_event_timestamp_returns_none_for_empty ... ok [INFO] [stdout] test newest_event_timestamp_returns_none_for_metadata_only ... ok [INFO] [stdout] test find_active_sessions_filters_by_cwd ... ok [INFO] [stdout] test find_active_sessions_returns_sessions_within_threshold ... ok [INFO] [stdout] test newest_event_timestamp_skips_metadata_trailers ... 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] [stderr] Running tests/test_claude_worktree.rs (/opt/rustwide/target/debug/deps/test_claude_worktree-bba12f04a5cd9075) [INFO] [stdout] [INFO] [stdout] running 13 tests [INFO] [stdout] test create_empty_worktree_name_exits_nonzero ... ok [INFO] [stdout] test create_invalid_json_exits_nonzero ... ok [INFO] [stdout] test create_empty_stdin_exits_nonzero ... ok [INFO] [stdout] test remove_invalid_json_exits_nonzero ... ok [INFO] [stdout] test create_ignores_unknown_fields ... ok [INFO] [stdout] test remove_pre_rm_hook_fires_for_worktree ... ok [INFO] [stdout] test create_honors_explicit_worktree_path ... ok [INFO] [stdout] test create_without_base_commit_uses_default_base ... ok [INFO] [stdout] test create_accepts_name_and_base_ref_aliases ... ok [INFO] [stdout] test remove_no_hook_exits_zero_silently ... ok [INFO] [stdout] test create_missing_worktree_name_exits_nonzero ... ok [INFO] [stdout] test remove_pre_rm_hook_failure_is_advisory_exits_zero ... ok [INFO] [stdout] test create_uses_worktree_name_as_branch ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.39s [INFO] [stdout] [INFO] [stderr] Running tests/test_cli.rs (/opt/rustwide/target/debug/deps/test_cli-0b604f38902ec922) [INFO] [stdout] [INFO] [stdout] running 43 tests [INFO] [stdout] test new_accepts_prompt_dash_for_stdin ... ok [INFO] [stdout] test gw_spawn_dash_dash_misparses_first_token_as_target ... ok [INFO] [stdout] test resume_accepts_dash_t_term ... ok [INFO] [stdout] test new_accepts_dash_t_term ... ok [INFO] [stdout] test new_accepts_long_term ... ok [INFO] [stdout] test new_rejects_dash_t_without_value ... ok [INFO] [stdout] test new_rejects_conflicting_prompt_sources ... ok [INFO] [stdout] test spawn_term_without_target ... ok [INFO] [stdout] test gw_resume_dash_dash_misparses_first_token_as_branch ... ok [INFO] [stdout] test new_accepts_prompt_flag ... ok [INFO] [stdout] test new_accepts_prompt_file_flag ... ok [INFO] [stdout] test spawn_accepts_dash_t_term ... ok [INFO] [stdout] test new_term_skip_aliases_parse ... ok [INFO] [stdout] test gw_resume_forwards_unknown_flags_to_ai_tool ... ok [INFO] [stdout] test gw_new_forwards_unknown_flags_to_ai_tool ... ok [INFO] [stdout] test resume_term_without_branch ... ok [INFO] [stdout] test test_rm_accepts_multiple_targets ... ok [INFO] [stdout] test test_new_base_long_flag ... ok [INFO] [stdout] test test_doctor_help ... ok [INFO] [stdout] test test_rm_interactive_conflicts_with_positional ... ok [INFO] [stdout] test test_rm_interactive_flag_parses ... ok [INFO] [stdout] test test_rm_dry_run_flag_parses ... ok [INFO] [stdout] test test_rm_help ... ok [INFO] [stdout] test test_generate_completion_invalid ... ok [INFO] [stdout] test test_generate_completion_fish ... ok [INFO] [stdout] test test_new_help ... ok [INFO] [stdout] test test_rm_interactive_help_mentions_multiselect ... ok [INFO] [stdout] test test_generate_completion_zsh ... ok [INFO] [stdout] test test_list_alias_ls ... ok [INFO] [stdout] test test_generate_completion_bash ... ok [INFO] [stdout] test test_no_args_shows_help ... ok [INFO] [stdout] test test_shell_function_bash ... ok [INFO] [stdout] test test_shell_function_bash_no_cw_cd_alias ... ok [INFO] [stdout] test test_resume_help ... ok [INFO] [stdout] test test_rm_short_flags ... ok [INFO] [stdout] test test_help ... ok [INFO] [stdout] test test_shell_function_invalid ... ok [INFO] [stdout] test test_shell_function_powershell ... ok [INFO] [stdout] test test_version ... ok [INFO] [stdout] test test_new_help_shows_term_flags ... ok [INFO] [stdout] test test_shell_function_fish_no_cw_cd_alias ... ok [INFO] [stdout] test test_shell_function_fish ... ok [INFO] [stdout] test test_upgrade_runs ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 43 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s [INFO] [stdout] [INFO] [stderr] Running tests/test_complete_targets.rs (/opt/rustwide/target/debug/deps/test_complete_targets-a268fc0852b95a45) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test complete_targets_silent_outside_repo ... ok [INFO] [stdout] test complete_targets_dedupes_when_name_equals_branch ... ok [INFO] [stdout] test complete_targets_lists_main_worktree_name_and_branch ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stderr] Running tests/test_config_cli.rs (/opt/rustwide/target/debug/deps/test_config_cli-49a226b3459ca287) [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test config_edit_without_tty_errors_cleanly ... ok [INFO] [stdout] test config_set_writes_global_file ... ok [INFO] [stdout] test config_get_unset_key_exits_nonzero_with_no_output ... ok [INFO] [stdout] test config_list_does_not_create_global_file ... ok [INFO] [stdout] test config_set_repo_outside_repo_errors ... ok [INFO] [stdout] test config_get_prints_default_value ... ok [INFO] [stdout] test config_get_does_not_create_global_file ... ok [INFO] [stdout] test config_set_rejects_non_finite_number ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stderr] Running tests/test_constants.rs (/opt/rustwide/target/debug/deps/test_constants-c38da0709e8daad1) [INFO] [stdout] [INFO] [stdout] running 16 tests [INFO] [stdout] test test_max_session_name_length ... ok [INFO] [stdout] test test_launch_method_all_variants_roundtrip ... ok [INFO] [stdout] test test_format_config_keys ... ok [INFO] [stdout] test test_launch_method_aliases_complete ... ok [INFO] [stdout] test test_sanitize_branch_name_leading_trailing ... ok [INFO] [stdout] test test_sanitize_branch_name_complex ... ok [INFO] [stdout] test test_sanitize_branch_name_unicode ... ok [INFO] [stderr] Running tests/test_cwshare_setup.rs (/opt/rustwide/target/debug/deps/test_cwshare_setup-a741459c444aa407) [INFO] [stdout] test test_sanitize_branch_name_multiple_hyphens ... ok [INFO] [stdout] test test_sanitize_branch_name_whitespace ... ok [INFO] [stdout] test test_default_worktree_path_special_chars ... ok [INFO] [stdout] test test_sanitize_branch_name_with_slashes ... ok [INFO] [stdout] test test_sanitize_branch_name_simple ... ok [INFO] [stdout] test test_default_worktree_path_with_slashes ... ok [INFO] [stdout] test test_default_worktree_path_simple ... ok [INFO] [stdout] test test_sanitize_branch_name_edge_cases ... ok [INFO] [stdout] test test_sanitize_branch_name_special_characters ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 28 tests [INFO] [stdout] test test_cwshare_integration_no_cwshare_file ... ok [INFO] [stdout] test test_create_cwshare_template_no_files ... ok [INFO] [stdout] test test_create_cwshare_template_with_files ... ok [INFO] [stdout] test test_cwshare_template_commented_files ... ok [INFO] [stdout] test test_cwshare_template_content_format ... ok [INFO] [stdout] test test_cwshare_template_creates_file ... ok [INFO] [stdout] test test_detect_common_files_config_yaml ... ok [INFO] [stdout] test test_detect_common_files_env_local ... ok [INFO] [stdout] test test_detect_common_files_multiple ... ok [INFO] [stdout] test test_detect_common_files_env ... ok [INFO] [stdout] test test_detect_common_files_ignores_non_common ... ok [INFO] [stdout] test test_has_cwshare_file_true ... ok [INFO] [stdout] test test_has_cwshare_file_false ... ok [INFO] [stdout] test test_detect_common_files_none ... ok [INFO] [stdout] test test_cwshare_template_overwrites ... ok [INFO] [stdout] test test_detect_common_files_vscode ... ok [INFO] [stdout] test test_is_cwshare_prompted_non_git ... ok [INFO] [stdout] test test_cwshare_comments_ignored ... ok [INFO] [stdout] test test_cwshare_empty_lines_ignored ... ok [INFO] [stdout] test test_cwshare_integration_copies_env ... ok [INFO] [stdout] test test_is_cwshare_prompted_false ... ok [INFO] [stdout] test test_is_cwshare_prompted_true ... ok [INFO] [stdout] test test_mark_cwshare_prompted_idempotent ... ok [INFO] [stdout] test test_mark_cwshare_prompted ... ok [INFO] [stdout] test test_cwshare_integration_skips_existing ... ok [INFO] [stdout] test test_cwshare_cli_multiple_files ... ok [INFO] [stdout] test test_cwshare_cli_no_cwshare_no_copy ... ok [INFO] [stdout] test test_cwshare_cli_worktree_copies_env ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s [INFO] [stdout] [INFO] [stderr] Running tests/test_doctor_lean.rs (/opt/rustwide/target/debug/deps/test_doctor_lean-256ad0d1c227f162) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test doctor_has_five_numbered_sections ... ok [INFO] [stdout] test doctor_does_not_run_merge_conflicts_check ... ok [INFO] [stdout] test doctor_runs_busy_check ... ok [INFO] [stdout] test doctor_does_not_run_behind_base_check ... ok [INFO] [stderr] Running tests/test_doctor_session_start.rs (/opt/rustwide/target/debug/deps/test_doctor_session_start-b50357196e275c8c) [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test session_start_in_non_repo_does_not_panic ... ok [INFO] [stderr] Running tests/test_doctor_setup_claude.rs (/opt/rustwide/target/debug/deps/test_doctor_setup_claude-5889b862358ad670) [INFO] [stdout] test session_start_quiet_exits_zero_in_normal_repo ... ok [INFO] [stderr] Running tests/test_emit_json.rs (/opt/rustwide/target/debug/deps/test_emit_json-4ba17fe6a4626e31) [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test doctor_setup_claude_messages_present ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test test_emit_json_branch_and_base_fields ... ok [INFO] [stdout] test test_emit_json_worktree_path_exists ... ok [INFO] [stdout] test test_emit_json_no_styled_output_in_stdout ... ok [INFO] [stdout] test test_emit_json_custom_base_reflected ... ok [INFO] [stdout] test test_emit_json_path_matches_convention ... ok [INFO] [stdout] test test_emit_text_default_no_json ... ok [INFO] [stdout] test test_emit_json_stdout_is_single_line_json ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s [INFO] [stdout] [INFO] [stderr] Running tests/test_exec.rs (/opt/rustwide/target/debug/deps/test_exec-1fef62001eaeb4c3) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test exec_unknown_target_errors ... ok [INFO] [stdout] test exec_propagates_nonzero_exit_code ... ok [INFO] [stdout] test exec_runs_cmd_in_named_worktree ... ok [INFO] [stdout] test exec_resolves_by_branch_name ... ok [INFO] [stderr] Running tests/test_git.rs (/opt/rustwide/target/debug/deps/test_git-2490c6345b2abc94) [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test test_get_branch_name_error ... ok [INFO] [stdout] test test_normalize_branch_name ... ok [INFO] [stdout] test test_get_repo_root ... ok [INFO] [stdout] test test_parse_worktrees ... ok [INFO] [stdout] test test_get_set_config ... ok [INFO] [stdout] test test_unset_config ... ok [INFO] [stdout] test test_get_feature_worktrees_empty ... ok [INFO] [stdout] test test_branch_exists ... ok [INFO] [stdout] test test_is_valid_branch_name ... ok [INFO] [stdout] test test_get_current_branch ... ok [INFO] [stderr] Running tests/test_guard.rs (/opt/rustwide/target/debug/deps/test_guard-0bb11643156521a6) [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test safe_command_in_healthy_cwd_passes ... ok [INFO] [stdout] test non_bash_tool_passes_regardless_of_cwd ... ok [INFO] [stdout] test any_bash_in_unhealthy_cwd_blocked ... ok [INFO] [stdout] test missing_command_field_with_healthy_cwd_passes ... ok [INFO] [stdout] test risky_command_in_healthy_cwd_passes ... ok [INFO] [stdout] test missing_cwd_falls_back_to_process_cwd ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/test_guard_injection.rs (/opt/rustwide/target/debug/deps/test_guard_injection-2480c3330f8e69c4) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test spawn_omits_settings_when_guard_disabled_in_repo_config ... ok [INFO] [stdout] test spawn_injects_settings_with_pretooluse_bash_hook ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.30s [INFO] [stdout] [INFO] [stderr] Running tests/test_hook_contracts.rs (/opt/rustwide/target/debug/deps/test_hook_contracts-86c4339de074d012) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test pre_rm_zero_exit_removes_worktree_cleanly ... ok [INFO] [stdout] test pre_rm_nonzero_exit_is_advisory_rm_continues ... ok [INFO] [stdout] test post_new_nonzero_exit_fails_gw_new ... ok [INFO] [stdout] test pre_rm_fires_with_force_flag ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.43s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stderr] Running tests/test_hooks.rs (/opt/rustwide/target/debug/deps/test_hooks-53fe3b73995f2435) [INFO] [stdout] test run_event_no_op_for_unknown_event ... ok [INFO] [stdout] test run_event_executes_configured_command ... ok [INFO] [stderr] Preparing worktree (detached HEAD 6dc7c7b) [INFO] [stdout] HEAD is now at 6dc7c7b Initial commit [INFO] [stdout] test run_event_finds_main_repo_config_from_worktree ... ok [INFO] [stdout] test run_event_no_op_when_hook_unset ... ok [INFO] [stdout] test run_event_propagates_nonzero_exit ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.39s [INFO] [stdout] [INFO] [stderr] Running tests/test_launch_methods.rs (/opt/rustwide/target/debug/deps/test_launch_methods-190c41070c226fe8) [INFO] [stdout] [INFO] [stdout] running 70 tests [INFO] [stdout] test test_all_enum_values_exist_and_roundtrip ... ok [INFO] [stdout] test test_all_aliases_have_valid_targets ... ok [INFO] [stdout] test test_alias_map_no_duplicate_aliases ... ok [INFO] [stdout] test test_all_resume_presets_have_continue_or_resume ... ok [INFO] [stdout] test test_all_presets_have_corresponding_resume ... ok [INFO] [stdout] test test_display_trait ... ok [INFO] [stdout] test test_deprecated_bg_alias ... ok [INFO] [stdout] test test_claude_preset_count ... ok [INFO] [stdout] test test_claude_preset_names_content ... ok [INFO] [stdout] test test_env_override_full_name ... ok [INFO] [stdout] test test_deprecated_background_alias ... ok [INFO] [stdout] test test_detach_alias_via_parse ... ok [INFO] [stdout] test test_env_override_tmux ... ok [INFO] [stdout] test test_enum_as_str_values ... ok [INFO] [stdout] test test_from_str_opt_invalid ... ok [INFO] [stdout] test test_codex_resume_preset ... ok [INFO] [stdout] test test_env_override_iterm_tab ... ok [INFO] [stdout] test test_all_methods_parse ... ok [INFO] [stdout] test test_full_name_with_session ... ok [INFO] [stdout] test test_all_launch_methods_in_aliases_are_valid ... ok [INFO] [stdout] test test_alias_count ... ok [INFO] [stdout] test test_full_name_with_session_parse ... ok [INFO] [stdout] test test_from_str_opt_valid ... ok [INFO] [stdout] test test_iterm_requires_macos ... ok [INFO] [stdout] test test_max_session_name_length ... ok [INFO] [stdout] test test_foreground_alias_via_parse ... ok [INFO] [stdout] test test_iterm_aliases ... ok [INFO] [stdout] test test_deprecated_bg_via_parse ... ok [INFO] [stdout] test test_no_op_preset_empty ... ok [INFO] [stdout] test test_invalid_method ... ok [INFO] [stdout] test test_parse_full_names ... ok [INFO] [stdout] test test_parse_simple_aliases ... ok [INFO] [stdout] test test_session_colons_in_name ... ok [INFO] [stdout] test test_session_empty_name ... ok [INFO] [stdout] test test_session_name_at_exact_limit_zellij ... ok [INFO] [stdout] test test_session_name_aliases ... ok [INFO] [stdout] test test_session_name_length_enforced_in_parse_tmux ... ok [INFO] [stdout] test test_session_name_at_limit ... ok [INFO] [stdout] test test_session_name_length_limit ... ok [INFO] [stdout] test test_session_name_exactly_one_char ... ok [INFO] [stdout] test test_session_name_length_enforced_in_parse_zellij ... ok [INFO] [stdout] test test_no_alias_passthrough ... ok [INFO] [stdout] test test_session_name_max_length_constant ... ok [INFO] [stdout] test test_session_name_on_unsupported_detach ... ok [INFO] [stdout] test test_session_name_on_unsupported_foreground ... ok [INFO] [stdout] test test_fallback_foreground ... ok [INFO] [stdout] test test_session_name_on_unsupported_iterm ... ok [INFO] [stdout] test test_is_claude_tool_with_env_codex ... ok [INFO] [stdout] test test_session_name_on_unsupported_iterm_tab ... ok [INFO] [stdout] test test_session_name_on_unsupported_wezterm_pane ... ok [INFO] [stdout] test test_session_name_with_deprecated ... ok [INFO] [stdout] test test_session_names_tmux ... ok [INFO] [stdout] test test_session_name_on_unsupported_wezterm ... ok [INFO] [stdout] test test_invalid_env_falls_through ... ok [INFO] [stdout] test test_total_preset_count ... ok [INFO] [stdout] test test_wezterm_aliases ... ok [INFO] [stdout] test test_zellij_aliases ... ok [INFO] [stdout] test test_none_returns_default ... ok [INFO] [stdout] test test_session_names_zellij ... ok [INFO] [stdout] test test_simple_aliases ... ok [INFO] [stdout] test test_is_claude_tool_default ... ok [INFO] [stdout] test test_is_claude_tool_with_env_claude ... ok [INFO] [stdout] test test_tmux_aliases ... ok [INFO] [stdout] test test_tmux_pane_vertical_requires_tmux_session ... ok [INFO] [stdout] test test_tmux_window_requires_tmux_session ... ok [INFO] [stdout] test test_zellij_pane_requires_zellij_session ... ok [INFO] [stdout] test test_zellij_pane_vertical_requires_zellij_session ... ok [INFO] [stdout] test test_zellij_tab_requires_zellij_session ... ok [INFO] [stdout] test test_tmux_pane_requires_tmux_session ... ok [INFO] [stdout] test test_various_special_chars_in_session_name ... ok [INFO] [stderr] Running tests/test_ls_tsv.rs (/opt/rustwide/target/debug/deps/test_ls_tsv-c4b214939e816948) [INFO] [stdout] [INFO] [stdout] test result: ok. 70 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stderr] Preparing worktree (new branch 'feat-a') [INFO] [stdout] test ls_no_no_cache_flag ... ok [INFO] [stdout] HEAD is now at 6dc7c7b Initial commit [INFO] [stdout] test ls_silent_when_no_worktrees ... ok [INFO] [stdout] test ls_emits_tsv_for_a_repo_with_one_worktree ... ok [INFO] [stdout] test ls_no_color_codes ... ok [INFO] [stderr] Running tests/test_operations.rs (/opt/rustwide/target/debug/deps/test_operations-c74ceaf5d4f78426) [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 34 tests [INFO] [stdout] test test_diff_nonexistent_branch ... ok [INFO] [stdout] test test_doctor ... ok [INFO] [stdout] test test_create_worktree_with_base_branch ... ok [INFO] [stdout] test test_create_worktree_custom_path ... ok [INFO] [stdout] test test_create_worktree_basic ... ok [INFO] [stdout] test test_create_worktree_existing_worktree ... ok [INFO] [stdout] test test_create_worktree_invalid_branch_name ... ok [INFO] [stdout] test test_create_worktree_existing_branch ... ok [INFO] [stdout] test test_create_worktree_invalid_base ... ok [INFO] [stdout] test test_list_in_repo ... ok [INFO] [stdout] test test_path_list_branches ... ok [INFO] [stdout] test test_create_worktree_from_remote_only_branch ... ok [INFO] [stdout] test test_create_worktree_from_remote_with_invalid_base ... ok [INFO] [stdout] test test_create_worktree_from_remote_stores_metadata ... ok [INFO] [stdout] test test_create_worktree_local_branch_takes_precedence_over_remote ... ok [INFO] [stdout] test test_get_worktree_status_clean ... ok [INFO] [stdout] test test_rm_main_repo_protection ... ok [INFO] [stdout] test test_resume_worktree_nonexistent_branch ... ok [INFO] [stdout] test test_create_worktree_from_remote_with_explicit_base ... ok [INFO] [stdout] test test_create_worktree_remote_has_different_content ... ok [INFO] [stdout] test test_resume_worktree_current_directory ... ok [INFO] [stdout] test test_get_worktree_status_modified ... ok [INFO] [stdout] test test_get_worktree_status_stale ... ok [INFO] [stdout] test test_create_worktree_from_remote_with_custom_path ... ok [INFO] [stdout] test test_get_worktree_status_merged ... ok [INFO] [stdout] test test_rm_worktree_nonexistent ... ok [INFO] [stdout] test test_rm_worktree_by_path ... ok [INFO] [stdout] test test_rm_worktree_by_branch ... ok [INFO] [stdout] test test_rm_worktree_keep_branch ... ok [INFO] [stdout] test test_rm_worktree_current_directory ... ok [INFO] [stdout] test test_list_worktrees ... ok [INFO] [stdout] test test_resume_worktree_with_branch_name ... ok [INFO] [stdout] test test_rm_worktree_same_branch_and_worktree_name ... ok [INFO] [stdout] test test_rm_worktree_created_from_remote ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 34 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.03s [INFO] [stdout] [INFO] [stderr] Running tests/test_prompt_source.rs (/opt/rustwide/target/debug/deps/test_prompt_source-3b280609fda807cc) [INFO] [stdout] [INFO] [stdout] running 17 tests [INFO] [stdout] test resolve_prompt_errors_when_stdin_is_tty_and_dash ... ok [INFO] [stdout] test resolve_prompt_dash_inline_does_not_consult_tty_check_for_non_dash ... ok [INFO] [stdout] test resolve_prompt_preserves_mid_content_crlf ... ok [INFO] [stdout] test resolve_prompt_errors_when_file_missing ... ok [INFO] [stdout] test resolve_prompt_returns_inline_when_only_inline_set ... ok [INFO] [stdout] test resolve_prompt_returns_none_for_whitespace_only_stdin ... ok [INFO] [stdout] test resolve_prompt_returns_none_for_whitespace_only_inline ... ok [INFO] [stdout] test resolve_prompt_returns_none_for_empty_file ... ok [INFO] [stdout] test resolve_prompt_returns_none_for_empty_inline ... ok [INFO] [stdout] test resolve_prompt_reads_from_stdin_when_inline_is_dash ... ok [INFO] [stdout] test resolve_prompt_errors_when_stdin_reader_fails ... ok [INFO] [stdout] test resolve_prompt_returns_none_when_no_source ... ok [INFO] [stdout] test resolve_prompt_strips_multiple_trailing_newlines ... ok [INFO] [stdout] test resolve_prompt_strips_trailing_newline_from_inline ... ok [INFO] [stdout] test resolve_prompt_reads_file_contents_and_trims_trailing_newline ... ok [INFO] [stdout] test resolve_prompt_returns_none_for_whitespace_only_file ... ok [INFO] [stdout] test resolve_prompt_strips_crlf_trailing_newline ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s [INFO] [stdout] [INFO] [stderr] Running tests/test_repo_config.rs (/opt/rustwide/target/debug/deps/test_repo_config-837058ad5bcdf1df) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test returns_none_when_absent ... ok [INFO] [stdout] test invalid_json_yields_none ... ok [INFO] [stdout] test missing_global_and_repo_returns_defaults ... ok [INFO] [stdout] test nested_keys_merge_independently ... ok [INFO] [stdout] test repo_config_overrides_global_keys ... ok [INFO] [stdout] test repo_config_extends_global_when_no_overlap ... ok [INFO] [stdout] test finds_cwconfig_walking_up_from_subdir ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/test_resolve_target.rs (/opt/rustwide/target/debug/deps/test_resolve_target-7dd85076f7b51930) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test resolve_strict_existing_path_not_a_worktree_returns_err ... ok [INFO] [stdout] test resolve_strict_unknown_returns_err ... ok [INFO] [stdout] test resolve_strict_detached_worktree_yields_none_branch ... ok [INFO] [stdout] test resolve_strict_exact_worktree_name_wins ... ok [INFO] [stdout] test resolve_strict_exact_branch_name_wins ... ok [INFO] [stdout] test resolve_strict_exact_path_wins ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.39s [INFO] [stdout] [INFO] [stderr] Running tests/test_rm_auto_unlock.rs (/opt/rustwide/target/debug/deps/test_rm_auto_unlock-950fc919b3a7280e) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test rm_auto_unlocks_when_pid_is_dead ... ok [INFO] [stdout] test rm_does_not_auto_unlock_when_reason_has_no_pid ... ok [INFO] [stderr] Running tests/test_rm_multi.rs (/opt/rustwide/target/debug/deps/test_rm_multi-3fc19aac77e767dd) [INFO] [stdout] test rm_refuses_when_pid_is_alive ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.52s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test test_rm_interactive_conflicts_with_positional_at_runtime ... ok [INFO] [stdout] test test_rm_multiple_mixed_valid_and_missing ... ok [INFO] [stdout] test test_rm_no_args_still_uses_legacy_path ... ok [INFO] [stdout] test test_rm_keep_branch_applies_to_all_targets ... ok [INFO] [stdout] test test_rm_dry_run_does_not_delete ... ok [INFO] [stdout] test test_rm_multiple_positional_all_succeed ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.47s [INFO] [stdout] [INFO] [stderr] Running tests/test_run.rs (/opt/rustwide/target/debug/deps/test_run-d330b865568a4087) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test run_no_main_skips_main_worktree ... ok [INFO] [stdout] test run_executes_cmd_in_each_worktree_with_prefix ... ok [INFO] [stdout] test run_parallel_keeps_output_per_worktree_contiguous ... ok [INFO] [stdout] test run_only_filters_by_glob ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.33s [INFO] [stdout] [INFO] [stderr] Running tests/test_run_only.rs (/opt/rustwide/target/debug/deps/test_run_only-bc0bb1ef976e7156) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test only_no_match_yields_empty_output ... ok [INFO] [stdout] test only_matches_exact_branch_name ... ok [INFO] [stdout] test only_matches_dir_basename_glob ... ok [INFO] [stdout] test only_matches_branch_glob ... ok [INFO] [stderr] Running tests/test_scope.rs (/opt/rustwide/target/debug/deps/test_scope-b1378ce4801c4033) [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.24s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test scope_outside_no_repos_errors ... ok [INFO] [stdout] test scope_outside_walks_down_and_unions_repos ... ok [INFO] [stdout] test scope_inside_worktree_returns_family ... ok [INFO] [stdout] [INFO] [stderr] Running tests/test_session.rs (/opt/rustwide/target/debug/deps/test_session-43467f91ab2db9a5) [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.32s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test test_chrono_now_iso_pub_format ... ok [INFO] [stdout] test test_claude_native_session_not_exists ... ok [INFO] [stdout] test test_session_metadata_serialization ... ok [INFO] [stdout] test test_list_sessions_returns_vec ... ok [INFO] [stdout] test test_get_session_dir_sanitizes_branch ... ok [INFO] [stdout] test test_load_context_not_found ... ok [INFO] [stdout] test test_get_session_dir_strips_refs_heads ... ok [INFO] [stdout] test test_load_session_metadata_not_found ... ok [INFO] [stdout] test test_get_sessions_dir_path ... ok [INFO] [stderr] Running tests/test_setup_claude_oneclick.rs (/opt/rustwide/target/debug/deps/test_setup_claude_oneclick-0d5244c09f2d7aa5) [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test migrates_legacy_absolute_path_entries ... ok [INFO] [stdout] test malformed_json_errors_without_overwriting ... ok [INFO] [stdout] test creates_all_files_from_scratch ... ok [INFO] [stdout] test refreshes_drifted_skill_file ... ok [INFO] [stdout] test idempotent_two_runs ... ok [INFO] [stdout] test preserves_existing_user_pretooluse_write_hook ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s [INFO] [stdout] [INFO] [stderr] Running tests/test_shared_files.rs (/opt/rustwide/target/debug/deps/test_shared_files-6e99d51c2f52b4a3) [INFO] [stdout] [INFO] [stdout] running 14 tests [INFO] [stdout] test test_parse_cwshare_not_exists ... ok [INFO] [stdout] test test_parse_cwshare_basic ... ok [INFO] [stdout] test test_parse_cwshare_empty_file ... ok [INFO] [stdout] test test_parse_cwshare_with_whitespace ... ok [INFO] [stdout] test test_share_files_copies_directories ... ok [INFO] [stdout] test test_parse_cwshare_with_comments ... ok [INFO] [stdout] test test_share_files_skips_existing_target ... ok [INFO] [stdout] test test_share_files_empty_cwshare ... ok [INFO] [stdout] test test_share_files_preserves_symlinks_in_copied_dirs ... ok [INFO] [stdout] test test_share_files_nested_path ... ok [INFO] [stdout] test test_share_files_copies_files ... ok [INFO] [stdout] test test_share_files_skips_nonexistent_source ... ok [INFO] [stdout] test test_share_files_no_cwshare ... ok [INFO] [stdout] test test_parse_cwshare_with_empty_lines ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s [INFO] [stdout] [INFO] [stderr] Running tests/test_skill_content.rs (/opt/rustwide/target/debug/deps/test_skill_content-e4cec00434b89f07) [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test delegate_skill_cross_references_manage_for_destructive_ops ... ok [INFO] [stdout] test delegate_skill_has_when_to_delegate_section ... ok [INFO] [stdout] test delegate_skill_uses_agent_isolation_worktree ... ok [INFO] [stdout] test manage_skill_busy_sibling_rule_warns_against_force ... ok [INFO] [stdout] test reference_content_has_setup_claude_section ... ok [INFO] [stdout] test manage_skill_has_busy_sibling_rule ... ok [INFO] [stdout] test manage_skill_has_hook_integration_section ... ok [INFO] [stdout] test delegate_skill_references_setup_claude_not_sync_claude ... ok [INFO] [stdout] test delegate_skill_has_branch_naming_section ... ok [INFO] [stdout] test manage_skill_references_setup_claude_not_sync_claude ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stderr] Running tests/test_spawn.rs (/opt/rustwide/target/debug/deps/test_spawn-9f4e26ef859fdcba) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test prompt_plus_forward_args_is_rejected ... ok [INFO] [stdout] test spawn_in_worktree_with_prompt ... ok [INFO] [stdout] test resume_injects_continue_flag_even_without_local_session ... ok [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] test unknown_ai_tool_yields_empty_spec_env ... ok [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] test no_env_forward_yields_empty_spec_env ... ok [INFO] [stdout] test spawn_in_worktree_launches_in_existing_worktree ... ok [INFO] [stdout] test forward_args_land_in_spawn_spec_argv ... ok [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 9 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] test claude_prefixed_env_lands_in_spawn_spec ... ok [INFO] [stdout] test resume_with_forward_args_keeps_continue_flag ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.82s [INFO] [stdout] [INFO] [stderr] Running tests/test_term_flag.rs (/opt/rustwide/target/debug/deps/test_term_flag-cd14b276ee9de932) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test new_dash_t_fg_overrides_env_and_runs_ai_in_worktree ... ok [INFO] [stdout] test new_rejects_invalid_term_before_creating_worktree ... ok [INFO] [stderr] Running tests/test_term_resolution.rs (/opt/rustwide/target/debug/deps/test_term_resolution-c87e9bd652864512) [INFO] [stdout] test new_skip_aliases_dont_launch_ai_tool ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.58s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test override_unknown_method_errors ... ok [INFO] [stdout] test override_beats_env ... ok [INFO] [stdout] test override_with_session_name ... ok [INFO] [stdout] test no_override_uses_env ... ok [INFO] [stderr] Running tests/test_workflows.rs (/opt/rustwide/target/debug/deps/test_workflows-e910f38aae366529) [INFO] [stdout] test no_override_no_env_falls_to_default ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test test_workflow_new_prompt_file_missing_fails_cleanly ... ok [INFO] [stdout] test test_workflow_doctor_after_operations ... ok [INFO] [stdout] test test_workflow_path_list_branches ... ok [INFO] [stdout] test test_workflow_new_with_prompt_file ... ok [INFO] [stdout] test test_workflow_delete_keep_branch ... ok [INFO] [stdout] test test_workflow_new_with_prompt_dash ... ok [INFO] [stdout] test test_full_workflow_new_list_delete ... ok [INFO] [stdout] test test_workflow_multiple_worktrees ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.70s [INFO] [stdout] [INFO] [stderr] Doc-tests git_worktree_manager [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test src/constants.rs - constants::sanitize_branch_name (line 274) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.84s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "426f31145f1909aacb8607eb3f05b97aa4a91911345556c99f6014a972b38765", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "426f31145f1909aacb8607eb3f05b97aa4a91911345556c99f6014a972b38765", kill_on_drop: false }` [INFO] [stdout] 426f31145f1909aacb8607eb3f05b97aa4a91911345556c99f6014a972b38765