[INFO] cloning repository https://github.com/bug-ops/tap-mcp-bridge
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/bug-ops/tap-mcp-bridge" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbug-ops%2Ftap-mcp-bridge", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbug-ops%2Ftap-mcp-bridge'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a780fa1a67b8b97702b40a4a2137742e7f7b781d
[INFO] testing bug-ops/tap-mcp-bridge/a780fa1a67b8b97702b40a4a2137742e7f7b781d against try#bd7d74411512a3dd3b35d2f699c51dd2557c7e7e+cargoflags=-Zbuild-dir-new-layout for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbug-ops%2Ftap-mcp-bridge" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-2-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-2-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/bug-ops/tap-mcp-bridge
[INFO] finished tweaking git repo https://github.com/bug-ops/tap-mcp-bridge
[INFO] tweaked toml for git repo https://github.com/bug-ops/tap-mcp-bridge written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/bug-ops/tap-mcp-bridge on toolchain bd7d74411512a3dd3b35d2f699c51dd2557c7e7e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/bug-ops/tap-mcp-bridge 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" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f5a3c913076b870243d174563cc1c50637f34b0421a5d4b5ce803f4aec94a8c3
[INFO] running `Command { std: "docker" "start" "-a" "f5a3c913076b870243d174563cc1c50637f34b0421a5d4b5ce803f4aec94a8c3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f5a3c913076b870243d174563cc1c50637f34b0421a5d4b5ce803f4aec94a8c3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f5a3c913076b870243d174563cc1c50637f34b0421a5d4b5ce803f4aec94a8c3", kill_on_drop: false }`
[INFO] [stdout] f5a3c913076b870243d174563cc1c50637f34b0421a5d4b5ce803f4aec94a8c3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 30346e331f66fdacd9dd3983f3d3ac22045b54a4df3651296e860896e3287089
[INFO] running `Command { std: "docker" "start" "-a" "30346e331f66fdacd9dd3983f3d3ac22045b54a4df3651296e860896e3287089", kill_on_drop: false }`
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling bytes v1.11.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling slab v0.4.11
[INFO] [stderr]    Compiling zmij v1.0.13
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling indexmap v2.12.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling cc v1.2.52
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling rustls-pki-types v1.13.2
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling time-core v0.1.6
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]    Compiling cmake v0.1.57
[INFO] [stderr]    Compiling openssl-src v300.5.4+3.5.4
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling deranged v0.5.5
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling time-macros v0.2.24
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling aws-lc-sys v0.35.0
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling time v0.3.44
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling rustls-webpki v0.103.8
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling aws-lc-rs v1.15.2
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling schemars_derive v1.2.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling hyper-util v0.1.19
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling webpki-roots v1.0.5
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling rust_decimal v1.39.0
[INFO] [stderr]    Compiling ryu v1.0.22
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling schemars v1.2.0
[INFO] [stderr]    Compiling flate2 v1.1.5
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling rmcp-macros v0.12.0
[INFO] [stderr]    Compiling toml_parser v1.0.6+spec-1.1.0
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling simple_asn1 v0.6.3
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling ed25519 v2.2.3
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling serde_spanned v1.0.4
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling pem v3.0.6
[INFO] [stderr]    Compiling toml_writer v1.0.6+spec-1.1.0
[INFO] [stderr]    Compiling pastey v0.2.1
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling toml v0.9.11+spec-1.1.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling ed25519-dalek v2.2.0
[INFO] [stderr]    Compiling uuid v1.19.0
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling rmcp v0.12.0
[INFO] [stderr]    Compiling secrecy v0.10.3
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling lru v0.16.3
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[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/tap-mcp-bridge)
[INFO] [stderr]    Compiling tap-mcp-server v0.2.0 (/opt/rustwide/workdir/tap-mcp-server)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8m 56s
[INFO] running `Command { std: "docker" "inspect" "30346e331f66fdacd9dd3983f3d3ac22045b54a4df3651296e860896e3287089", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "30346e331f66fdacd9dd3983f3d3ac22045b54a4df3651296e860896e3287089", kill_on_drop: false }`
[INFO] [stdout] 30346e331f66fdacd9dd3983f3d3ac22045b54a4df3651296e860896e3287089
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] f002eacda23f84a04338d26d1079b5e95f3af920a76d58122ab6d3a96413a591
[INFO] running `Command { std: "docker" "start" "-a" "f002eacda23f84a04338d26d1079b5e95f3af920a76d58122ab6d3a96413a591", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling zerocopy v0.8.33
[INFO] [stderr]    Compiling zerocopy-derive v0.8.33
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling clap_lex v0.7.6
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling clap_builder v4.5.54
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling schemars v1.2.0
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling simple_asn1 v0.6.3
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling rmcp v0.12.0
[INFO] [stderr]    Compiling josekit v0.10.3
[INFO] [stderr]    Compiling jsonwebtoken v10.2.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rust_decimal v1.39.0
[INFO] [stderr]    Compiling uuid v1.19.0
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling criterion-plot v0.8.1
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling clap v4.5.54
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling page_size v0.6.0
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling proptest v1.9.0
[INFO] [stderr]    Compiling criterion v0.8.1
[INFO] [stderr]    Compiling tap-mcp-bridge v0.2.0 (/opt/rustwide/workdir/tap-mcp-bridge)
[INFO] [stderr]    Compiling tap-mcp-server v0.2.0 (/opt/rustwide/workdir/tap-mcp-server)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 49s
[INFO] running `Command { std: "docker" "inspect" "f002eacda23f84a04338d26d1079b5e95f3af920a76d58122ab6d3a96413a591", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f002eacda23f84a04338d26d1079b5e95f3af920a76d58122ab6d3a96413a591", kill_on_drop: false }`
[INFO] [stdout] f002eacda23f84a04338d26d1079b5e95f3af920a76d58122ab6d3a96413a591
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] d087b8cdc946505785a518ec3aa8f7b225f00acf603b4a7b53f4066a99cc234b
[INFO] running `Command { std: "docker" "start" "-a" "d087b8cdc946505785a518ec3aa8f7b225f00acf603b4a7b53f4066a99cc234b", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.52s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/tap-mcp-bridge/6a07c10a458a62b2/deps/tap_mcp_bridge-6a07c10a458a62b2)
[INFO] [stdout] 
[INFO] [stdout] running 587 tests
[INFO] [stdout] test error::tests::test_invalid_merchant_url_error ... ok
[INFO] [stdout] test error::tests::test_invalid_consumer_id_error ... ok
[INFO] [stdout] test error::tests::test_merchant_error ... ok
[INFO] [stdout] test mcp::cart::tests::test_add_to_cart_params_creation ... ok
[INFO] [stdout] test mcp::cart::tests::test_add_to_cart_params_new_cart ... ok
[INFO] [stdout] test mcp::cart::tests::test_add_to_cart_params_quantity_edge_cases ... ok
[INFO] [stdout] test mcp::cart::tests::test_add_to_cart_request_no_cart_id ... ok
[INFO] [stdout] test mcp::cart::tests::test_add_to_cart_request_serialization ... ok
[INFO] [stdout] test mcp::cart::tests::test_multiple_operations_same_cart ... ok
[INFO] [stdout] test mcp::cart::tests::test_remove_from_cart_params_creation ... ok
[INFO] [stdout] test mcp::cart::tests::test_update_cart_item_params_creation ... ok
[INFO] [stdout] test mcp::cart::tests::test_update_cart_item_params_zero_quantity ... ok
[INFO] [stdout] test mcp::cart::tests::test_update_cart_item_request ... ok
[INFO] [stdout] test mcp::cart::tests::test_update_cart_item_request_deserialization ... ok
[INFO] [stdout] test mcp::cart::tests::test_variant_id_none_vs_some ... ok
[INFO] [stdout] test mcp::http::tests::test_build_url_with_query_empty_value ... ok
[INFO] [stdout] test mcp::http::tests::test_build_url_with_query_multiple_params ... ok
[INFO] [stdout] test mcp::http::tests::test_build_url_with_query_no_params ... ok
[INFO] [stdout] test mcp::http::tests::test_build_url_with_query_path_with_segments ... ok
[INFO] [stdout] test mcp::http::tests::test_build_url_with_query_simple ... ok
[INFO] [stdout] test mcp::cart::tests::test_add_to_cart_request_with_variant ... ok
[INFO] [stdout] test mcp::cart::tests::test_cart_id_formats ... ok
[INFO] [stdout] test mcp::cart::tests::test_get_cart_params_creation ... ok
[INFO] [stdout] test mcp::http::tests::test_http_method_clone ... ok
[INFO] [stdout] test mcp::http::tests::test_create_http_client ... ok
[INFO] [stdout] test mcp::http::tests::test_http_method_as_str ... ok
[INFO] [stdout] test mcp::http::tests::test_http_method_eq ... ok
[INFO] [stdout] test mcp::http::tests::test_build_url_with_query_unicode ... ok
[INFO] [stdout] test mcp::http::tests::test_validate_search_param_empty ... ok
[INFO] [stdout] test mcp::http::tests::test_validate_search_param_max_length ... ok
[INFO] [stdout] test mcp::http::tests::test_validate_search_param_null_bytes ... ok
[INFO] [stdout] test mcp::http::tests::test_validate_search_param_valid ... ok
[INFO] [stdout] test mcp::http::tests::test_validate_search_param_non_ascii ... ok
[INFO] [stdout] test mcp::models::tests::test_address_without_phone ... ok
[INFO] [stdout] test mcp::models::tests::test_cart_item_serialization ... ok
[INFO] [stdout] test mcp::models::tests::test_address_creation ... ok
[INFO] [stdout] test mcp::models::tests::test_address_serialization ... ok
[INFO] [stdout] test mcp::models::tests::test_cart_item_creation ... ok
[INFO] [stdout] test mcp::models::tests::test_cart_state_creation ... ok
[INFO] [stdout] test mcp::models::tests::test_cart_state_with_items ... ok
[INFO] [stdout] test mcp::models::tests::test_currency_codes ... ok
[INFO] [stdout] test mcp::models::tests::test_decimal_zero_edge_case ... ok
[INFO] [stdout] test mcp::models::tests::test_empty_string_fields ... ok
[INFO] [stdout] test mcp::models::tests::test_order_creation ... ok
[INFO] [stdout] test mcp::models::tests::test_order_line_item_serialization ... ok
[INFO] [stdout] test mcp::models::tests::test_large_quantity_edge_case ... ok
[INFO] [stdout] test mcp::models::tests::test_order_status_all_variants ... ok
[INFO] [stdout] test mcp::models::tests::test_order_status_deserialization ... ok
[INFO] [stdout] test mcp::models::tests::test_order_line_item ... ok
[INFO] [stdout] test mcp::models::tests::test_payment_result_creation ... ok
[INFO] [stdout] test mcp::models::tests::test_order_status_serialization ... ok
[INFO] [stdout] test mcp::models::tests::test_payment_result_serialization ... ok
[INFO] [stdout] test mcp::models::tests::test_payment_result_declined ... ok
[INFO] [stdout] test mcp::models::tests::test_payment_status_all_variants ... ok
[INFO] [stdout] test mcp::models::tests::test_payment_status_equality ... ok
[INFO] [stdout] test mcp::models::tests::test_product_catalog_serialization ... ok
[INFO] [stdout] test mcp::models::tests::test_product_creation ... ok
[INFO] [stdout] test mcp::models::tests::test_product_serialization ... ok
[INFO] [stdout] test mcp::models::tests::test_product_with_variants ... ok
[INFO] [stdout] test mcp::orders::tests::test_create_order_params ... ok
[INFO] [stdout] test mcp::orders::tests::test_create_order_params_no_options ... ok
[INFO] [stdout] test mcp::orders::tests::test_create_order_params_separate_billing ... ok
[INFO] [stdout] test mcp::orders::tests::test_create_order_request_no_optionals ... ok
[INFO] [stdout] test mcp::orders::tests::test_delivery_options ... ok
[INFO] [stdout] test mcp::orders::tests::test_create_order_request_serialization ... ok
[INFO] [stdout] test mcp::orders::tests::test_get_order_params_creation ... ok
[INFO] [stdout] test mcp::orders::tests::test_order_id_formats ... ok
[INFO] [stdout] test mcp::payment::tests::test_bank_account_data_conversion ... ok
[INFO] [stdout] test mcp::orders::tests::test_promo_codes ... ok
[INFO] [stdout] test mcp::payment::tests::test_card_data_conversion ... ok
[INFO] [stdout] test mcp::payment::tests::test_digital_wallet_data_conversion ... ok
[INFO] [stdout] test mcp::payment::tests::test_empty_cvv ... ok
[INFO] [stdout] test mcp::payment::tests::test_payment_method_deserialization_bank_account ... ok
[INFO] [stdout] test mcp::payment::tests::test_payment_method_deserialization_card ... ok
[INFO] [stdout] test mcp::payment::tests::test_payment_method_deserialization_digital_wallet ... ok
[INFO] [stdout] test mcp::payment::tests::test_payment_method_params_card ... ok
[INFO] [stdout] test mcp::payment::tests::test_payment_method_params_bank_account ... ok
[INFO] [stdout] test mcp::payment::tests::test_payment_method_params_bank_account_types ... ok
[INFO] [stdout] test mcp::payment::tests::test_payment_method_params_card_various_formats ... ok
[INFO] [stdout] test mcp::payment::tests::test_payment_method_params_digital_wallet ... ok
[INFO] [stdout] test mcp::payment::tests::test_payment_method_params_wallet_types ... ok
[INFO] [stdout] test mcp::payment::tests::test_process_payment_params_creation ... ok
[INFO] [stdout] test mcp::payment::tests::test_process_payment_params_with_digital_wallet ... ok
[INFO] [stdout] test mcp::payment::tests::test_process_payment_params_with_bank_account ... ok
[INFO] [stdout] test mcp::payment::tests::test_various_expiry_year_formats ... ok
[INFO] [stdout] test mcp::payment::tests::test_process_payment_request_serialization ... ok
[INFO] [stdout] test mcp::payment::tests::test_process_payment_request_deserialization ... ok
[INFO] [stdout] test mcp::products::tests::test_contextual_data_country_codes ... ok
[INFO] [stdout] test mcp::products::tests::test_empty_search_query ... ok
[INFO] [stdout] test mcp::products::tests::test_get_product_params_creation ... ok
[INFO] [stdout] test mcp::products::tests::test_get_products_params_creation ... ok
[INFO] [stdout] test mcp::products::tests::test_get_products_params_no_filters ... ok
[INFO] [stdout] test mcp::products::tests::test_get_products_params_with_search ... ok
[INFO] [stdout] test mcp::products::tests::test_get_product_params_various_ids ... ok
[INFO] [stdout] test mcp::products::tests::test_get_products_params_edge_case_large_page ... ok
[INFO] [stdout] test mcp::products::tests::test_ip_address_formats ... ok
[INFO] [stdout] test mcp::products::tests::test_pagination_edge_cases ... ok
[INFO] [stdout] test mcp::products::tests::test_platform_values ... ok
[INFO] [stdout] test mcp::products::tests::test_product_catalog_response_with_products ... ok
[INFO] [stdout] test mcp::products::tests::test_user_agent_strings ... ok
[INFO] [stdout] test mcp::products::tests::test_product_catalog_response_deserialization ... ok
[INFO] [stdout] test mcp::products::tests::test_zip_code_formats ... ok
[INFO] [stdout] test mcp::subscriptions::lifecycle::tests::test_active_to_canceled_at_period_end ... ok
[INFO] [stdout] test mcp::subscriptions::lifecycle::tests::test_active_to_paused_transition ... ok
[INFO] [stdout] test mcp::subscriptions::lifecycle::tests::test_active_update_quantity ... ok
[INFO] [stdout] test mcp::subscriptions::lifecycle::tests::test_past_due_failure_count ... ok
[INFO] [stdout] test mcp::subscriptions::lifecycle::tests::test_past_due_grace_period_expiration ... ok
[INFO] [stdout] test mcp::subscriptions::lifecycle::tests::test_past_due_record_failure ... ok
[INFO] [stdout] test mcp::subscriptions::lifecycle::tests::test_past_due_to_active_recovery ... ok
[INFO] [stdout] test mcp::subscriptions::lifecycle::tests::test_paused_resume_at ... ok
[INFO] [stdout] test mcp::subscriptions::lifecycle::tests::test_paused_to_active_transition ... ok
[INFO] [stdout] test mcp::subscriptions::lifecycle::tests::test_paused_to_canceled_transition ... ok
[INFO] [stdout] test mcp::subscriptions::lifecycle::tests::test_state_data_active_serialization ... ok
[INFO] [stdout] test mcp::subscriptions::lifecycle::tests::test_state_data_paused_serialization ... ok
[INFO] [stdout] test mcp::subscriptions::lifecycle::tests::test_state_data_canceled_serialization ... ok
[INFO] [stdout] test mcp::subscriptions::lifecycle::tests::test_state_data_trial_serialization ... ok
[INFO] [stdout] test mcp::subscriptions::lifecycle::tests::test_subscription_response_from_active ... ok
[INFO] [stdout] test mcp::subscriptions::lifecycle::tests::test_subscription_response_from_trial ... ok
[INFO] [stdout] test mcp::subscriptions::lifecycle::tests::test_subscription_response_roundtrip ... ok
[INFO] [stdout] test mcp::subscriptions::lifecycle::tests::test_subscription_status_active_serialization ... ok
[INFO] [stdout] test mcp::subscriptions::lifecycle::tests::test_subscription_status_canceled_serialization ... ok
[INFO] [stdout] test mcp::subscriptions::lifecycle::tests::test_subscription_status_expired_serialization ... ok
[INFO] [stdout] test mcp::subscriptions::lifecycle::tests::test_subscription_status_past_due_serialization ... ok
[INFO] [stdout] test mcp::subscriptions::lifecycle::tests::test_subscription_status_trial_serialization ... ok
[INFO] [stdout] test mcp::subscriptions::lifecycle::tests::test_subscription_status_paused_serialization ... ok
[INFO] [stdout] test mcp::subscriptions::lifecycle::tests::test_trial_ends_at ... ok
[INFO] [stdout] test mcp::subscriptions::lifecycle::tests::test_trial_is_expired ... ok
[INFO] [stdout] test mcp::subscriptions::lifecycle::tests::test_trial_not_expired ... ok
[INFO] [stdout] test mcp::subscriptions::lifecycle::tests::test_trial_to_active_transition ... ok
[INFO] [stdout] test mcp::subscriptions::lifecycle::tests::test_trial_to_canceled_transition ... ok
[INFO] [stdout] test mcp::subscriptions::models::tests::test_billing_cycle_annual_display ... ok
[INFO] [stdout] test mcp::subscriptions::models::tests::test_billing_cycle_custom_multi_day_display ... ok
[INFO] [stdout] test mcp::subscriptions::models::tests::test_billing_cycle_custom_single_day_display ... ok
[INFO] [stdout] test mcp::subscriptions::models::tests::test_billing_cycle_deserialization ... ok
[INFO] [stdout] test mcp::subscriptions::models::tests::test_billing_cycle_monthly_display ... ok
[INFO] [stdout] test mcp::subscriptions::models::tests::test_billing_cycle_onetime_display ... ok
[INFO] [stdout] test mcp::subscriptions::models::tests::test_billing_cycle_serialization ... ok
[INFO] [stdout] test mcp::subscriptions::models::tests::test_billing_cycle_weekly_display ... ok
[INFO] [stdout] test mcp::subscriptions::models::tests::test_plan_id_accepts_valid_chars ... ok
[INFO] [stdout] test mcp::subscriptions::models::tests::test_plan_id_empty_rejected ... ok
[INFO] [stdout] test mcp::subscriptions::models::tests::test_plan_id_exactly_64_chars_accepted ... ok
[INFO] [stdout] test mcp::subscriptions::models::tests::test_plan_id_rejects_path_traversal ... ok
[INFO] [stdout] test mcp::subscriptions::models::tests::test_plan_id_rejects_slash ... ok
[INFO] [stdout] test mcp::subscriptions::models::tests::test_plan_id_single_char_accepted ... ok
[INFO] [stdout] test error::tests::test_error_display ... ok
[INFO] [stdout] test mcp::subscriptions::lifecycle::tests::test_active_to_canceled_immediate ... ok
[INFO] [stdout] test mcp::subscriptions::models::tests::test_plan_id_valid ... ok
[INFO] [stdout] test mcp::subscriptions::lifecycle::tests::test_active_to_past_due_transition ... ok
[INFO] [stdout] test mcp::subscriptions::models::tests::test_subscription_id_empty_rejected ... ok
[INFO] [stdout] test mcp::subscriptions::models::tests::test_subscription_id_exactly_64_chars_accepted ... ok
[INFO] [stdout] test mcp::subscriptions::models::tests::test_subscription_id_rejects_special_chars ... ok
[INFO] [stdout] test mcp::subscriptions::models::tests::test_subscription_id_rejects_whitespace ... ok
[INFO] [stdout] test mcp::subscriptions::models::tests::test_subscription_id_too_long_rejected ... ok
[INFO] [stdout] test mcp::subscriptions::models::tests::test_subscription_id_valid ... ok
[INFO] [stdout] test mcp::subscriptions::models::tests::test_usage_action_deserialization ... ok
[INFO] [stdout] test mcp::subscriptions::models::tests::test_usage_action_increment_serialization ... ok
[INFO] [stdout] test mcp::subscriptions::models::tests::test_usage_action_set_serialization ... ok
[INFO] [stdout] test mcp::subscriptions::pricing::tests::test_flat_rate_minimum_price ... ok
[INFO] [stdout] test mcp::subscriptions::pricing::tests::test_flat_rate_with_setup_fee ... ok
[INFO] [stdout] test mcp::subscriptions::pricing::tests::test_hybrid_minimum_price ... ok
[INFO] [stdout] test mcp::subscriptions::pricing::tests::test_hybrid_zero_base_price ... ok
[INFO] [stdout] test mcp::subscriptions::pricing::tests::test_per_seat_minimum_price_no_minimum ... ok
[INFO] [stdout] test mcp::subscriptions::pricing::tests::test_per_seat_minimum_price_with_minimum ... ok
[INFO] [stdout] test mcp::subscriptions::pricing::tests::test_per_seat_minimum_price_zero_seats ... ok
[INFO] [stdout] test mcp::subscriptions::pricing::tests::test_pricing_model_serialization_flat_rate ... ok
[INFO] [stdout] test mcp::subscriptions::pricing::tests::test_pricing_model_serialization_tiered ... ok
[INFO] [stdout] test mcp::subscriptions::pricing::tests::test_tier_mode_graduated_serialization ... ok
[INFO] [stdout] test mcp::subscriptions::pricing::tests::test_tier_mode_volume_serialization ... ok
[INFO] [stdout] test mcp::subscriptions::pricing::tests::test_tiered_minimum_price_single_tier ... ok
[INFO] [stdout] test mcp::subscriptions::pricing::tests::test_tiered_minimum_price_empty_tiers ... ok
[INFO] [stdout] test mcp::subscriptions::pricing::tests::test_usage_aggregation_average_serialization ... ok
[INFO] [stdout] test mcp::subscriptions::pricing::tests::test_tiered_minimum_price_multiple_tiers ... ok
[INFO] [stdout] test mcp::subscriptions::pricing::tests::test_usage_aggregation_last_value_serialization ... ok
[INFO] [stdout] test mcp::subscriptions::pricing::tests::test_usage_aggregation_max_serialization ... ok
[INFO] [stdout] test mcp::subscriptions::pricing::tests::test_usage_aggregation_sum_serialization ... ok
[INFO] [stdout] test mcp::subscriptions::pricing::tests::test_usage_based_minimum_price_with_commitment ... ok
[INFO] [stdout] test mcp::subscriptions::pricing::tests::test_usage_based_minimum_price_no_commitment ... ok
[INFO] [stdout] test mcp::subscriptions::proration::tests::test_calculate_charge_half_period ... ok
[INFO] [stdout] test mcp::subscriptions::proration::tests::test_calculate_charge_end_of_period ... ok
[INFO] [stdout] test mcp::subscriptions::proration::tests::test_calculate_charge_invalid_date_before_start ... ok
[INFO] [stdout] test mcp::cart::tests::test_item_id_formats ... ok
[INFO] [stdout] test mcp::models::tests::test_cart_state_empty ... ok
[INFO] [stdout] test mcp::subscriptions::proration::tests::test_calculate_credit_invalid_date_after_end ... ok
[INFO] [stdout] test mcp::subscriptions::proration::tests::test_calculate_credit_invalid_date_before_start ... ok
[INFO] [stdout] test mcp::http::tests::test_build_url_with_query_special_chars ... ok
[INFO] [stdout] test mcp::subscriptions::models::tests::test_plan_id_too_long_rejected ... ok
[INFO] [stdout] test mcp::subscriptions::proration::tests::test_calculate_charge_invalid_date_after_end ... ok
[INFO] [stdout] test mcp::subscriptions::proration::tests::test_calculate_charge_start_of_period ... ok
[INFO] [stdout] test mcp::subscriptions::proration::tests::test_calculate_charge_zero_duration_period ... ok
[INFO] [stdout] test mcp::subscriptions::proration::tests::test_calculate_credit_end_of_period ... ok
[INFO] [stdout] test mcp::subscriptions::proration::tests::test_calculate_credit_half_period ... ok
[INFO] [stdout] test mcp::subscriptions::proration::tests::test_calculate_credit_start_of_period ... ok
[INFO] [stdout] test mcp::subscriptions::proration::tests::test_calculate_credit_zero_duration_period ... ok
[INFO] [stdout] test mcp::subscriptions::proration::tests::test_calculate_next_billing_date_annual_day_clamped ... ok
[INFO] [stdout] test mcp::subscriptions::proration::tests::test_calculate_next_billing_date_custom_interval ... ok
[INFO] [stdout] test mcp::subscriptions::proration::tests::test_calculate_next_billing_date_custom_single_day ... ok
[INFO] [stdout] test mcp::subscriptions::proration::tests::test_calculate_next_billing_date_custom_large_interval ... ok
[INFO] [stdout] test mcp::subscriptions::proration::tests::test_calculate_next_billing_date_monthly_anchor_day_28 ... ok
[INFO] [stdout] test mcp::subscriptions::proration::tests::test_calculate_next_billing_date_monthly_anchor_day_clamped ... ok
[INFO] [stdout] test mcp::subscriptions::proration::tests::test_calculate_next_billing_date_onetime_no_validity ... ok
[INFO] [stdout] test mcp::subscriptions::proration::tests::test_calculate_next_billing_date_monthly ... ok
[INFO] [stdout] test mcp::subscriptions::proration::tests::test_calculate_next_billing_date_annual ... ok
[INFO] [stdout] test mcp::subscriptions::proration::tests::test_calculate_next_billing_date_onetime_with_validity ... ok
[INFO] [stdout] test mcp::subscriptions::proration::tests::test_calculate_next_billing_date_annual_month_clamped ... ok
[INFO] [stdout] test mcp::subscriptions::proration::tests::test_calculate_next_billing_date_weekly_monday ... ok
[INFO] [stdout] test mcp::subscriptions::proration::tests::test_calculate_next_billing_date_weekly_anchor_clamped ... ok
[INFO] [stdout] test mcp::subscriptions::tools::tests::test_proration_behavior_create_prorations_serialization ... ok
[INFO] [stdout] test mcp::subscriptions::proration::tests::test_calculate_next_billing_date_weekly_saturday ... ok
[INFO] [stdout] test mcp::subscriptions::proration::tests::test_calculate_next_billing_date_weekly_sunday ... ok
[INFO] [stdout] test mcp::subscriptions::tools::tests::test_proration_behavior_all_variants ... ok
[INFO] [stdout] test mcp::subscriptions::tools::tests::test_proration_behavior_always_invoice_serialization ... ok
[INFO] [stdout] test mcp::subscriptions::tools::tests::test_proration_behavior_none_serialization ... 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_rejects_127_0_0_1 ... ok
[INFO] [stdout] test mcp::tools::tests::test_parse_merchant_url_requires_https ... ok
[INFO] [stdout] test mcp::tools::tests::test_parse_merchant_url_ftp_rejected ... ok
[INFO] [stdout] test mcp::tools::tests::test_parse_merchant_url_invalid ... ok
[INFO] [stdout] test mcp::tools::tests::test_parse_merchant_url_rejects_localhost ... 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_valid ... ok
[INFO] [stdout] test mcp::tools::tests::test_parse_merchant_url_with_path ... ok
[INFO] [stdout] test mcp::tools::tests::test_parse_merchant_url_with_port ... ok
[INFO] [stdout] test mcp::tools::tests::test_validate_consumer_id_empty ... 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_ws_rejected ... 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 merchant::config::tests::test_auth_config_api_key ... ok
[INFO] [stdout] test merchant::config::tests::test_all_endpoints_configured ... ok
[INFO] [stdout] test mcp::tools::tests::test_validate_consumer_id_too_long ... ok
[INFO] [stdout] test merchant::config::tests::test_auth_config_bearer ... ok
[INFO] [stdout] test merchant::config::tests::test_auth_config_oauth2 ... ok
[INFO] [stdout] test merchant::config::tests::test_endpoint_config_from_toml ... ok
[INFO] [stdout] test merchant::config::tests::test_complete_config ... ok
[INFO] [stdout] test merchant::config::tests::test_empty_api_prefix_default ... ok
[INFO] [stdout] test merchant::config::tests::test_empty_field_mappings ... ok
[INFO] [stdout] test merchant::config::tests::test_endpoint_config_default ... ok
[INFO] [stdout] test merchant::config::tests::test_field_mappings_from_toml ... ok
[INFO] [stdout] test merchant::config::tests::test_invalid_toml_syntax ... ok
[INFO] [stdout] test merchant::config::tests::test_missing_required_base_url ... ok
[INFO] [stdout] test merchant::config::tests::test_pagination_cursor_based ... ok
[INFO] [stdout] test merchant::config::tests::test_merchant_config_default ... ok
[INFO] [stdout] test merchant::config::tests::test_merchant_config_from_toml ... ok
[INFO] [stdout] test merchant::config::tests::test_missing_required_name ... ok
[INFO] [stdout] test merchant::config::tests::test_none_auth_config ... ok
[INFO] [stdout] test merchant::config::tests::test_pagination_style ... ok
[INFO] [stdout] test merchant::config::tests::test_pagination_style_default ... ok
[INFO] [stdout] test merchant::config::tests::test_validate_double_slash_endpoint_rejected ... ok
[INFO] [stdout] test merchant::config::tests::test_validate_env_var_starts_with_number_rejected ... ok
[INFO] [stdout] test merchant::config::tests::test_validate_localhost_base_url_rejected ... ok
[INFO] [stdout] test merchant::config::tests::test_validate_empty_base_url_allowed ... ok
[INFO] [stdout] test merchant::config::tests::test_validate_endpoint_must_start_with_slash ... ok
[INFO] [stdout] test merchant::config::tests::test_validate_loopback_base_url_rejected ... ok
[INFO] [stdout] test merchant::config::tests::test_validate_env_var_name_invalid_chars ... ok
[INFO] [stdout] test merchant::config::tests::test_validate_header_name_invalid_chars ... ok
[INFO] [stdout] test merchant::config::tests::test_validate_http_base_url_rejected ... ok
[INFO] [stdout] test merchant::config::tests::test_validate_null_byte_field_rejected ... ok
[INFO] [stdout] test merchant::config::tests::test_validate_path_traversal_endpoint_rejected ... ok
[INFO] [stdout] test merchant::config::tests::test_validate_oauth2_http_token_url_rejected ... ok
[INFO] [stdout] test merchant::config::tests::test_validate_oauth2_localhost_token_url_rejected ... ok
[INFO] [stdout] test merchant::config::tests::test_validate_prototype_pollution_field_rejected ... ok
[INFO] [stdout] test merchant::config::tests::test_validate_sql_injection_field_rejected ... ok
[INFO] [stdout] test merchant::default::tests::test_default_merchant_clone ... ok
[INFO] [stdout] test merchant::default::tests::test_default_merchant_endpoint_resolver ... ok
[INFO] [stdout] test merchant::default::tests::test_default_merchant_from_file_not_found ... ok
[INFO] [stdout] test merchant::config::tests::test_validate_valid_auth_configs ... ok
[INFO] [stdout] test merchant::config::tests::test_validate_valid_config ... ok
[INFO] [stdout] test merchant::default::tests::test_default_merchant_config_accessor ... ok
[INFO] [stdout] test merchant::default::tests::test_default_merchant_default ... ok
[INFO] [stdout] test merchant::default::tests::test_default_merchant_field_mapper ... ok
[INFO] [stdout] test merchant::default::tests::test_default_merchant_from_toml ... ok
[INFO] [stdout] test merchant::default::tests::test_default_merchant_from_toml_empty ... ok
[INFO] [stdout] test merchant::default::tests::test_default_merchant_identity_conversion_with_empty_collections ... ok
[INFO] [stdout] test merchant::default::tests::test_default_merchant_minimal_config ... ok
[INFO] [stdout] test merchant::default::tests::test_default_merchant_from_toml_invalid ... ok
[INFO] [stdout] test merchant::default::tests::test_default_merchant_from_toml_missing_name ... ok
[INFO] [stdout] test merchant::default::tests::test_default_merchant_identity_conversions ... ok
[INFO] [stdout] test merchant::default::tests::test_default_merchant_new ... ok
[INFO] [stdout] test merchant::default::tests::test_default_merchant_with_all_auth_types ... ok
[INFO] [stdout] test merchant::default::tests::test_default_merchant_no_transformers ... ok
[INFO] [stdout] test merchant::default::tests::test_default_merchant_with_config ... ok
[INFO] [stdout] test merchant::default::tests::test_default_merchant_with_all_pagination_styles ... ok
[INFO] [stdout] test merchant::endpoint::tests::test_configurable_clone ... ok
[INFO] [stdout] test merchant::endpoint::tests::test_configurable_endpoint_resolver_defaults ... ok
[INFO] [stdout] test merchant::default::tests::test_default_merchant_with_custom_endpoints ... ok
[INFO] [stdout] test merchant::default::tests::test_default_merchant_with_field_mappings ... ok
[INFO] [stdout] test merchant::default::tests::test_default_merchant_with_unicode_config ... ok
[INFO] [stdout] test merchant::endpoint::tests::test_all_endpoints_with_same_resolver ... ok
[INFO] [stdout] test merchant::endpoint::tests::test_configurable_endpoint_resolver_custom ... ok
[INFO] [stdout] test merchant::endpoint::tests::test_configurable_endpoint_resolver_partial ... ok
[INFO] [stdout] test merchant::endpoint::tests::test_configurable_multiple_template_placeholders ... ok
[INFO] [stdout] test merchant::endpoint::tests::test_default_endpoint_resolver ... ok
[INFO] [stdout] test merchant::endpoint::tests::test_empty_order_id ... ok
[INFO] [stdout] test merchant::endpoint::tests::test_empty_product_id ... ok
[INFO] [stdout] test merchant::endpoint::tests::test_remove_cart_item_with_long_id ... ok
[INFO] [stdout] test merchant::endpoint::tests::test_configurable_no_template_placeholder ... ok
[INFO] [stdout] test merchant::endpoint::tests::test_configurable_template_with_special_chars ... ok
[INFO] [stdout] test merchant::endpoint::tests::test_default_endpoint_resolver_default_trait ... ok
[INFO] [stdout] test merchant::endpoint::tests::test_empty_cart_id ... ok
[INFO] [stdout] test merchant::endpoint::tests::test_product_endpoint_with_special_characters ... ok
[INFO] [stdout] test merchant::endpoint::tests::test_product_endpoint_with_unicode ... ok
[INFO] [stdout] test merchant::endpoint::tests::test_template_substitution ... ok
[INFO] [stdout] test merchant::field_map::tests::test_configurable_field_mapper_default ... ok
[INFO] [stdout] test merchant::field_map::tests::test_configurable_field_mapper_request_mapping ... ok
[INFO] [stdout] test merchant::field_map::tests::test_configurable_field_mapper_response_mapping ... ok
[INFO] [stdout] test merchant::endpoint::tests::test_update_cart_item_with_empty_id ... ok
[INFO] [stdout] test merchant::field_map::tests::test_configurable_field_mapper_bidirectional ... ok
[INFO] [stdout] test merchant::field_map::tests::test_configurable_field_mapper_empty ... ok
[INFO] [stdout] test merchant::field_map::tests::test_configurable_field_mapper_multiple_mappings ... ok
[INFO] [stdout] test merchant::field_map::tests::test_configurable_mapper_case_sensitivity ... ok
[INFO] [stdout] test merchant::field_map::tests::test_configurable_mapper_clone ... ok
[INFO] [stdout] test merchant::field_map::tests::test_configurable_mapper_cow_borrowed_when_not_mapped ... ok
[INFO] [stdout] test merchant::field_map::tests::test_configurable_mapper_response_only_mappings ... ok
[INFO] [stdout] test merchant::field_map::tests::test_configurable_mapper_unicode_field_names ... ok
[INFO] [stdout] test merchant::field_map::tests::test_configurable_mapper_with_empty_string_key ... ok
[INFO] [stdout] test merchant::field_map::tests::test_configurable_mapper_with_empty_string_value ... ok
[INFO] [stdout] test merchant::field_map::tests::test_identity_field_mapper ... ok
[INFO] [stdout] test merchant::field_map::tests::test_identity_field_mapper_default ... ok
[INFO] [stdout] test merchant::field_map::tests::test_identity_mapper_with_unicode ... ok
[INFO] [stdout] test merchant::field_map::tests::test_configurable_mapper_cow_owned_when_mapped ... ok
[INFO] [stdout] test merchant::field_map::tests::test_configurable_mapper_special_characters ... ok
[INFO] [stdout] test merchant::field_map::tests::test_configurable_mapper_very_long_field_names ... ok
[INFO] [stdout] test merchant::field_map::tests::test_has_mappings ... ok
[INFO] [stdout] test merchant::field_map::tests::test_identity_mapper_cow_borrowed ... ok
[INFO] [stdout] test merchant::subscription_config::tests::test_subscription_endpoint_config_default ... ok
[INFO] [stdout] test merchant::subscription_config::tests::test_subscription_endpoint_config_validate_double_slash ... ok
[INFO] [stdout] test merchant::subscription_config::tests::test_subscription_field_mapping_config_validate_null_byte ... ok
[INFO] [stdout] test merchant::subscription_config::tests::test_subscription_endpoint_config_validate_path_traversal ... ok
[INFO] [stdout] test merchant::subscription_config::tests::test_subscription_endpoint_config_validate_valid ... ok
[INFO] [stdout] test merchant::subscription_config::tests::test_subscription_field_mapping_config_default ... ok
[INFO] [stdout] test merchant::subscription_config::tests::test_subscription_field_mapping_config_validate_forbidden_field_name ... ok
[INFO] [stdout] test merchant::subscription_config::tests::test_subscription_field_mapping_config_validate_valid ... ok
[INFO] [stdout] test merchant::subscription_config::tests::test_subscription_merchant_config_default ... ok
[INFO] [stdout] test merchant::subscription_config::tests::test_subscription_merchant_config_from_toml_basic ... ok
[INFO] [stdout] test merchant::subscription_config::tests::test_subscription_merchant_config_default_values ... ok
[INFO] [stdout] test merchant::subscription_config::tests::test_subscription_merchant_config_validate_invalid_endpoint ... ok
[INFO] [stdout] test merchant::subscription_config::tests::test_subscription_merchant_config_from_toml_full ... ok
[INFO] [stdout] test merchant::field_map::tests::test_identity_mapper_with_empty_string ... ok
[INFO] [stdout] test merchant::subscription_traits::tests::test_default_subscription_endpoint_resolver_cancel ... ok
[INFO] [stdout] test merchant::subscription_traits::tests::test_default_subscription_endpoint_resolver_pause ... ok
[INFO] [stdout] test merchant::subscription_traits::tests::test_default_subscription_endpoint_resolver_payment_method ... ok
[INFO] [stdout] test merchant::subscription_config::tests::test_subscription_merchant_config_validate_success ... ok
[INFO] [stdout] test merchant::subscription_config::tests::test_subscription_settings_custom ... ok
[INFO] [stdout] test merchant::subscription_config::tests::test_subscription_settings_default ... ok
[INFO] [stdout] test merchant::subscription_traits::tests::test_default_subscription_endpoint_resolver_plan ... ok
[INFO] [stdout] test merchant::subscription_config::tests::test_subscription_merchant_config_validate_invalid_field_mapping ... ok
[INFO] [stdout] test merchant::subscription_traits::tests::test_default_subscription_endpoint_resolver_usage ... ok
[INFO] [stdout] test merchant::subscription_traits::tests::test_default_subscription_endpoint_resolver_plans ... ok
[INFO] [stdout] test merchant::subscription_traits::tests::test_default_subscription_endpoint_resolver_plans_with_filters ... ok
[INFO] [stdout] test merchant::subscription_traits::tests::test_default_subscription_endpoint_resolver_proration_preview ... ok
[INFO] [stdout] test merchant::subscription_traits::tests::test_default_subscription_endpoint_resolver_resume ... ok
[INFO] [stdout] test merchant::subscription_traits::tests::test_default_subscription_endpoint_resolver_subscription ... ok
[INFO] [stdout] test merchant::subscription_traits::tests::test_default_subscription_endpoint_resolver_subscriptions ... ok
[INFO] [stdout] test merchant::subscription_traits::tests::test_default_subscription_merchant_plan_catalog_passthrough ... ok
[INFO] [stdout] test merchant::subscription_traits::tests::test_plan_query_params_custom ... ok
[INFO] [stdout] test merchant::transform::tests::test_operation_all_variants ... ok
[INFO] [stdout] test merchant::transform::tests::test_operation_clone ... ok
[INFO] [stdout] test merchant::subscription_traits::tests::test_default_subscription_endpoint_resolver_usage_summary ... ok
[INFO] [stdout] test reliability::circuit_breaker::tests::test_circuit_breaker_error_display ... ok
[INFO] [stdout] test merchant::subscription_traits::tests::test_default_subscription_merchant_creation ... ok
[INFO] [stdout] test merchant::subscription_traits::tests::test_default_subscription_merchant_subscription_passthrough ... ok
[INFO] [stdout] test merchant::subscription_traits::tests::test_plan_query_params_default ... ok
[INFO] [stdout] test merchant::transform::tests::test_operation_debug ... ok
[INFO] [stdout] test merchant::transform::tests::test_operation_equality ... ok
[INFO] [stdout] test reliability::circuit_breaker::tests::test_circuit_breaker_zero_reset_timeout ... ok
[INFO] [stdout] test reliability::circuit_breaker::tests::test_circuit_breaker_very_long_timeout ... ok
[INFO] [stdout] test reliability::circuit_breaker::tests::test_default_config ... ok
[INFO] [stdout] test reliability::circuit_breaker::tests::test_circuit_opens_after_threshold ... ok
[INFO] [stdout] test reliability::circuit_breaker::tests::test_error_propagation ... ok
[INFO] [stdout] test reliability::circuit_breaker::tests::test_failed_operation ... ok
[INFO] [stdout] test reliability::circuit_breaker::tests::test_circuit_breaker_high_failure_count ... ok
[INFO] [stdout] test reliability::circuit_breaker::tests::test_initial_state ... ok
[INFO] [stdout] test reliability::circuit_breaker::tests::test_successful_operation ... ok
[INFO] [stdout] test reliability::circuit_breaker::tests::test_thread_safety ... ok
[INFO] [stdout] test reliability::retry::tests::test_delay_capped_at_max ... ok
[INFO] [stdout] test reliability::retry::tests::test_delay_for_attempt ... ok
[INFO] [stdout] test reliability::retry::tests::test_delay_for_attempt_large_values ... ok
[INFO] [stdout] test reliability::retry::tests::test_is_not_retryable_circuit_open ... ok
[INFO] [stdout] test reliability::retry::tests::test_is_not_retryable_crypto_error ... 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_merchant_error ... 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_request_too_old ... 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::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 reliability::retry::tests::test_retry_with_backoff_success_first_attempt ... ok
[INFO] [stdout] test mcp::tools::tests::test_compute_content_digest_empty ... ok
[INFO] [stdout] test security::audit::tests::test_audit_event_builder ... ok
[INFO] [stdout] test security::audit::tests::test_audit_event_serialization ... ok
[INFO] [stdout] test security::audit::tests::test_audit_event_with_error ... ok
[INFO] [stdout] test security::audit::tests::test_audit_event_with_very_long_error ... 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_redact_credit_card ... 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 ... ok
[INFO] [stdout] test security::audit::tests::test_redact_cvv_no_space ... ok
[INFO] [stdout] test security::audit::tests::test_redact_multiple_credit_cards ... ok
[INFO] [stdout] test security::audit::tests::test_redact_sensitive_empty_string ... 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 reliability::retry::tests::test_retry_with_backoff_timing ... ok
[INFO] [stdout] test security::rate_limit::tests::test_rate_limited_signer_enforces_limit ... 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_allows_requests_within_limit ... ok
[INFO] [stdout] test security::rate_limit::tests::test_rate_limited_signer_blocking_waits ... ok
[INFO] [stdout] test reliability::circuit_breaker::tests::test_circuit_closes_after_success_threshold ... ok
[INFO] [stdout] test security::rate_limit::tests::test_rate_limiter_blocking_waits ... ok
[INFO] [stdout] test reliability::circuit_breaker::tests::test_circuit_half_open_after_timeout ... ok
[INFO] [stdout] test security::rate_limit::tests::test_rate_limiter_concurrent_access ... ok
[INFO] [stdout] test reliability::circuit_breaker::tests::test_half_open_reopens_on_failure ... ok
[INFO] [stdout] test security::rate_limit::tests::test_rate_limiter_rejects_excess_requests ... 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 tap::acro::tests::test_acro_different_keys_different_signatures ... ok
[INFO] [stdout] test tap::acro::tests::test_acro_kid_matches_requirement ... ok
[INFO] [stdout] test tap::acro::tests::test_acro_nonce_matches_requirement ... ok
[INFO] [stdout] test tap::acro::tests::test_acro_serialization ... 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_contextual_data_creation ... ok
[INFO] [stdout] test tap::acro::tests::test_device_data_creation ... ok
[INFO] [stdout] test tap::acro::tests::test_signature_base_excludes_signature ... ok
[INFO] [stdout] test tap::apc::tests::test_apc_creation ... ok
[INFO] [stdout] test tap::apc::tests::test_apc_deserialization ... ok
[INFO] [stdout] test tap::apc::tests::test_apc_different_data_different_signatures ... 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_nonce_matches_requirement ... ok
[INFO] [stdout] test tap::apc::tests::test_apc_serialization ... ok
[INFO] [stdout] test tap::apc::tests::test_apc_signature_not_empty ... ok
[INFO] [stdout] test tap::apc::tests::test_apc_signature_verifiable ... 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_bank_account_last_four ... ok
[INFO] [stdout] test tap::acro::tests::test_acro_signature_verifiable ... 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_credential_hash ... 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_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_roundtrip ... ok
[INFO] [stdout] test tap::jwk::tests::test_different_keys_different_thumbprints ... ok
[INFO] [stdout] test tap::jwk::tests::test_same_key_same_thumbprint ... ok
[INFO] [stdout] test tap::jwk::tests::test_jwks_serialization ... 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::jwt::tests::test_different_keys_different_signatures ... ok
[INFO] [stdout] test tap::jwt::tests::test_id_token_claims_creation ... 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::jwt::tests::test_id_token_format ... ok
[INFO] [stdout] test security::rate_limit::tests::test_rate_limiter_refills_over_time ... 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_token_expiration_time ... ok
[INFO] [stdout] test tap::jwt::tests::test_jwt_payload_format ... 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_content_digest_known_value ... ok
[INFO] [stdout] test tap::signer::tests::test_compute_keyid ... ok
[INFO] [stdout] test tap::signer::tests::test_compute_keyid_rfc7638_test_vector ... ok
[INFO] [stdout] test tap::signer::tests::test_compute_keyid_different_keys_different_thumbprints ... ok
[INFO] [stdout] test tap::signer::tests::test_generate_acro ... ok
[INFO] [stdout] test tap::signer::tests::test_different_requests_produce_different_signatures ... ok
[INFO] [stdout] test tap::signer::tests::test_generate_acro_kid_matches_signature_keyid ... ok
[INFO] [stdout] test tap::signer::tests::test_generate_acro_nonce_correlation ... ok
[INFO] [stdout] test tap::signer::tests::test_generate_id_token ... ok
[INFO] [stdout] test tap::signer::tests::test_generate_id_token_format ... 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_jwks_kid_matches_signature_keyid ... ok
[INFO] [stdout] test tap::signer::tests::test_sign_request ... ok
[INFO] [stdout] test tap::jwt::tests::test_jwt_signature_verifiable ... 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::signer::tests::test_sign_request_signature_verifiable ... ok
[INFO] [stdout] test reliability::circuit_breaker::tests::test_circuit_breaker_multiple_half_open_failures ... ok
[INFO] [stdout] test tap::verifier::tests::test_verify_valid_signature ... ok
[INFO] [stdout] test tests::test_library_exports ... ok
[INFO] [stdout] test transport::config::tests::test_http_config_default ... ok
[INFO] [stdout] test transport::config::tests::test_http_config_empty_toml ... ok
[INFO] [stdout] test transport::config::tests::test_http_config_from_toml ... ok
[INFO] [stdout] test transport::config::tests::test_http_config_invalid_toml ... ok
[INFO] [stdout] test transport::config::tests::test_http_config_large_pool_size ... ok
[INFO] [stdout] test transport::config::tests::test_http_config_large_timeout ... ok
[INFO] [stdout] test transport::config::tests::test_http_config_partial_fields ... ok
[INFO] [stdout] test transport::config::tests::test_http_config_timeout ... ok
[INFO] [stdout] test transport::config::tests::test_http_config_validate_connect_timeout_too_large ... ok
[INFO] [stdout] test transport::config::tests::test_http_config_validate_connect_timeout_zero ... ok
[INFO] [stdout] test transport::config::tests::test_http_config_validate_default ... ok
[INFO] [stdout] test transport::config::tests::test_http_config_validate_timeout_too_large ... ok
[INFO] [stdout] test transport::config::tests::test_http_config_validate_timeout_zero ... ok
[INFO] [stdout] test transport::config::tests::test_http_config_validate_valid_bounds ... ok
[INFO] [stdout] test transport::config::tests::test_http_config_with_defaults ... ok
[INFO] [stdout] test transport::config::tests::test_http_config_zero_pool_size ... ok
[INFO] [stdout] test transport::config::tests::test_http_config_zero_timeout ... ok
[INFO] [stdout] test transport::config::tests::test_http_version_all_variants ... ok
[INFO] [stdout] test transport::config::tests::test_http_version_default ... ok
[INFO] [stdout] test transport::config::tests::test_http_version_from_toml ... ok
[INFO] [stdout] test transport::config::tests::test_http_version_invalid_value ... ok
[INFO] [stdout] test transport::config::tests::test_transport_config_default ... ok
[INFO] [stdout] test transport::config::tests::test_transport_config_from_toml ... ok
[INFO] [stdout] test transport::config::tests::test_transport_config_http2 ... ok
[INFO] [stdout] test transport::config::tests::test_transport_config_invalid_protocol ... 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 transport::config::tests::test_transport_config_missing_protocol ... ok
[INFO] [stdout] test transport::http::tests::test_http_transport_default_config ... ok
[INFO] [stdout] test tap::verifier::tests::test_replay_protection ... ok
[INFO] [stdout] test transport::http::tests::test_http_transport_get_invalid_url ... ok
[INFO] [stdout] test transport::http::tests::test_http_transport_delete_request ... ok
[INFO] [stdout] test transport::http::tests::test_http_transport_http1_only ... ok
[INFO] [stdout] test transport::http::tests::test_default_http_client_is_singleton ... ok
[INFO] [stdout] test transport::http::tests::test_http_transport_debug_format ... ok
[INFO] [stdout] test transport::http::tests::test_http_transport_new ... ok
[INFO] [stdout] test transport::http::tests::test_http_transport_protocol_name ... ok
[INFO] [stdout] test transport::http::tests::test_http_transport_post_with_content_type ... ok
[INFO] [stdout] test transport::http::tests::test_http_transport_rejects_crlf_header ... ok
[INFO] [stdout] test transport::http::tests::test_http_transport_post_empty_body ... ok
[INFO] [stdout] test transport::http::tests::test_http_transport_rejects_http_url ... ok
[INFO] [stdout] test transport::http::tests::test_http_transport_rejects_path_traversal ... ok
[INFO] [stdout] test transport::http::tests::test_http_transport_rejects_localhost ... ok
[INFO] [stdout] test transport::http::tests::test_http_transport_url_missing_host ... ok
[INFO] [stdout] test transport::http::tests::test_http_transport_with_config ... ok
[INFO] [stdout] test transport::http::tests::test_http_transport_url_with_trailing_slash ... ok
[INFO] [stdout] test transport::http::tests::test_http_transport_with_large_pool_size ... ok
[INFO] [stdout] test transport::http::tests::test_http_transport_with_custom_headers ... ok
[INFO] [stdout] test transport::http::tests::test_http_transport_with_large_timeout ... ok
[INFO] [stdout] test transport::http::tests::test_http_transport_path_without_leading_slash ... ok
[INFO] [stdout] test transport::http::tests::test_http_transport_with_zero_pool_size ... ok
[INFO] [stdout] test transport::http::tests::test_http_transport_with_zero_timeout ... ok
[INFO] [stdout] test transport::http::tests::test_sanitize_path_leading_slash_required ... ok
[INFO] [stdout] test transport::http::tests::test_sanitize_path_traversal_blocked ... ok
[INFO] [stdout] test transport::http::tests::test_sanitize_path_valid ... ok
[INFO] [stdout] test transport::http::tests::test_validate_header_crlf_injection_blocked ... ok
[INFO] [stdout] test transport::http::tests::test_validate_header_valid ... ok
[INFO] [stdout] test transport::http::tests::test_validate_url_https_required ... ok
[INFO] [stdout] test transport::tests::test_request_context_creation ... ok
[INFO] [stdout] test transport::http::tests::test_validate_url_localhost_blocked ... ok
[INFO] [stdout] test transport::tests::test_request_context_clone ... ok
[INFO] [stdout] test transport::tests::test_request_context_debug ... ok
[INFO] [stdout] test transport::tests::test_request_context_with_empty_path ... ok
[INFO] [stdout] test transport::tests::test_request_context_multiple_headers ... ok
[INFO] [stdout] test transport::tests::test_request_context_no_headers ... ok
[INFO] [stdout] test transport::tests::test_transport_response_creation ... ok
[INFO] [stdout] test transport::tests::test_request_context_with_query_params ... ok
[INFO] [stdout] test transport::tests::test_transport_response_binary_body ... ok
[INFO] [stdout] test transport::tests::test_transport_response_error_status ... ok
[INFO] [stdout] test transport::tests::test_transport_response_debug ... ok
[INFO] [stdout] test transport::tests::test_transport_response_empty_body ... ok
[INFO] [stdout] test transport::tests::test_transport_response_large_body ... ok
[INFO] [stdout] test transport::tests::test_transport_response_multiple_headers ... ok
[INFO] [stdout] test transport::http::tests::test_http_transport_put_request ... 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] [stdout] 
[INFO] [stdout] test result: ok. 587 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration_test.rs (/opt/rustwide/target/debug/build/tap-mcp-bridge/c247e1a0eaf00a0d/deps/integration_test-c247e1a0eaf00a0d)
[INFO] [stdout] 
[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] [stderr]      Running tests/merchant_integration_test.rs (/opt/rustwide/target/debug/build/tap-mcp-bridge/a413e7438b679316/deps/merchant_integration_test-a413e7438b679316)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test test_merchant_endpoint_resolver_integration ... ok
[INFO] [stdout] test test_merchant_identity_conversions ... ok
[INFO] [stdout] test test_merchant_with_product_query_params ... ok
[INFO] [stdout] test test_merchant_config_roundtrip ... ok
[INFO] [stdout] test test_full_merchant_configuration_flow ... ok
[INFO] [stdout] test test_multiple_merchants_isolation ... ok
[INFO] [stdout] test test_merchant_with_minimal_configuration ... ok
[INFO] [stdout] test test_merchant_field_mapper_integration ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/tap-mcp-server/70f7ae22c949f198/deps/tap_mcp_server-70f7ae22c949f198)
[INFO] [stdout] 
[INFO] [stdout] running 32 tests
[INFO] [stdout] test observability::tests::test_health_check_status_as_str ... ok
[INFO] [stdout] test observability::tests::test_health_check_pass_with_message ... ok
[INFO] [stdout] test observability::tests::test_health_check_fail ... ok
[INFO] [stdout] test observability::tests::test_health_check_warn ... ok
[INFO] [stdout] test observability::tests::test_health_status_as_str ... ok
[INFO] [stdout] test observability::tests::test_health_status_compute_all_pass ... ok
[INFO] [stdout] test observability::tests::test_health_status_compute_empty ... ok
[INFO] [stdout] test observability::tests::test_health_report_without_metrics ... ok
[INFO] [stdout] test observability::tests::test_health_status_compute_with_fail ... ok
[INFO] [stdout] test observability::tests::test_health_status_compute_with_warn ... ok
[INFO] [stdout] test observability::tests::test_health_report_with_metrics ... ok
[INFO] [stdout] test observability::tests::test_health_report_to_json ... ok
[INFO] [stdout] test observability::tests::test_metrics_default ... ok
[INFO] [stdout] test observability::tests::test_log_format_from_env ... ok
[INFO] [stdout] test observability::tests::test_metrics_record_browse ... ok
[INFO] [stdout] test observability::tests::test_metrics_record_checkout_mixed ... ok
[INFO] [stdout] test observability::tests::test_health_report_to_json_with_failures ... ok
[INFO] [stdout] test observability::tests::test_health_check_pass ... ok
[INFO] [stdout] test observability::tests::test_metrics_record_checkout_failure ... ok
[INFO] [stdout] test observability::tests::test_metrics_record_signature_generation ... ok
[INFO] [stdout] test observability::tests::test_metrics_snapshot_clone ... ok
[INFO] [stdout] test observability::tests::test_metrics_snapshot_multiple_times ... ok
[INFO] [stdout] test observability::tests::test_metrics_to_prometheus_zero_values ... ok
[INFO] [stdout] test observability::tests::test_metrics_record_checkout_success ... ok
[INFO] [stdout] test observability::tests::test_metrics_to_prometheus ... ok
[INFO] [stdout] test observability::tests::test_metrics_record_http_error ... ok
[INFO] [stdout] test observability::tests::test_metrics_snapshot_equality ... ok
[INFO] [stdout] test tests::test_create_signer_with_invalid_key ... ok
[INFO] [stdout] test tests::test_validate_agent_id ... ok
[INFO] [stdout] test tests::test_validate_signing_key ... ok
[INFO] [stdout] test tests::test_create_signer_with_valid_key ... ok
[INFO] [stdout] test tests::test_validate_agent_directory ... ok
[INFO] [stderr]    Doc-tests tap_mcp_bridge
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 32 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 101 tests
[INFO] [stdout] test tap-mcp-bridge/src/lib.rs - (line 81) - compile ... ok
[INFO] [stdout] test tap-mcp-bridge/src/lib.rs - (line 46) - compile ... ok
[INFO] [stdout] test tap-mcp-bridge/src/error.rs - error (line 16) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/mcp/mod.rs - mcp (line 49) - compile ... ok
[INFO] [stdout] test tap-mcp-bridge/src/mcp/orders.rs - mcp::orders::create_order (line 94) - compile ... ok
[INFO] [stdout] test tap-mcp-bridge/src/error.rs - error::BridgeError::InvalidMerchantUrl (line 141) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/mcp/orders.rs - mcp::orders::get_order (line 196) - compile ... ok
[INFO] [stdout] test tap-mcp-bridge/src/mcp/payment.rs - mcp::payment::process_payment (line 170) - compile ... ok
[INFO] [stdout] test tap-mcp-bridge/src/mcp/products.rs - mcp::products::get_products (line 107) - compile ... ok
[INFO] [stdout] test tap-mcp-bridge/src/mcp/payment.rs - mcp::payment::process_payment_rate_limited (line 318) - compile ... ok
[INFO] [stdout] test tap-mcp-bridge/src/mcp/products.rs - mcp::products::get_product (line 236) - compile ... ok
[INFO] [stdout] test tap-mcp-bridge/src/mcp/tools.rs - mcp::tools::browse_merchant (line 193) - compile ... ok
[INFO] [stdout] test tap-mcp-bridge/src/mcp/http.rs - mcp::http::build_url_with_query (line 265) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/mcp/tools.rs - mcp::tools::checkout_with_tap (line 117) - compile ... ok
[INFO] [stdout] test tap-mcp-bridge/src/reliability/circuit_breaker.rs - reliability::circuit_breaker::CircuitBreaker (line 181) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/mcp/subscriptions/proration.rs - mcp::subscriptions::proration::calculate_credit (line 31) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/reliability/circuit_breaker.rs - reliability::circuit_breaker::CircuitBreaker::new (line 231) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/reliability/circuit_breaker.rs - reliability::circuit_breaker (line 26) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/reliability/circuit_breaker.rs - reliability::circuit_breaker::CircuitBreaker::call (line 304) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/merchant/config.rs - merchant::config::MerchantConfig::validate (line 73) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/reliability/circuit_breaker.rs - reliability::circuit_breaker::CircuitBreakerError (line 429) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/reliability/circuit_breaker.rs - reliability::circuit_breaker::CircuitBreaker::state (line 261) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/lib.rs - (line 111) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/lib.rs - (line 245) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/lib.rs - (line 139) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/error.rs - error::BridgeError::InvalidConsumerId (line 171) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/reliability/retry.rs - reliability::retry::RetryPolicy::with_max_attempts (line 76) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/reliability/retry.rs - reliability::retry::RetryPolicy::new (line 61) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/reliability/circuit_breaker.rs - reliability::circuit_breaker::CircuitBreakerConfig (line 96) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/reliability/retry.rs - reliability::retry::retry_with_backoff (line 118) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/reliability/retry.rs - reliability::retry::is_retryable (line 212) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/security/audit.rs - security::audit::AuditEvent (line 69) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/security/audit.rs - security::audit::AuditEvent::with_nonce (line 170) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/reliability/retry.rs - reliability::retry::RetryPolicy (line 17) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/security/audit.rs - security::audit::AuditEvent::new (line 99) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/security/audit.rs - security::audit::AuditEvent::with_duration (line 215) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/security/audit.rs - security::audit::AuditEvent::with_consumer_id (line 148) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/security/audit.rs - security::audit::AuditEvent::with_merchant_url (line 124) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/security/audit.rs - security::audit::AuditEvent::with_error (line 193) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/security/audit.rs - security::audit::audit (line 439) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/security/rate_limit.rs - security::rate_limit (line 36) - compile ... ok
[INFO] [stdout] test tap-mcp-bridge/src/security/rate_limit.rs - security::rate_limit::RateLimitedSigner (line 304) - compile ... ok
[INFO] [stdout] test tap-mcp-bridge/src/security/audit.rs - security::audit::redact_sensitive (line 277) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/security/rate_limit.rs - security::rate_limit::RateLimitedSigner::sign_request (line 366) - compile ... ok
[INFO] [stdout] test tap-mcp-bridge/src/security/rate_limit.rs - security::rate_limit::RateLimitedSigner::sign_request_blocking (line 414) - compile ... ok
[INFO] [stdout] test tap-mcp-bridge/src/security/rate_limit.rs - security::rate_limit (line 18) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/security/rate_limit.rs - security::rate_limit::RateLimitedSigner::new (line 337) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/security/mod.rs - security (line 11) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/security/rate_limit.rs - security::rate_limit::RateLimiter::acquire_blocking (line 229) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/security/mod.rs - security (line 31) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/security/mod.rs - security (line 44) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/security/rate_limit.rs - security::rate_limit::RateLimiter (line 115) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/security/audit.rs - security::audit::redact_consumer_id (line 398) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/security/rate_limit.rs - security::rate_limit::RateLimiter::new (line 147) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/acro.rs - tap::acro (line 25) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/acro.rs - tap::acro::Acro (line 79) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/security/audit.rs - security::audit::audit_log (line 242) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/acro.rs - tap::acro::Acro::create (line 146) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/apc.rs - tap::apc (line 24) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/acro.rs - tap::acro::ContextualData (line 254) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/apc.rs - tap::apc::BankAccountData (line 603) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/apc.rs - tap::apc::CardData (line 486) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/apc.rs - tap::apc::Apc::create (line 227) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/apc.rs - tap::apc::CardData::credential_hash (line 559) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/apc.rs - tap::apc::RsaPublicKey (line 82) - compile ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/apc.rs - tap::apc::Apc (line 156) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/apc.rs - tap::apc::RsaPublicKey::from_pem (line 113) - compile ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/apc.rs - tap::apc::PaymentMethod::encrypt (line 384) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/apc.rs - tap::apc::CardData::last_four (line 530) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/apc.rs - tap::apc::DigitalWalletData (line 665) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/acro.rs - tap::acro::DeviceData (line 305) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/jwk.rs - tap::jwk::Jwk::from_verifying_key (line 134) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/jwk.rs - tap::jwk::Jwks (line 218) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/jwk.rs - tap::jwk::Jwks::new (line 242) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/jwk.rs - tap::jwk::Jwks::to_json (line 266) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/jwk.rs - tap::jwk (line 64) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/jwk.rs - tap::jwk::Jwk::compute_thumbprint (line 183) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/jwk.rs - tap::jwk (line 48) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/apc.rs - tap::apc::PaymentMethod (line 326) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/jwt.rs - tap::jwt (line 29) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/jwk.rs - tap::jwk::Jwk (line 89) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/jwt.rs - tap::jwt::IdToken (line 221) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/jwt.rs - tap::jwt::IdTokenClaims::new (line 160) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/jwt.rs - tap::jwt::IdToken::create (line 274) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/mod.rs - tap (line 44) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/mod.rs - tap (line 121) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/jwt.rs - tap::jwt::IdTokenClaims (line 74) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/security/rate_limit.rs - security::rate_limit::RateLimiter::acquire (line 174) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/mod.rs - tap (line 95) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/transport/http/mod.rs - transport::http::HttpTransport (line 86) - compile ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/signer.rs - tap::signer::TapSigner::compute_content_digest (line 169) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/signer.rs - tap::signer::TapSigner::generate_apc (line 337) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/signer.rs - tap::signer::TapSigner::sign_request (line 89) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/transport/http/mod.rs - transport::http::HttpTransport::new (line 140) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/transport/mod.rs - transport (line 15) - compile ... ok
[INFO] [stdout] test tap-mcp-bridge/src/transport/mod.rs - transport::Transport (line 118) - compile ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/signer.rs - tap::signer::TapSigner::generate_id_token (line 226) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/signer.rs - tap::signer::TapSigner::new (line 62) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/signer.rs - tap::signer::TapSigner::generate_acro (line 278) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/transport/http/mod.rs - transport::http::HttpTransport::with_config (line 157) ... ok
[INFO] [stdout] test tap-mcp-bridge/src/tap/signer.rs - tap::signer::TapSigner::generate_jwks (line 190) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 101 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 3.13s; merged doctests compilation took 2.90s
[INFO] running `Command { std: "docker" "inspect" "d087b8cdc946505785a518ec3aa8f7b225f00acf603b4a7b53f4066a99cc234b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d087b8cdc946505785a518ec3aa8f7b225f00acf603b4a7b53f4066a99cc234b", kill_on_drop: false }`
[INFO] [stdout] d087b8cdc946505785a518ec3aa8f7b225f00acf603b4a7b53f4066a99cc234b
