[INFO] fetching crate scp-mcp 0.1.0-beta.1... [INFO] testing scp-mcp-0.1.0-beta.1 against beta-2026-04-21 for beta-1.96-2 [INFO] extracting crate scp-mcp 0.1.0-beta.1 into /workspace/builds/worker-7-tc2/source [INFO] started tweaking crates.io crate scp-mcp 0.1.0-beta.1 [INFO] finished tweaking crates.io crate scp-mcp 0.1.0-beta.1 [INFO] tweaked toml for crates.io crate scp-mcp 0.1.0-beta.1 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate scp-mcp 0.1.0-beta.1 on toolchain beta-2026-04-21 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate scp-mcp 0.1.0-beta.1 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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 92ad72daafcc7878411a5fab4aed7e586223f9da0d02df85e1bc77a86e48066f [INFO] running `Command { std: "docker" "start" "-a" "92ad72daafcc7878411a5fab4aed7e586223f9da0d02df85e1bc77a86e48066f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "92ad72daafcc7878411a5fab4aed7e586223f9da0d02df85e1bc77a86e48066f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "92ad72daafcc7878411a5fab4aed7e586223f9da0d02df85e1bc77a86e48066f", kill_on_drop: false }` [INFO] [stdout] 92ad72daafcc7878411a5fab4aed7e586223f9da0d02df85e1bc77a86e48066f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 028053cd40569679a04360e24870562abb9da594d0a043732dbe71be07940b84 [INFO] running `Command { std: "docker" "start" "-a" "028053cd40569679a04360e24870562abb9da594d0a043732dbe71be07940b84", kill_on_drop: false }` [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling zerocopy v0.8.40 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling hax-lib v0.3.6 [INFO] [stderr] Compiling rand_core v0.10.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling base64ct v1.8.3 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling pem-rfc7468 v0.7.0 [INFO] [stderr] Compiling libcrux-platform v0.0.3 [INFO] [stderr] Compiling ff v0.13.1 [INFO] [stderr] Compiling libcrux-intrinsics v0.0.6 [INFO] [stderr] Compiling group v0.13.0 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling libcrux-sha3 v0.0.7 [INFO] [stderr] Compiling libcrux-intrinsics v0.0.5 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling curve25519-dalek v5.0.0-pre.6 [INFO] [stderr] Compiling libcrux-sha3 v0.0.6 [INFO] [stderr] Compiling libcrux-ml-kem v0.0.7 [INFO] [stderr] Compiling libcrux-aesgcm v0.0.7 [INFO] [stderr] Compiling keccak v0.2.0-rc.2 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling hybrid-array v0.4.7 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling ipnet v2.12.0 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling num-iter v0.1.45 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling rand v0.10.0 [INFO] [stderr] Compiling serde_bytes v0.11.19 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling borrow-or-share v0.2.4 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling crypto-common v0.2.1 [INFO] [stderr] Compiling block-buffer v0.12.0 [INFO] [stderr] Compiling module-lattice v0.1.0 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling rmp v0.8.15 [INFO] [stderr] Compiling num-rational v0.4.2 [INFO] [stderr] Compiling num v0.4.3 [INFO] [stderr] Compiling uuid v1.22.0 [INFO] [stderr] Compiling digest v0.11.1 [INFO] [stderr] Compiling kem v0.3.0-rc.6 [INFO] [stderr] Compiling z-base-32 v0.1.4 [INFO] [stderr] Compiling sha3 v0.11.0-rc.8 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling outref v0.5.2 [INFO] [stderr] Compiling bs58 v0.5.1 [INFO] [stderr] Compiling vsimd v0.8.0 [INFO] [stderr] Compiling fraction v0.15.3 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling bytecount v0.6.9 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling uuid-simd v0.8.0 [INFO] [stderr] Compiling ml-kem v0.3.0-rc.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling num-cmp v0.1.0 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand_chacha v0.10.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling zeroize_derive v1.4.3 [INFO] [stderr] Compiling hax-lib-macros v0.3.6 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling libcrux-macros v0.0.3 [INFO] [stderr] Compiling libcrux-secrets v0.0.5 [INFO] [stderr] Compiling libcrux-traits v0.0.6 [INFO] [stderr] Compiling libcrux-hacl-rs v0.0.4 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling der v0.7.10 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling spki v0.7.3 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling signature v2.2.0 [INFO] [stderr] Compiling pkcs8 v0.10.2 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling sec1 v0.7.3 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling hkdf v0.12.4 [INFO] [stderr] Compiling crypto-bigint v0.5.5 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling elliptic-curve v0.13.8 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling inout v0.1.4 [INFO] [stderr] Compiling tls_codec_derive v0.4.2 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling cipher v0.4.4 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling universal-hash v0.5.1 [INFO] [stderr] Compiling ed25519 v2.2.3 [INFO] [stderr] Compiling hpke-rs-crypto v0.6.0 [INFO] [stderr] Compiling ed25519-dalek v2.2.0 [INFO] [stderr] Compiling primeorder v0.13.6 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling rfc6979 v0.4.0 [INFO] [stderr] Compiling libcrux-sha2 v0.0.6 [INFO] [stderr] Compiling tls_codec v0.4.2 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling libcrux-poly1305 v0.0.4 [INFO] [stderr] Compiling libcrux-curve25519 v0.0.6 [INFO] [stderr] Compiling libcrux-traits v0.0.5 [INFO] [stderr] Compiling libcrux-chacha20poly1305 v0.0.6 [INFO] [stderr] Compiling ecdsa v0.16.9 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling libcrux-p256 v0.0.6 [INFO] [stderr] Compiling libcrux-hmac v0.0.6 [INFO] [stderr] Compiling polyval v0.6.2 [INFO] [stderr] Compiling openmls_traits v0.5.0 [INFO] [stderr] Compiling aead v0.5.2 [INFO] [stderr] Compiling ref-cast-impl v1.0.25 [INFO] [stderr] Compiling libcrux-aead v0.0.6 [INFO] [stderr] Compiling openmls_memory_storage v0.5.0 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling ghash v0.5.1 [INFO] [stderr] Compiling ref-cast v1.0.25 [INFO] [stderr] Compiling hpke-rs v0.6.0 [INFO] [stderr] Compiling x25519-dalek v3.0.0-pre.6 [INFO] [stderr] Compiling libcrux-ecdh v0.0.6 [INFO] [stderr] Compiling libcrux-kem v0.0.6 [INFO] [stderr] Compiling libcrux-hkdf v0.0.6 [INFO] [stderr] Compiling p256 v0.13.2 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling poly1305 v0.8.0 [INFO] [stderr] Compiling aes v0.8.4 [INFO] [stderr] Compiling ctr v0.9.2 [INFO] [stderr] Compiling chacha20 v0.9.1 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling aes-gcm v0.10.3 [INFO] [stderr] Compiling chacha20poly1305 v0.10.1 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling hpke-rs-libcrux v0.6.0 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling x-wing v0.1.0-rc.0 [INFO] [stderr] Compiling fluent-uri v0.3.2 [INFO] [stderr] Compiling scp-platform v0.1.0-beta.1 [INFO] [stderr] Compiling libcrux-ed25519 v0.0.6 [INFO] [stderr] Compiling p384 v0.13.1 [INFO] [stderr] Compiling x25519-dalek v2.0.1 [INFO] [stderr] Compiling k256 v0.13.4 [INFO] [stderr] Compiling scp-identity v0.1.0-beta.1 [INFO] [stderr] Compiling referencing v0.28.3 [INFO] [stderr] Compiling hpke-rs-rust-crypto v0.6.0 [INFO] [stderr] Compiling openmls_libcrux_crypto v0.3.1 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling scp-primitives v0.1.0-beta.1 [INFO] [stderr] Compiling rmp-serde v1.3.1 [INFO] [stderr] Compiling email_address v0.2.9 [INFO] [stderr] Compiling fancy-regex v0.14.0 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling openmls v0.8.1 [INFO] [stderr] Compiling openmls_rust_crypto v0.5.1 [INFO] [stderr] Compiling scp-event-log v0.1.0-beta.1 [INFO] [stderr] Compiling jsonschema v0.28.3 [INFO] [stderr] Compiling openmls_basic_credential v0.5.0 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling axum v0.8.8 [INFO] [stderr] Compiling scp-core v0.1.0-beta.1 [INFO] [stderr] Compiling scp-mcp v0.1.0-beta.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 36s [INFO] running `Command { std: "docker" "inspect" "028053cd40569679a04360e24870562abb9da594d0a043732dbe71be07940b84", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "028053cd40569679a04360e24870562abb9da594d0a043732dbe71be07940b84", kill_on_drop: false }` [INFO] [stdout] 028053cd40569679a04360e24870562abb9da594d0a043732dbe71be07940b84 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6c3a4385313492529e556646e611471e59647e72c4b909229b41d268f7833581 [INFO] running `Command { std: "docker" "start" "-a" "6c3a4385313492529e556646e611471e59647e72c4b909229b41d268f7833581", kill_on_drop: false }` [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling scp-platform v0.1.0-beta.1 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling scp-identity v0.1.0-beta.1 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling scp-event-log v0.1.0-beta.1 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling axum v0.8.8 [INFO] [stderr] Compiling jsonschema v0.28.3 [INFO] [stderr] Compiling scp-core v0.1.0-beta.1 [INFO] [stderr] Compiling scp-mcp v0.1.0-beta.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 37s [INFO] running `Command { std: "docker" "inspect" "6c3a4385313492529e556646e611471e59647e72c4b909229b41d268f7833581", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6c3a4385313492529e556646e611471e59647e72c4b909229b41d268f7833581", kill_on_drop: false }` [INFO] [stdout] 6c3a4385313492529e556646e611471e59647e72c4b909229b41d268f7833581 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] e74833e172a38a798922a5fb4700575d7cfdbf8c1ea29ceed4f6455bbf515dcc [INFO] running `Command { std: "docker" "start" "-a" "e74833e172a38a798922a5fb4700575d7cfdbf8c1ea29ceed4f6455bbf515dcc", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.50s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/scp_mcp-e80d6153b7036514) [INFO] [stdout] [INFO] [stdout] running 212 tests [INFO] [stdout] test allowlist::tests::configure_adds_binaries ... ok [INFO] [stdout] test allowlist::tests::configure_rejects_invalid_entries ... ok [INFO] [stdout] test allowlist::tests::default_allowlist_contains_expected_binaries ... ok [INFO] [stdout] test allowlist::tests::configure_is_additive ... ok [INFO] [stdout] test allowlist::tests::default_allowlist_excludes_shells ... ok [INFO] [stdout] test allowlist::tests::disable_enforcement_allows_any_binary ... ok [INFO] [stdout] test allowlist::tests::configure_accepts_owned_strings ... ok [INFO] [stdout] test allowlist::tests::validate_command_allows_default_binaries ... ok [INFO] [stdout] test allowlist::tests::get_state_reflects_additions ... ok [INFO] [stdout] test allowlist::tests::validate_command_rejects_absolute_path_to_allowed_binary ... ok [INFO] [stdout] test allowlist::tests::get_state_returns_defaults ... ok [INFO] [stdout] test allowlist::tests::get_state_reflects_unrestricted ... ok [INFO] [stdout] test allowlist::tests::reset_restores_defaults ... ok [INFO] [stdout] test allowlist::tests::validate_command_rejects_backslash_path ... ok [INFO] [stdout] test allowlist::tests::validate_command_rejects_dot ... ok [INFO] [stdout] test allowlist::tests::validate_command_rejects_empty ... ok [INFO] [stdout] test allowlist::tests::validate_command_rejects_shells ... ok [INFO] [stdout] test allowlist::tests::validate_command_rejects_relative_path_to_allowed_binary ... ok [INFO] [stdout] test allowlist::tests::validate_entry_accepts_valid_names ... ok [INFO] [stdout] test allowlist::tests::validate_command_rejects_dotdot ... ok [INFO] [stdout] test allowlist::tests::validate_command_rejects_relative_path ... ok [INFO] [stdout] test allowlist::tests::validate_entry_rejects_nul ... ok [INFO] [stdout] test allowlist::tests::validate_entry_rejects_empty ... ok [INFO] [stdout] test client::tests::client_not_initialized_by_default ... ok [INFO] [stdout] test allowlist::tests::validate_entry_rejects_paths ... ok [INFO] [stdout] test allowlist::tests::validate_command_rejects_unknown_binary ... ok [INFO] [stdout] test allowlist::tests::validate_entry_rejects_control_characters ... ok [INFO] [stdout] test client::tests::error_invalid_response_display ... ok [INFO] [stdout] test client::tests::error_not_initialized_display ... ok [INFO] [stdout] test client::tests::error_server_error_display ... ok [INFO] [stdout] test client::tests::initialize_fails_on_server_error ... ok [INFO] [stdout] test client::tests::initialize_completes_handshake ... ok [INFO] [stdout] test client::tests::invoke_handles_server_error_response ... ok [INFO] [stdout] test client::tests::error_transport_display ... ok [INFO] [stdout] test client::tests::invoke_preserves_error_flag ... ok [INFO] [stdout] test client::tests::list_tools_requires_initialization ... ok [INFO] [stdout] test client::tests::list_tools_handles_empty_list ... ok [INFO] [stdout] test client::tests::invoke_wraps_result_with_provenance ... ok [INFO] [stdout] test client::tests::invoke_sends_correct_tools_call_params ... ok [INFO] [stdout] test client::tests::initialize_fails_on_transport_error ... ok [INFO] [stdout] test client::tests::list_tools_sends_correct_method ... ok [INFO] [stdout] test client::tests::invoke_requires_initialization ... ok [INFO] [stdout] test client::tests::mcp_tool_result_provenance_is_included_in_json ... ok [INFO] [stdout] test client::tests::provenance_json_has_expected_fields ... ok [INFO] [stdout] test client::tests::list_tools_returns_tool_definitions ... ok [INFO] [stdout] test client::tests::mcp_tool_result_serialization_roundtrip ... ok [INFO] [stdout] test client::tests::initialize_sends_request_and_notification ... ok [INFO] [stdout] test client::tests::transport_config_sse_holds_url ... ok [INFO] [stdout] test client::tests::request_ids_are_monotonically_increasing ... ok [INFO] [stdout] test client::tests::provenance_new_formats_source_correctly ... ok [INFO] [stdout] test client::tests::provenance_serialization_roundtrip ... ok [INFO] [stdout] test client::tests::transport_config_stdio_holds_fields ... ok [INFO] [stdout] test namespace::tests::all_builtin_definitions_serialize_to_valid_json ... ok [INFO] [stdout] test namespace::tests::builtin_tool_to_tool_definition ... ok [INFO] [stdout] test namespace::tests::builtin_tool_definitions_parseable ... ok [INFO] [stdout] test namespace::tests::builtin_tool_definitions_all_namespaced_correctly ... ok [INFO] [stdout] test namespace::tests::builtin_tool_descriptions_are_nonempty ... ok [INFO] [stdout] test namespace::tests::builtin_tool_definitions_returns_three_tools ... ok [INFO] [stdout] test namespace::tests::builtin_tool_definition_serialization_roundtrip ... ok [INFO] [stdout] test namespace::tests::builtin_tool_schemas_are_objects ... ok [INFO] [stdout] test namespace::tests::builtin_tool_names ... ok [INFO] [stdout] test namespace::tests::context_tool_definition_basic ... ok [INFO] [stdout] test namespace::tests::format_namespaced_tool_basic ... ok [INFO] [stdout] test namespace::tests::context_tool_definition_without_description ... ok [INFO] [stdout] test namespace::tests::from_tool_name_matches_all_builtins ... ok [INFO] [stdout] test namespace::tests::from_tool_name_returns_none_for_unknown ... ok [INFO] [stdout] test namespace::tests::context_tool_definition_parseable ... ok [INFO] [stdout] test namespace::tests::format_namespaced_tool_with_did_context ... ok [INFO] [stdout] test namespace::tests::list_members_schema_has_no_required_fields ... ok [INFO] [stdout] test namespace::tests::namespace_error_display_empty_context_id ... ok [INFO] [stdout] test namespace::tests::namespace_error_display_empty_tool_name ... ok [INFO] [stdout] test namespace::tests::parse_format_roundtrip ... ok [INFO] [stdout] test namespace::tests::parse_namespaced_tool_rejects_empty_context_id ... ok [INFO] [stdout] test namespace::tests::parse_namespaced_tool_rejects_empty_string ... ok [INFO] [stdout] test namespace::tests::parse_namespaced_tool_rejects_empty_tool_name ... ok [INFO] [stdout] test namespace::tests::parse_namespaced_tool_rejects_missing_separator ... ok [INFO] [stdout] test namespace::tests::parse_simple_namespaced_tool ... ok [INFO] [stdout] test namespace::tests::parse_namespaced_tool_with_complex_context_id ... ok [INFO] [stdout] test namespace::tests::parse_namespaced_tool_splits_on_first_slash ... ok [INFO] [stdout] test namespace::tests::namespace_error_display_missing_separator ... ok [INFO] [stdout] test namespace::tests::parse_namespaced_tool_rejects_bare_slash ... ok [INFO] [stdout] test namespace::tests::read_messages_schema_has_limit_property ... ok [INFO] [stdout] test protocol::tests::client_capabilities_default_is_empty ... ok [INFO] [stdout] test protocol::tests::error_without_data_omits_field ... ok [INFO] [stdout] test namespace::tests::send_message_schema_requires_content ... ok [INFO] [stdout] test protocol::tests::content_item_resource_roundtrip ... ok [INFO] [stdout] test protocol::tests::content_item_image_roundtrip ... ok [INFO] [stdout] test protocol::tests::initialize_params_roundtrip ... ok [INFO] [stdout] test protocol::tests::initialize_result_roundtrip ... ok [INFO] [stdout] test protocol::tests::mcp_error_codes_in_reserved_range ... ok [INFO] [stdout] test protocol::tests::method_constants_match_mcp_spec ... ok [INFO] [stdout] test protocol::tests::notification_with_params ... ok [INFO] [stdout] test protocol::tests::error_response_serialization_roundtrip ... ok [INFO] [stdout] test protocol::tests::ping_params_is_empty ... ok [INFO] [stdout] test protocol::tests::initialized_notification_is_empty ... ok [INFO] [stdout] test protocol::tests::notification_without_params_omits_field ... ok [INFO] [stdout] test protocol::tests::error_response_with_data ... ok [INFO] [stdout] test protocol::tests::request_without_params_omits_field ... ok [INFO] [stdout] test protocol::tests::resource_definition_roundtrip ... ok [INFO] [stdout] test protocol::tests::resources_read_params_roundtrip ... ok [INFO] [stdout] test protocol::tests::notification_serialization_roundtrip ... ok [INFO] [stdout] test protocol::tests::resources_list_result_roundtrip ... ok [INFO] [stdout] test protocol::tests::resources_read_result_with_text ... ok [INFO] [stdout] test protocol::tests::request_serialization_roundtrip_with_numeric_id ... ok [INFO] [stdout] test protocol::tests::request_deserializes_from_mcp_example ... ok [INFO] [stdout] test protocol::tests::request_serialization_roundtrip_with_string_id ... ok [INFO] [stdout] test protocol::tests::resources_subscribe_params_roundtrip ... ok [INFO] [stdout] test protocol::tests::server_capabilities_default_is_empty ... ok [INFO] [stdout] test protocol::tests::tools_call_result_with_error ... ok [INFO] [stdout] test protocol::tests::tools_call_params_roundtrip ... ok [INFO] [stdout] test protocol::tests::standard_error_codes_are_correct ... ok [INFO] [stdout] test protocol::tests::tool_definition_roundtrip ... ok [INFO] [stdout] test protocol::tests::success_response_serialization_roundtrip ... ok [INFO] [stdout] test protocol::tests::tools_call_result_with_text_content ... ok [INFO] [stdout] test server::tests::initialize_returns_server_info_and_capabilities ... ok [INFO] [stdout] test server::tests::initialized_notification_returns_none ... ok [INFO] [stdout] test protocol::tests::tools_list_params_default_has_no_cursor ... ok [INFO] [stdout] test protocol::tests::tools_list_result_roundtrip ... ok [INFO] [stdout] test server::tests::parse_resource_uri_rejects_bad_scheme ... ok [INFO] [stdout] test server::tests::parse_resource_uri_rejects_empty_context ... ok [INFO] [stdout] test server::tests::parse_resource_uri_rejects_empty_resource_type ... ok [INFO] [stdout] test server::tests::ping_returns_empty_object ... ok [INFO] [stdout] test server::tests::pre_initialization_guard_allows_ping ... ok [INFO] [stdout] test server::tests::pre_initialization_guard_rejects_tools_list ... ok [INFO] [stdout] test server::tests::resources_list_includes_mime_type ... ok [INFO] [stdout] test server::tests::resources_read_rejects_denied_ucan_capability ... ok [INFO] [stdout] test server::tests::parse_resource_uri_rejects_missing_resource_type ... ok [INFO] [stdout] test server::tests::resources_list_returns_three_resources_per_context ... ok [INFO] [stdout] test server::tests::parse_resource_uri_valid ... ok [INFO] [stdout] test server::tests::resources_read_rejects_invalid_uri ... ok [INFO] [stdout] test server::tests::resources_list_with_no_contexts_returns_empty ... ok [INFO] [stdout] test server::tests::resources_read_rejects_unknown_context ... ok [INFO] [stdout] test server::tests::resources_read_rejects_unknown_resource_type ... ok [INFO] [stdout] test server::tests::resources_read_returns_events ... ok [INFO] [stdout] test server::tests::resources_read_returns_tools ... ok [INFO] [stdout] test server::tests::resources_subscribe_rejects_invalid_uri ... ok [INFO] [stdout] test server::tests::resources_read_succeeds_with_valid_ucan_and_membership ... ok [INFO] [stdout] test server::tests::resources_subscribe_succeeds ... ok [INFO] [stdout] test server::tests::resources_read_returns_members ... ok [INFO] [stdout] test server::tests::shared_validation_rejects_non_object_schema ... ok [INFO] [stdout] test server::tests::tool_provenance_serialization_roundtrip ... ok [INFO] [stdout] test server::tests::tools_call_rejects_denied_capability ... ok [INFO] [stdout] test server::tests::tools_call_rejects_invalid_namespace ... ok [INFO] [stdout] test server::tests::response_ids_match_request_ids ... ok [INFO] [stdout] test server::tests::tools_call_rejects_non_member_context ... ok [INFO] [stdout] test server::tests::shared_validation_accepts_matching_type ... ok [INFO] [stdout] test server::tests::shared_validation_rejects_type_mismatch ... ok [INFO] [stdout] test server::tests::shared_validation_passes_when_no_type_constraint ... ok [INFO] [stdout] test server::tests::tools_call_with_missing_params_returns_error ... ok [INFO] [stdout] test server::tests::tools_call_validates_output_schema ... ok [INFO] [stdout] test server::tests::tools_list_admin_sees_admin_tools ... ok [INFO] [stdout] test server::tests::tools_list_changed_notification_has_correct_method ... ok [INFO] [stdout] test server::tests::tools_list_filters_admin_only_tools_for_member_role ... ok [INFO] [stdout] test server::tests::tools_list_filters_by_ucan_capability ... ok [INFO] [stdout] test server::tests::tools_list_returns_builtin_tools_for_all_contexts ... ok [INFO] [stdout] test server::tests::unknown_method_returns_method_not_found ... ok [INFO] [stdout] test server::tests::tools_list_includes_context_registered_tools ... ok [INFO] [stdout] test server::tests::tools_list_with_no_contexts_returns_empty ... ok [INFO] [stdout] test sse::tests::auth_empty_bearer_rejected ... ok [INFO] [stdout] test sse::tests::auth_bearer_without_space_rejected ... ok [INFO] [stdout] test sse::tests::auth_malformed_header_rejected ... ok [INFO] [stdout] test sse::tests::auth_missing_bearer_post_rejected ... ok [INFO] [stdout] test sse::tests::auth_token_prefix_not_accepted ... ok [INFO] [stdout] test sse::tests::auth_missing_bearer_sse_rejected ... ok [INFO] [stdout] test sse::tests::auth_token_substring_not_accepted ... ok [INFO] [stdout] test sse::tests::auth_wrong_bearer_post_rejected ... ok [INFO] [stdout] test sse::tests::auth_valid_bearer_post_accepted ... ok [INFO] [stdout] test sse::tests::auth_wrong_bearer_sse_rejected ... ok [INFO] [stdout] test sse::tests::broadcast_assigns_sequential_ids ... ok [INFO] [stdout] test sse::tests::auth_valid_bearer_sse_accepted ... ok [INFO] [stdout] test sse::tests::broadcast_populates_replay_buffer ... ok [INFO] [stdout] test sse::tests::message_handler_handles_notification ... ok [INFO] [stdout] test sse::tests::message_handler_processes_ping ... ok [INFO] [stdout] test sse::tests::message_handler_processes_initialize ... ok [INFO] [stdout] test sse::tests::noauth_allows_requests_without_header ... ok [INFO] [stdout] test sse::tests::noauth_post_allows_requests_without_header ... ok [INFO] [stdout] test sse::tests::parse_last_event_id_non_numeric ... ok [INFO] [stdout] test sse::tests::parse_last_event_id_missing ... ok [INFO] [stdout] test sse::tests::parse_last_event_id_valid ... ok [INFO] [stdout] test sse::tests::parse_sse_incoming_invalid_json ... ok [INFO] [stdout] test sse::tests::parse_sse_incoming_notification ... ok [INFO] [stdout] test sse::tests::replay_buffer_empty ... ok [INFO] [stdout] test sse::tests::replay_buffer_evicts_oldest_when_full ... ok [INFO] [stdout] test sse::tests::replay_buffer_stores_and_retrieves ... ok [INFO] [stdout] test sse::tests::send_notification_broadcasts_to_receivers ... ok [INFO] [stdout] test sse::tests::parse_sse_incoming_request ... ok [INFO] [stdout] test sse::tests::send_notification_returns_zero_with_no_receivers ... ok [INFO] [stdout] test sse::tests::shutdown_handle_default_is_not_shutdown ... ok [INFO] [stdout] test sse::tests::shutdown_handle_signals_correctly ... ok [INFO] [stdout] test sse::tests::sse_config_defaults ... ok [INFO] [stdout] test sse::tests::sse_config_with_auth_token ... ok [INFO] [stdout] test sse::tests::sse_router_builds_successfully ... ok [INFO] [stdout] test sse::tests::sse_router_with_auth_builds_successfully ... ok [INFO] [stdout] test sse::tests::sse_router_without_auth_builds_successfully ... ok [INFO] [stdout] test stdio::tests::handle_initialize_via_parse_and_dispatch ... ok [INFO] [stdout] test stdio::tests::handle_initialized_notification_via_parse ... ok [INFO] [stdout] test stdio::tests::handle_ping_via_parse_and_dispatch ... ok [INFO] [stdout] test stdio::tests::parse_incoming_invalid_json_returns_error ... ok [INFO] [stdout] test stdio::tests::parse_incoming_notification_without_id ... ok [INFO] [stdout] test stdio::tests::parse_incoming_request_with_numeric_id ... ok [INFO] [stdout] test stdio::tests::parse_incoming_request_with_params ... ok [INFO] [stdout] test stdio::tests::parse_incoming_request_with_string_id ... ok [INFO] [stdout] test stdio::tests::run_stdio_handles_invalid_json ... ok [INFO] [stdout] test stdio::tests::run_stdio_processes_initialize_and_ping ... ok [INFO] [stdout] test stdio::tests::run_stdio_skips_empty_lines ... ok [INFO] [stdout] test sse::tests::synthetic_notification_ids_are_unique ... ok [INFO] [stdout] test server::tests::tools_call_result_is_not_error_flag ... ok [INFO] [stdout] test server::tests::full_lifecycle_initialize_list_call ... ok [INFO] [stdout] test server::tests::tools_call_returns_execution_error ... ok [INFO] [stdout] test server::tests::tools_call_invokes_and_returns_result_with_provenance ... ok [INFO] [stdout] test server::tests::tools_call_validates_input_schema ... ok [INFO] [stdout] test sse::tests::run_sse_shuts_down_on_signal ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 212 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s [INFO] [stdout] [INFO] [stderr] Doc-tests scp_mcp [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test src/namespace.rs - namespace::parse_namespaced_tool (line 75) ... ok [INFO] [stdout] test src/allowlist.rs - allowlist (line 19) ... ok [INFO] [stdout] test src/namespace.rs - namespace::format_namespaced_tool (line 110) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] all doctests ran in 2.00s; merged doctests compilation took 1.90s [INFO] running `Command { std: "docker" "inspect" "e74833e172a38a798922a5fb4700575d7cfdbf8c1ea29ceed4f6455bbf515dcc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e74833e172a38a798922a5fb4700575d7cfdbf8c1ea29ceed4f6455bbf515dcc", kill_on_drop: false }` [INFO] [stdout] e74833e172a38a798922a5fb4700575d7cfdbf8c1ea29ceed4f6455bbf515dcc