[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
