[INFO] fetching crate mcp-execution-cli 0.6.4... [INFO] testing mcp-execution-cli-0.6.4 against try#a7ee93192a766fb0dafa23def7154fc03cfcfc3e for pr-146989 [INFO] extracting crate mcp-execution-cli 0.6.4 into /workspace/builds/worker-3-tc2/source [INFO] started tweaking crates.io crate mcp-execution-cli 0.6.4 [INFO] finished tweaking crates.io crate mcp-execution-cli 0.6.4 [INFO] tweaked toml for crates.io crate mcp-execution-cli 0.6.4 written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate mcp-execution-cli 0.6.4 on toolchain a7ee93192a766fb0dafa23def7154fc03cfcfc3e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a7ee93192a766fb0dafa23def7154fc03cfcfc3e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate mcp-execution-cli 0.6.4 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" "+a7ee93192a766fb0dafa23def7154fc03cfcfc3e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+a7ee93192a766fb0dafa23def7154fc03cfcfc3e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c48c7c5e3fdf7184fed06fbd9c046bfa0d7a4bb110bfddc04887eedc0638dfeb [INFO] running `Command { std: "docker" "start" "-a" "c48c7c5e3fdf7184fed06fbd9c046bfa0d7a4bb110bfddc04887eedc0638dfeb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c48c7c5e3fdf7184fed06fbd9c046bfa0d7a4bb110bfddc04887eedc0638dfeb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c48c7c5e3fdf7184fed06fbd9c046bfa0d7a4bb110bfddc04887eedc0638dfeb", kill_on_drop: false }` [INFO] [stdout] c48c7c5e3fdf7184fed06fbd9c046bfa0d7a4bb110bfddc04887eedc0638dfeb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+a7ee93192a766fb0dafa23def7154fc03cfcfc3e" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 95a8e598de0a23da7dbd6373bd1e3dc68def239a69599f3cb1b54332682dfce0 [INFO] running `Command { std: "docker" "start" "-a" "95a8e598de0a23da7dbd6373bd1e3dc68def239a69599f3cb1b54332682dfce0", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.104 [INFO] [stderr] Compiling libc v0.2.179 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling zmij v1.0.9 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling zerocopy v0.8.31 [INFO] [stderr] Compiling serde_json v1.0.148 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling ref-cast v1.0.25 [INFO] [stderr] Compiling nix v0.30.1 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling dyn-clone v1.0.20 [INFO] [stderr] Compiling regex-syntax v0.8.8 [INFO] [stderr] Compiling indexmap v2.12.1 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling anstyle v1.0.13 [INFO] [stderr] Compiling num-modular v0.6.1 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling cc v1.2.51 [INFO] [stderr] Compiling pastey v0.2.1 [INFO] [stderr] Compiling clap_lex v0.7.6 [INFO] [stderr] Compiling plotters-backend v0.3.7 [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling ciborium-io v0.2.2 [INFO] [stderr] Compiling plotters-svg v0.3.7 [INFO] [stderr] Compiling object v0.37.3 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling cast v0.3.0 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling num-order v1.2.0 [INFO] [stderr] Compiling quote v1.0.42 [INFO] [stderr] Compiling clap_builder v4.5.54 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Compiling anes v0.1.6 [INFO] [stderr] Compiling syn v2.0.112 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling mintex v0.1.4 [INFO] [stderr] Compiling thousands v0.2.0 [INFO] [stderr] Compiling toml_writer v1.0.6+spec-1.1.0 [INFO] [stderr] Compiling env_home v0.1.0 [INFO] [stderr] Compiling alloca v0.4.0 [INFO] [stderr] Compiling oorandom v11.1.5 [INFO] [stderr] Compiling shell-words v1.1.1 [INFO] [stderr] Compiling colored v3.0.0 [INFO] [stderr] Compiling criterion-plot v0.8.1 [INFO] [stderr] Compiling which v8.0.0 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling toml_parser v1.0.6+spec-1.1.0 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling rand_core v0.9.3 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling tempfile v3.24.0 [INFO] [stderr] Compiling console v0.16.2 [INFO] [stderr] Compiling page_size v0.6.0 [INFO] [stderr] Compiling toml_datetime v0.7.5+spec-1.1.0 [INFO] [stderr] Compiling serde_spanned v1.0.4 [INFO] [stderr] Compiling toml v0.9.10+spec-1.1.0 [INFO] [stderr] Compiling dialoguer v0.12.0 [INFO] [stderr] Compiling backtrace v0.3.76 [INFO] [stderr] Compiling darling_core v0.20.11 [INFO] [stderr] Compiling serde_derive_internals v0.29.1 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling pest_generator v2.8.5 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling zerocopy-derive v0.8.31 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling ref-cast-impl v1.0.25 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling pest_derive v2.8.5 [INFO] [stderr] Compiling schemars_derive v1.2.0 [INFO] [stderr] Compiling clap_derive v4.5.49 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling clap v4.5.54 [INFO] [stderr] Compiling clap_complete v4.5.64 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling darling_macro v0.20.11 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling rmcp-macros v0.12.0 [INFO] [stderr] Compiling darling v0.20.11 [INFO] [stderr] Compiling derive_builder_core v0.20.2 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling derive_builder_macro v0.20.2 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling tracing-serde v0.2.0 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling dhat v0.3.3 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling derive_builder v0.20.2 [INFO] [stderr] Compiling handlebars v6.4.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling criterion v0.8.1 [INFO] [stderr] Compiling uuid v1.19.0 [INFO] [stderr] Compiling process-wrap v9.0.0 [INFO] [stderr] Compiling tokio-util v0.7.17 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling schemars v1.2.0 [INFO] [stderr] Compiling mcp-execution-core v0.6.4 [INFO] [stderr] Compiling rmcp v0.12.0 [INFO] [stderr] Compiling mcp-execution-skill v0.6.4 [INFO] [stderr] Compiling mcp-execution-introspector v0.6.4 [INFO] [stderr] Compiling mcp-execution-codegen v0.6.4 [INFO] [stderr] Compiling mcp-execution-files v0.6.4 [INFO] [stderr] Compiling mcp-execution-cli v0.6.4 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 07s [INFO] running `Command { std: "docker" "inspect" "95a8e598de0a23da7dbd6373bd1e3dc68def239a69599f3cb1b54332682dfce0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "95a8e598de0a23da7dbd6373bd1e3dc68def239a69599f3cb1b54332682dfce0", kill_on_drop: false }` [INFO] [stdout] 95a8e598de0a23da7dbd6373bd1e3dc68def239a69599f3cb1b54332682dfce0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+a7ee93192a766fb0dafa23def7154fc03cfcfc3e" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8ddcfde89fd8163504dc0e10ffb6366bd1e3b54c5c651cc9c5b2991f69418a29 [INFO] running `Command { std: "docker" "start" "-a" "8ddcfde89fd8163504dc0e10ffb6366bd1e3b54c5c651cc9c5b2991f69418a29", kill_on_drop: false }` [INFO] [stderr] Compiling mcp-execution-cli v0.6.4 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 11.41s [INFO] running `Command { std: "docker" "inspect" "8ddcfde89fd8163504dc0e10ffb6366bd1e3b54c5c651cc9c5b2991f69418a29", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8ddcfde89fd8163504dc0e10ffb6366bd1e3b54c5c651cc9c5b2991f69418a29", kill_on_drop: false }` [INFO] [stdout] 8ddcfde89fd8163504dc0e10ffb6366bd1e3b54c5c651cc9c5b2991f69418a29 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+a7ee93192a766fb0dafa23def7154fc03cfcfc3e" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] af6d8e1735c15897ad0b08362433100806199bb0aa15ff50a1cba8269ca89db9 [INFO] running `Command { std: "docker" "start" "-a" "af6d8e1735c15897ad0b08362433100806199bb0aa15ff50a1cba8269ca89db9", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.79s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/mcp_execution_cli-5712f86db73b005b) [INFO] [stdout] running 111 tests [INFO] [stdout] test commands::common::tests::test_build_server_config_complex_docker_scenario ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_empty_value_in_header ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_empty_key_in_header ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_env_with_special_chars ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_docker ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_empty_value_in_env ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_empty_key_in_env ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_empty_args_stdio ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_header_with_special_chars ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_http ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_invalid_env ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_multiple_env_vars ... ok [INFO] [stdout] complete -c test-cli -s h -l help -d 'Print help' [INFO] [stdout] _test-cli() { [INFO] [stdout] local i cur prev opts cmd [INFO] [stdout] COMPREPLY=() [INFO] [stdout] if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then [INFO] [stdout] cur="$2" [INFO] [stdout] else [INFO] [stdout] cur="${COMP_WORDS[COMP_CWORD]}" [INFO] [stdout] fi [INFO] [stdout] prev="$3" [INFO] [stdout] cmd="" [INFO] [stdout] opts="" [INFO] [stdout] [INFO] [stdout] for i in "${COMP_WORDS[@]:0:COMP_CWORD}" [INFO] [stdout] do [INFO] [stdout] case "${cmd},${i}" in [INFO] [stdout] ",$1") [INFO] [stdout] cmd="test__cli" [INFO] [stdout] ;; [INFO] [stdout] *) [INFO] [stdout] ;; [INFO] [stdout] esac [INFO] [stdout] done [INFO] [stdout] [INFO] [stdout] case "${cmd}" in [INFO] [stdout] test__cli) [INFO] [stdout] opts="-h --help" [INFO] [stdout] if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then [INFO] [stdout] COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) [INFO] [stdout] return 0 [INFO] [stdout] fi [INFO] [stdout] case "${prev}" in [INFO] [stdout] *) [INFO] [stdout] COMPREPLY=() [INFO] [stdout] ;; [INFO] [stdout] esac [INFO] [stdout] COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) [INFO] [stdout] return 0 [INFO] [stdout] ;; [INFO] [stdout] esac [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] if [[ "${BASH_VERSINFO[0]}" -eq 4 && "${BASH_VERSINFO[1]}" -ge 4 || "${BASH_VERSINFO[0]}" -gt 4 ]]; then [INFO] [stdout] complete -F _test-cli -o nosort -o bashdefault -o default test-cli [INFO] [stdout] else [INFO] [stdout] complete -F _test-cli -o bashdefault -o default test-cli [INFO] [stdout] fi [INFO] [stdout] test commands::common::tests::test_build_server_config_invalid_header ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_http_multiple_headers ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_sse ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_stdio ... ok [INFO] [stdout] complete -c test-cli -s h -l help -d 'Print help' [INFO] [stdout] [INFO] [stdout] using namespace System.Management.Automation [INFO] [stdout] using namespace System.Management.Automation.Language [INFO] [stdout] [INFO] [stdout] Register-ArgumentCompleter -Native -CommandName 'test-cli' -ScriptBlock { [INFO] [stdout] param($wordToComplete, $commandAst, $cursorPosition) [INFO] [stdout] [INFO] [stdout] $commandElements = $commandAst.CommandElements [INFO] [stdout] $command = @( [INFO] [stdout] 'test-cli' [INFO] [stdout] for ($i = 1; $i -lt $commandElements.Count; $i++) { [INFO] [stdout] $element = $commandElements[$i] [INFO] [stdout] if ($element -isnot [StringConstantExpressionAst] -or [INFO] [stdout] $element.StringConstantType -ne [StringConstantType]::BareWord -or [INFO] [stdout] $element.Value.StartsWith('-') -or [INFO] [stdout] $element.Value -eq $wordToComplete) { [INFO] [stdout] break [INFO] [stdout] } [INFO] [stdout] $element.Value [INFO] [stdout] }) -join ';' [INFO] [stdout] [INFO] [stdout] $completions = @(switch ($command) { [INFO] [stdout] 'test-cli' { [INFO] [stdout] [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help') [INFO] [stdout] [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help') [INFO] [stdout] break [INFO] [stdout] } [INFO] [stdout] }) [INFO] [stdout] [INFO] [stdout] $completions.Where{ $_.CompletionText -like "$wordToComplete*" } | [INFO] [stdout] Sort-Object -Property ListItemText [INFO] [stdout] } [INFO] [stdout] _test-cli() { [INFO] [stdout] local i cur prev opts cmd [INFO] [stdout] COMPREPLY=() [INFO] [stdout] if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then [INFO] [stdout] cur="$2" [INFO] [stdout] else [INFO] [stdout] cur="${COMP_WORDS[COMP_CWORD]}" [INFO] [stdout] fi [INFO] [stdout] prev="$3" [INFO] [stdout] cmd="" [INFO] [stdout] opts="" [INFO] [stdout] [INFO] [stdout] for i in "${COMP_WORDS[@]:0:COMP_CWORD}" [INFO] [stdout] do [INFO] [stdout] case "${cmd},${i}" in [INFO] [stdout] ",$1") [INFO] [stdout] cmd="test__cli" [INFO] [stdout] ;; [INFO] [stdout] *) [INFO] [stdout] ;; [INFO] [stdout] esac [INFO] [stdout] done [INFO] [stdout] [INFO] [stdout] case "${cmd}" in [INFO] [stdout] test__cli) [INFO] [stdout] opts="-h --help" [INFO] [stdout] if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then [INFO] [stdout] COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) [INFO] [stdout] return 0 [INFO] [stdout] fi [INFO] [stdout] case "${prev}" in [INFO] [stdout] *) [INFO] [stdout] COMPREPLY=() [INFO] [stdout] ;; [INFO] [stdout] esac [INFO] [stdout] COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) [INFO] [stdout] return 0 [INFO] [stdout] ;; [INFO] [stdout] esac [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] if [[ "${BASH_VERSINFO[0]}" -eq 4 && "${BASH_VERSINFO[1]}" -ge 4 || "${BASH_VERSINFO[0]}" -gt 4 ]]; then [INFO] [stdout] complete -F _test-cli -o nosort -o bashdefault -o default test-cli [INFO] [stdout] else [INFO] [stdout] complete -F _test-cli -o bashdefault -o default test-cli [INFO] [stdout] fi [INFO] [stdout] test commands::common::tests::test_build_server_config_with_cwd ... ok [INFO] [stdout] test commands::completions::tests::test_generate_completions_fish ... ok [INFO] [stdout] test commands::completions::tests::test_generate_completions_bash ... ok [INFO] [stdout] test commands::generate::tests::test_generation_result_serialization ... ok [INFO] [stdout] test commands::introspect::tests::test_build_result_basic ... ok [INFO] [stdout] test commands::completions::tests::test_run_fish ... ok [INFO] [stdout] #compdef test-cli [INFO] [stdout] [INFO] [stdout] autoload -U is-at-least [INFO] [stdout] [INFO] [stdout] _test-cli() { [INFO] [stdout] typeset -A opt_args [INFO] [stdout] typeset -a _arguments_options [INFO] [stdout] local ret=1 [INFO] [stdout] [INFO] [stdout] if is-at-least 5.2; then [INFO] [stdout] _arguments_options=(-s -S -C) [INFO] [stdout] else [INFO] [stdout] _arguments_options=(-s -C) [INFO] [stdout] fi [INFO] [stdout] [INFO] [stdout] local context curcontext="$curcontext" state line [INFO] [stdout] _arguments "${_arguments_options[@]}" : \ [INFO] [stdout] '-h[Print help]' \ [INFO] [stdout] '--help[Print help]' \ [INFO] [stdout] && ret=0 [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] (( $+functions[_test-cli_commands] )) || [INFO] [stdout] _test-cli_commands() { [INFO] [stdout] local commands; commands=() [INFO] [stdout] _describe -t commands 'test-cli commands' commands "$@" [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] if [ "$funcstack[1]" = "_test-cli" ]; then [INFO] [stdout] _test-cli "$@" [INFO] [stdout] else [INFO] [stdout] compdef _test-cli test-cli [INFO] [stdout] fi [INFO] [stdout] test commands::completions::tests::test_generate_completions_powershell ... ok [INFO] [stdout] test commands::completions::tests::test_run_bash ... ok [INFO] [stdout] test commands::introspect::tests::test_build_result_empty_tools ... ok [INFO] [stdout] test commands::introspect::tests::test_build_result_mixed_capabilities ... ok [INFO] [stdout] test commands::completions::tests::test_run_zsh ... ok [INFO] [stdout] test commands::introspect::tests::test_build_result_preserves_tool_order ... ok [INFO] [stdout] #compdef test-cli [INFO] [stdout] [INFO] [stdout] autoload -U is-at-least [INFO] [stdout] [INFO] [stdout] _test-cli() { [INFO] [stdout] typeset -A opt_args [INFO] [stdout] typeset -a _arguments_options [INFO] [stdout] local ret=1 [INFO] [stdout] [INFO] [stdout] if is-at-least 5.2; then [INFO] [stdout] _arguments_options=(-s -S -C) [INFO] [stdout] else [INFO] [stdout] _arguments_options=(-s -C) [INFO] [stdout] fi [INFO] [stdout] [INFO] [stdout] local context curcontext="$curcontext" state line [INFO] [stdout] _arguments "${_arguments_options[@]}" : \ [INFO] [stdout] '-h[Print help]' \ [INFO] [stdout] '--help[Print help]' \ [INFO] [stdout] && ret=0 [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] (( $+functions[_test-cli_commands] )) || [INFO] [stdout] _test-cli_commands() { [INFO] [stdout] local commands; commands=() [INFO] [stdout] _describe -t commands 'test-cli commands' commands "$@" [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] if [ "$funcstack[1]" = "_test-cli" ]; then [INFO] [stdout] _test-cli "$@" [INFO] [stdout] else [INFO] [stdout] compdef _test-cli test-cli [INFO] [stdout] fi [INFO] [stdout] test commands::introspect::tests::test_build_result_with_tools_not_detailed ... ok [INFO] [stdout] test commands::introspect::tests::test_introspection_result_serialization_with_schemas ... ok [INFO] [stdout] test commands::completions::tests::test_generate_completions_zsh ... ok [INFO] [stdout] test commands::introspect::tests::test_build_tool_metadata_detailed ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_sse_with_headers ... ok [INFO] [stdout] test commands::introspect::tests::test_build_tool_metadata_not_detailed ... ok [INFO] [stdout] test commands::introspect::tests::test_build_tool_metadata_complex_schema ... ok [INFO] [stdout] test commands::introspect::tests::test_build_result_many_tools ... ok [INFO] [stdout] test commands::introspect::tests::test_build_result_with_tools_detailed ... ok [INFO] [stdout] test commands::introspect::tests::test_introspection_result_clone ... ok [INFO] [stdout] test commands::common::tests::test_load_mcp_config_no_file ... ok [INFO] [stdout] test commands::common::tests::test_load_server_from_config_not_found ... ok [INFO] [stdout] test commands::introspect::tests::test_introspection_result_serialization ... ok [INFO] [stdout] test commands::introspect::tests::test_run_http_transport ... ok [INFO] [stdout] test commands::introspect::tests::test_run_from_config_takes_priority ... ok [INFO] [stdout] test commands::introspect::tests::test_run_from_config_not_found ... ok [INFO] [stdout] test commands::introspect::tests::test_run_sse_transport ... ok [INFO] [stdout] test commands::introspect::tests::test_server_metadata_no_capabilities ... ok [INFO] [stdout] test commands::introspect::tests::test_server_metadata_serialization_all_fields ... ok [INFO] [stdout] test commands::introspect::tests::test_tool_metadata_empty_description ... ok [INFO] [stdout] test commands::introspect::tests::test_tool_metadata_serialization_without_schemas ... ok [INFO] [stdout] test commands::introspect::tests::test_tool_metadata_long_description ... ok [INFO] [stdout] test commands::server::tests::test_build_command_string_no_args ... ok [INFO] [stdout] test commands::introspect::tests::test_server_metadata_all_capabilities ... ok [INFO] [stdout] test commands::server::tests::test_list_servers_integration ... ignored, requires CLAUDE_CONFIG_PATH environment variable [INFO] [stdout] [INFO] [stdout] using namespace System.Management.Automation [INFO] [stdout] using namespace System.Management.Automation.Language [INFO] [stdout] [INFO] [stdout] Register-ArgumentCompleter -Native -CommandName 'test-cli' -ScriptBlock { [INFO] [stdout] param($wordToComplete, $commandAst, $cursorPosition) [INFO] [stdout] [INFO] [stdout] $commandElements = $commandAst.CommandElements [INFO] [stdout] $command = @( [INFO] [stdout] 'test-cli' [INFO] [stdout] for ($i = 1; $i -lt $commandElements.Count; $i++) { [INFO] [stdout] $element = $commandElements[$i] [INFO] [stdout] if ($element -isnot [StringConstantExpressionAst] -or [INFO] [stdout] $element.StringConstantType -ne [StringConstantType]::BareWord -or [INFO] [stdout] $element.Value.StartsWith('-') -or [INFO] [stdout] $element.Value -eq $wordToComplete) { [INFO] [stdout] break [INFO] [stdout] } [INFO] [stdout] $element.Value [INFO] [stdout] }) -join ';' [INFO] [stdout] [INFO] [stdout] $completions = @(switch ($command) { [INFO] [stdout] 'test-cli' { [INFO] [stdout] [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help') [INFO] [stdout] [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help') [INFO] [stdout] break [INFO] [stdout] } [INFO] [stdout] }) [INFO] [stdout] [INFO] [stdout] $completions.Where{ $_.CompletionText -like "$wordToComplete*" } | [INFO] [stdout] Sort-Object -Property ListItemText [INFO] [stdout] } [INFO] [stdout] test commands::server::tests::test_build_command_string_with_args ... ok [INFO] [stdout] test commands::server::tests::test_server_config_deserialization ... ok [INFO] [stdout] test commands::server::tests::test_server_config_deserialization_minimal ... ok [INFO] [stdout] test commands::server::tests::test_server_entry_serialization ... ok [INFO] [stdout] test commands::server::tests::test_check_command_exists ... ok [INFO] [stdout] test commands::server::tests::test_server_info_integration ... ignored, requires CLAUDE_CONFIG_PATH and configured server [INFO] [stdout] test commands::completions::tests::test_run_powershell ... ok [INFO] [stdout] test commands::introspect::tests::test_run_with_pretty_format ... ok [INFO] [stdout] test commands::introspect::tests::test_run_manual_mode_backward_compatible ... ok [INFO] [stdout] test commands::introspect::tests::test_run_with_detailed_mode ... ok [INFO] [stdout] test commands::server::tests::test_server_info_serialization ... ok [INFO] [stdout] test commands::introspect::tests::test_run_all_output_formats ... ok [INFO] [stdout] test commands::introspect::tests::test_run_with_text_format ... ok [INFO] [stdout] test commands::setup::tests::test_check_mcp_config_no_panic ... ok [INFO] [stdout] test commands::setup::tests::test_get_mcp_config_path ... ok [INFO] [stdout] test commands::server::tests::test_server_status_as_str ... ok [INFO] [stdout] test commands::server::tests::test_validation_result_serialization ... ok [INFO] [stdout] test commands::server::tests::test_tool_summary_serialization ... ok [INFO] [stdout] test commands::server::tests::test_server_manager_get_server_config ... ok [INFO] [stdout] test commands::server::tests::test_server_manager_list_servers ... ok [INFO] [stdout] test commands::server::tests::test_server_manager_get_server_config_not_found ... ok [INFO] [stdout] test commands::server::tests::test_server_manager_read_config ... ok [INFO] [stdout] test commands::server::tests::test_server_list_serialization ... ok [INFO] [stdout] test commands::introspect::tests::test_run_server_connection_failure ... ok [INFO] [stdout] test commands::server::tests::test_claude_desktop_config_deserialization ... ok [INFO] [stdout] test commands::skill::tests::test_resolve_servers_dir_custom ... ok [INFO] [stdout] test commands::skill::tests::test_resolve_servers_dir_default ... ok [INFO] [stdout] test commands::skill::tests::test_resolve_servers_dir_tilde ... ok [INFO] [stdout] test commands::skill::tests::test_resolve_skills_dir ... ok [INFO] [stdout] test commands::setup::tests::test_get_servers_dir ... ok [INFO] [stdout] test commands::skill::tests::test_run_invalid_server_id ... ok [INFO] [stdout] test commands::introspect::tests::test_run_detailed_with_all_formats ... ok [INFO] [stdout] test commands::skill::tests::test_has_path_traversal ... ok [INFO] [stdout] test commands::skill::tests::test_validate_output_path_valid ... ok [INFO] [stdout] test commands::skill::tests::test_validate_output_path_traversal ... ok [INFO] [stdout] test commands::skill::tests::test_validate_path_security_nonexistent ... ok [INFO] [stdout] test commands::skill::tests::test_validate_path_security_traversal ... ok [INFO] [stdout] test formatters::tests::test_format_output_json ... ok [INFO] [stdout] test commands::skill::tests::test_run_no_typescript_files ... ok [INFO] [stdout] test commands::skill::tests::test_validate_path_security_valid ... ok [INFO] [stdout] test formatters::tests::test_format_output_pretty ... ok [INFO] [stdout] test formatters::tests::test_format_output_text ... ok [INFO] [stdout] test commands::skill::tests::test_run_path_traversal_server_id ... ok [INFO] [stdout] test formatters::tests::test_json_format ... ok [INFO] [stdout] test commands::skill::tests::test_run_server_not_found ... ok [INFO] [stdout] test formatters::tests::test_json_format_compact ... ok [INFO] [stdout] test formatters::tests::test_pretty_format ... ok [INFO] [stdout] test formatters::tests::test_text_format ... ok [INFO] [stdout] test commands::generate::tests::test_progressive_generator_creation ... ok [INFO] [stdout] test commands::skill::tests::test_run_with_valid_typescript_files ... ok [INFO] [stdout] test commands::skill::tests::test_run_output_exists_no_overwrite ... ok [INFO] [stdout] test commands::skill::tests::test_run_with_custom_skill_name ... ok [INFO] [stdout] test commands::skill::tests::test_run_output_path_traversal ... ok [INFO] [stdout] test commands::skill::tests::test_run_with_hints ... ok [INFO] [stdout] test commands::skill::tests::test_run_all_output_formats ... ok [INFO] [stdout] test commands::generate::tests::test_progressive_code_generation ... ok [INFO] [stdout] test commands::skill::tests::test_run_output_exists_with_overwrite ... ok [INFO] [stdout] test commands::setup::tests::test_check_node_version ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 109 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.42s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/mcp_execution_cli-c51ac70d211a3323) [INFO] [stdout] [INFO] [stdout] running 128 tests [INFO] [stdout] test cli::tests::test_cli_parsing_completions_bash ... ok [INFO] [stdout] test cli::tests::test_cli_output_format_default ... ok [INFO] [stdout] test cli::tests::test_cli_parsing_completions_zsh ... ok [INFO] [stdout] test cli::tests::test_cli_output_format_custom ... ok [INFO] [stdout] test cli::tests::test_cli_parsing_generate ... ok [INFO] [stdout] test cli::tests::test_output_format_parsing_valid ... ok [INFO] [stdout] test cli::tests::test_cli_parsing_introspect ... ok [INFO] [stdout] test cli::tests::test_cli_parsing_introspect_http ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_docker ... ok [INFO] [stdout] test cli::tests::test_cli_parsing_skill_all_options ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_empty_value_in_env ... ok [INFO] [stdout] test cli::tests::test_cli_parsing_skill_multiple_hints ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_empty_key_in_header ... ok [INFO] [stdout] test cli::tests::test_cli_verbose_flag ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_empty_key_in_env ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_invalid_env ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_complex_docker_scenario ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_empty_value_in_header ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_header_with_special_chars ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_invalid_header ... ok [INFO] [stdout] test cli::tests::test_output_format_parsing_invalid ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_stdio ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_with_cwd ... ok [INFO] [stdout] test cli::tests::test_cli_parsing_skill_overwrite ... ok [INFO] [stdout] complete -c test-cli -s h -l help -d 'Print help' [INFO] [stdout] _test-cli() { [INFO] [stdout] local i cur prev opts cmd [INFO] [stdout] COMPREPLY=() [INFO] [stdout] if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then [INFO] [stdout] cur="$2" [INFO] [stdout] else [INFO] [stdout] cur="${COMP_WORDS[COMP_CWORD]}" [INFO] [stdout] fi [INFO] [stdout] prev="$3" [INFO] [stdout] cmd="" [INFO] [stdout] opts="" [INFO] [stdout] [INFO] [stdout] for i in "${COMP_WORDS[@]:0:COMP_CWORD}" [INFO] [stdout] do [INFO] [stdout] case "${cmd},${i}" in [INFO] [stdout] ",$1") [INFO] [stdout] cmd="test__cli" [INFO] [stdout] ;; [INFO] [stdout] *) [INFO] [stdout] ;; [INFO] [stdout] esac [INFO] [stdout] done [INFO] [stdout] [INFO] [stdout] case "${cmd}" in [INFO] [stdout] test__cli) [INFO] [stdout] opts="-h --help" [INFO] [stdout] if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then [INFO] [stdout] COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) [INFO] [stdout] return 0 [INFO] [stdout] fi [INFO] [stdout] case "${prev}" in [INFO] [stdout] *) [INFO] [stdout] COMPREPLY=() [INFO] [stdout] ;; [INFO] [stdout] esac [INFO] [stdout] COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) [INFO] [stdout] return 0 [INFO] [stdout] ;; [INFO] [stdout] esac [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] if [[ "${BASH_VERSINFO[0]}" -eq 4 && "${BASH_VERSINFO[1]}" -ge 4 || "${BASH_VERSINFO[0]}" -gt 4 ]]; then [INFO] [stdout] complete -F _test-cli -o nosort -o bashdefault -o default test-cli [INFO] [stdout] else [INFO] [stdout] complete -F _test-cli -o bashdefault -o default test-cli [INFO] [stdout] fi [INFO] [stdout] [INFO] [stdout] using namespace System.Management.Automation [INFO] [stdout] using namespace System.Management.Automation.Language [INFO] [stdout] [INFO] [stdout] Register-ArgumentCompleter -Native -CommandName 'test-cli' -ScriptBlock { [INFO] [stdout] param($wordToComplete, $commandAst, $cursorPosition) [INFO] [stdout] [INFO] [stdout] $commandElements = $commandAst.CommandElements [INFO] [stdout] $command = @( [INFO] [stdout] 'test-cli' [INFO] [stdout] for ($i = 1; $i -lt $commandElements.Count; $i++) { [INFO] [stdout] $element = $commandElements[$i] [INFO] [stdout] if ($element -isnot [StringConstantExpressionAst] -or [INFO] [stdout] $element.StringConstantType -ne [StringConstantType]::BareWord -or [INFO] [stdout] $element.Value.StartsWith('-') -or [INFO] [stdout] $element.Value -eq $wordToComplete) { [INFO] [stdout] break [INFO] [stdout] } [INFO] [stdout] $element.Value [INFO] [stdout] }) -join ';' [INFO] [stdout] [INFO] [stdout] $completions = @(switch ($command) { [INFO] [stdout] 'test-cli' { [INFO] [stdout] [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help') [INFO] [stdout] [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help') [INFO] [stdout] break [INFO] [stdout] } [INFO] [stdout] }) [INFO] [stdout] [INFO] [stdout] $completions.Where{ $_.CompletionText -like "$wordToComplete*" } | [INFO] [stdout] Sort-Object -Property ListItemText [INFO] [stdout] } [INFO] [stdout] test commands::common::tests::test_build_server_config_multiple_env_vars ... ok [INFO] [stdout] test commands::common::tests::test_load_server_from_config_not_found ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_sse ... ok [INFO] [stdout] test commands::completions::tests::test_generate_completions_fish ... ok [INFO] [stdout] test commands::completions::tests::test_generate_completions_bash ... ok [INFO] [stdout] test commands::completions::tests::test_generate_completions_powershell ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_sse_with_headers ... ok [INFO] [stdout] test cli::tests::test_cli_parsing_skill_basic ... ok [INFO] [stdout] [INFO] [stdout] using namespace System.Management.Automation [INFO] [stdout] using namespace System.Management.Automation.Language [INFO] [stdout] [INFO] [stdout] Register-ArgumentCompleter -Native -CommandName 'test-cli' -ScriptBlock { [INFO] [stdout] param($wordToComplete, $commandAst, $cursorPosition) [INFO] [stdout] [INFO] [stdout] $commandElements = $commandAst.CommandElements [INFO] [stdout] $command = @( [INFO] [stdout] 'test-cli' [INFO] [stdout] for ($i = 1; $i -lt $commandElements.Count; $i++) { [INFO] [stdout] $element = $commandElements[$i] [INFO] [stdout] if ($element -isnot [StringConstantExpressionAst] -or [INFO] [stdout] $element.StringConstantType -ne [StringConstantType]::BareWord -or [INFO] [stdout] $element.Value.StartsWith('-') -or [INFO] [stdout] $element.Value -eq $wordToComplete) { [INFO] [stdout] break [INFO] [stdout] } [INFO] [stdout] $element.Value [INFO] [stdout] }) -join ';' [INFO] [stdout] [INFO] [stdout] $completions = @(switch ($command) { [INFO] [stdout] 'test-cli' { [INFO] [stdout] [CompletionResult]::new('-h', '-h', [CompletionResultType]::ParameterName, 'Print help') [INFO] [stdout] [CompletionResult]::new('--help', '--help', [CompletionResultType]::ParameterName, 'Print help') [INFO] [stdout] break [INFO] [stdout] } [INFO] [stdout] }) [INFO] [stdout] [INFO] [stdout] $completions.Where{ $_.CompletionText -like "$wordToComplete*" } | [INFO] [stdout] Sort-Object -Property ListItemText [INFO] [stdout] } [INFO] [stdout] complete -c test-cli -s h -l help -d 'Print help' [INFO] [stdout] _test-cli() { [INFO] [stdout] local i cur prev opts cmd [INFO] [stdout] COMPREPLY=() [INFO] [stdout] if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then [INFO] [stdout] cur="$2" [INFO] [stdout] else [INFO] [stdout] cur="${COMP_WORDS[COMP_CWORD]}" [INFO] [stdout] fi [INFO] [stdout] prev="$3" [INFO] [stdout] cmd="" [INFO] [stdout] opts="" [INFO] [stdout] [INFO] [stdout] for i in "${COMP_WORDS[@]:0:COMP_CWORD}" [INFO] [stdout] do [INFO] [stdout] case "${cmd},${i}" in [INFO] [stdout] ",$1") [INFO] [stdout] cmd="test__cli" [INFO] [stdout] ;; [INFO] [stdout] *) [INFO] [stdout] ;; [INFO] [stdout] esac [INFO] [stdout] done [INFO] [stdout] [INFO] [stdout] case "${cmd}" in [INFO] [stdout] test__cli) [INFO] [stdout] opts="-h --help" [INFO] [stdout] if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then [INFO] [stdout] COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) [INFO] [stdout] return 0 [INFO] [stdout] fi [INFO] [stdout] case "${prev}" in [INFO] [stdout] *) [INFO] [stdout] COMPREPLY=() [INFO] [stdout] ;; [INFO] [stdout] esac [INFO] [stdout] COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) [INFO] [stdout] return 0 [INFO] [stdout] ;; [INFO] [stdout] esac [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] if [[ "${BASH_VERSINFO[0]}" -eq 4 && "${BASH_VERSINFO[1]}" -ge 4 || "${BASH_VERSINFO[0]}" -gt 4 ]]; then [INFO] [stdout] complete -F _test-cli -o nosort -o bashdefault -o default test-cli [INFO] [stdout] else [INFO] [stdout] complete -F _test-cli -o bashdefault -o default test-cli [INFO] [stdout] fi [INFO] [stdout] #compdef test-cli [INFO] [stdout] [INFO] [stdout] autoload -U is-at-least [INFO] [stdout] [INFO] [stdout] _test-cli() { [INFO] [stdout] typeset -A opt_args [INFO] [stdout] typeset -a _arguments_options [INFO] [stdout] local ret=1 [INFO] [stdout] [INFO] [stdout] if is-at-least 5.2; then [INFO] [stdout] _arguments_options=(-s -S -C) [INFO] [stdout] else [INFO] [stdout] _arguments_options=(-s -C) [INFO] [stdout] fi [INFO] [stdout] [INFO] [stdout] local context curcontext="$curcontext" state line [INFO] [stdout] _arguments "${_arguments_options[@]}" : \ [INFO] [stdout] '-h[Print help]' \ [INFO] [stdout] '--help[Print help]' \ [INFO] [stdout] && ret=0 [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] (( $+functions[_test-cli_commands] )) || [INFO] [stdout] _test-cli_commands() { [INFO] [stdout] local commands; commands=() [INFO] [stdout] _describe -t commands 'test-cli commands' commands "$@" [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] if [ "$funcstack[1]" = "_test-cli" ]; then [INFO] [stdout] _test-cli "$@" [INFO] [stdout] else [INFO] [stdout] compdef _test-cli test-cli [INFO] [stdout] fi [INFO] [stdout] #compdef test-cli [INFO] [stdout] [INFO] [stdout] autoload -U is-at-least [INFO] [stdout] [INFO] [stdout] _test-cli() { [INFO] [stdout] typeset -A opt_args [INFO] [stdout] typeset -a _arguments_options [INFO] [stdout] local ret=1 [INFO] [stdout] [INFO] [stdout] if is-at-least 5.2; then [INFO] [stdout] _arguments_options=(-s -S -C) [INFO] [stdout] else [INFO] [stdout] _arguments_options=(-s -C) [INFO] [stdout] fi [INFO] [stdout] [INFO] [stdout] local context curcontext="$curcontext" state line [INFO] [stdout] _arguments "${_arguments_options[@]}" : \ [INFO] [stdout] '-h[Print help]' \ [INFO] [stdout] '--help[Print help]' \ [INFO] [stdout] && ret=0 [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] (( $+functions[_test-cli_commands] )) || [INFO] [stdout] _test-cli_commands() { [INFO] [stdout] local commands; commands=() [INFO] [stdout] _describe -t commands 'test-cli commands' commands "$@" [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] if [ "$funcstack[1]" = "_test-cli" ]; then [INFO] [stdout] _test-cli "$@" [INFO] [stdout] else [INFO] [stdout] compdef _test-cli test-cli [INFO] [stdout] fi [INFO] [stdout] test commands::common::tests::test_load_mcp_config_no_file ... ok [INFO] [stdout] test commands::generate::tests::test_generation_result_serialization ... ok [INFO] [stdout] test commands::completions::tests::test_run_powershell ... ok [INFO] [stdout] test cli::tests::test_cli_parsing_introspect_with_args ... ok [INFO] [stdout] test cli::tests::test_cli_parsing_skill_short_flags ... ok [INFO] [stdout] test commands::completions::tests::test_run_fish ... ok [INFO] [stdout] test commands::completions::tests::test_run_bash ... ok [INFO] [stdout] test commands::completions::tests::test_run_zsh ... ok [INFO] [stdout] test commands::completions::tests::test_generate_completions_zsh ... ok [INFO] [stdout] test commands::introspect::tests::test_build_result_many_tools ... ok [INFO] [stdout] test commands::introspect::tests::test_build_result_mixed_capabilities ... ok [INFO] [stdout] test commands::introspect::tests::test_introspection_result_clone ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_empty_args_stdio ... ok [INFO] [stdout] test commands::introspect::tests::test_build_tool_metadata_detailed ... ok [INFO] [stdout] test commands::introspect::tests::test_build_result_empty_tools ... ok [INFO] [stdout] test commands::introspect::tests::test_build_result_preserves_tool_order ... ok [INFO] [stdout] test commands::introspect::tests::test_build_result_with_tools_detailed ... ok [INFO] [stdout] test commands::introspect::tests::test_run_from_config_not_found ... ok [INFO] [stdout] test commands::introspect::tests::test_build_tool_metadata_complex_schema ... ok [INFO] [stdout] test commands::introspect::tests::test_run_http_transport ... ok [INFO] [stdout] test commands::introspect::tests::test_build_tool_metadata_not_detailed ... ok [INFO] [stdout] test commands::introspect::tests::test_introspection_result_serialization_with_schemas ... ok [INFO] [stdout] test commands::introspect::tests::test_run_sse_transport ... ok [INFO] [stdout] test commands::introspect::tests::test_run_from_config_takes_priority ... ok [INFO] [stdout] test commands::introspect::tests::test_run_manual_mode_backward_compatible ... ok [INFO] [stdout] test commands::introspect::tests::test_run_server_connection_failure ... ok [INFO] [stdout] test commands::introspect::tests::test_run_detailed_with_all_formats ... ok [INFO] [stdout] test commands::introspect::tests::test_run_with_pretty_format ... ok [INFO] [stdout] test commands::introspect::tests::test_run_with_detailed_mode ... ok [INFO] [stdout] test commands::introspect::tests::test_server_metadata_all_capabilities ... ok [INFO] [stdout] test commands::introspect::tests::test_server_metadata_no_capabilities ... ok [INFO] [stdout] test commands::introspect::tests::test_tool_metadata_empty_description ... ok [INFO] [stdout] test commands::introspect::tests::test_server_metadata_serialization_all_fields ... ok [INFO] [stdout] test commands::introspect::tests::test_tool_metadata_serialization_without_schemas ... ok [INFO] [stdout] test commands::server::tests::test_build_command_string_with_args ... ok [INFO] [stdout] test commands::server::tests::test_build_command_string_no_args ... ok [INFO] [stdout] test commands::server::tests::test_check_command_exists ... ok [INFO] [stdout] test commands::server::tests::test_list_servers_integration ... ignored, requires CLAUDE_CONFIG_PATH environment variable [INFO] [stdout] test commands::introspect::tests::test_introspection_result_serialization ... ok [INFO] [stdout] test commands::server::tests::test_claude_desktop_config_deserialization ... ok [INFO] [stdout] test commands::introspect::tests::test_tool_metadata_long_description ... ok [INFO] [stdout] test commands::server::tests::test_server_config_deserialization ... ok [INFO] [stdout] test commands::server::tests::test_server_config_deserialization_minimal ... ok [INFO] [stdout] test commands::introspect::tests::test_run_all_output_formats ... ok [INFO] [stdout] test commands::server::tests::test_server_info_integration ... ignored, requires CLAUDE_CONFIG_PATH and configured server [INFO] [stdout] test commands::server::tests::test_server_entry_serialization ... ok [INFO] [stdout] test commands::server::tests::test_server_manager_get_server_config_not_found ... ok [INFO] [stdout] test commands::server::tests::test_server_manager_get_server_config ... ok [INFO] [stdout] test commands::server::tests::test_server_info_serialization ... ok [INFO] [stdout] test commands::server::tests::test_server_list_serialization ... ok [INFO] [stdout] test commands::introspect::tests::test_run_with_text_format ... ok [INFO] [stdout] test commands::server::tests::test_server_status_as_str ... ok [INFO] [stdout] test commands::server::tests::test_tool_summary_serialization ... ok [INFO] [stdout] test commands::server::tests::test_validation_result_serialization ... ok [INFO] [stdout] test commands::setup::tests::test_check_mcp_config_no_panic ... ok [INFO] [stdout] test commands::server::tests::test_server_manager_list_servers ... ok [INFO] [stdout] test commands::server::tests::test_server_manager_read_config ... ok [INFO] [stdout] test commands::setup::tests::test_get_servers_dir ... ok [INFO] [stdout] test commands::skill::tests::test_resolve_servers_dir_custom ... ok [INFO] [stdout] test commands::skill::tests::test_has_path_traversal ... ok [INFO] [stdout] test commands::setup::tests::test_get_mcp_config_path ... ok [INFO] [stdout] test commands::skill::tests::test_resolve_skills_dir ... ok [INFO] [stdout] test commands::skill::tests::test_resolve_servers_dir_tilde ... ok [INFO] [stdout] test commands::skill::tests::test_resolve_servers_dir_default ... ok [INFO] [stdout] test commands::generate::tests::test_progressive_code_generation ... ok [INFO] [stdout] test commands::skill::tests::test_run_server_not_found ... ok [INFO] [stdout] test cli::tests::test_cli_parsing_server_list ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_env_with_special_chars ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_http ... ok [INFO] [stdout] test commands::skill::tests::test_validate_output_path_traversal ... ok [INFO] [stdout] test commands::common::tests::test_build_server_config_http_multiple_headers ... ok [INFO] [stdout] test commands::skill::tests::test_validate_output_path_valid ... ok [INFO] [stdout] test commands::introspect::tests::test_build_result_basic ... ok [INFO] [stdout] test commands::introspect::tests::test_build_result_with_tools_not_detailed ... ok [INFO] [stdout] test commands::skill::tests::test_validate_path_security_traversal ... ok [INFO] [stdout] test commands::skill::tests::test_run_path_traversal_server_id ... ok [INFO] [stdout] test commands::skill::tests::test_validate_path_security_nonexistent ... ok [INFO] [stdout] test commands::skill::tests::test_run_invalid_server_id ... ok [INFO] [stdout] test formatters::tests::test_format_output_text ... ok [INFO] [stdout] test formatters::tests::test_json_format_compact ... ok [INFO] [stdout] test formatters::tests::test_text_format ... ok [INFO] [stdout] test commands::skill::tests::test_validate_path_security_valid ... ok [INFO] [stdout] test formatters::tests::test_format_output_pretty ... ok [INFO] [stdout] test formatters::tests::test_json_format ... ok [INFO] [stdout] test formatters::tests::test_pretty_format ... ok [INFO] [stdout] test commands::skill::tests::test_run_output_path_traversal ... ok [INFO] [stdout] test commands::skill::tests::test_run_with_custom_skill_name ... ok [INFO] [stdout] test commands::skill::tests::test_run_with_valid_typescript_files ... ok [INFO] [stdout] test commands::skill::tests::test_run_all_output_formats ... ok [INFO] [stdout] test commands::skill::tests::test_run_with_hints ... ok [INFO] [stdout] test commands::skill::tests::test_run_output_exists_with_overwrite ... ok [INFO] [stdout] test commands::skill::tests::test_run_output_exists_no_overwrite ... ok [INFO] [stdout] test commands::setup::tests::test_check_node_version ... ok [INFO] [stdout] test formatters::tests::test_format_output_json ... ok [INFO] [stdout] test commands::generate::tests::test_progressive_generator_creation ... ok [INFO] [stdout] test commands::skill::tests::test_run_no_typescript_files ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 126 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.14s [INFO] [stdout] [INFO] [stderr] Doc-tests mcp_execution_cli [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test src/commands/common.rs - commands::common::load_server_from_config (line 67) - compile ... ok [INFO] [stdout] test src/commands/completions.rs - commands::completions::run (line 50) - compile ... ok [INFO] [stdout] test src/commands/completions.rs - commands::completions::generate_completions (line 24) - compile ... ok [INFO] [stdout] test src/commands/common.rs - commands::common::build_server_config (line 122) ... ok [INFO] [stdout] test src/commands/introspect.rs - commands::introspect::run (line 118) - compile ... ok [INFO] [stdout] test src/commands/introspect.rs - commands::introspect::IntrospectionResult (line 19) ... ok [INFO] [stdout] test src/commands/server.rs - commands::server::run (line 296) - compile ... ok [INFO] [stdout] test src/commands/skill.rs - commands::skill::run (line 59) - compile ... ok [INFO] [stdout] test src/formatters.rs - formatters::format_output (line 23) ... ok [INFO] [stdout] test src/commands/introspect.rs - commands::introspect::build_result (line 223) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stdout] all doctests ran in 1.88s; merged doctests compilation took 1.79s [INFO] running `Command { std: "docker" "inspect" "af6d8e1735c15897ad0b08362433100806199bb0aa15ff50a1cba8269ca89db9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "af6d8e1735c15897ad0b08362433100806199bb0aa15ff50a1cba8269ca89db9", kill_on_drop: false }` [INFO] [stdout] af6d8e1735c15897ad0b08362433100806199bb0aa15ff50a1cba8269ca89db9