[INFO] fetching crate turbomcp-auth 2.1.2... [INFO] testing turbomcp-auth-2.1.2 against 1.91.0 for beta-1.92-2 [INFO] extracting crate turbomcp-auth 2.1.2 into /workspace/builds/worker-6-tc1/source [INFO] started tweaking crates.io crate turbomcp-auth 2.1.2 [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate turbomcp-auth 2.1.2 [INFO] tweaked toml for crates.io crate turbomcp-auth 2.1.2 written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate turbomcp-auth 2.1.2 on toolchain 1.91.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate turbomcp-auth 2.1.2 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" "+1.91.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded rkyv_derive v0.8.12 [INFO] [stderr] Downloaded ptr_meta v0.3.1 [INFO] [stderr] Downloaded munge_macro v0.4.7 [INFO] [stderr] Downloaded ptr_meta_derive v0.3.1 [INFO] [stderr] Downloaded secrecy v0.8.0 [INFO] [stderr] Downloaded value-trait v0.8.1 [INFO] [stderr] Downloaded pem v3.0.6 [INFO] [stderr] Downloaded halfbrown v0.2.5 [INFO] [stderr] Downloaded munge v0.4.7 [INFO] [stderr] Downloaded bon v3.8.1 [INFO] [stderr] Downloaded turbomcp-dpop v2.1.2 [INFO] [stderr] Downloaded bon-macros v3.8.1 [INFO] [stderr] Downloaded sonic-rs v0.3.17 [INFO] [stderr] Downloaded turbomcp-protocol v2.1.2 [INFO] [stderr] Downloaded rkyv v0.8.12 [INFO] [stderr] Downloaded compact_str v0.7.1 [INFO] [stderr] Downloaded simd-json v0.13.11 [INFO] [stderr] Downloaded wiremock v0.6.5 [INFO] [stderr] Downloaded rancor v0.1.1 [INFO] [stderr] Downloaded rend v0.5.3 [INFO] [stderr] Downloaded sonic-number v0.1.0 [INFO] [stderr] Downloaded sonic-simd v0.1.1 [INFO] [stderr] Downloaded faststr v0.2.32 [INFO] [stderr] Downloaded rustls v0.23.34 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e0c35e777e56589fdab5ad607098de6e952a39956dfeaf26398632ee94b47822 [INFO] running `Command { std: "docker" "start" "-a" "e0c35e777e56589fdab5ad607098de6e952a39956dfeaf26398632ee94b47822", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e0c35e777e56589fdab5ad607098de6e952a39956dfeaf26398632ee94b47822", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e0c35e777e56589fdab5ad607098de6e952a39956dfeaf26398632ee94b47822", kill_on_drop: false }` [INFO] [stdout] e0c35e777e56589fdab5ad607098de6e952a39956dfeaf26398632ee94b47822 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8efb24bf73e80dd1779359b118d809c91ee76f30acb93642d8f2e33d56aed29b [INFO] running `Command { std: "docker" "start" "-a" "8efb24bf73e80dd1779359b118d809c91ee76f30acb93642d8f2e33d56aed29b", kill_on_drop: false }` [INFO] [stderr] Compiling zerocopy v0.8.27 [INFO] [stderr] Compiling cc v1.2.43 [INFO] [stderr] Compiling hashbrown v0.15.5 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling zerocopy-derive v0.8.27 [INFO] [stderr] Compiling tokio v1.48.0 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling lexical-util v1.0.7 [INFO] [stderr] Compiling rustls v0.21.12 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling ref-cast v1.0.25 [INFO] [stderr] Compiling ref-cast-impl v1.0.25 [INFO] [stderr] Compiling time-core v0.1.6 [INFO] [stderr] Compiling simdutf8 v0.1.5 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling deranged v0.5.5 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling time-macros v0.2.24 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling faststr v0.2.32 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling castaway v0.2.4 [INFO] [stderr] Compiling float-cmp v0.9.0 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling sonic-number v0.1.0 [INFO] [stderr] Compiling sonic-simd v0.1.1 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Compiling webpki-roots v0.25.4 [INFO] [stderr] Compiling bumpalo v3.19.0 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling url v2.5.7 [INFO] [stderr] Compiling compact_str v0.7.1 [INFO] [stderr] Compiling sonic-rs v0.3.17 [INFO] [stderr] Compiling lexical-parse-integer v1.0.6 [INFO] [stderr] Compiling lexical-write-integer v1.0.6 [INFO] [stderr] Compiling lexical-parse-float v1.0.6 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling openssl-sys v0.9.110 [INFO] [stderr] Compiling crossbeam v0.8.4 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling pem v3.0.6 [INFO] [stderr] Compiling lexical-write-float v1.0.6 [INFO] [stderr] Compiling uuid v1.18.1 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling openssl v0.10.74 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Compiling lexical-core v1.0.6 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling arc-swap v1.7.1 [INFO] [stderr] Compiling secrecy v0.8.0 [INFO] [stderr] Compiling time v0.3.44 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling halfbrown v0.2.5 [INFO] [stderr] Compiling dashmap v6.1.0 [INFO] [stderr] Compiling value-trait v0.8.1 [INFO] [stderr] Compiling simd-json v0.13.11 [INFO] [stderr] Compiling simple_asn1 v0.6.3 [INFO] [stderr] Compiling tokio-util v0.7.16 [INFO] [stderr] Compiling tower v0.5.2 [INFO] [stderr] Compiling tower-http v0.6.6 [INFO] [stderr] Compiling h2 v0.3.27 [INFO] [stderr] Compiling h2 v0.4.12 [INFO] [stderr] Compiling turbomcp-protocol v2.1.2 [INFO] [stderr] Compiling sct v0.7.1 [INFO] [stderr] Compiling rustls-webpki v0.101.7 [INFO] [stderr] Compiling jsonwebtoken v9.3.1 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling hyper v1.7.0 [INFO] [stderr] Compiling hyper v0.14.32 [INFO] [stderr] Compiling tokio-rustls v0.24.1 [INFO] [stderr] Compiling hyper-util v0.1.17 [INFO] [stderr] Compiling hyper-rustls v0.24.2 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling reqwest v0.11.27 [INFO] [stderr] Compiling reqwest v0.12.24 [INFO] [stderr] Compiling oauth2 v4.4.2 [INFO] [stderr] Compiling turbomcp-auth v2.1.2 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 23s [INFO] running `Command { std: "docker" "inspect" "8efb24bf73e80dd1779359b118d809c91ee76f30acb93642d8f2e33d56aed29b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8efb24bf73e80dd1779359b118d809c91ee76f30acb93642d8f2e33d56aed29b", kill_on_drop: false }` [INFO] [stdout] 8efb24bf73e80dd1779359b118d809c91ee76f30acb93642d8f2e33d56aed29b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c3f32f6a44c9c2d8ff54cddf99272d29a8e06a360e015650520532d5d50f42c2 [INFO] running `Command { std: "docker" "start" "-a" "c3f32f6a44c9c2d8ff54cddf99272d29a8e06a360e015650520532d5d50f42c2", kill_on_drop: false }` [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling tokio v1.48.0 [INFO] [stderr] Compiling const-oid v0.9.6 [INFO] [stderr] Compiling openssl v0.10.74 [INFO] [stderr] Compiling tempfile v3.23.0 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling deadpool-runtime v0.1.4 [INFO] [stderr] Compiling rand_xorshift v0.4.0 [INFO] [stderr] Compiling assert-json-diff v2.0.2 [INFO] [stderr] Compiling unarray v0.1.4 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling der v0.7.10 [INFO] [stderr] Compiling rusty-fork v0.3.1 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling signature v2.2.0 [INFO] [stderr] Compiling async-stream v0.3.6 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling float-cmp v0.9.0 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling proptest v1.9.0 [INFO] [stderr] Compiling value-trait v0.8.1 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling num-iter v0.1.45 [INFO] [stderr] Compiling num-bigint-dig v0.8.4 [INFO] [stderr] Compiling simd-json v0.13.11 [INFO] [stderr] Compiling spki v0.7.3 [INFO] [stderr] Compiling pkcs8 v0.10.2 [INFO] [stderr] Compiling pkcs1 v0.7.5 [INFO] [stderr] Compiling rsa v0.9.8 [INFO] [stderr] Compiling simple_asn1 v0.6.3 [INFO] [stderr] Compiling jsonwebtoken v9.3.1 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Compiling tokio-util v0.7.16 [INFO] [stderr] Compiling tokio-rustls v0.24.1 [INFO] [stderr] Compiling tower v0.5.2 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling deadpool v0.12.3 [INFO] [stderr] Compiling tokio-test v0.4.4 [INFO] [stderr] Compiling tower-http v0.6.6 [INFO] [stderr] Compiling h2 v0.4.12 [INFO] [stderr] Compiling h2 v0.3.27 [INFO] [stderr] Compiling turbomcp-protocol v2.1.2 [INFO] [stderr] Compiling hyper v1.7.0 [INFO] [stderr] Compiling hyper v0.14.32 [INFO] [stderr] Compiling hyper-util v0.1.17 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling wiremock v0.6.5 [INFO] [stderr] Compiling hyper-rustls v0.24.2 [INFO] [stderr] Compiling reqwest v0.12.24 [INFO] [stderr] Compiling reqwest v0.11.27 [INFO] [stderr] Compiling oauth2 v4.4.2 [INFO] [stderr] Compiling turbomcp-auth v2.1.2 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 10s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: num-bigint-dig v0.8.4 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "c3f32f6a44c9c2d8ff54cddf99272d29a8e06a360e015650520532d5d50f42c2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c3f32f6a44c9c2d8ff54cddf99272d29a8e06a360e015650520532d5d50f42c2", kill_on_drop: false }` [INFO] [stdout] c3f32f6a44c9c2d8ff54cddf99272d29a8e06a360e015650520532d5d50f42c2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 809ac0715b4e75ec644d9092b8467c07b2aafad5e8fd343093c54540dfe3ff50 [INFO] running `Command { std: "docker" "start" "-a" "809ac0715b4e75ec644d9092b8467c07b2aafad5e8fd343093c54540dfe3ff50", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.73s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: num-bigint-dig v0.8.4 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/turbomcp_auth-b089bb3583f97d8c) [INFO] [stdout] [INFO] [stdout] running 69 tests [INFO] [stdout] test context::tests::test_is_expired ... ok [INFO] [stdout] test context::tests::test_has_scope ... ok [INFO] [stdout] test context::tests::test_builder_full ... ok [INFO] [stdout] test context::tests::test_validation_audience ... ok [INFO] [stdout] test context::tests::test_validation_expired ... ok [INFO] [stdout] test context::tests::test_has_all_roles ... ok [INFO] [stdout] test context::tests::test_has_permission ... ok [INFO] [stdout] test context::tests::test_metadata ... ok [INFO] [stdout] test context::tests::test_has_role ... ok [INFO] [stdout] test introspection::tests::test_introspection_response_full ... ok [INFO] [stdout] test introspection::tests::test_introspection_response_inactive ... ok [INFO] [stdout] test jwt::jwks::tests::test_cached_jwks_expired ... ok [INFO] [stdout] test jwt::jwks::tests::test_cached_jwks_validity ... ok [INFO] [stdout] test introspection::tests::test_introspection_response_active ... ok [INFO] [stdout] test context::tests::test_has_any_role ... ok [INFO] [stdout] test context::tests::test_jwt_serialization ... ok [INFO] [stdout] test manager::tests::test_auth_manager ... ok [INFO] [stdout] test context::tests::test_validation_not_yet_valid ... ok [INFO] [stdout] test oauth2::dcr::tests::test_dcr_builder_mcp_client ... ok [INFO] [stdout] test manager::tests::test_oauth2_pkce_integration ... ok [INFO] [stdout] test jwt::validator::tests::test_multi_issuer_validator_creation ... ok [INFO] [stdout] test context::tests::test_builder_minimal ... ok [INFO] [stdout] test oauth2::dcr::tests::test_registration_response_deserialization ... ok [INFO] [stdout] test manager::tests::test_oauth2_config ... ok [INFO] [stdout] test manager::tests::test_api_key_provider ... ok [INFO] [stdout] test oauth2::dcr::tests::test_dcr_builder_native_client ... ok [INFO] [stdout] test oauth2::resource::tests::test_localhost_http_allowed ... ok [INFO] [stdout] test oauth2::resource::tests::test_mcp_examples ... ok [INFO] [stdout] test oauth2::resource::tests::test_port_handling ... ok [INFO] [stdout] test oauth2::resource::tests::test_query_parameters_removed ... ok [INFO] [stdout] test oauth2::resource::tests::test_trailing_slash_removal ... ok [INFO] [stdout] test oauth2::resource::tests::test_uri_normalization ... ok [INFO] [stdout] test oauth2::resource::tests::test_valid_https_uri ... ok [INFO] [stdout] test oauth2::resource::tests::test_http_non_localhost_rejected ... ok [INFO] [stdout] test oauth2::resource::tests::test_missing_host_rejected ... ok [INFO] [stdout] test oauth2::resource::tests::test_invalid_scheme_rejected ... ok [INFO] [stdout] test oauth2::validation::tests::test_fragment_not_allowed ... ok [INFO] [stdout] test oauth2::validation::tests::test_invalid_scheme ... ok [INFO] [stdout] test oauth2::resource::tests::test_fragment_rejected ... ok [INFO] [stdout] test oauth2::validation::tests::test_missing_host ... ok [INFO] [stdout] test oauth2::validation::tests::test_non_canonical_uppercase_scheme ... ok [INFO] [stdout] test oauth2::validation::tests::test_non_canonical_uppercase_host ... ok [INFO] [stdout] test oauth2::validation::tests::test_valid_http_uri ... ok [INFO] [stdout] test oauth2::validation::tests::test_valid_https_uri ... ok [INFO] [stdout] test server::tests::test_audience_validation_case_insensitive ... ok [INFO] [stdout] test server::tests::test_audience_validation_port_mismatch ... ok [INFO] [stdout] test server::tests::test_audience_validation_trailing_slash ... ok [INFO] [stdout] test server::tests::test_bearer_token_extraction ... ok [INFO] [stdout] test server::tests::test_bearer_token_extraction_case_insensitive ... ok [INFO] [stdout] test server::tests::test_bearer_token_extraction_invalid_format ... ok [INFO] [stdout] test server::tests::test_audience_validation_path_significant ... ok [INFO] [stdout] test server::tests::test_audience_validation_default_ports ... ok [INFO] [stdout] test server::tests::test_metadata_builder ... ok [INFO] [stdout] test server::tests::test_normalize_resource_uri ... ok [INFO] [stdout] test server::tests::test_unauthorized_response ... ok [INFO] [stdout] test server::tests::test_audience_validation_exact_match ... ok [INFO] [stdout] test server::tests::test_www_authenticate_builder ... ok [INFO] [stdout] test introspection::tests::test_introspection_client_creation ... ok [INFO] [stdout] test jwt::jwks::tests::test_jwks_client_creation ... ok [INFO] [stdout] test oauth2::dcr::tests::test_dcr_client_creation ... ok [INFO] [stdout] test jwt::jwks::tests::test_clear_cache ... ok [INFO] [stdout] test jwt::validator::tests::test_jwt_validator_custom_clock_skew ... ok [INFO] [stdout] test jwt::validator::tests::test_jwt_validator_custom_algorithms ... ok [INFO] [stdout] test providers::oauth2::tests::test_oauth2_provider_creation ... ok [INFO] [stdout] test jwt::jwks::tests::test_jwks_cache_creation ... ok [INFO] [stdout] test jwt::validator::tests::test_multi_issuer_validator_add_issuer ... ok [INFO] [stdout] test jwt::validator::tests::test_jwt_validator_creation ... ok [INFO] [stdout] test jwt::jwks::tests::test_jwks_cache_different_issuers ... ok [INFO] [stdout] test jwt::jwks::tests::test_jwks_client_with_custom_ttl ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 69 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.98s [INFO] [stdout] [INFO] [stderr] Running tests/dpop_integration.rs (/opt/rustwide/target/debug/deps/dpop_integration-a204ff955ed4de3c) [INFO] [stdout] [INFO] [stderr] Running tests/jwks_caching_robustness.rs (/opt/rustwide/target/debug/deps/jwks_caching_robustness-dc1d14ea48ef4265) [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 10 tests [INFO] [stdout] test test_cache_invalidation_on_signature_failure ... ignored, Requires JWKS caching implementation [INFO] [stdout] test common::tests::test_current_timestamp ... ok [INFO] [stdout] test common::tests::test_sha256_hash ... ok [INFO] [stdout] test test_key_rotation_with_grace_period ... ignored, Requires JWKS caching implementation [INFO] [stdout] test common::tests::test_mock_server_startup ... ok [INFO] [stdout] test test_jwks_cache_control_headers ... ok [INFO] [stdout] test test_concurrent_jwks_cache_access ... ok [INFO] [stdout] test test_jwks_fallback_to_cache_on_endpoint_failure ... ok [INFO] [stdout] test test_jwks_cache_hit_rate_performance ... ok [INFO] [stdout] test test_jwks_cache_ttl_refresh has been running for over 60 seconds [INFO] [stdout] test test_jwks_cache_ttl_refresh ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 61.38s [INFO] [stdout] [INFO] [stderr] Running tests/jwt_validation_edge_cases.rs (/opt/rustwide/target/debug/deps/jwt_validation_edge_cases-359e28c22b0f4564) [INFO] [stdout] [INFO] [stdout] running 13 tests [INFO] [stdout] test test_algorithm_mismatch ... ok [INFO] [stdout] test common::tests::test_current_timestamp ... ok [INFO] [stdout] test common::tests::test_sha256_hash ... ok [INFO] [stdout] test test_audience_claim_variations ... ok [INFO] [stdout] test common::tests::test_mock_server_startup ... ok [INFO] [stdout] test test_jwt_expiration_boundary ... ok [INFO] [stdout] test test_issuer_validation ... ok [INFO] [stdout] test test_expired_token ... ok [INFO] [stdout] test test_missing_expiration ... ok [INFO] [stdout] test test_far_future_expiration ... ok [INFO] [stdout] test test_clock_skew_tolerance ... ok [INFO] [stdout] test test_missing_required_claims ... ok [INFO] [stdout] test test_nbf_claim_validation ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stderr] Running tests/multi_provider_scenarios.rs (/opt/rustwide/target/debug/deps/multi_provider_scenarios-4a0855da9829c796) [INFO] [stdout] [INFO] [stdout] running 16 tests [INFO] [stdout] test common::tests::test_current_timestamp ... ok [INFO] [stdout] test common::tests::test_sha256_hash ... ok [INFO] [stdout] test test_issuer_specific_validation_rules ... ok [INFO] [stdout] test test_per_provider_rate_limiting ... ok [INFO] [stdout] test common::tests::test_mock_server_startup ... ok [INFO] [stdout] test test_keycloak_oidc_provider_oauth2_1_support ... ok [INFO] [stdout] test test_okta_enterprise_oauth2_1_support ... ok [INFO] [stdout] test test_auth0_identity_platform_oauth2_1_support ... ok [INFO] [stdout] test test_concurrent_jwks_fetching_multi_provider ... ok [INFO] [stdout] test test_all_new_providers_oauth2_1_features ... ok [INFO] [stdout] test test_provider_specific_error_formats ... ok [INFO] [stdout] test test_apple_signin_oauth2_1_support ... ok [INFO] [stdout] test test_provider_failover ... ok [INFO] [stdout] test test_per_provider_jwks_configuration ... ok [INFO] [stdout] test test_concurrent_multi_provider_authentication ... ok [INFO] [stdout] test test_cross_provider_token_isolation ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.69s [INFO] [stdout] [INFO] [stderr] Running tests/oauth2_flow_integration.rs (/opt/rustwide/target/debug/deps/oauth2_flow_integration-ec5b8b71156b5cdd) [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test common::tests::test_sha256_hash ... ok [INFO] [stdout] test common::tests::test_current_timestamp ... ok [INFO] [stdout] test common::tests::test_mock_server_startup ... ok [INFO] [stdout] test test_oauth2_refresh_token_flow ... ok [INFO] [stdout] test test_oauth2_pkce_code_challenge_validation ... ok [INFO] [stdout] test test_oauth2_authorization_redirect ... ok [INFO] [stdout] test test_oauth2_scope_handling ... ok [INFO] [stdout] test test_oauth2_token_exchange_success ... ok [INFO] [stdout] test test_oauth2_token_exchange_invalid_code ... ok [INFO] [stdout] test test_oauth2_missing_required_parameters ... ok [INFO] [stdout] test test_oauth2_client_credentials_flow ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.57s [INFO] [stdout] [INFO] [stderr] Running tests/security_attack_scenarios.rs (/opt/rustwide/target/debug/deps/security_attack_scenarios-0171f670e7348ed7) [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test common::tests::test_current_timestamp ... ok [INFO] [stdout] test common::tests::test_sha256_hash ... ok [INFO] [stdout] test test_reject_none_algorithm_attack ... ok [INFO] [stdout] test test_replay_attack_prevention_with_jti ... ok [INFO] [stdout] test test_reject_jwk_injection_in_access_token ... ok [INFO] [stdout] test common::tests::test_mock_server_startup ... ok [INFO] [stdout] test test_token_type_confusion_attack ... ok [INFO] [stdout] test test_redirect_uri_validation ... ok [INFO] [stdout] test test_authorization_code_single_use ... ok [INFO] [stdout] test test_scope_escalation_prevention ... ok [INFO] [stderr] Running tests/token_lifecycle.rs (/opt/rustwide/target/debug/deps/token_lifecycle-797ce8e5657f371d) [INFO] [stdout] test test_pkce_downgrade_attack_prevention ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.24s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test common::tests::test_current_timestamp ... ok [INFO] [stdout] test test_refresh_token_rotation_single_use ... ignored, Requires OAuth2 refresh token rotation implementation [INFO] [stdout] test test_token_revocation_rfc7009 ... ignored, Requires OAuth2 token revocation implementation [INFO] [stdout] test common::tests::test_sha256_hash ... ok [INFO] [stdout] test common::tests::test_mock_server_startup ... ok [INFO] [stdout] test test_token_lifetime_best_practices ... ok [INFO] [stdout] test test_revocation_propagates_to_access_tokens ... ok [INFO] [stdout] test test_automatic_token_refresh_before_expiration ... ok [INFO] [stdout] test test_refresh_token_rotation_grace_period ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.26s [INFO] [stdout] [INFO] [stderr] Doc-tests turbomcp_auth [INFO] [stdout] [INFO] [stdout] running 31 tests [INFO] [stdout] test src/context.rs - context::AuthContext (line 77) ... ignored [INFO] [stdout] test src/context.rs - context::AuthContext::get_metadata (line 421) ... ignored [INFO] [stdout] test src/context.rs - context::AuthContext::to_jwt_claims (line 264) ... ignored [INFO] [stdout] test src/context.rs - context::AuthContextBuilder (line 459) ... ignored [INFO] [stdout] test src/introspection.rs - introspection (line 15) - compile ... ok [INFO] [stdout] test src/oauth2/client.rs - oauth2::client::OAuth2Client::authorization_code_flow (line 356) ... ignored [INFO] [stdout] test src/oauth2/client.rs - oauth2::client::OAuth2Client::refresh_access_token (line 439) ... ignored [INFO] [stdout] test src/jwt/validator.rs - jwt::validator::JwtValidator (line 44) - compile ... ok [INFO] [stdout] test src/jwt/validator.rs - jwt::validator::MultiIssuerValidator (line 336) - compile ... FAILED [INFO] [stdout] test src/jwt/jwks.rs - jwt::jwks::JwksCache (line 278) - compile ... ok [INFO] [stdout] test src/jwt/jwks.rs - jwt::jwks::JwksClient (line 50) - compile ... ok [INFO] [stdout] test src/manager.rs - manager::AuthManager::authenticate (line 104) - compile ... FAILED [INFO] [stdout] test src/introspection.rs - introspection::IntrospectionClient (line 111) - compile ... ok [INFO] [stdout] test src/introspection.rs - introspection::IntrospectionClient::is_token_active (line 274) - compile ... ok [INFO] [stdout] test src/manager.rs - manager::AuthManager::validate_token (line 168) - compile ... ok [INFO] [stdout] test src/introspection.rs - introspection::IntrospectionClient::introspect (line 203) - compile ... ok [INFO] [stdout] test src/manager.rs - manager (line 13) - compile ... FAILED [INFO] [stdout] test src/oauth2/dcr.rs - oauth2::dcr::DcrClient::register (line 259) - compile ... ok [INFO] [stdout] test src/jwt/validator.rs - jwt::validator::JwtValidator::validate (line 178) - compile ... ok [INFO] [stdout] test src/server.rs - server::BearerTokenValidator::extract_from_header (line 181) - compile ... ok [INFO] [stdout] test src/oauth2/dcr.rs - oauth2::dcr::DcrClient::update (line 305) - compile ... ok [INFO] [stdout] test src/oauth2/dcr.rs - oauth2::dcr::DcrClient (line 174) - compile ... ok [INFO] [stdout] test src/oauth2/dcr.rs - oauth2::dcr (line 21) - compile ... ok [INFO] [stdout] test src/server.rs - server::validate_audience (line 265) ... ok [INFO] [stdout] test src/oauth2/resource.rs - oauth2::resource::validate_resource_uri (line 57) ... ok [INFO] [stdout] test src/lib.rs - (line 37) ... ok [INFO] [stdout] test src/jwt/validator.rs - jwt::validator::JwtValidator::new (line 88) ... ok [INFO] [stdout] test src/introspection.rs - introspection::IntrospectionClient::new (line 157) ... ok [INFO] [stdout] test src/jwt/jwks.rs - jwt::jwks::JwksClient::new (line 95) ... ok [INFO] [stdout] test src/oauth2/dcr.rs - oauth2::dcr::DcrClient::new (line 217) ... ok [INFO] [stdout] test src/oauth2/dcr.rs - oauth2::dcr::DcrBuilder (line 387) ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- src/jwt/validator.rs - jwt::validator::MultiIssuerValidator (line 336) stdout ---- [INFO] [stdout] error[E0432]: unresolved import `turbomcp_auth::jwt::MultiIssuerValidator` [INFO] [stdout] --> src/jwt/validator.rs:338:5 [INFO] [stdout] | [INFO] [stdout] 5 | use turbomcp_auth::jwt::MultiIssuerValidator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `MultiIssuerValidator` in `jwt` [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct instead [INFO] [stdout] | [INFO] [stdout] 5 | use turbomcp_auth::jwt::validator::MultiIssuerValidator; [INFO] [stdout] | +++++++++++ [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `token` in this scope [INFO] [stdout] --> src/jwt/validator.rs:347:33 [INFO] [stdout] | [INFO] [stdout] 14 | let result = validator.validate(token).await?; [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0432. [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/manager.rs - manager::AuthManager::authenticate (line 104) stdout ---- [INFO] [stdout] error[E0277]: the trait bound `AuthorizationConfig: Default` is not satisfied [INFO] [stdout] --> src/manager.rs:111:20 [INFO] [stdout] | [INFO] [stdout] 10 | authorization: Default::default(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ the trait `Default` is not implemented for `AuthorizationConfig` [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/manager.rs - manager (line 13) stdout ---- [INFO] [stdout] error[E0277]: the trait bound `AuthorizationConfig: Default` is not satisfied [INFO] [stdout] --> src/manager.rs:20:20 [INFO] [stdout] | [INFO] [stdout] 10 | authorization: Default::default(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ the trait `Default` is not implemented for `AuthorizationConfig` [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] src/jwt/validator.rs - jwt::validator::MultiIssuerValidator (line 336) [INFO] [stdout] src/manager.rs - manager (line 13) [INFO] [stdout] src/manager.rs - manager::AuthManager::authenticate (line 104) [INFO] [stdout] [INFO] [stdout] test result: FAILED. 22 passed; 3 failed; 6 ignored; 0 measured; 0 filtered out; finished in 9.61s [INFO] [stdout] [INFO] [stdout] all doctests ran in 10.22s; merged doctests compilation took 0.61s [INFO] [stderr] error: doctest failed, to rerun pass `--doc` [INFO] running `Command { std: "docker" "inspect" "809ac0715b4e75ec644d9092b8467c07b2aafad5e8fd343093c54540dfe3ff50", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "809ac0715b4e75ec644d9092b8467c07b2aafad5e8fd343093c54540dfe3ff50", kill_on_drop: false }` [INFO] [stdout] 809ac0715b4e75ec644d9092b8467c07b2aafad5e8fd343093c54540dfe3ff50