[INFO] fetching crate harness-locate 0.6.0... [INFO] testing harness-locate-0.6.0 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-1 [INFO] extracting crate harness-locate 0.6.0 into /workspace/builds/worker-6-tc2/source [INFO] started tweaking crates.io crate harness-locate 0.6.0 [INFO] finished tweaking crates.io crate harness-locate 0.6.0 [INFO] tweaked toml for crates.io crate harness-locate 0.6.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate harness-locate 0.6.0 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate harness-locate 0.6.0 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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d9ee5711a5646abf26a110565465f3f80c4add59b50519bdaff20241be1fe605 [INFO] running `Command { std: "docker" "start" "-a" "d9ee5711a5646abf26a110565465f3f80c4add59b50519bdaff20241be1fe605", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d9ee5711a5646abf26a110565465f3f80c4add59b50519bdaff20241be1fe605", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d9ee5711a5646abf26a110565465f3f80c4add59b50519bdaff20241be1fe605", kill_on_drop: false }` [INFO] [stdout] d9ee5711a5646abf26a110565465f3f80c4add59b50519bdaff20241be1fe605 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d6b55831b05aec7cb74e4ff55682be88f9e40ffd4b367ecede417cf59ab2dad2 [INFO] running `Command { std: "docker" "start" "-a" "d6b55831b05aec7cb74e4ff55682be88f9e40ffd4b367ecede417cf59ab2dad2", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.105 [INFO] [stderr] Compiling quote v1.0.43 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling zmij v1.0.16 [INFO] [stderr] Compiling regex-syntax v0.8.8 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling unsafe-libyaml v0.2.11 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling ryu v1.0.22 [INFO] [stderr] Compiling env_home v0.1.0 [INFO] [stderr] Compiling home v0.5.12 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Compiling which v7.0.3 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling harness-locate v0.6.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.81s [INFO] running `Command { std: "docker" "inspect" "d6b55831b05aec7cb74e4ff55682be88f9e40ffd4b367ecede417cf59ab2dad2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d6b55831b05aec7cb74e4ff55682be88f9e40ffd4b367ecede417cf59ab2dad2", kill_on_drop: false }` [INFO] [stdout] d6b55831b05aec7cb74e4ff55682be88f9e40ffd4b367ecede417cf59ab2dad2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f30f2bbe84b22db61b91465b4eb2d33c6bb9058b29813dce01c58ef616285098 [INFO] running `Command { std: "docker" "start" "-a" "f30f2bbe84b22db61b91465b4eb2d33c6bb9058b29813dce01c58ef616285098", kill_on_drop: false }` [INFO] [stderr] Compiling harness-locate v0.6.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 3.82s [INFO] running `Command { std: "docker" "inspect" "f30f2bbe84b22db61b91465b4eb2d33c6bb9058b29813dce01c58ef616285098", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f30f2bbe84b22db61b91465b4eb2d33c6bb9058b29813dce01c58ef616285098", kill_on_drop: false }` [INFO] [stdout] f30f2bbe84b22db61b91465b4eb2d33c6bb9058b29813dce01c58ef616285098 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 5b282bbbcc44114be981fcbd638392ae54907baabff7c93d41cb33b58f4ce3a2 [INFO] running `Command { std: "docker" "start" "-a" "5b282bbbcc44114be981fcbd638392ae54907baabff7c93d41cb33b58f4ce3a2", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.10s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/harness_locate-e020d5d74fd66b26) [INFO] [stdout] [INFO] [stdout] running 388 tests [INFO] [stdout] test harness::amp_code::tests::ambiguous_config_with_both_command_and_url_fails ... ok [INFO] [stdout] test harness::amp_code::tests::commands_dir_global ... ok [INFO] [stdout] test harness::amp_code::tests::infer_stdio_from_command_field ... ok [INFO] [stdout] test detection::tests::find_binary_returns_some_for_common_binary ... ok [INFO] [stdout] test harness::amp_code::tests::config_dir_project_returns_unsupported_scope ... ok [INFO] [stdout] test harness::amp_code::tests::infer_http_from_url_field ... ok [INFO] [stdout] test harness::amp_code::tests::config_dir_global ... ok [INFO] [stdout] test harness::amp_code::tests::global_config_dir_is_absolute ... ok [INFO] [stdout] test detection::tests::find_binary_returns_none_for_nonexistent ... ok [INFO] [stdout] test harness::amp_code::tests::parse_env_value_with_dollar_brace_syntax ... ok [INFO] [stdout] test harness::amp_code::tests::mcp_dir_project_returns_unsupported_scope ... ok [INFO] [stdout] test harness::amp_code::tests::parse_http_server_with_headers ... ok [INFO] [stdout] test harness::amp_code::tests::parse_mcp_server_env_not_object_fails ... ok [INFO] [stdout] test harness::amp_code::tests::parse_mcp_server_headers_not_object_fails ... ok [INFO] [stdout] test harness::amp_code::tests::parse_mcp_server_missing_command_fails ... ok [INFO] [stdout] test harness::amp_code::tests::parse_mcp_server_missing_url_for_http_fails ... ok [INFO] [stdout] test harness::amp_code::tests::parse_mcp_server_missing_url_for_sse_fails ... ok [INFO] [stdout] test harness::amp_code::tests::parse_mcp_server_non_string_args_fails ... ok [INFO] [stdout] test harness::amp_code::tests::parse_mcp_server_unknown_type_fails ... ok [INFO] [stdout] test harness::amp_code::tests::parse_mcp_servers_dotted_key_format ... ok [INFO] [stdout] test harness::amp_code::tests::parse_http_server_basic ... ok [INFO] [stdout] test harness::amp_code::tests::neither_command_nor_url_fails ... ok [INFO] [stdout] test harness::amp_code::tests::parse_mcp_servers_missing_config_returns_empty ... ok [INFO] [stdout] test harness::amp_code::tests::parse_mcp_servers_full_config ... ok [INFO] [stdout] test harness::amp_code::tests::parse_sse_server_with_headers ... ok [INFO] [stdout] test harness::amp_code::tests::parse_stdio_server_basic ... ok [INFO] [stdout] test harness::amp_code::tests::parse_stdio_server_with_env ... ok [INFO] [stdout] test harness::amp_code::tests::parse_stdio_server_with_explicit_type ... ok [INFO] [stdout] test harness::amp_code::tests::parse_mcp_servers_empty_config ... ok [INFO] [stdout] test harness::amp_code::tests::parse_mcp_server_not_object_fails ... ok [INFO] [stdout] test harness::amp_code::tests::parse_sse_server_basic ... ok [INFO] [stdout] test harness::amp_code::tests::parse_stdio_server_without_args ... ok [INFO] [stdout] test harness::amp_code::tests::rules_dir_global ... ok [INFO] [stdout] test harness::amp_code::tests::skills_dir_global_shared_with_goose ... ok [INFO] [stdout] test harness::amp_code::tests::skills_dir_project ... ok [INFO] [stdout] test harness::claude_code::tests::agents_dir_global ... ok [INFO] [stdout] test harness::amp_code::tests::parse_mcp_servers_nested_without_mcp_servers_returns_empty ... ok [INFO] [stdout] test harness::claude_code::tests::agents_dir_project ... ok [INFO] [stdout] test harness::claude_code::tests::commands_dir_global ... ok [INFO] [stdout] test harness::claude_code::tests::commands_dir_project ... ok [INFO] [stdout] test harness::claude_code::tests::global_config_dir_is_absolute ... ok [INFO] [stdout] test harness::claude_code::tests::parse_env_value_with_dollar_brace_syntax ... ok [INFO] [stdout] test harness::claude_code::tests::parse_http_server_basic ... ok [INFO] [stdout] test harness::claude_code::tests::parse_http_server_with_headers ... ok [INFO] [stdout] test harness::amp_code::tests::commands_dir_project ... ok [INFO] [stdout] test harness::claude_code::tests::parse_mcp_server_args_not_array_fails ... ok [INFO] [stdout] test harness::amp_code::tests::parse_mcp_server_args_not_array_fails ... ok [INFO] [stdout] test harness::amp_code::tests::rules_dir_project_returns_root ... ok [INFO] [stdout] test harness::claude_code::tests::parse_mcp_server_env_not_object_fails ... ok [INFO] [stdout] test harness::claude_code::tests::parse_mcp_server_headers_not_object_fails ... ok [INFO] [stdout] test harness::claude_code::tests::parse_mcp_server_missing_command_fails ... ok [INFO] [stdout] test harness::claude_code::tests::parse_mcp_server_missing_url_for_http_fails ... ok [INFO] [stdout] test harness::claude_code::tests::parse_mcp_server_missing_url_for_sse_fails ... ok [INFO] [stdout] test harness::claude_code::tests::parse_mcp_server_non_string_args_fails ... ok [INFO] [stdout] test harness::claude_code::tests::parse_mcp_server_unknown_type_fails ... ok [INFO] [stdout] test harness::claude_code::tests::parse_mcp_servers_empty_config ... ok [INFO] [stdout] test harness::claude_code::tests::parse_mcp_servers_missing_mcp_servers_key_fails ... ok [INFO] [stdout] test harness::claude_code::tests::parse_stdio_server_basic ... ok [INFO] [stdout] test harness::claude_code::tests::parse_stdio_server_with_env ... ok [INFO] [stdout] test harness::claude_code::tests::parse_stdio_server_without_args ... ok [INFO] [stdout] test harness::claude_code::tests::plugins_dir_global ... ok [INFO] [stdout] test harness::claude_code::tests::plugins_dir_project ... ok [INFO] [stdout] test harness::claude_code::tests::parse_sse_server_basic ... ok [INFO] [stdout] test harness::claude_code::tests::roundtrip_http_server ... ok [INFO] [stdout] test harness::claude_code::tests::roundtrip_sse_server ... ok [INFO] [stdout] test harness::claude_code::tests::parse_sse_server_with_headers ... ok [INFO] [stdout] test harness::claude_code::tests::rules_dir_global_returns_config_dir ... ok [INFO] [stdout] test harness::claude_code::tests::roundtrip_stdio_server ... ok [INFO] [stdout] test harness::claude_code::tests::parse_stdio_server_with_explicit_type ... ok [INFO] [stdout] test harness::claude_code::tests::rules_dir_project_returns_root ... ok [INFO] [stdout] test harness::claude_code::tests::skills_dir_project ... ok [INFO] [stdout] test harness::claude_code::tests::project_config_dir_is_relative_to_root ... ok [INFO] [stdout] test harness::claude_code::tests::skills_dir_global ... ok [INFO] [stdout] test harness::copilot_cli::tests::agents_dir_project_uses_github_dir ... ok [INFO] [stdout] test harness::copilot_cli::tests::global_config_dir_is_absolute ... ok [INFO] [stdout] test harness::copilot_cli::tests::agents_dir_global ... ok [INFO] [stdout] test harness::claude_code::tests::parse_mcp_servers_full_config ... ok [INFO] [stdout] test harness::copilot_cli::tests::parse_http_server_basic ... ok [INFO] [stdout] test harness::copilot_cli::tests::parse_local_server_basic ... ok [INFO] [stdout] test harness::copilot_cli::tests::parse_local_server_with_env ... ok [INFO] [stdout] test harness::copilot_cli::tests::parse_mcp_server_missing_command_fails ... ok [INFO] [stdout] test harness::claude_code::tests::parse_mcp_server_not_object_fails ... ok [INFO] [stdout] test harness::copilot_cli::tests::parse_mcp_servers_empty_config ... ok [INFO] [stdout] test harness::copilot_cli::tests::parse_mcp_servers_full_config ... ok [INFO] [stdout] test harness::claude_code::tests::parse_mcp_servers_mcp_servers_not_object_fails ... ok [INFO] [stdout] test harness::copilot_cli::tests::parse_sse_server_basic ... ok [INFO] [stdout] test harness::copilot_cli::tests::parse_mcp_servers_missing_mcp_servers_key_fails ... ok [INFO] [stdout] test harness::copilot_cli::tests::parse_stdio_server_basic ... ok [INFO] [stdout] test harness::copilot_cli::tests::parse_stdio_server_with_env ... ok [INFO] [stdout] test harness::copilot_cli::tests::parse_stdio_server_with_timeout ... ok [INFO] [stdout] test harness::copilot_cli::tests::project_config_dir_is_relative_to_root ... ok [INFO] [stdout] test harness::copilot_cli::tests::rules_dir_global_returns_config_dir ... ok [INFO] [stdout] test harness::copilot_cli::tests::rules_dir_project_uses_github_dir ... ok [INFO] [stdout] test harness::copilot_cli::tests::skills_dir_global ... ok [INFO] [stdout] test harness::copilot_cli::tests::skills_dir_project_unsupported ... ok [INFO] [stdout] test harness::crush::tests::commands_dir_returns_config_dir ... ok [INFO] [stdout] test harness::crush::tests::global_config_dir_is_absolute ... ok [INFO] [stdout] test harness::crush::tests::mcp_dir_returns_config_dir ... ok [INFO] [stdout] test harness::crush::tests::parse_http_server_basic ... ok [INFO] [stdout] test harness::crush::tests::parse_http_server_missing_url ... ok [INFO] [stdout] test harness::crush::tests::parse_http_server_non_string_header_value_fails ... ok [INFO] [stdout] test harness::crush::tests::parse_http_server_headers_not_object_fails ... ok [INFO] [stdout] test harness::crush::tests::parse_http_server_with_headers ... ok [INFO] [stdout] test harness::crush::tests::parse_mcp_servers_basic ... ok [INFO] [stdout] test harness::crush::tests::parse_mcp_servers_empty_mcp ... ok [INFO] [stdout] test harness::crush::tests::parse_mcp_servers_missing_mcp_key ... ok [INFO] [stdout] test harness::crush::tests::parse_mcp_servers_errors_on_invalid ... ok [INFO] [stdout] test harness::crush::tests::parse_mcp_server_missing_type ... ok [INFO] [stdout] test harness::crush::tests::parse_sse_server_missing_url ... ok [INFO] [stdout] test harness::crush::tests::parse_mcp_server_unknown_type ... ok [INFO] [stdout] test harness::crush::tests::parse_stdio_server_non_string_env_value_fails ... ok [INFO] [stdout] test harness::crush::tests::parse_stdio_server_args_not_array_fails ... ok [INFO] [stdout] test harness::crush::tests::parse_stdio_server_without_args ... ok [INFO] [stdout] test harness::crush::tests::parse_stdio_server_without_env ... ok [INFO] [stdout] test harness::crush::tests::project_config_dir_is_relative_to_root ... ok [INFO] [stdout] test harness::crush::tests::rules_dir_global_returns_config ... ok [INFO] [stdout] test harness::crush::tests::parse_sse_server_basic ... ok [INFO] [stdout] test harness::crush::tests::parse_stdio_server_basic ... ok [INFO] [stdout] test harness::copilot_cli::tests::parse_sse_server_with_headers ... ok [INFO] [stdout] test harness::crush::tests::parse_stdio_server_disabled ... ok [INFO] [stdout] test harness::crush::tests::rules_dir_project_returns_root ... ok [INFO] [stdout] test harness::crush::tests::parse_stdio_server_missing_command ... ok [INFO] [stdout] test harness::crush::tests::parse_stdio_server_non_string_args_fails ... ok [INFO] [stdout] test harness::crush::tests::parse_stdio_server_env_not_object_fails ... ok [INFO] [stdout] test harness::crush::tests::skills_dir_global_returns_crush_skills ... ok [INFO] [stdout] test harness::crush::tests::skills_dir_project_returns_dot_crush_skills ... ok [INFO] [stdout] test harness::crush::tests::parse_stdio_server_with_env ... ok [INFO] [stdout] test harness::droid::tests::commands_dir_project ... ok [INFO] [stdout] test harness::droid::tests::global_config_dir_is_absolute ... ok [INFO] [stdout] test harness::droid::tests::parse_http_server_basic ... ok [INFO] [stdout] test harness::droid::tests::agents_dir_project ... ok [INFO] [stdout] test harness::droid::tests::parse_http_server_with_headers ... ok [INFO] [stdout] test harness::droid::tests::parse_mcp_server_missing_command_fails ... ok [INFO] [stdout] test harness::droid::tests::parse_mcp_server_missing_url_for_http_fails ... ok [INFO] [stdout] test harness::droid::tests::parse_mcp_server_unknown_type_fails ... ok [INFO] [stdout] test harness::droid::tests::agents_dir_returns_droids_path ... ok [INFO] [stdout] test harness::droid::tests::parse_mcp_servers_empty_config ... ok [INFO] [stdout] test harness::droid::tests::parse_sse_server_with_url_only ... ok [INFO] [stdout] test harness::droid::tests::parse_sse_server_with_headers ... ok [INFO] [stdout] test harness::droid::tests::parse_stdio_server_with_env ... ok [INFO] [stdout] test harness::droid::tests::parse_mcp_servers_missing_mcp_servers_key_fails ... ok [INFO] [stdout] test harness::droid::tests::project_config_dir_is_relative_to_root ... ok [INFO] [stdout] test harness::droid::tests::commands_dir_global ... ok [INFO] [stdout] test harness::droid::tests::parse_mcp_servers_full_config ... ok [INFO] [stdout] test harness::droid::tests::skills_dir_global ... ok [INFO] [stdout] test harness::droid::tests::rules_dir_project_returns_root ... ok [INFO] [stdout] test harness::droid::tests::rules_dir_global_returns_config_dir ... ok [INFO] [stdout] test harness::droid::tests::parse_stdio_server_basic ... ok [INFO] [stdout] test harness::droid::tests::skills_dir_project ... ok [INFO] [stdout] test harness::goose::tests::global_config_dir_is_absolute ... ok [INFO] [stdout] test harness::goose::tests::commands_dir_returns_config_dir ... ok [INFO] [stdout] test harness::droid::tests::parse_stdio_server_with_disabled ... ok [INFO] [stdout] test harness::goose::tests::parse_http_server_basic ... ok [INFO] [stdout] test harness::goose::tests::parse_http_server_headers_not_object_fails ... ok [INFO] [stdout] test harness::goose::tests::mcp_dir_returns_config_dir ... ok [INFO] [stdout] test harness::goose::tests::parse_http_server_missing_uri ... ok [INFO] [stdout] test harness::goose::tests::parse_http_server_non_string_header_value_fails ... ok [INFO] [stdout] test harness::goose::tests::parse_http_server_with_headers ... ok [INFO] [stdout] test harness::goose::tests::parse_mcp_server_missing_type ... ok [INFO] [stdout] test harness::goose::tests::parse_mcp_server_unknown_type ... ok [INFO] [stdout] test harness::goose::tests::parse_mcp_servers_basic ... ok [INFO] [stdout] test harness::droid::tests::parse_stdio_server_with_timeout ... ok [INFO] [stdout] test harness::goose::tests::parse_mcp_servers_empty_extensions ... ok [INFO] [stdout] test harness::goose::tests::parse_mcp_servers_errors_on_invalid ... ok [INFO] [stdout] test harness::goose::tests::parse_mcp_servers_missing_extensions ... ok [INFO] [stdout] test harness::goose::tests::parse_sse_server_basic ... ok [INFO] [stdout] test harness::goose::tests::parse_sse_server_missing_uri ... ok [INFO] [stdout] test harness::goose::tests::parse_stdio_server_args_not_array_fails ... ok [INFO] [stdout] test harness::goose::tests::parse_stdio_server_defaults_enabled_to_true ... ok [INFO] [stdout] test harness::goose::tests::parse_stdio_server_disabled ... ok [INFO] [stdout] test harness::goose::tests::parse_stdio_server_missing_cmd ... ok [INFO] [stdout] test harness::goose::tests::parse_stdio_server_non_string_env_value_fails ... ok [INFO] [stdout] test harness::goose::tests::parse_stdio_server_envs_not_object_fails ... ok [INFO] [stdout] test harness::goose::tests::parse_stdio_server_non_string_args_fails ... ok [INFO] [stdout] test harness::goose::tests::project_config_dir_is_relative_to_root ... ok [INFO] [stdout] test harness::goose::tests::parse_stdio_server_timeout_converts_to_milliseconds ... ok [INFO] [stdout] test harness::goose::tests::parse_stdio_server_without_args ... ok [INFO] [stdout] test harness::goose::tests::rules_dir_global_returns_config ... ok [INFO] [stdout] test harness::goose::tests::roundtrip_stdio_with_full_config ... ok [INFO] [stdout] test harness::goose::tests::skills_dir_project_returns_dot_agents_skills ... ok [INFO] [stdout] test harness::opencode::tests::commands_dir_global ... ok [INFO] [stdout] test harness::goose::tests::parse_stdio_server_with_envs ... ok [INFO] [stdout] test harness::opencode::tests::global_config_dir_is_absolute ... ok [INFO] [stdout] test harness::goose::tests::skills_dir_global_returns_agents_skills ... ok [INFO] [stdout] test harness::goose::tests::parse_stdio_server_without_envs ... ok [INFO] [stdout] test harness::opencode::tests::commands_dir_project ... ok [INFO] [stdout] test harness::opencode::tests::parse_local_server_basic ... ok [INFO] [stdout] test harness::opencode::tests::mcp_dir_global ... ok [INFO] [stdout] test harness::opencode::tests::parse_local_server_empty_command ... ok [INFO] [stdout] test harness::goose::tests::rules_dir_project_returns_root ... ok [INFO] [stdout] test harness::opencode::tests::parse_local_server_enabled_defaults_true ... ok [INFO] [stdout] test harness::opencode::tests::parse_local_server_missing_command ... ok [INFO] [stdout] test harness::opencode::tests::parse_local_server_with_environment ... ok [INFO] [stdout] test harness::opencode::tests::parse_mcp_server_invalid_type ... ok [INFO] [stdout] test harness::opencode::tests::parse_local_server_disabled ... ok [INFO] [stdout] test harness::opencode::tests::parse_local_server_with_timeout ... ok [INFO] [stdout] test harness::opencode::tests::parse_mcp_servers_empty ... ok [INFO] [stdout] test harness::goose::tests::parse_stdio_server_basic ... ok [INFO] [stdout] test harness::opencode::tests::parse_mcp_servers_errors_on_invalid ... ok [INFO] [stdout] test harness::opencode::tests::parse_mcp_servers_full_example ... ok [INFO] [stdout] test harness::opencode::tests::parse_mcp_server_missing_type ... ok [INFO] [stdout] test harness::opencode::tests::parse_mcp_servers_includes_disabled ... ok [INFO] [stdout] test harness::opencode::tests::parse_mcp_servers_missing_mcp_key ... ok [INFO] [stdout] test harness::opencode::tests::parse_remote_server_basic ... ok [INFO] [stdout] test harness::opencode::tests::parse_remote_server_missing_url ... ok [INFO] [stdout] test harness::opencode::tests::parse_remote_server_oauth_invalid_client_id_type ... ok [INFO] [stdout] test harness::opencode::tests::parse_remote_server_oauth_invalid_scope_type ... ok [INFO] [stdout] test harness::opencode::tests::parse_remote_server_with_headers ... ok [INFO] [stdout] test harness::opencode::tests::parse_remote_server_with_oauth ... ok [INFO] [stdout] test harness::opencode::tests::parse_remote_server_with_timeout ... ok [INFO] [stdout] test harness::opencode::tests::project_config_dir_is_relative_to_root ... ok [INFO] [stdout] test harness::opencode::tests::rules_dir_global_returns_none ... ok [INFO] [stdout] test harness::opencode::tests::rules_dir_project_returns_root ... ok [INFO] [stdout] test harness::opencode::tests::skills_dir_global ... ok [INFO] [stdout] test harness::opencode::tests::skills_dir_project ... ok [INFO] [stdout] test harness::opencode::tests::parse_remote_server_oauth_invalid_client_secret_type ... ok [INFO] [stdout] test harness::tests::agents_for_claude_code ... ok [INFO] [stdout] test harness::tests::agents_none_for_goose ... ok [INFO] [stdout] test harness::tests::commands_for_claude_code ... ok [INFO] [stdout] test harness::tests::commands_none_for_goose ... ok [INFO] [stdout] test harness::tests::config_global_for_claude_code ... ok [INFO] [stdout] test harness::opencode::tests::parse_mcp_servers_basic ... ok [INFO] [stdout] test harness::tests::config_global_for_goose ... ok [INFO] [stdout] test harness::tests::config_global_for_opencode ... ok [INFO] [stdout] test harness::tests::config_project_for_claude_code ... ok [INFO] [stdout] test harness::tests::config_project_for_goose ... ok [INFO] [stdout] test harness::tests::config_project_for_opencode ... ok [INFO] [stdout] test harness::tests::harness_kind_all_contains_all_variants ... ok [INFO] [stdout] test harness::tests::locate_claude_code_when_installed ... ok [INFO] [stdout] test harness::tests::locate_goose_when_installed ... ok [INFO] [stdout] test harness::tests::locate_opencode_when_installed ... ok [INFO] [stdout] test harness::tests::mcp_capabilities_returns_correct_for_each_harness ... ok [INFO] [stdout] test harness::tests::mcp_returns_config_resource ... ok [INFO] [stdout] test harness::tests::is_installed_matches_locate ... ok [INFO] [stdout] test harness::tests::mcp_to_native_goose_http ... ok [INFO] [stdout] test harness::tests::installed_returns_only_installed_harnesses ... ok [INFO] [stdout] test harness::tests::mcp_to_native_goose_http_with_oauth_unsupported ... ok [INFO] [stdout] test harness::tests::mcp_to_native_goose_env_vars_resolved ... ok [INFO] [stdout] test harness::tests::mcp_to_native_goose_sse_unsupported ... ok [INFO] [stdout] test harness::tests::mcp_to_native_goose_stdio ... ok [INFO] [stdout] test harness::tests::mcp_to_native_goose_timeout_unsupported ... ok [INFO] [stdout] test harness::tests::mcp_to_native_opencode_command_array_format ... ok [INFO] [stdout] test harness::tests::mcp_to_native_opencode_http_with_oauth ... ok [INFO] [stdout] test harness::tests::mcp_to_native_opencode_http_without_oauth ... ok [INFO] [stdout] test harness::tests::mcp_to_native_opencode_sse ... ok [INFO] [stdout] test harness::tests::mcp_to_native_opencode_stdio ... ok [INFO] [stdout] test harness::tests::new_creates_harness_without_installation_check ... ok [INFO] [stdout] test harness::tests::parse_mcp_config_claude_code ... ok [INFO] [stdout] test harness::tests::parse_mcp_config_goose ... ok [INFO] [stdout] test harness::tests::parse_mcp_config_opencode ... ok [INFO] [stdout] test harness::tests::parse_mcp_config_opencode_includes_disabled ... ok [INFO] [stdout] test harness::tests::parse_mcp_server_config_error_includes_name ... ok [INFO] [stdout] test harness::tests::plugins_for_claude_code ... ok [INFO] [stdout] test harness::tests::plugins_none_for_goose ... ok [INFO] [stdout] test harness::tests::rules_for_claude_code_global ... ok [INFO] [stdout] test harness::tests::rules_global_for_goose ... ok [INFO] [stdout] test harness::tests::rules_project_root_for_claude_code ... ok [INFO] [stdout] test harness::tests::rules_project_root_for_goose ... ok [INFO] [stdout] test harness::tests::skills_for_claude_code ... ok [INFO] [stdout] test harness::tests::skills_for_goose_global ... ok [INFO] [stdout] test harness::tests::skills_for_opencode ... ok [INFO] [stdout] test harness::tests::supports_mcp_server_stdio_basic ... ok [INFO] [stdout] test harness::tests::supports_mcp_server_http_with_oauth ... ok [INFO] [stdout] test harness::tests::supports_mcp_server_stdio_with_timeout ... ok [INFO] [stdout] test mcp::tests::enabled_defaults_to_true ... ok [INFO] [stdout] test mcp::tests::empty_collections_not_serialized ... ok [INFO] [stdout] test mcp::tests::env_values_in_server_config ... ok [INFO] [stdout] test mcp::tests::env_var_names_http_includes_oauth_secret ... ok [INFO] [stdout] test harness::tests::supports_mcp_server_sse ... ok [INFO] [stdout] test mcp::tests::env_var_names_stdio_extracts_env_refs ... ok [INFO] [stdout] test mcp::tests::mcp_capabilities_default_is_all_false ... ok [INFO] [stdout] test mcp::tests::env_var_names_empty_when_no_env_refs ... ok [INFO] [stdout] test mcp::tests::mcp_capabilities_for_goose ... ok [INFO] [stdout] test mcp::tests::mcp_capabilities_for_claude_code ... ok [INFO] [stdout] test mcp::tests::http_server_serialization_roundtrip ... ok [INFO] [stdout] test mcp::tests::mcp_capabilities_for_opencode ... ok [INFO] [stdout] test harness::tests::skills_for_goose_project ... ok [INFO] [stdout] test mcp::tests::mcp_capabilities_serialization ... ok [INFO] [stdout] test mcp::tests::missing_env_vars_returns_unset_vars ... ok [INFO] [stdout] test mcp::tests::sse_server_serialization_roundtrip ... ok [INFO] [stdout] test mcp::tests::oauth_config_serialization_roundtrip ... ok [INFO] [stdout] test mcp::tests::stdio_server_serialization_roundtrip ... ok [INFO] [stdout] test mcp::tests::to_native_value_http_claude_code ... ok [INFO] [stdout] test mcp::tests::to_native_value_stdio_claude_code ... ok [INFO] [stdout] test mcp::tests::to_native_value_stdio_goose ... ok [INFO] [stdout] test mcp::tests::to_native_value_stdio_opencode ... ok [INFO] [stdout] test mcp::tests::transport_tag_in_json ... ok [INFO] [stdout] test mcp::tests::validate_capabilities_http_rejected_by_ampcode ... ok [INFO] [stdout] test mcp::tests::validate_capabilities_sse_rejected_by_goose ... ok [INFO] [stdout] test mcp::tests::validate_capabilities_stdio_always_passes ... ok [INFO] [stdout] test platform::linux::tests::config_dir_default_is_dot_config ... ok [INFO] [stdout] test platform::linux::tests::config_dir_respects_xdg_config_home ... ok [INFO] [stdout] test platform::linux::tests::data_dir_default_is_local_share ... ok [INFO] [stdout] test platform::linux::tests::data_dir_respects_xdg_data_home ... ok [INFO] [stdout] test platform::linux::tests::empty_xdg_vars_fall_back_to_default ... ok [INFO] [stdout] test platform::linux::tests::relative_xdg_paths_fall_back_to_default ... ok [INFO] [stdout] test platform::tests::config_dir_exists ... ok [INFO] [stdout] test platform::tests::data_dir_exists ... ok [INFO] [stdout] test platform::tests::home_dir_exists ... ok [INFO] [stdout] test skill::tests::handles_crlf_line_endings ... ok [INFO] [stdout] test skill::tests::handles_empty_body ... ok [INFO] [stdout] test skill::tests::handles_empty_frontmatter ... ok [INFO] [stdout] test skill::tests::handles_frontmatter_at_eof ... ok [INFO] [stdout] test skill::tests::parse_skill_captures_unknown_keys ... ok [INFO] [stdout] test skill::tests::parse_skill_fails_without_frontmatter ... ok [INFO] [stdout] test skill::tests::parse_skill_fails_without_name ... ok [INFO] [stdout] test skill::tests::parse_skill_handles_empty_body ... ok [INFO] [stdout] test skill::tests::parse_skill_with_all_fields ... ok [INFO] [stdout] test skill::tests::parse_skill_with_minimal_fields ... ok [INFO] [stdout] test skill::tests::parses_standard_frontmatter ... ok [INFO] [stdout] test skill::tests::preserves_horizontal_rules_in_body ... ok [INFO] [stdout] test skill::tests::returns_error_for_malformed_yaml ... ok [INFO] [stdout] test skill::tests::returns_none_without_frontmatter ... ok [INFO] [stdout] test skill::tests::skill_round_trip_preserves_content ... ok [INFO] [stdout] test types::tests::binary_names_claude_code ... ok [INFO] [stdout] test types::tests::binary_names_goose ... ok [INFO] [stdout] test types::tests::binary_names_opencode ... ok [INFO] [stdout] test types::tests::binary_names_returns_static_slice ... ok [INFO] [stdout] test types::tests::directory_names_all_harnesses_support_skills ... ok [INFO] [stdout] test types::tests::directory_names_claude_code_plural ... ok [INFO] [stdout] test types::tests::directory_names_opencode_singular ... ok [INFO] [stdout] test types::tests::directory_names_unsupported_returns_none ... ok [INFO] [stdout] test types::tests::env_constructor ... ok [INFO] [stdout] test types::tests::from_native_claude_code_parses_env_ref ... ok [INFO] [stdout] test types::tests::from_native_claude_code_plain_for_non_matching ... ok [INFO] [stdout] test types::tests::from_native_goose_always_plain ... ok [INFO] [stdout] test types::tests::from_native_opencode_parses_env_ref ... ok [INFO] [stdout] test types::tests::from_native_opencode_plain_for_non_matching ... ok [INFO] [stdout] test types::tests::installation_status_accessors ... ok [INFO] [stdout] test types::tests::installation_status_is_runnable ... ok [INFO] [stdout] test types::tests::plain_constructor ... ok [INFO] [stdout] test types::tests::resolve_env_ref_returns_none_when_unset ... ok [INFO] [stdout] test types::tests::resolve_env_ref_returns_value_when_set ... ok [INFO] [stdout] test types::tests::resolve_plain_returns_value ... ok [INFO] [stdout] test types::tests::serde_deserialize_plain_from_string ... ok [INFO] [stdout] test types::tests::serde_deserialize_env_ref_from_object ... ok [INFO] [stdout] test types::tests::serde_env_ref_roundtrip ... ok [INFO] [stdout] test types::tests::serde_plain_string_roundtrip ... ok [INFO] [stdout] test types::tests::to_native_claude_code_format ... ok [INFO] [stdout] test types::tests::to_native_goose_resolves_env_var ... ok [INFO] [stdout] test types::tests::to_native_goose_returns_empty_for_unset_var ... ok [INFO] [stdout] test types::tests::to_native_opencode_format ... ok [INFO] [stdout] test types::tests::to_native_plain_returns_value_unchanged ... ok [INFO] [stdout] test types::tests::try_to_native_goose_fails_when_var_unset ... ok [INFO] [stdout] test types::tests::try_to_native_goose_succeeds_when_var_set ... ok [INFO] [stdout] test types::tests::try_to_native_plain_always_succeeds ... ok [INFO] [stdout] test types::tests::try_to_native_template_harnesses_always_succeed ... ok [INFO] [stdout] test validation::tests::claude_code_accepts_any_skill_name ... ok [INFO] [stdout] test validation::tests::claude_code_accepts_comma_string_tools ... ok [INFO] [stdout] test validation::tests::claude_code_accepts_named_color ... ok [INFO] [stdout] test validation::tests::cwd_on_any_harness_returns_error ... ok [INFO] [stdout] test validation::tests::disabled_on_claude_code_returns_warning ... ok [INFO] [stdout] test validation::tests::disabled_on_opencode_returns_no_warning ... ok [INFO] [stdout] test validation::tests::empty_command_returns_error ... ok [INFO] [stdout] test validation::tests::excessive_timeout_returns_warning ... ok [INFO] [stdout] test validation::tests::ftp_scheme_returns_error ... ok [INFO] [stdout] test validation::tests::goose_returns_skill_unsupported ... ok [INFO] [stdout] test validation::tests::goose_returns_unsupported_error ... ok [INFO] [stdout] test validation::tests::invalid_mode_returns_error ... ok [INFO] [stdout] test validation::tests::invalid_url_returns_error ... ok [INFO] [stdout] test validation::tests::invalid_yaml_returns_parse_error ... ok [INFO] [stdout] test validation::tests::is_hex_color_validates_correctly ... ok [INFO] [stdout] test validation::tests::missing_frontmatter_is_valid ... ok [INFO] [stdout] test validation::tests::multiple_issues_collected ... ok [INFO] [stdout] test validation::tests::normal_env_name_returns_no_issues ... ok [INFO] [stdout] test validation::tests::normal_timeout_returns_no_issues ... ok [INFO] [stdout] test validation::tests::opencode_accepts_boolean_record_tools ... ok [INFO] [stdout] test validation::tests::opencode_accepts_hex_color ... ok [INFO] [stdout] test validation::tests::opencode_accepts_valid_skill ... ok [INFO] [stdout] test validation::tests::opencode_rejects_comma_string_tools ... ok [INFO] [stdout] test validation::tests::opencode_rejects_long_description ... ok [INFO] [stdout] test validation::tests::opencode_rejects_long_skill_name ... ok [INFO] [stdout] test validation::tests::opencode_rejects_named_color ... ok [INFO] [stdout] test validation::tests::skill_capabilities_for_claude_code ... ok [INFO] [stdout] test validation::tests::opencode_rejects_name_directory_mismatch ... ok [INFO] [stdout] test validation::tests::opencode_warns_missing_description ... ok [INFO] [stdout] test validation::tests::opencode_rejects_uppercase_skill_name ... ok [INFO] [stdout] test validation::tests::skill_invalid_yaml_returns_parse_error ... ok [INFO] [stdout] test validation::tests::skill_capabilities_for_opencode ... ok [INFO] [stdout] test validation::tests::skill_name_regex_validates_correctly ... ok [INFO] [stdout] test validation::tests::sse_on_claude_code_returns_warning ... ok [INFO] [stdout] test validation::tests::sse_on_opencode_returns_no_warning ... ok [INFO] [stdout] test validation::tests::suspicious_env_name_returns_warning ... ok [INFO] [stdout] test validation::tests::valid_command_returns_no_issues ... ok [INFO] [stdout] test validation::tests::valid_config_returns_empty_vec ... ok [INFO] [stdout] test validation::tests::valid_https_url_returns_no_issues ... ok [INFO] [stdout] test validation::tests::valid_mode_accepted ... ok [INFO] [stdout] test validation::tests::validate_for_harness_includes_base_validation ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 388 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s [INFO] [stderr] Doc-tests harness_locate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 41 tests [INFO] [stdout] test src/detection.rs - detection::find_binary (line 26) - compile ... ok [INFO] [stdout] test src/harness/mod.rs - harness::Harness::installed (line 192) - compile ... ok [INFO] [stdout] test src/harness/mod.rs - harness::Harness::config (line 504) - compile ... ok [INFO] [stdout] test src/harness/mod.rs - harness::Harness::commands (line 337) - compile ... ok [INFO] [stdout] test src/harness/mod.rs - harness::Harness::locate (line 42) - compile ... ok [INFO] [stdout] test src/harness/mod.rs - harness::Harness::is_installed (line 119) ... ok [INFO] [stdout] test src/harness/mod.rs - harness::Harness::kind (line 71) ... ok [INFO] [stdout] test src/harness/mod.rs - harness::Harness::mcp_to_native (line 795) ... ok [INFO] [stdout] test src/harness/mod.rs - harness::Harness::new (line 100) ... ok [INFO] [stdout] test src/harness/mod.rs - harness::Harness::plugins (line 377) - compile ... ok [INFO] [stdout] test src/harness/mod.rs - harness::Harness::skills (line 224) - compile ... ok [INFO] [stdout] test src/lib.rs - (line 30) - compile ... ok [INFO] [stdout] test src/lib.rs - (line 42) - compile ... ok [INFO] [stdout] test src/harness/mod.rs - harness::Harness::parse_mcp_server_config (line 875) ... ok [INFO] [stdout] test src/harness/mod.rs - harness::Harness::mcp (line 537) - compile ... ok [INFO] [stdout] test src/harness/mod.rs - harness::Harness::agents (line 433) - compile ... ok [INFO] [stdout] test src/harness/mod.rs - harness::Harness::mcp_capabilities (line 619) ... ok [INFO] [stdout] test src/mcp.rs - mcp::HttpMcpServer (line 581) ... ok [INFO] [stdout] test src/harness/mod.rs - harness::Harness::supports_mcp_server (line 642) ... ok [INFO] [stdout] test src/mcp.rs - mcp::McpCapabilities::for_kind (line 703) ... ok [INFO] [stdout] test src/harness/mod.rs - harness::Harness::rules (line 748) - compile ... ok [INFO] [stdout] test src/mcp.rs - mcp::McpCapabilities (line 662) ... ok [INFO] [stdout] test src/mcp.rs - mcp::SseMcpServer (line 539) ... ok [INFO] [stdout] test src/lib.rs - (line 53) ... ok [INFO] [stdout] test src/types.rs - types::EnvValue::plain (line 487) ... ok [INFO] [stdout] test src/types.rs - types::EnvValue::from_native (line 613) ... ok [INFO] [stdout] test src/mcp.rs - mcp::StdioMcpServer (line 489) ... ok [INFO] [stdout] test src/harness/mod.rs - harness::Harness::parse_mcp_config (line 831) ... ok [INFO] [stdout] test src/types.rs - types::EnvValue::to_native (line 528) ... ok [INFO] [stdout] test src/types.rs - types::EnvValue::env (line 502) ... ok [INFO] [stdout] test src/types.rs - types::EnvValue::try_to_native (line 569) ... ok [INFO] [stdout] test src/types.rs - types::EnvValue (line 458) ... ok [INFO] [stdout] test src/types.rs - types::EnvValue::resolve (line 662) ... ok [INFO] [stdout] test src/types.rs - types::HarnessKind::ALL (line 71) ... ok [INFO] [stdout] test src/types.rs - types::HarnessKind::directory_names (line 126) ... ok [INFO] [stdout] test src/validation.rs - validation::validate_mcp_server (line 347) ... ok [INFO] [stdout] test src/types.rs - types::InstallationStatus::config_path (line 287) ... ok [INFO] [stdout] test src/types.rs - types::InstallationStatus::is_runnable (line 242) ... ok [INFO] [stdout] test src/validation.rs - validation (line 13) ... ok [INFO] [stdout] test src/types.rs - types::InstallationStatus::binary_path (line 263) ... ok [INFO] [stdout] test src/types.rs - types::HarnessKind::binary_names (line 95) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 41 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stdout] all doctests ran in 0.83s; merged doctests compilation took 0.76s [INFO] running `Command { std: "docker" "inspect" "5b282bbbcc44114be981fcbd638392ae54907baabff7c93d41cb33b58f4ce3a2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5b282bbbcc44114be981fcbd638392ae54907baabff7c93d41cb33b58f4ce3a2", kill_on_drop: false }` [INFO] [stdout] 5b282bbbcc44114be981fcbd638392ae54907baabff7c93d41cb33b58f4ce3a2