[INFO] fetching crate mpp 0.9.3... [INFO] testing mpp-0.9.3 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-2 [INFO] extracting crate mpp 0.9.3 into /workspace/builds/worker-7-tc2/source [INFO] started tweaking crates.io crate mpp 0.9.3 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate mpp 0.9.3 [INFO] tweaked toml for crates.io crate mpp 0.9.3 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate mpp 0.9.3 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate mpp 0.9.3 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0af007411b326371edef18f371ec62da02a511d789434cb1a821334635246776 [INFO] running `Command { std: "docker" "start" "-a" "0af007411b326371edef18f371ec62da02a511d789434cb1a821334635246776", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0af007411b326371edef18f371ec62da02a511d789434cb1a821334635246776", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0af007411b326371edef18f371ec62da02a511d789434cb1a821334635246776", kill_on_drop: false }` [INFO] [stdout] 0af007411b326371edef18f371ec62da02a511d789434cb1a821334635246776 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1465c66d4d1bffd420b41eef8feec6bc649b207340c87e6fbccb338b951d58d3 [INFO] running `Command { std: "docker" "start" "-a" "1465c66d4d1bffd420b41eef8feec6bc649b207340c87e6fbccb338b951d58d3", kill_on_drop: false }` [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling hashbrown v0.17.0 [INFO] [stderr] Compiling itoa v1.0.18 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling deranged v0.5.8 [INFO] [stderr] Compiling num-conv v0.2.1 [INFO] [stderr] Compiling ryu-js v1.0.2 [INFO] [stderr] Compiling cfg-if v1.0.4 [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling cpufeatures v0.2.17 [INFO] [stderr] Compiling time-core v0.1.8 [INFO] [stderr] Compiling generic-array v0.14.9 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling indexmap v2.14.0 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling serde_json_canonicalizer v0.3.2 [INFO] [stderr] Compiling mpp v0.9.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait `ResultExt` is never used [INFO] [stdout] --> src/error.rs:292:18 [INFO] [stdout] | [INFO] [stdout] 292 | pub(crate) trait ResultExt { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.83s [INFO] running `Command { std: "docker" "inspect" "1465c66d4d1bffd420b41eef8feec6bc649b207340c87e6fbccb338b951d58d3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1465c66d4d1bffd420b41eef8feec6bc649b207340c87e6fbccb338b951d58d3", kill_on_drop: false }` [INFO] [stdout] 1465c66d4d1bffd420b41eef8feec6bc649b207340c87e6fbccb338b951d58d3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 35786b677a6347de2635fe36590f21fa0ead68000908574cf52624a725d9b2c1 [INFO] running `Command { std: "docker" "start" "-a" "35786b677a6347de2635fe36590f21fa0ead68000908574cf52624a725d9b2c1", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling libc v0.2.184 [INFO] [stderr] Compiling find-msvc-tools v0.1.9 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling pin-project-lite v0.2.17 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling pkg-config v0.3.32 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling litemap v0.8.2 [INFO] [stderr] Compiling tower-service v0.3.3 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Compiling writeable v0.6.3 [INFO] [stderr] Compiling utf8_iter v1.0.4 [INFO] [stderr] Compiling try-lock v0.2.5 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling icu_properties_data v2.2.0 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling icu_normalizer_data v2.2.0 [INFO] [stderr] Compiling want v0.3.1 [INFO] [stderr] Compiling cc v1.2.60 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling untrusted v0.9.0 [INFO] [stderr] Compiling atomic-waker v1.1.2 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling foreign-types-shared v0.1.1 [INFO] [stderr] Compiling openssl v0.10.76 [INFO] [stderr] Compiling httpdate v1.0.3 [INFO] [stderr] Compiling foreign-types v0.3.2 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling tower-layer v0.3.3 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Compiling ipnet v2.12.0 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling openssl-probe v0.2.1 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling webpki-roots v1.0.6 [INFO] [stderr] Compiling iri-string v0.7.12 [INFO] [stderr] Compiling mime v0.3.17 [INFO] [stderr] Compiling matchit v0.8.4 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling openssl-sys v0.9.112 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling mio v1.2.0 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling zerofrom-derive v0.1.7 [INFO] [stderr] Compiling yoke-derive v0.8.2 [INFO] [stderr] Compiling zerovec-derive v0.11.3 [INFO] [stderr] Compiling tokio-macros v2.7.0 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling tokio v1.51.1 [INFO] [stderr] Compiling zerofrom v0.1.7 [INFO] [stderr] Compiling yoke v0.8.2 [INFO] [stderr] Compiling zerovec v0.11.6 [INFO] [stderr] Compiling zerotrie v0.2.4 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling rustls-webpki v0.103.11 [INFO] [stderr] Compiling tinystr v0.8.3 [INFO] [stderr] Compiling potential_utf v0.1.5 [INFO] [stderr] Compiling icu_collections v2.2.0 [INFO] [stderr] Compiling icu_locale_core v2.2.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling icu_provider v2.2.0 [INFO] [stderr] Compiling icu_properties v2.2.0 [INFO] [stderr] Compiling icu_normalizer v2.2.0 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling serde_json_canonicalizer v0.3.2 [INFO] [stderr] Compiling mpp v0.9.3 (/opt/rustwide/workdir) [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stdout] warning: trait `ResultExt` is never used [INFO] [stdout] --> src/error.rs:292:18 [INFO] [stdout] | [INFO] [stdout] 292 | pub(crate) trait ResultExt { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling hyper v1.9.0 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling axum v0.8.8 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stdout] warning: trait `ResultExt` is never used [INFO] [stdout] --> src/error.rs:292:18 [INFO] [stdout] | [INFO] [stdout] 292 | pub(crate) trait ResultExt { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 54.74s [INFO] running `Command { std: "docker" "inspect" "35786b677a6347de2635fe36590f21fa0ead68000908574cf52624a725d9b2c1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "35786b677a6347de2635fe36590f21fa0ead68000908574cf52624a725d9b2c1", kill_on_drop: false }` [INFO] [stdout] 35786b677a6347de2635fe36590f21fa0ead68000908574cf52624a725d9b2c1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] ae8537054c8a7b4e68646c98681a1c2f7f83fbefd04baea250b28d3f763fcab6 [INFO] running `Command { std: "docker" "start" "-a" "ae8537054c8a7b4e68646c98681a1c2f7f83fbefd04baea250b28d3f763fcab6", kill_on_drop: false }` [INFO] [stderr] warning: trait `ResultExt` is never used [INFO] [stderr] --> src/error.rs:292:18 [INFO] [stderr] | [INFO] [stderr] 292 | pub(crate) trait ResultExt { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `mpp` (lib) generated 1 warning [INFO] [stderr] warning: `mpp` (lib test) generated 1 warning (1 duplicate) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.45s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/mpp-4b34ece7f6252d25) [INFO] [stdout] [INFO] [stdout] running 242 tests [INFO] [stdout] test body_digest::tests::test_compute ... ok [INFO] [stdout] test body_digest::tests::test_empty_body ... ok [INFO] [stdout] test error::tests::test_amount_exceeds_deposit_problem_details ... ok [INFO] [stdout] test error::tests::test_bad_request_error ... ok [INFO] [stdout] test error::tests::test_delta_too_small_problem_details ... ok [INFO] [stdout] test error::tests::test_http_display ... ok [INFO] [stdout] test error::tests::test_invalid_base64_url_display ... ok [INFO] [stdout] test error::tests::test_channel_closed_problem_details ... ok [INFO] [stdout] test error::tests::test_channel_not_found_problem_details ... ok [INFO] [stdout] test error::tests::test_invalid_amount_display ... ok [INFO] [stdout] test error::tests::test_invalid_payload_error ... ok [INFO] [stdout] test error::tests::test_missing_header_display ... ok [INFO] [stdout] test error::tests::test_problem_details_core ... ok [INFO] [stdout] test error::tests::test_invalid_challenge_display ... ok [INFO] [stdout] test error::tests::test_invalid_challenge_error ... ok [INFO] [stdout] test error::tests::test_invalid_config_display ... ok [INFO] [stdout] test error::tests::test_payment_expired_error ... ok [INFO] [stdout] test error::tests::test_payment_required_error ... ok [INFO] [stdout] test error::tests::test_problem_details_serialize ... ok [INFO] [stdout] test error::tests::test_problem_details_session ... ok [INFO] [stdout] test error::tests::test_problem_details_with_challenge_id ... ok [INFO] [stdout] test expires::tests::test_hours_is_later_than_minutes ... ok [INFO] [stdout] test error::tests::test_signer_mismatch_problem_details ... ok [INFO] [stdout] test error::tests::test_unsupported_method_constructor ... ok [INFO] [stdout] test error::tests::test_verification_failed_error ... ok [INFO] [stdout] test expires::tests::test_days ... ok [INFO] [stdout] test expires::tests::test_minutes_format ... ok [INFO] [stdout] test error::tests::test_unsupported_payment_method_display ... ok [INFO] [stdout] test error::tests::test_challenge_expired_display ... ok [INFO] [stdout] test body_digest::tests::test_compute_json ... ok [INFO] [stdout] test body_digest::tests::test_round_trip ... ok [INFO] [stdout] test expires::tests::test_months ... ok [INFO] [stdout] test expires::tests::test_seconds ... ok [INFO] [stdout] test expires::tests::test_weeks ... ok [INFO] [stdout] test expires::tests::test_years ... ok [INFO] [stdout] test mcp::tests::test_attach_credential_preserves_existing_meta ... ok [INFO] [stdout] test mcp::tests::test_attach_credential_to_empty_params ... ok [INFO] [stdout] test mcp::tests::test_attach_credential_preserves_params ... ok [INFO] [stdout] test mcp::tests::test_attach_receipt_deserializes_as_mcp_receipt ... ok [INFO] [stdout] test error::tests::test_invalid_signature_problem_details ... ok [INFO] [stdout] test body_digest::tests::test_verify ... ok [INFO] [stdout] test error::tests::test_amount_exceeds_max_display ... ok [INFO] [stdout] test error::tests::test_malformed_credential_error ... ok [INFO] [stdout] test mcp::tests::test_extract_challenges_no_challenges_field ... ok [INFO] [stdout] test mcp::tests::test_extract_challenges_no_data ... ok [INFO] [stdout] test mcp::tests::test_extract_credential_malformed ... ok [INFO] [stdout] test mcp::tests::test_extract_challenges_multiple ... ok [INFO] [stdout] test mcp::tests::test_extract_credential_valid ... ok [INFO] [stdout] test mcp::tests::test_extract_challenges_valid ... ok [INFO] [stdout] test mcp::tests::test_is_payment_required_verification_failed_code ... ok [INFO] [stdout] test mcp::tests::test_extract_credential_missing ... ok [INFO] [stdout] test mcp::tests::test_is_payment_required_wrong_code ... ok [INFO] [stdout] test mcp::tests::test_mcp_payment_error_without_data ... ok [INFO] [stdout] test mcp::tests::test_mcp_payment_error_roundtrip ... ok [INFO] [stdout] test mcp::tests::test_mcp_payment_roundtrip ... ok [INFO] [stdout] test mcp::tests::test_attach_receipt_preserves_existing_meta ... ok [INFO] [stdout] test mcp::tests::test_extract_credential_null_value ... ok [INFO] [stdout] test mcp::tests::test_is_payment_required_matching ... ok [INFO] [stdout] test mcp::tests::test_attach_receipt_to_empty_result ... ok [INFO] [stdout] test mcp::tests::test_verification_failed_code_not_payment_required ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_challenge_builder_methods ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_challenge_new ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_challenge_from_header ... ok [INFO] [stdout] test mcp::tests::test_mcp_receipt_serde_roundtrip ... ok [INFO] [stdout] test mcp::tests::test_payment_required_error_construction ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_challenge_from_headers ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_challenge_to_echo ... ok [INFO] [stdout] test mcp::tests::test_is_payment_required_no_code ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_challenge_verify_tampered_request ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_challenge_from_response_non_402 ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_challenge_verify_valid ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_challenge_from_response_402 ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_challenge_verify_with_expires_and_digest ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_challenge_verify_wrong_secret ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_challenge_with_secret_key ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_challenge_roundtrip_with_digest ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_challenge_serialize_includes_digest ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_challenge_verify_tampered_id ... ok [INFO] [stdout] test error::tests::test_insufficient_balance_problem_details ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_compute_challenge_id_deterministic ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_challenge_with_secret_key_full ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_extract_tx_hash_invalid_base64 ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_expires_at_invalid ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_expires_at_missing ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_extract_tx_hash_valid ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_evm_did ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_extract_tx_hash_invalid_json ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_golden_vectors ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_expires_at_valid ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_is_expired_empty_string ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_extract_tx_hash_empty ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_is_expired_future ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_is_expired_fractional_seconds_micros ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_compute_challenge_id_different_secrets ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_is_expired_invalid_day ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_is_expired_unix_epoch ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_is_expired_unparseable ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_is_expired_invalid_month ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_is_expired_negative_timezone_offset_past ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_is_expired_no_expires ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_is_expired_numeric_string ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_is_expired_past ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_is_expired_plain_text ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_is_expired_positive_timezone_offset_future ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_is_expired_whitespace_only ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_opaque_affects_challenge_id ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_opaque_decode_to_hashmap ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_opaque_echo_roundtrip ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_opaque_golden_vectors ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_opaque_header_roundtrip_with_hmac ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_payment_credential_serialization ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_payment_payload_strict_field_enforcement ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_receipt_from_header ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_validate_for_charge_expired ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_validate_for_charge_valid ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_validate_for_charge_wrong_intent ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_validate_for_charge_case_insensitive ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_validate_for_charge_wrong_method ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_validate_for_session_expired ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_validate_for_session_valid ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_validate_for_session_wrong_intent ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_opaque_tamper_fails_verify ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_with_opaque_builder ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_payment_credential_payload_as ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_payment_payload_constructors ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_payment_payload_deserialization ... ok [INFO] [stdout] test protocol::core::headers::tests::test_extract_payment_scheme_case_insensitive ... ok [INFO] [stdout] test protocol::core::headers::tests::test_extract_payment_scheme_mixed ... ok [INFO] [stdout] test protocol::core::headers::tests::test_extract_payment_scheme_not_found ... ok [INFO] [stdout] test protocol::core::headers::tests::test_extract_payment_scheme_single ... ok [INFO] [stdout] test protocol::core::headers::tests::test_parse_authorization_invalid_json ... ok [INFO] [stdout] test protocol::core::headers::tests::test_format_www_authenticate_many ... ok [INFO] [stdout] test protocol::core::headers::tests::test_parse_authorization ... ok [INFO] [stdout] test protocol::core::headers::tests::test_parse_authorization_missing_challenge_fields ... ok [INFO] [stdout] test protocol::core::headers::tests::test_parse_authorization_missing_payment_scheme ... ok [INFO] [stdout] test protocol::core::headers::tests::test_parse_authorization_rejects_non_sha256_digest ... ok [INFO] [stdout] test protocol::core::headers::tests::test_parse_invalid_scheme ... ok [INFO] [stdout] test protocol::core::headers::tests::test_parse_missing_required_field ... ok [INFO] [stdout] test protocol::core::headers::tests::test_parse_authorization_invalid_base64url ... ok [INFO] [stdout] test protocol::core::headers::tests::test_parse_receipt ... ok [INFO] [stdout] test protocol::core::headers::tests::test_parse_receipt_rejects_non_iso8601_timestamp ... ok [INFO] [stdout] test protocol::core::headers::tests::test_parse_authorization_invalid_digest_format ... ok [INFO] [stdout] test protocol::core::headers::tests::test_parse_www_authenticate ... ok [INFO] [stdout] test protocol::core::headers::tests::test_parse_authorization_mixed_schemes ... ok [INFO] [stdout] test protocol::core::headers::tests::test_credential_roundtrip_with_optional_fields ... ok [INFO] [stdout] test protocol::core::headers::tests::test_credential_roundtrip_without_source ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_is_expired_fractional_seconds_millis ... ok [INFO] [stdout] test protocol::core::headers::tests::test_parse_www_authenticate_all ... ok [INFO] [stdout] test protocol::core::headers::tests::test_parse_www_authenticate_all_multi_challenge ... ok [INFO] [stdout] test protocol::core::headers::tests::test_parse_www_authenticate_all_ignores_non_payment_schemes ... ok [INFO] [stdout] test protocol::core::headers::tests::test_parse_www_authenticate_accepts_standard_base64_request ... ok [INFO] [stdout] test protocol::core::headers::tests::test_parse_www_authenticate_invalid_digest_format ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_payment_credential_arbitrary_json_payload ... ok [INFO] [stdout] test protocol::core::headers::tests::test_parse_receipt_invalid_status ... ok [INFO] [stdout] test protocol::core::headers::tests::test_parse_www_authenticate_case_insensitive ... ok [INFO] [stdout] test protocol::core::headers::tests::test_parse_www_authenticate_invalid_request_json ... ok [INFO] [stdout] test protocol::core::headers::tests::test_parse_www_authenticate_rejects_duplicate_params ... ok [INFO] [stdout] test protocol::core::headers::tests::test_parse_www_authenticate_rejects_empty_id ... ok [INFO] [stdout] test protocol::core::headers::tests::test_parse_www_authenticate_rejects_invalid_method_name_dash ... ok [INFO] [stdout] test protocol::core::headers::tests::test_parse_www_authenticate_rejects_invalid_method_name_digit_prefix ... ok [INFO] [stdout] test protocol::core::headers::tests::test_parse_www_authenticate_rejects_mixed_case_method_name ... ok [INFO] [stdout] test protocol::core::types::tests::test_base64url_decode_accepts_standard_base64_with_padding ... ok [INFO] [stdout] test protocol::core::types::tests::test_base64url_decode_accepts_url_safe_without_padding ... ok [INFO] [stdout] test protocol::core::types::tests::test_base64url_json ... ok [INFO] [stdout] test protocol::core::types::tests::test_base64url_json_special_characters ... ok [INFO] [stdout] test protocol::core::types::tests::test_base64url_roundtrip ... ok [INFO] [stdout] test protocol::core::types::tests::test_intent_name ... ok [INFO] [stdout] test protocol::core::types::tests::test_intent_name_normalizes_to_lowercase ... ok [INFO] [stdout] test protocol::core::types::tests::test_method_name ... ok [INFO] [stdout] test protocol::core::types::tests::test_method_name_normalizes_to_lowercase ... ok [INFO] [stdout] test protocol::core::headers::tests::test_split_payment_challenges ... ok [INFO] [stdout] test protocol::core::types::tests::test_base64url_decode_accepts_standard_alphabet_no_padding ... ok [INFO] [stdout] test protocol::core::types::tests::test_method_name_serde ... ok [INFO] [stdout] test protocol::core::types::tests::test_payload_type_serde ... ok [INFO] [stdout] test protocol::core::types::tests::test_receipt_status_serde ... ok [INFO] [stdout] test protocol::core::types::tests::test_payment_protocol_detect ... ok [INFO] [stdout] test protocol::core::types::tests::test_payment_protocol_detect_any ... ok [INFO] [stdout] test protocol::intents::charge::tests::test_parse_amount ... ok [INFO] [stdout] test protocol::intents::charge::tests::test_charge_request_serialization ... ok [INFO] [stdout] test protocol::intents::charge::tests::test_validate_max_amount ... ok [INFO] [stdout] test protocol::intents::payment_request::tests::test_deserialize_invalid_base64url ... ok [INFO] [stdout] test protocol::intents::payment_request::tests::test_deserialize_typed ... ok [INFO] [stdout] test protocol::core::headers::tests::test_roundtrip_preserves_request ... ok [INFO] [stdout] test protocol::intents::payment_request::tests::test_from_challenge ... ok [INFO] [stdout] test protocol::intents::payment_request::tests::test_from_challenge_typed ... ok [INFO] [stdout] test protocol::intents::payment_request::tests::test_roundtrip_special_characters ... ok [INFO] [stdout] test protocol::intents::payment_request::tests::test_serialize_is_base64url ... ok [INFO] [stdout] test protocol::intents::session::tests::test_parse_amount ... ok [INFO] [stdout] test protocol::intents::session::tests::test_session_request_deserialization ... ok [INFO] [stdout] test protocol::intents::session::tests::test_session_request_optional_fields_omitted ... ok [INFO] [stdout] test protocol::core::types::tests::test_base64url_decode_rejects_invalid_characters ... ok [INFO] [stdout] test protocol::intents::session::tests::test_session_request_without_unit_type ... ok [INFO] [stdout] test protocol::core::headers::tests::test_parse_www_authenticate_rejects_non_sha256_digest ... ok [INFO] [stdout] test protocol::intents::session::tests::test_session_request_serialization ... ok [INFO] [stdout] test protocol::intents::session::tests::test_validate_max_amount ... ok [INFO] [stdout] test protocol::intents::session::tests::test_with_base_units ... ok [INFO] [stdout] test protocol::intents::session::tests::test_with_base_units_no_decimals ... ok [INFO] [stdout] test protocol::core::headers::tests::test_parse_www_authenticate_with_description ... ok [INFO] [stdout] test protocol::intents::tests::test_parse_units_decimal ... ok [INFO] [stdout] test protocol::intents::tests::test_parse_units_no_integer_part ... ok [INFO] [stdout] test protocol::intents::tests::test_parse_units_too_many_decimal_places ... ok [INFO] [stdout] test protocol::intents::tests::test_parse_units_small_decimal ... ok [INFO] [stdout] test protocol::intents::tests::test_parse_units_integer ... ok [INFO] [stdout] test protocol::intents::charge::tests::test_with_base_units_no_decimals ... ok [INFO] [stdout] test protocol::intents::tests::test_parse_units_zero ... ok [INFO] [stdout] test protocol::intents::charge::tests::test_with_base_units ... ok [INFO] [stdout] test protocol::intents::tests::test_parse_units_zero_decimals ... ok [INFO] [stdout] test proxy::service::tests::test_discovery_llms_txt ... ok [INFO] [stdout] test protocol::intents::tests::test_parse_units_empty_string ... ok [INFO] [stdout] test proxy::service::tests::test_discovery_services ... ok [INFO] [stdout] test proxy::service::tests::test_llms_txt_with_services ... ok [INFO] [stdout] test proxy::service::tests::test_discovery_llms_txt_custom_title ... ok [INFO] [stdout] test proxy::service::tests::test_discovery_with_base_path ... ok [INFO] [stdout] test proxy::service::tests::test_match_route ... ok [INFO] [stdout] test proxy::service::tests::test_discovery_not_get ... ok [INFO] [stdout] test proxy::service::tests::test_discovery_single_service ... ok [INFO] [stdout] test proxy::service::tests::test_match_route_with_base_path ... ok [INFO] [stdout] test proxy::service::tests::test_path_matches ... ok [INFO] [stdout] test proxy::service::tests::test_match_route_method_fallback_matches_paid ... ok [INFO] [stdout] test proxy::service::tests::test_param_route_matching ... ok [INFO] [stdout] test proxy::service::tests::test_match_route_method_fallback_skips_free ... ok [INFO] [stdout] test proxy::service::tests::test_match_route_not_found ... ok [INFO] [stdout] test proxy::service::tests::test_parse_route_pattern ... ok [INFO] [stdout] test proxy::service::tests::test_serialize_service ... ok [INFO] [stdout] test proxy::service::tests::test_service_builder ... ok [INFO] [stdout] test proxy::service::tests::test_service_builder_custom_header ... ok [INFO] [stdout] test proxy::service::tests::test_to_llms_txt_with_custom_title_description ... ok [INFO] [stdout] test proxy::service::tests::test_service_builder_title_description ... ok [INFO] [stdout] test proxy::service::tests::test_to_llms_txt_defaults ... ok [INFO] [stdout] test store::tests::memory_store_get_put_delete ... ok [INFO] [stdout] test protocol::intents::payment_request::tests::test_roundtrip_generic_request ... ok [INFO] [stdout] test store::tests::memory_store_overwrite ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_opaque_verify_roundtrip ... ok [INFO] [stdout] test store::tests::file_store_get_put_delete ... ok [INFO] [stdout] test store::tests::file_store_overwrite ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_compute_challenge_id_cross_sdk ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_credential_from_header ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_extract_tx_hash_missing ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_payment_credential_charge_payload ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_payment_payload_serialization ... ok [INFO] [stdout] test protocol::core::challenge::tests::test_payment_receipt_status ... ok [INFO] [stdout] test protocol::core::headers::tests::test_parse_www_authenticate_leading_whitespace ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 242 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s [INFO] [stdout] [INFO] [stderr] Running tests/integration_charge.rs (/opt/rustwide/target/debug/deps/integration_charge-852e15341d3174c8) [INFO] [stderr] Running tests/integration_stripe.rs (/opt/rustwide/target/debug/deps/integration_stripe-c8229bc6e0482f64) [INFO] [stdout] [INFO] [stderr] Doc-tests mpp [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 31 tests [INFO] [stdout] test src/lib.rs - (line 15) ... ignored [INFO] [stdout] test src/lib.rs - (line 7) - compile ... ok [INFO] [stdout] test src/expires.rs - expires (line 8) ... ok [INFO] [stdout] test src/protocol/core/headers.rs - protocol::core::headers::extract_payment_scheme (line 54) ... ok [INFO] [stdout] test src/error.rs - error::PaymentErrorDetails (line 32) ... ok [INFO] [stdout] test src/protocol/core/challenge.rs - protocol::core::challenge::PaymentChallenge::verify (line 314) ... ok [INFO] [stdout] test src/protocol/core/challenge.rs - protocol::core::challenge::compute_challenge_id (line 431) ... ok [INFO] [stdout] test src/mcp.rs - mcp (line 28) ... ok [INFO] [stdout] test src/protocol/core/challenge.rs - protocol::core::challenge::PaymentChallenge::with_secret_key (line 119) ... ok [INFO] [stdout] test src/protocol/core/headers.rs - protocol::core::headers::format_www_authenticate_many (line 403) ... ok [INFO] [stdout] test src/protocol/core/headers.rs - protocol::core::headers::parse_www_authenticate_all (line 270) ... ok [INFO] [stdout] test src/protocol/mod.rs - protocol (line 57) ... ignored [INFO] [stdout] test src/protocol/mod.rs - protocol (line 71) ... ignored [INFO] [stdout] test src/body_digest.rs - body_digest (line 9) ... ok [INFO] [stdout] test src/error.rs - error::PaymentError (line 127) ... ok [INFO] [stdout] test src/protocol/core/challenge.rs - protocol::core::challenge::PaymentChallenge (line 18) ... ok [INFO] [stdout] test src/protocol/core/headers.rs - protocol::core::headers::parse_www_authenticate (line 192) ... ok [INFO] [stdout] test src/protocol/core/challenge.rs - protocol::core::challenge::PaymentChallenge::new (line 75) ... ok [INFO] [stdout] test src/protocol/core/types.rs - protocol::core::types::Base64UrlJson (line 160) ... ok [INFO] [stdout] test src/protocol/core/headers.rs - protocol::core::headers::format_www_authenticate (line 338) ... ok [INFO] [stdout] test src/protocol/core/types.rs - protocol::core::types::MethodName (line 21) ... ok [INFO] [stdout] test src/protocol/core/mod.rs - protocol::core (line 45) ... ok [INFO] [stdout] test src/proxy/services/stripe.rs - proxy::services::stripe::service (line 10) ... ok [INFO] [stdout] test src/proxy/services/openai.rs - proxy::services::openai::service (line 9) ... ok [INFO] [stdout] test src/protocol/core/types.rs - protocol::core::types::IntentName (line 93) ... ok [INFO] [stdout] test src/protocol/core/headers.rs - protocol::core::headers::parse_www_authenticate_all (line 283) ... ok [INFO] [stdout] test src/protocol/intents/session.rs - protocol::intents::session::SessionRequest (line 18) ... ok [INFO] [stdout] test src/proxy/services/anthropic.rs - proxy::services::anthropic::service (line 9) ... ok [INFO] [stdout] test src/protocol/intents/charge.rs - protocol::intents::charge::ChargeRequest (line 20) ... ok [INFO] [stdout] test src/protocol/intents/mod.rs - protocol::intents (line 17) ... ok [INFO] [stdout] test src/protocol/mod.rs - protocol (line 43) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 28 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 2.53s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "ae8537054c8a7b4e68646c98681a1c2f7f83fbefd04baea250b28d3f763fcab6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ae8537054c8a7b4e68646c98681a1c2f7f83fbefd04baea250b28d3f763fcab6", kill_on_drop: false }` [INFO] [stdout] ae8537054c8a7b4e68646c98681a1c2f7f83fbefd04baea250b28d3f763fcab6