[INFO] fetching crate tap-mcp-bridge 0.2.0... [INFO] testing tap-mcp-bridge-0.2.0 against master#7704328ba5ae8d6ce0ac303c9d5a1a1605906766 for pr-146989 [INFO] extracting crate tap-mcp-bridge 0.2.0 into /workspace/builds/worker-6-tc1/source [INFO] started tweaking crates.io crate tap-mcp-bridge 0.2.0 [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate tap-mcp-bridge 0.2.0 [INFO] tweaked toml for crates.io crate tap-mcp-bridge 0.2.0 written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate tap-mcp-bridge 0.2.0 on toolchain 7704328ba5ae8d6ce0ac303c9d5a1a1605906766 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7704328ba5ae8d6ce0ac303c9d5a1a1605906766" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate tap-mcp-bridge 0.2.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" "+7704328ba5ae8d6ce0ac303c9d5a1a1605906766" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded schemars_derive v1.1.0 [INFO] [stderr] Downloaded secrecy v0.10.3 [INFO] [stderr] Downloaded tracing-serde v0.2.0 [INFO] [stderr] Downloaded serde_derive_internals v0.29.1 [INFO] [stderr] Downloaded darling v0.21.3 [INFO] [stderr] Downloaded page_size v0.6.0 [INFO] [stderr] Downloaded darling_macro v0.21.3 [INFO] [stderr] Downloaded foldhash v0.2.0 [INFO] [stderr] Downloaded alloca v0.4.0 [INFO] [stderr] Downloaded simple_asn1 v0.6.3 [INFO] [stderr] Downloaded criterion-plot v0.8.1 [INFO] [stderr] Downloaded lru v0.16.2 [INFO] [stderr] Downloaded quinn-udp v0.5.14 [INFO] [stderr] Downloaded jsonwebtoken v10.2.0 [INFO] [stderr] Downloaded darling_core v0.21.3 [INFO] [stderr] Downloaded criterion v0.8.1 [INFO] [stderr] Downloaded josekit v0.10.3 [INFO] [stderr] Downloaded tower v0.5.2 [INFO] [stderr] Downloaded iri-string v0.7.9 [INFO] [stderr] Downloaded reqwest v0.12.25 [INFO] [stderr] Downloaded h2 v0.4.12 [INFO] [stderr] Downloaded quinn-proto v0.11.13 [INFO] [stderr] Downloaded proptest v1.9.0 [INFO] [stderr] Downloaded quinn v0.11.9 [INFO] [stderr] Downloaded rmcp v0.11.0 [INFO] [stderr] Downloaded pastey v0.2.0 [INFO] [stderr] Downloaded wasm-bindgen-futures v0.4.56 [INFO] [stderr] Downloaded web-time v1.1.0 [INFO] [stderr] Downloaded schemars v1.1.0 [INFO] [stderr] Downloaded pem v3.0.6 [INFO] [stderr] Downloaded rand_xorshift v0.4.0 [INFO] [stderr] Downloaded rusty-fork v0.3.1 [INFO] [stderr] Downloaded lru-slab v0.1.2 [INFO] [stderr] Downloaded rmcp-macros v0.11.0 [INFO] [stderr] Downloaded openssl-src v300.5.4+3.5.4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+7704328ba5ae8d6ce0ac303c9d5a1a1605906766" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 123b6b92be432562d9bec218aa4c2cc2db3af3c95d51b8c2131955bc88c6167f [INFO] running `Command { std: "docker" "start" "-a" "123b6b92be432562d9bec218aa4c2cc2db3af3c95d51b8c2131955bc88c6167f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "123b6b92be432562d9bec218aa4c2cc2db3af3c95d51b8c2131955bc88c6167f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "123b6b92be432562d9bec218aa4c2cc2db3af3c95d51b8c2131955bc88c6167f", kill_on_drop: false }` [INFO] [stdout] 123b6b92be432562d9bec218aa4c2cc2db3af3c95d51b8c2131955bc88c6167f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+7704328ba5ae8d6ce0ac303c9d5a1a1605906766" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a539986bbba48e1fffcbb5c5c807652d653a49d250ad53046b2032646674bff7 [INFO] running `Command { std: "docker" "start" "-a" "a539986bbba48e1fffcbb5c5c807652d653a49d250ad53046b2032646674bff7", kill_on_drop: false }` [INFO] [stderr] Compiling foldhash v0.2.0 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling tokio v1.48.0 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling tracing v0.1.43 [INFO] [stderr] Compiling openssl-src v300.5.4+3.5.4 [INFO] [stderr] Compiling aws-lc-sys v0.34.0 [INFO] [stderr] Compiling time-core v0.1.6 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling rustls v0.23.35 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling num-conv v0.1.0 [INFO] [stderr] Compiling deranged v0.5.5 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling darling_core v0.21.3 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling time-macros v0.2.24 [INFO] [stderr] Compiling ref-cast v1.0.25 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Compiling indexmap v2.12.1 [INFO] [stderr] Compiling ref-cast-impl v1.0.25 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling openssl-sys v0.9.111 [INFO] [stderr] Compiling serde_derive_internals v0.29.1 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling aws-lc-rs v1.15.1 [INFO] [stderr] Compiling signature v2.2.0 [INFO] [stderr] Compiling memchr v2.7.6 [INFO] [stderr] Compiling openssl v0.10.75 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling time v0.3.44 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling schemars_derive v1.1.0 [INFO] [stderr] Compiling untrusted v0.7.1 [INFO] [stderr] Compiling iri-string v0.7.9 [INFO] [stderr] Compiling dyn-clone v1.0.20 [INFO] [stderr] Compiling url v2.5.7 [INFO] [stderr] Compiling ed25519 v2.2.3 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling simple_asn1 v0.6.3 [INFO] [stderr] Compiling pem v3.0.6 [INFO] [stderr] Compiling pastey v0.2.0 [INFO] [stderr] Compiling darling_macro v0.21.3 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Compiling schemars v1.1.0 [INFO] [stderr] Compiling darling v0.21.3 [INFO] [stderr] Compiling ed25519-dalek v2.2.0 [INFO] [stderr] Compiling uuid v1.19.0 [INFO] [stderr] Compiling rmcp-macros v0.11.0 [INFO] [stderr] Compiling lru v0.16.2 [INFO] [stderr] Compiling secrecy v0.10.3 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling rustls-webpki v0.103.8 [INFO] [stderr] Compiling tokio-util v0.7.17 [INFO] [stderr] Compiling tower v0.5.2 [INFO] [stderr] Compiling h2 v0.4.12 [INFO] [stderr] Compiling rmcp v0.11.0 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling hyper-util v0.1.19 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling reqwest v0.12.25 [INFO] [stderr] Compiling jsonwebtoken v10.2.0 [INFO] [stderr] Compiling josekit v0.10.3 [INFO] [stderr] Compiling tap-mcp-bridge v0.2.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 20s [INFO] running `Command { std: "docker" "inspect" "a539986bbba48e1fffcbb5c5c807652d653a49d250ad53046b2032646674bff7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a539986bbba48e1fffcbb5c5c807652d653a49d250ad53046b2032646674bff7", kill_on_drop: false }` [INFO] [stdout] a539986bbba48e1fffcbb5c5c807652d653a49d250ad53046b2032646674bff7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+7704328ba5ae8d6ce0ac303c9d5a1a1605906766" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] fff027c05579be4ab302c51beeb96b42bf3e1f8a7d24c6ef56c495891b034f51 [INFO] running `Command { std: "docker" "start" "-a" "fff027c05579be4ab302c51beeb96b42bf3e1f8a7d24c6ef56c495891b034f51", kill_on_drop: false }` [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling tracing-core v0.1.35 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling zerocopy v0.8.31 [INFO] [stderr] Compiling zerocopy-derive v0.8.31 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Compiling alloca v0.4.0 [INFO] [stderr] Compiling ciborium-io v0.2.2 [INFO] [stderr] Compiling anstyle v1.0.13 [INFO] [stderr] Compiling plotters-backend v0.3.7 [INFO] [stderr] Compiling clap_lex v0.7.6 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Compiling plotters-svg v0.3.7 [INFO] [stderr] Compiling openssl v0.10.75 [INFO] [stderr] Compiling clap_builder v4.5.53 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling cast v0.3.0 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling rand_core v0.9.3 [INFO] [stderr] Compiling uuid v1.19.0 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling page_size v0.6.0 [INFO] [stderr] Compiling tracing v0.1.43 [INFO] [stderr] Compiling rand_xorshift v0.4.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling tracing-serde v0.2.0 [INFO] [stderr] Compiling h2 v0.4.12 [INFO] [stderr] Compiling nu-ansi-term v0.50.3 [INFO] [stderr] Compiling oorandom v11.1.5 [INFO] [stderr] Compiling unarray v0.1.4 [INFO] [stderr] Compiling anes v0.1.6 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling criterion-plot v0.8.1 [INFO] [stderr] Compiling tempfile v3.23.0 [INFO] [stderr] Compiling rusty-fork v0.3.1 [INFO] [stderr] Compiling clap v4.5.53 [INFO] [stderr] Compiling schemars v1.1.0 [INFO] [stderr] Compiling simple_asn1 v0.6.3 [INFO] [stderr] Compiling jsonwebtoken v10.2.0 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rmcp v0.11.0 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling proptest v1.9.0 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling josekit v0.10.3 [INFO] [stderr] Compiling criterion v0.8.1 [INFO] [stderr] Compiling hyper-util v0.1.19 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling reqwest v0.12.25 [INFO] [stderr] Compiling tap-mcp-bridge v0.2.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 59.59s [INFO] running `Command { std: "docker" "inspect" "fff027c05579be4ab302c51beeb96b42bf3e1f8a7d24c6ef56c495891b034f51", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fff027c05579be4ab302c51beeb96b42bf3e1f8a7d24c6ef56c495891b034f51", kill_on_drop: false }` [INFO] [stdout] fff027c05579be4ab302c51beeb96b42bf3e1f8a7d24c6ef56c495891b034f51 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+7704328ba5ae8d6ce0ac303c9d5a1a1605906766" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] da435bad4a6c86698fb25f060ffebb283fb5345b03a3b0ab541aa553882fb5ac [INFO] running `Command { std: "docker" "start" "-a" "da435bad4a6c86698fb25f060ffebb283fb5345b03a3b0ab541aa553882fb5ac", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.49s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tap_mcp_bridge-aa653e03dde6a2b0) [INFO] [stdout] [INFO] [stdout] running 173 tests [INFO] [stdout] test error::tests::test_error_display ... ok [INFO] [stdout] test error::tests::test_merchant_error ... ok [INFO] [stdout] test error::tests::test_invalid_consumer_id_error ... ok [INFO] [stdout] test mcp::tools::tests::test_compute_content_digest_empty ... ok [INFO] [stdout] test mcp::tools::tests::test_compute_content_digest_known_value ... ok [INFO] [stdout] test mcp::tools::tests::test_parse_merchant_url_empty ... ok [INFO] [stdout] test mcp::tools::tests::test_parse_merchant_url_invalid ... ok [INFO] [stdout] test mcp::tools::tests::test_parse_merchant_url_ftp_rejected ... ok [INFO] [stdout] test mcp::tools::tests::test_parse_merchant_url_rejects_127_0_0_1 ... ok [INFO] [stdout] test mcp::tools::tests::test_parse_merchant_url_rejects_localhost_plain ... ok [INFO] [stdout] test mcp::tools::tests::test_parse_merchant_url_rejects_localhost ... ok [INFO] [stdout] test error::tests::test_invalid_merchant_url_error ... ok [INFO] [stdout] test mcp::tools::tests::test_parse_merchant_url_ws_rejected ... ok [INFO] [stdout] test mcp::tools::tests::test_validate_consumer_id_empty ... ok [INFO] [stdout] test mcp::tools::tests::test_validate_consumer_id_alphanumeric_only ... ok [INFO] [stdout] test mcp::tools::tests::test_validate_consumer_id_invalid_characters ... ok [INFO] [stdout] test mcp::tools::tests::test_validate_consumer_id_too_long ... ok [INFO] [stdout] test mcp::tools::tests::test_parse_merchant_url_with_port ... ok [INFO] [stdout] test reliability::circuit_breaker::tests::test_circuit_breaker_high_failure_count ... ok [INFO] [stdout] test mcp::tools::tests::test_validate_consumer_id_max_length ... ok [INFO] [stdout] test mcp::tools::tests::test_validate_consumer_id_valid ... ok [INFO] [stdout] test mcp::tools::tests::test_parse_merchant_url_requires_https ... ok [INFO] [stdout] test reliability::circuit_breaker::tests::test_circuit_opens_after_threshold ... ok [INFO] [stdout] test mcp::tools::tests::test_parse_merchant_url_valid ... ok [INFO] [stdout] test reliability::circuit_breaker::tests::test_circuit_breaker_very_long_timeout ... ok [INFO] [stdout] test reliability::circuit_breaker::tests::test_circuit_breaker_zero_reset_timeout ... ok [INFO] [stdout] test reliability::circuit_breaker::tests::test_error_propagation ... ok [INFO] [stdout] test reliability::circuit_breaker::tests::test_default_config ... ok [INFO] [stdout] test reliability::circuit_breaker::tests::test_failed_operation ... ok [INFO] [stdout] test mcp::tools::tests::test_parse_merchant_url_with_path ... ok [INFO] [stdout] test reliability::circuit_breaker::tests::test_initial_state ... ok [INFO] [stdout] test reliability::retry::tests::test_delay_for_attempt_large_values ... ok [INFO] [stdout] test reliability::retry::tests::test_is_not_retryable_crypto_error ... ok [INFO] [stdout] test reliability::circuit_breaker::tests::test_successful_operation ... ok [INFO] [stdout] test reliability::retry::tests::test_is_not_retryable_merchant_error ... ok [INFO] [stdout] test reliability::retry::tests::test_delay_capped_at_max ... ok [INFO] [stdout] test reliability::retry::tests::test_is_not_retryable_circuit_open ... ok [INFO] [stdout] test reliability::retry::tests::test_delay_for_attempt ... ok [INFO] [stdout] test reliability::retry::tests::test_is_not_retryable_request_too_old ... ok [INFO] [stdout] test reliability::retry::tests::test_is_not_retryable_rate_limit_exceeded ... ok [INFO] [stdout] test reliability::retry::tests::test_is_not_retryable_replay_attack ... ok [INFO] [stdout] test reliability::retry::tests::test_is_not_retryable_invalid_consumer_id ... ok [INFO] [stdout] test reliability::retry::tests::test_is_not_retryable_invalid_url ... ok [INFO] [stdout] test reliability::retry::tests::test_is_not_retryable_signature_error ... ok [INFO] [stdout] test reliability::retry::tests::test_retry_policy_default ... ok [INFO] [stdout] test reliability::retry::tests::test_retry_policy_new ... ok [INFO] [stdout] test reliability::circuit_breaker::tests::test_circuit_breaker_error_display ... ok [INFO] [stdout] test reliability::retry::tests::test_retry_policy_with_max_attempts ... ok [INFO] [stdout] test reliability::retry::tests::test_retry_with_backoff_immediate_success ... ok [INFO] [stdout] test reliability::retry::tests::test_retry_with_backoff_single_attempt ... ok [INFO] [stdout] test security::audit::tests::test_audit_event_builder ... ok [INFO] [stdout] test reliability::retry::tests::test_retry_with_backoff_success_first_attempt ... ok [INFO] [stdout] test security::audit::tests::test_redact_consumer_id ... ok [INFO] [stdout] test security::audit::tests::test_redact_consumer_id_edge_cases ... ok [INFO] [stdout] test security::audit::tests::test_audit_event_with_error ... ok [INFO] [stdout] test security::audit::tests::test_audit_event_serialization ... ok [INFO] [stdout] test security::audit::tests::test_redact_credit_card ... ok [INFO] [stdout] test security::audit::tests::test_audit_event_with_very_long_error ... ok [INFO] [stdout] test security::audit::tests::test_redact_credit_card_with_spaces ... ok [INFO] [stdout] test security::audit::tests::test_redact_credit_card_without_separators ... ok [INFO] [stdout] test security::audit::tests::test_redact_cvv_no_space ... ok [INFO] [stdout] test security::audit::tests::test_redact_cvv ... ok [INFO] [stdout] test reliability::circuit_breaker::tests::test_thread_safety ... ok [INFO] [stdout] test security::audit::tests::test_redact_sensitive_empty_string ... ok [INFO] [stdout] test security::audit::tests::test_redact_multiple_credit_cards ... ok [INFO] [stdout] test security::audit::tests::test_redact_sensitive_preserves_safe_data ... ok [INFO] [stdout] test security::audit::tests::test_redact_sensitive_with_multiple_patterns ... ok [INFO] [stdout] test security::audit::tests::test_redact_ssn ... ok [INFO] [stdout] test security::rate_limit::tests::test_rate_limit_config_default ... ok [INFO] [stdout] test security::rate_limit::tests::test_rate_limiter_allows_requests_within_limit ... ok [INFO] [stdout] test security::rate_limit::tests::test_rate_limited_signer_enforces_limit ... ok [INFO] [stdout] test security::rate_limit::tests::test_rate_limiter_concurrent_access ... ok [INFO] [stdout] test security::rate_limit::tests::test_rate_limited_signer_preserves_signature_correctness ... ok [INFO] [stdout] test security::rate_limit::tests::test_rate_limiter_very_high_rate ... ok [INFO] [stdout] test security::rate_limit::tests::test_rate_limiter_with_burst_size_one ... ok [INFO] [stdout] test tap::acro::tests::test_acro_creation ... ok [INFO] [stdout] test tap::acro::tests::test_acro_deserialization ... ok [INFO] [stdout] test tap::acro::tests::test_acro_different_data_different_signatures ... ok [INFO] [stdout] test security::rate_limit::tests::test_rate_limiter_rejects_excess_requests ... ok [INFO] [stdout] test tap::acro::tests::test_acro_nonce_matches_requirement ... ok [INFO] [stdout] test tap::acro::tests::test_acro_kid_matches_requirement ... ok [INFO] [stdout] test tap::acro::tests::test_acro_different_keys_different_signatures ... ok [INFO] [stdout] test reliability::retry::tests::test_retry_with_backoff_timing ... ok [INFO] [stdout] test tap::acro::tests::test_contextual_data_creation ... ok [INFO] [stdout] test tap::acro::tests::test_acro_signature_not_empty ... ok [INFO] [stdout] test security::rate_limit::tests::test_rate_limiter_precision_with_small_intervals ... ok [INFO] [stdout] test tap::acro::tests::test_device_data_creation ... ok [INFO] [stdout] test tap::apc::tests::test_apc_creation ... ok [INFO] [stdout] test tap::acro::tests::test_signature_base_excludes_signature ... ok [INFO] [stdout] test tap::apc::tests::test_apc_deserialization ... ok [INFO] [stdout] test tap::acro::tests::test_acro_serialization ... ok [INFO] [stdout] test tap::apc::tests::test_apc_nonce_matches_requirement ... ok [INFO] [stdout] test tap::apc::tests::test_apc_different_keys_different_signatures ... ok [INFO] [stdout] test tap::apc::tests::test_apc_kid_matches_requirement ... ok [INFO] [stdout] test tap::apc::tests::test_apc_different_data_different_signatures ... ok [INFO] [stdout] test tap::apc::tests::test_apc_signature_not_empty ... ok [INFO] [stdout] test tap::apc::tests::test_bank_account_creation ... ok [INFO] [stdout] test tap::apc::tests::test_bank_account_data_debug_does_not_leak_sensitive_data ... ok [INFO] [stdout] test tap::apc::tests::test_apc_serialization ... ok [INFO] [stdout] test tap::apc::tests::test_card_credential_hash ... ok [INFO] [stdout] test tap::apc::tests::test_card_credential_hash_consistency ... ok [INFO] [stdout] test tap::apc::tests::test_card_data_creation ... ok [INFO] [stdout] test tap::apc::tests::test_card_data_debug_does_not_leak_sensitive_data ... ok [INFO] [stdout] test tap::apc::tests::test_card_last_four ... ok [INFO] [stdout] test tap::apc::tests::test_digital_wallet_creation ... ok [INFO] [stdout] test tap::apc::tests::test_payment_method_card_encryption ... ok [INFO] [stdout] test tap::apc::tests::test_payment_method_bank_account_encryption ... ok [INFO] [stdout] test tap::apc::tests::test_payment_method_digital_wallet_encryption ... ok [INFO] [stdout] test tap::apc::tests::test_signature_base_excludes_signature ... ok [INFO] [stdout] test tap::jwk::tests::test_jwk_compute_thumbprint ... ok [INFO] [stdout] test tap::jwk::tests::test_jwk_from_verifying_key ... ok [INFO] [stdout] test tap::jwk::tests::test_different_keys_different_thumbprints ... ok [INFO] [stdout] test tap::jwk::tests::test_jwk_thumbprint_canonical_json ... ok [INFO] [stdout] test tap::jwk::tests::test_jwk_thumbprint_matches_keyid ... ok [INFO] [stdout] test tap::jwk::tests::test_jwks_deserialization ... ok [INFO] [stdout] test tap::jwk::tests::test_jwks_serialization ... ok [INFO] [stdout] test tap::jwk::tests::test_same_key_same_thumbprint ... ok [INFO] [stdout] test tap::jwt::tests::test_base64_url_encode ... ok [INFO] [stdout] test tap::jwt::tests::test_claims_serialization ... ok [INFO] [stdout] test tap::jwt::tests::test_claims_with_agent_directory_serialization ... ok [INFO] [stdout] test tap::jwk::tests::test_jwks_roundtrip ... ok [INFO] [stdout] test tap::jwt::tests::test_different_keys_different_signatures ... ok [INFO] [stdout] test tap::jwt::tests::test_different_claims_different_tokens ... ok [INFO] [stdout] test tap::jwt::tests::test_id_token_claims_creation_without_agent_directory ... ok [INFO] [stdout] test tap::acro::tests::test_acro_signature_verifiable ... ok [INFO] [stdout] test tap::jwt::tests::test_id_token_claims_creation ... ok [INFO] [stdout] test tap::jwt::tests::test_id_token_format ... ok [INFO] [stdout] test tap::jwt::tests::test_id_token_creation ... ok [INFO] [stdout] test tap::jwt::tests::test_jwt_signature_length ... ok [INFO] [stdout] test tap::jwt::tests::test_jwt_header_format ... ok [INFO] [stdout] test tap::jwt::tests::test_jwt_payload_format ... ok [INFO] [stdout] test tap::jwt::tests::test_token_expiration_time ... ok [INFO] [stdout] test tap::signer::tests::test_build_signature_base_component_order ... ok [INFO] [stdout] test tap::signer::tests::test_build_signature_base_format ... ok [INFO] [stdout] test tap::signer::tests::test_compute_content_digest ... ok [INFO] [stdout] test tap::signer::tests::test_compute_content_digest_empty_body ... ok [INFO] [stdout] test tap::signer::tests::test_compute_keyid ... ok [INFO] [stdout] test tap::signer::tests::test_compute_keyid_different_keys_different_thumbprints ... ok [INFO] [stdout] test tap::apc::tests::test_apc_signature_verifiable ... ok [INFO] [stdout] test tap::signer::tests::test_compute_keyid_rfc7638_test_vector ... ok [INFO] [stdout] test tap::signer::tests::test_different_requests_produce_different_signatures ... ok [INFO] [stdout] test tap::signer::tests::test_generate_acro ... ok [INFO] [stdout] test tap::signer::tests::test_generate_acro_kid_matches_signature_keyid ... ok [INFO] [stdout] test tap::signer::tests::test_compute_content_digest_known_value ... ok [INFO] [stdout] test tap::signer::tests::test_generate_id_token ... ok [INFO] [stdout] test tap::signer::tests::test_generate_acro_nonce_correlation ... ok [INFO] [stdout] test tap::signer::tests::test_generate_jwks ... ok [INFO] [stdout] test tap::signer::tests::test_generate_id_token_nonce_matches_signature ... ok [INFO] [stdout] test tap::signer::tests::test_generate_id_token_format ... ok [INFO] [stdout] test tap::signer::tests::test_generate_jwks_kid_matches_signature_keyid ... ok [INFO] [stdout] test tap::signer::tests::test_sign_request ... ok [INFO] [stdout] test security::rate_limit::tests::test_rate_limited_signer_blocking_waits ... ok [INFO] [stdout] test security::rate_limit::tests::test_rate_limiter_blocking_waits ... ok [INFO] [stdout] test tap::apc::tests::test_bank_account_last_four ... ok [INFO] [stdout] test security::rate_limit::tests::test_rate_limiter_refills_over_time ... ok [INFO] [stdout] test tap::signer::tests::test_sign_request_keyid_consistent ... ok [INFO] [stdout] test tap::signer::tests::test_sign_request_signature_format ... ok [INFO] [stdout] test tap::signer::tests::test_signature_input_format ... ok [INFO] [stdout] test tap::jwt::tests::test_jwt_signature_verifiable ... ok [INFO] [stdout] test tests::test_library_exports ... ok [INFO] [stdout] test reliability::circuit_breaker::tests::test_circuit_closes_after_success_threshold ... ok [INFO] [stdout] test reliability::circuit_breaker::tests::test_circuit_half_open_after_timeout ... ok [INFO] [stdout] test tap::verifier::tests::test_replay_protection ... ok [INFO] [stdout] test reliability::circuit_breaker::tests::test_half_open_reopens_on_failure ... ok [INFO] [stdout] test tap::signer::tests::test_sign_request_signature_verifiable ... ok [INFO] [stdout] test tap::verifier::tests::test_verify_valid_signature ... ok [INFO] [stdout] test reliability::circuit_breaker::tests::test_circuit_breaker_multiple_half_open_failures ... ok [INFO] [stdout] test reliability::retry::tests::test_retry_with_backoff_success_after_retries ... ok [INFO] [stdout] test reliability::retry::tests::test_retry_with_backoff_all_attempts_fail ... ok [INFO] [stdout] test security::rate_limit::tests::test_rate_limiter_fractional_refill ... ok [INFO] [stdout] test security::rate_limit::tests::test_rate_limiter_caps_at_burst_size ... ok [INFO] [stdout] test tap::tests::proptest_signatures::test_replay_protection_property ... ok [INFO] [stdout] test tap::tests::proptest_signatures::test_signature_verification_roundtrip ... ok [INFO] [stderr] Running tests/integration_test.rs (/opt/rustwide/target/debug/deps/integration_test-cf0c3d5c4f7cca48) [INFO] [stdout] [INFO] [stdout] test result: ok. 173 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.74s [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Doc-tests tap_mcp_bridge [INFO] [stdout] running 3 tests [INFO] [stdout] test test_signature_generation_end_to_end ... ok [INFO] [stdout] test test_checkout_params_validation ... ok [INFO] [stdout] test test_checkout_with_invalid_url ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 87 tests [INFO] [stdout] test src/mcp/mod.rs - mcp (line 31) - compile ... ok [INFO] [stdout] test src/lib.rs - (line 81) - compile ... ok [INFO] [stdout] test src/mcp/tools.rs - mcp::tools::browse_merchant (line 190) - compile ... ok [INFO] [stdout] test src/mcp/tools.rs - mcp::tools::checkout_with_tap (line 117) - compile ... ok [INFO] [stdout] test src/lib.rs - (line 46) - compile ... ok [INFO] [stdout] test src/lib.rs - (line 139) ... ok [INFO] [stdout] test src/error.rs - error::BridgeError::InvalidConsumerId (line 171) ... ok [INFO] [stdout] test src/lib.rs - (line 111) ... ok [INFO] [stdout] test src/error.rs - error (line 16) ... ok [INFO] [stdout] test src/lib.rs - (line 244) ... ok [INFO] [stdout] test src/reliability/retry.rs - reliability::retry::is_retryable (line 212) ... ok [INFO] [stdout] test src/reliability/circuit_breaker.rs - reliability::circuit_breaker::CircuitBreaker (line 181) ... ok [INFO] [stdout] test src/reliability/retry.rs - reliability::retry::RetryPolicy (line 17) ... ok [INFO] [stdout] test src/reliability/retry.rs - reliability::retry::RetryPolicy::new (line 61) ... ok [INFO] [stdout] test src/reliability/retry.rs - reliability::retry::RetryPolicy::with_max_attempts (line 76) ... ok [INFO] [stdout] test src/reliability/circuit_breaker.rs - reliability::circuit_breaker::CircuitBreakerConfig (line 96) ... ok [INFO] [stdout] test src/security/audit.rs - security::audit::AuditEvent (line 69) ... ok [INFO] [stdout] test src/reliability/circuit_breaker.rs - reliability::circuit_breaker (line 26) ... ok [INFO] [stdout] test src/reliability/circuit_breaker.rs - reliability::circuit_breaker::CircuitBreakerError (line 429) ... ok [INFO] [stdout] test src/reliability/circuit_breaker.rs - reliability::circuit_breaker::CircuitBreaker::new (line 231) ... ok [INFO] [stdout] test src/reliability/circuit_breaker.rs - reliability::circuit_breaker::CircuitBreaker::call (line 304) ... ok [INFO] [stdout] test src/security/audit.rs - security::audit::AuditEvent::with_consumer_id (line 148) ... ok [INFO] [stdout] test src/security/audit.rs - security::audit::AuditEvent::with_error (line 193) ... ok [INFO] [stdout] test src/error.rs - error::BridgeError::InvalidMerchantUrl (line 141) ... ok [INFO] [stdout] test src/security/audit.rs - security::audit::AuditEvent::with_duration (line 215) ... ok [INFO] [stdout] test src/security/audit.rs - security::audit::AuditEvent::new (line 99) ... ok [INFO] [stdout] test src/security/rate_limit.rs - security::rate_limit (line 36) - compile ... ok [INFO] [stdout] test src/reliability/circuit_breaker.rs - reliability::circuit_breaker::CircuitBreaker::state (line 261) ... ok [INFO] [stdout] test src/security/audit.rs - security::audit::AuditEvent::with_merchant_url (line 124) ... ok [INFO] [stdout] test src/security/audit.rs - security::audit::audit (line 439) ... ok [INFO] [stdout] test src/security/rate_limit.rs - security::rate_limit::RateLimitedSigner::sign_request (line 366) - compile ... ok [INFO] [stdout] test src/reliability/retry.rs - reliability::retry::retry_with_backoff (line 118) ... ok [INFO] [stdout] test src/security/rate_limit.rs - security::rate_limit::RateLimitedSigner::sign_request_blocking (line 414) - compile ... ok [INFO] [stdout] test src/security/rate_limit.rs - security::rate_limit::RateLimitedSigner (line 304) - compile ... ok [INFO] [stdout] test src/security/mod.rs - security (line 11) ... ok [INFO] [stdout] test src/security/rate_limit.rs - security::rate_limit (line 18) ... ok [INFO] [stdout] test src/security/rate_limit.rs - security::rate_limit::RateLimitedSigner::new (line 337) ... ok [INFO] [stdout] test src/security/audit.rs - security::audit::AuditEvent::with_nonce (line 170) ... ok [INFO] [stdout] test src/security/rate_limit.rs - security::rate_limit::RateLimiter::acquire (line 174) ... ok [INFO] [stdout] test src/security/rate_limit.rs - security::rate_limit::RateLimiter (line 115) ... ok [INFO] [stdout] test src/security/audit.rs - security::audit::redact_consumer_id (line 398) ... ok [INFO] [stdout] test src/security/audit.rs - security::audit::audit_log (line 242) ... ok [INFO] [stdout] test src/security/mod.rs - security (line 31) ... ok [INFO] [stdout] test src/tap/acro.rs - tap::acro::ContextualData (line 254) ... ok [INFO] [stdout] test src/tap/apc.rs - tap::apc::CardData::last_four (line 530) ... ok [INFO] [stdout] test src/security/mod.rs - security (line 44) ... ok [INFO] [stdout] test src/security/rate_limit.rs - security::rate_limit::RateLimiter::acquire_blocking (line 229) ... ok [INFO] [stdout] test src/tap/apc.rs - tap::apc (line 24) ... ok [INFO] [stdout] test src/tap/apc.rs - tap::apc::RsaPublicKey::from_pem (line 113) - compile ... ok [INFO] [stdout] test src/tap/apc.rs - tap::apc::RsaPublicKey (line 82) - compile ... ok [INFO] [stdout] test src/tap/apc.rs - tap::apc::PaymentMethod (line 326) ... ok [INFO] [stdout] test src/security/rate_limit.rs - security::rate_limit::RateLimiter::new (line 147) ... ok [INFO] [stdout] test src/tap/jwk.rs - tap::jwk (line 48) ... ok [INFO] [stdout] test src/tap/acro.rs - tap::acro::Acro (line 79) ... ok [INFO] [stdout] test src/tap/apc.rs - tap::apc::PaymentMethod::encrypt (line 384) ... ok [INFO] [stdout] test src/tap/apc.rs - tap::apc::Apc::create (line 227) ... ok [INFO] [stdout] test src/tap/apc.rs - tap::apc::CardData (line 486) ... ok [INFO] [stdout] test src/tap/apc.rs - tap::apc::Apc (line 156) ... ok [INFO] [stdout] test src/tap/acro.rs - tap::acro::DeviceData (line 305) ... ok [INFO] [stdout] test src/tap/acro.rs - tap::acro::Acro::create (line 146) ... ok [INFO] [stdout] test src/tap/apc.rs - tap::apc::CardData::credential_hash (line 559) ... ok [INFO] [stdout] test src/tap/apc.rs - tap::apc::DigitalWalletData (line 665) ... ok [INFO] [stdout] test src/tap/jwk.rs - tap::jwk::Jwks::new (line 242) ... ok [INFO] [stdout] test src/security/audit.rs - security::audit::redact_sensitive (line 277) ... ok [INFO] [stdout] test src/tap/mod.rs - tap (line 121) ... ok [INFO] [stdout] test src/tap/mod.rs - tap (line 44) ... ok [INFO] [stdout] test src/tap/acro.rs - tap::acro (line 25) ... ok [INFO] [stdout] test src/tap/jwk.rs - tap::jwk::Jwk::from_verifying_key (line 134) ... ok [INFO] [stdout] test src/tap/jwt.rs - tap::jwt (line 29) ... ok [INFO] [stdout] test src/tap/jwk.rs - tap::jwk::Jwks::to_json (line 266) ... ok [INFO] [stdout] test src/tap/jwk.rs - tap::jwk::Jwks (line 218) ... ok [INFO] [stdout] test src/tap/jwt.rs - tap::jwt::IdToken (line 221) ... ok [INFO] [stdout] test src/tap/mod.rs - tap (line 95) ... ok [INFO] [stdout] test src/tap/jwk.rs - tap::jwk (line 64) ... ok [INFO] [stdout] test src/tap/signer.rs - tap::signer::TapSigner::compute_content_digest (line 169) ... ok [INFO] [stdout] test src/tap/signer.rs - tap::signer::TapSigner::generate_acro (line 278) ... ok [INFO] [stdout] test src/tap/apc.rs - tap::apc::BankAccountData (line 603) ... ok [INFO] [stdout] test src/tap/jwk.rs - tap::jwk::Jwk (line 89) ... ok [INFO] [stdout] test src/tap/jwt.rs - tap::jwt::IdTokenClaims::new (line 160) ... ok [INFO] [stdout] test src/tap/jwk.rs - tap::jwk::Jwk::compute_thumbprint (line 183) ... ok [INFO] [stdout] test src/tap/signer.rs - tap::signer::TapSigner::sign_request (line 89) ... ok [INFO] [stdout] test src/tap/signer.rs - tap::signer::TapSigner::generate_apc (line 337) ... ok [INFO] [stdout] test src/tap/signer.rs - tap::signer::TapSigner::new (line 62) ... ok [INFO] [stdout] test src/tap/signer.rs - tap::signer::TapSigner::generate_id_token (line 226) ... ok [INFO] [stdout] test src/tap/signer.rs - tap::signer::TapSigner::generate_jwks (line 190) ... ok [INFO] [stdout] test src/tap/jwt.rs - tap::jwt::IdToken::create (line 274) ... ok [INFO] [stdout] test src/tap/jwt.rs - tap::jwt::IdTokenClaims (line 74) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 87 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stdout] all doctests ran in 1.93s; merged doctests compilation took 1.81s [INFO] running `Command { std: "docker" "inspect" "da435bad4a6c86698fb25f060ffebb283fb5345b03a3b0ab541aa553882fb5ac", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "da435bad4a6c86698fb25f060ffebb283fb5345b03a3b0ab541aa553882fb5ac", kill_on_drop: false }` [INFO] [stdout] da435bad4a6c86698fb25f060ffebb283fb5345b03a3b0ab541aa553882fb5ac