[INFO] fetching crate r2e-security 0.4.0...
[INFO] testing r2e-security-0.4.0 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate r2e-security 0.4.0 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate r2e-security 0.4.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate r2e-security 0.4.0
[INFO] tweaked toml for crates.io crate r2e-security 0.4.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate r2e-security 0.4.0 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate r2e-security 0.4.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:56:12
[INFO] [stderr]    |
[INFO] [stderr] 56 | homepage = "https://github.com/plawn/r2e"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 61 | repository = "https://github.com/plawn/r2e"
[INFO] [stderr]    |              ------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `r2e-security` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d1b6d34f6c667fc7cf79eb76dfd8364c34ca8e408a64018bea1653e8d14ad611
[INFO] running `Command { std: "docker" "start" "d1b6d34f6c667fc7cf79eb76dfd8364c34ca8e408a64018bea1653e8d14ad611", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d1b6d34f6c667fc7cf79eb76dfd8364c34ca8e408a64018bea1653e8d14ad611", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d1b6d34f6c667fc7cf79eb76dfd8364c34ca8e408a64018bea1653e8d14ad611" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d1b6d34f6c667fc7cf79eb76dfd8364c34ca8e408a64018bea1653e8d14ad611", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d1b6d34f6c667fc7cf79eb76dfd8364c34ca8e408a64018bea1653e8d14ad611" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:56:12
[INFO] [stderr]    |
[INFO] [stderr] 56 | homepage = "https://github.com/plawn/r2e"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 61 | repository = "https://github.com/plawn/r2e"
[INFO] [stderr]    |              ------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `r2e-security` (manifest) generated 1 warning
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling bytes v1.12.0
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling aws-lc-rs v1.17.1
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling socket2 v0.6.4
[INFO] [stderr]    Compiling mio v1.2.1
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling untrusted v0.7.1
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling memchr v2.8.2
[INFO] [stderr]    Compiling siphasher v1.0.3
[INFO] [stderr]    Compiling cc v1.2.65
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling rustls v0.23.41
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling winnow v1.0.3
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling http v1.4.2
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling time-macros v0.2.31
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling openssl-probe v0.2.1
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling compact_str v0.9.1
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling uuid v1.23.4
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling pem v3.0.6
[INFO] [stderr]    Compiling arc-swap v1.9.2
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling dashmap v6.2.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling time v0.3.53
[INFO] [stderr]    Compiling aws-lc-sys v0.42.0
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling toml_edit v0.25.12+spec-1.1.0
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]    Compiling regex v1.12.4
[INFO] [stderr]    Compiling matchers v0.2.0
[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 tokio-macros v2.7.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling zeroize_derive v1.5.0
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling garde_derive v0.23.0
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling rustls-pki-types v1.15.0
[INFO] [stderr]    Compiling cron v0.17.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling garde v0.23.0
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling rustls-native-certs v0.8.4
[INFO] [stderr]    Compiling simple_asn1 v0.6.4
[INFO] [stderr]    Compiling r2e-macros v0.4.0
[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 tower-http v0.7.0
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling hyper v1.10.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling r2e-rt v0.4.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling jsonwebtoken v10.4.0
[INFO] [stderr]    Compiling axum v0.8.9
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rustls-platform-verifier v0.7.0
[INFO] [stderr]    Compiling r2e-http v0.4.0
[INFO] [stderr]    Compiling r2e-core v0.4.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.13.4
[INFO] [stderr]    Compiling r2e-security v0.4.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 22s
[INFO] running `Command { std: "docker" "inspect" "d1b6d34f6c667fc7cf79eb76dfd8364c34ca8e408a64018bea1653e8d14ad611", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d1b6d34f6c667fc7cf79eb76dfd8364c34ca8e408a64018bea1653e8d14ad611" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:56:12
[INFO] [stderr]    |
[INFO] [stderr] 56 | homepage = "https://github.com/plawn/r2e"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 61 | repository = "https://github.com/plawn/r2e"
[INFO] [stderr]    |              ------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `r2e-security` (manifest) generated 1 warning
[INFO] [stderr]    Compiling pin-project-internal v1.1.13
[INFO] [stderr]    Compiling pin-project v1.1.13
[INFO] [stderr]    Compiling tonic v0.14.6
[INFO] [stderr]    Compiling r2e-security v0.4.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 19.35s
[INFO] running `Command { std: "docker" "inspect" "d1b6d34f6c667fc7cf79eb76dfd8364c34ca8e408a64018bea1653e8d14ad611", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d1b6d34f6c667fc7cf79eb76dfd8364c34ca8e408a64018bea1653e8d14ad611" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:56:12
[INFO] [stderr]    |
[INFO] [stderr] 56 | homepage = "https://github.com/plawn/r2e"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 61 | repository = "https://github.com/plawn/r2e"
[INFO] [stderr]    |              ------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `r2e-security` (manifest) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.47s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/r2e-security/be9e19e02ab595bb/out/r2e_security-be9e19e02ab595bb)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test jwks::tests::cached_key_reuses_prebuilt_decoding_key ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/claims.rs (/opt/rustwide/target/debug/build/r2e-security/cb46815f70721753/out/claims-cb46815f70721753)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test absent_optional_claims_are_none ... ok
[INFO] [stdout] test custom_claims_land_in_extra_and_are_read_with_get ... ok
[INFO] [stdout] test missing_sub_deserializes_to_the_empty_default ... ok
[INFO] [stdout] test standard_role_extractor_reads_the_roles_field ... ok
[INFO] [stdout] test serialize_omits_absent_claims ... ok
[INFO] [stdout] test aud_as_a_single_string ... ok
[INFO] [stdout] test keycloak_extractors_read_realm_and_resource_access ... ok
[INFO] [stdout] test merge_combines_standard_and_realm_roles_and_dedups ... ok
[INFO] [stdout] test deserializes_a_keycloak_shaped_payload ... ok
[INFO] [stdout] test aud_as_an_array ... ok
[INFO] [stdout] test serialize_round_trips_the_payload ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/claims_identity_macro.rs (/opt/rustwide/target/debug/build/r2e-security/256e8b003a25d3bf/out/claims_identity_macro-256e8b003a25d3bf)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test macro_generated_extraction_route_is_unambiguous ... ok
[INFO] [stdout] test legacy_claims_identity_name_remains_compatible ... ok
[INFO] [stdout] [2m2026-10-06T17:26:43.514103Z[0m [33m WARN[0m [2mr2e_security::extractor[0m[2m:[0m JWT validation failed [3muri[0m[2m=[0m/test [3merror[0m[2m=[0mInvalid token: Failed to decode header: InvalidToken
[INFO] [stdout] test identity_construction_error_is_propagated ... ok
[INFO] [stdout] test optional_extractor_returns_none_without_authorization_header ... ok
[INFO] [stdout] test optional_extractor_rejects_invalid_token_when_header_is_present ... ok
[INFO] [stdout] test required_extractor_builds_identity_from_validated_claims ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/config.rs (/opt/rustwide/target/debug/build/r2e-security/e9d60cb7ca2d7d76/out/config-e9d60cb7ca2d7d76)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test config_with_cache_ttl ... ok
[INFO] [stdout] test config_with_max_stale ... ok
[INFO] [stdout] test config_new_required_fields ... ok
[INFO] [stderr]      Running tests/error.rs (/opt/rustwide/target/debug/build/r2e-security/4b336becbcd544c5/out/error-4b336becbcd544c5)
[INFO] [stdout] test config_fields_accessible ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 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 display_formatting ... ok
[INFO] [stdout] test into_app_error ... ok
[INFO] [stdout] test json_body_format ... ok
[INFO] [stdout] test validation_failed_401 ... ok
[INFO] [stdout] test missing_auth_header_401 ... ok
[INFO] [stdout] test invalid_token_401 ... ok
[INFO] [stdout] test token_expired_401 ... ok
[INFO] [stdout] test unknown_key_id_401 ... ok
[INFO] [stdout] test jwks_fetch_error_503 ... ok
[INFO] [stdout] test invalid_auth_scheme_401 ... ok
[INFO] [stdout] 
[INFO] [stderr]      Running tests/extractor.rs (/opt/rustwide/target/debug/build/r2e-security/038812ee6ff9744e/out/extractor-038812ee6ff9744e)
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test bearer_only_no_token ... ok
[INFO] [stdout] test authenticated_user_extraction_route_is_unambiguous ... ok
[INFO] [stdout] test case_insensitive_scheme ... ok
[INFO] [stdout] test valid_bearer_token ... ok
[INFO] [stdout] test empty_authorization_header ... ok
[INFO] [stdout] test case_insensitive_scheme_mixed ... ok
[INFO] [stdout] test invalid_scheme_basic ... ok
[INFO] [stdout] test missing_authorization_header ... ok
[INFO] [stdout] test extra_whitespace_is_trimmed ... ok
[INFO] [stderr]      Running tests/guards.rs (/opt/rustwide/target/debug/build/r2e-security/d3543849d57ead69/out/guards-d3543849d57ead69)
[INFO] [stdout] test token_with_dots ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test all_roles_guard_passes_single_role ... ok
[INFO] [stdout] test roles_guard_rejects_no_identity ... ok
[INFO] [stdout] test all_roles_guard_passes_when_all_present ... ok
[INFO] [stdout] test roles_guard_rejects_empty_requirements ... ok
[INFO] [stdout] test all_roles_guard_rejects_empty_requirements ... ok
[INFO] [stdout] test all_roles_guard_rejects_when_one_missing ... ok
[INFO] [stdout] test roles_guard_passes ... ok
[INFO] [stdout] test all_roles_guard_rejects_no_identity ... ok
[INFO] [stdout] test roles_guard_rejects ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/identity.rs (/opt/rustwide/target/debug/build/r2e-security/d0a5adf0062bbdce/out/identity-d0a5adf0062bbdce)
[INFO] [stdout] 
[INFO] [stdout] running 17 tests
[INFO] [stdout] test from_claims_empty_roles ... ok
[INFO] [stdout] test from_claims_with_custom_extractor ... ok
[INFO] [stdout] test identity_sub ... ok
[INFO] [stdout] test identity_roles ... ok
[INFO] [stdout] test identity_claims ... ok
[INFO] [stdout] test has_any_role_empty_slice ... ok
[INFO] [stdout] test from_claims_merges_standard_and_keycloak_roles ... ok
[INFO] [stdout] test from_claims_missing_sub ... ok
[INFO] [stdout] test has_any_role_none_match ... ok
[INFO] [stdout] test has_role_absent ... ok
[INFO] [stdout] test has_role_case_sensitive ... ok
[INFO] [stdout] test identity_email ... ok
[INFO] [stdout] test from_claims_complete ... ok
[INFO] [stdout] test has_role_present ... ok
[INFO] [stdout] test from_claims_deduplicates_merged_roles ... ok
[INFO] [stdout] test has_any_role_one_match ... ok
[INFO] [stdout] test from_claims_missing_email ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/jwks.rs (/opt/rustwide/target/debug/build/r2e-security/c121f6913cce924e/out/jwks-c121f6913cce924e)
[INFO] [stdout] 
[INFO] [stdout] running 26 tests
[INFO] [stdout] test checked_accepts_signature_use_and_verify_operation ... ok
[INFO] [stdout] test checked_rejects_encryption_key_use ... ok
[INFO] [stdout] test can_attempt_when_interval_elapsed ... ok
[INFO] [stdout] test checked_rejects_alg_mismatch ... ok
[INFO] [stdout] test checked_rejects_kty_mismatch ... ok
[INFO] [stdout] test ec_key_requires_x_and_y ... ok
[INFO] [stdout] test http_url_allowed_when_insecure_opt_in ... ok
[INFO] [stdout] test http_url_rejected_by_default ... ok
[INFO] [stdout] test https_scheme_is_case_insensitive ... ok
[INFO] [stdout] test https_url_accepted ... ok
[INFO] [stdout] test non_http_scheme_rejected_even_with_insecure_opt_in ... ok
[INFO] [stdout] test stale_when_never_refreshed ... ok
[INFO] [stdout] test checked_rejects_key_ops_without_verify ... ok
[INFO] [stdout] test kty_mapping_covers_families ... ok
[INFO] [stdout] test stale_when_ttl_elapsed ... ok
[INFO] [stdout] test unsupported_key_type_rejected ... ok
[INFO] [stdout] test can_attempt_when_never_attempted ... ok
[INFO] [stdout] test cannot_attempt_too_soon ... ok
[INFO] [stdout] test okp_key_requires_x ... ok
[INFO] [stdout] test rsa_key_requires_n_and_e ... ok
[INFO] [stdout] test stale_key_is_rejected_after_grace_period ... ok
[INFO] [stdout] test stale_key_is_usable_within_grace_period ... ok
[INFO] [stdout] test not_stale_before_ttl ... ok
[INFO] [stdout] [2m2026-10-06T17:26:43.871400Z[0m [33m WARN[0m [2mr2e_security::jwks[0m[2m:[0m JWKS refresh deferred; using stale cached key [3mkid[0m[2m=[0m"test-key"
[INFO] [stdout] test cache_rejects_expired_key_after_grace_period ... ok
[INFO] [stdout] test cache_serves_expired_key_within_grace_period ... ok
[INFO] [stdout] test strict_client_rejects_http_targets ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.28s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/jwt.rs (/opt/rustwide/target/debug/build/r2e-security/757f510e71e43590/out/jwt-757f510e71e43590)
[INFO] [stdout] 
[INFO] [stdout] running 28 tests
[INFO] [stdout] test config_accessor ... ok
[INFO] [stdout] [2m2026-10-06T17:26:43.959190Z[0m [33m WARN[0m [2mr2e_security::jwt[0m[2m:[0m JWT rejected: missing or empty 'sub' (subject) claim
[INFO] [stdout] [2m2026-10-06T17:26:43.960771Z[0m [33m WARN[0m [2mr2e_security::jwt[0m[2m:[0m JWT claim validation failed [3merror[0m[2m=[0mInvalid token: InvalidSignature
[INFO] [stdout] [2m2026-10-06T17:26:43.977077Z[0m [33m WARN[0m [2mr2e_security::jwt[0m[2m:[0m JWT claim validation failed [3merror[0m[2m=[0mInvalid token: ImmatureSignature
[INFO] [stdout] test validate_empty_sub ... ok
[INFO] [stdout] test validate_as_value_is_still_the_dynamic_escape_hatch ... ok
[INFO] [stdout] test claims_validator_accessor ... ok
[INFO] [stdout] [2m2026-10-06T17:26:43.991301Z[0m [33m WARN[0m [2mr2e_security::jwt[0m[2m:[0m JWT claim validation failed [3merror[0m[2m=[0mToken validation failed: Invalid issuer
[INFO] [stdout] [2m2026-10-06T17:26:43.991452Z[0m [33m WARN[0m [2mr2e_security::jwt[0m[2m:[0m JWT claim validation failed [3merror[0m[2m=[0mToken expired
[INFO] [stdout] [2m2026-10-06T17:26:43.992206Z[0m [33m WARN[0m [2mr2e_security::jwt[0m[2m:[0m JWT claim validation failed [3merror[0m[2m=[0mToken validation failed: Missing required claim: iss
[INFO] [stdout] [2m2026-10-06T17:26:43.996570Z[0m [33m WARN[0m [2mr2e_security::jwt[0m[2m:[0m JWT claim validation failed [3merror[0m[2m=[0mToken expired
[INFO] [stdout] [2m2026-10-06T17:26:43.998008Z[0m [33m WARN[0m [2mr2e_security::jwt[0m[2m:[0m JWT claim validation failed [3merror[0m[2m=[0mToken expired
[INFO] [stdout] [2m2026-10-06T17:26:44.029857Z[0m [33m WARN[0m [2mr2e_security::jwt[0m[2m:[0m JWT claim validation failed [3merror[0m[2m=[0mToken validation failed: Missing required claim: aud
[INFO] [stdout] test skip_audience_validation_accepts_a_token_without_aud ... ok
[INFO] [stdout] test skip_audience_validation_still_enforces_issuer_and_exp ... ok
[INFO] [stdout] test validate_deserializes_keycloak_shaped_token_into_standard_claims ... ok
[INFO] [stdout] test leeway_tolerates_a_slightly_future_nbf ... ok
[INFO] [stdout] test validate_missing_issuer ... ok
[INFO] [stdout] test validate_invalid_signature ... ok
[INFO] [stdout] test mixed_family_allowed_algorithms_still_validate ... ok
[INFO] [stdout] test validate_malformed_token ... ok
[INFO] [stdout] test validate_empty_token ... ok
[INFO] [stdout] test any_of_multiple_configured_audiences_accepts_the_token ... ok
[INFO] [stdout] test leeway_tolerates_a_slightly_expired_token ... ok
[INFO] [stdout] test validate_empty_allowed_algorithms ... ok
[INFO] [stdout] [2m2026-10-06T17:26:44.058589Z[0m [33m WARN[0m [2mr2e_security::jwt[0m[2m:[0m JWT claim validation failed [3merror[0m[2m=[0mInvalid token: ImmatureSignature
[INFO] [stdout] [2m2026-10-06T17:26:44.058666Z[0m [33m WARN[0m [2mr2e_security::jwt[0m[2m:[0m JWT claim validation failed [3merror[0m[2m=[0mToken validation failed: Invalid audience
[INFO] [stdout] test validate_disallowed_algorithm ... ok
[INFO] [stdout] test validate_expired_token ... ok
[INFO] [stdout] [2m2026-10-06T17:26:44.060151Z[0m [33m WARN[0m [2mr2e_security::jwt[0m[2m:[0m JWT claim validation failed [3merror[0m[2m=[0mToken validation failed: Missing required claim: sub
[INFO] [stdout] [2m2026-10-06T17:26:44.061224Z[0m [33m WARN[0m [2mr2e_security::jwt[0m[2m:[0m JWT claim validation failed [3merror[0m[2m=[0mToken validation failed: Invalid audience
[INFO] [stdout] test validate_claims_passthrough ... ok
[INFO] [stdout] test validate_missing_audience ... ok
[INFO] [stdout] test validate_token_before_not_before ... ok
[INFO] [stdout] test with_audiences_replaces_the_constructor_audience ... ok
[INFO] [stdout] [2m2026-10-06T17:26:44.071964Z[0m [33m WARN[0m [2mr2e_security::jwt[0m[2m:[0m JWT claim validation failed [3merror[0m[2m=[0mToken validation failed: Invalid issuer
[INFO] [stdout] test validate_missing_sub ... ok
[INFO] [stdout] test validate_wrong_audience ... ok
[INFO] [stdout] test validate_typed_claims ... ok
[INFO] [stdout] test validate_wrong_issuer ... ok
[INFO] [stdout] test validate_returns_authenticated_user ... ok
[INFO] [stdout] test validate_valid_token ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/keycloak.rs (/opt/rustwide/target/debug/build/r2e-security/4fe90547260dcb50/out/keycloak-4fe90547260dcb50)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test test_client_role_extractor_missing_client ... ok
[INFO] [stdout] test test_client_role_extractor ... ok
[INFO] [stdout] test test_combined_client_only ... ok
[INFO] [stdout] test test_realm_role_extractor ... ok
[INFO] [stdout] test test_combined_realm_only ... ok
[INFO] [stdout] test test_combined_with_clients_iterator ... ok
[INFO] [stdout] test test_combined_deduplication ... ok
[INFO] [stdout] test test_combined_multiple_clients ... ok
[INFO] [stdout] test test_combined_empty_config ... ok
[INFO] [stdout] test test_combined_realm_and_client ... ok
[INFO] [stderr]      Running tests/openid.rs (/opt/rustwide/target/debug/build/r2e-security/6fb345ffe3663f63/out/openid-6fb345ffe3663f63)
[INFO] [stdout] test test_realm_role_extractor_missing ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test test_extract_string_array_nested ... ok
[INFO] [stdout] test test_standard_role_extractor ... ok
[INFO] [stdout] test test_composite_extractor_fallback ... ok
[INFO] [stdout] test test_extract_string_array_missing_path ... ok
[INFO] [stdout] test test_standard_role_extractor_empty ... ok
[INFO] [stdout] test test_merge_extractor ... ok
[INFO] [stdout] test test_composite_extractor_first_match ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests r2e_security
[INFO] [stdout] 
[INFO] [stdout] running 26 tests
[INFO] [stdout] test src/extractor.rs - extractor::AuthenticatedUser (line 221) ... ignored
[INFO] [stdout] test src/extractor.rs - extractor::extract_jwt_claims (line 50) ... ignored
[INFO] [stdout] test src/extractor.rs - extractor::extract_jwt_claims (line 92) ... ignored
[INFO] [stdout] test src/extractor.rs - extractor::extract_jwt_identity (line 149) ... ignored
[INFO] [stdout] test src/identity.rs - identity::AuthenticatedUser::from_claims (line 335) ... ignored
[INFO] [stdout] test src/identity.rs - identity::AuthenticatedUser::from_claims_with (line 348) ... ignored
[INFO] [stdout] test src/identity.rs - identity::FromValidatedJwtClaims (line 19) ... ignored
[INFO] [stdout] test src/identity.rs - identity::IdentityBuilder (line 172) ... ignored
[INFO] [stdout] test src/identity.rs - identity::IdentityBuilder (line 189) ... ignored
[INFO] [stdout] test src/identity.rs - identity::IdentityBuilderWith (line 224) ... ignored
[INFO] [stdout] test src/identity.rs - identity::impl_claims_identity_extractor (line 72) ... ignored
[INFO] [stdout] test src/identity.rs - identity::impl_claims_identity_extractor (line 81) ... ignored
[INFO] [stdout] test src/jwt.rs - jwt::JwtClaimsValidator (line 58) ... ignored
[INFO] [stdout] test src/jwt.rs - jwt::JwtClaimsValidator::with_identity_builder (line 253) ... ignored
[INFO] [stdout] test src/jwt.rs - jwt::JwtValidator (line 293) ... ignored
[INFO] [stdout] test src/keycloak.rs - keycloak (line 30) ... ignored
[INFO] [stdout] test src/keycloak.rs - keycloak::ClientRoleExtractor (line 74) ... ignored
[INFO] [stdout] test src/keycloak.rs - keycloak::RealmRoleExtractor (line 52) ... ignored
[INFO] [stdout] test src/keycloak.rs - keycloak::RoleExtractor (line 115) ... ignored
[INFO] [stdout] test src/keycloak.rs - keycloak::RoleExtractor (line 127) ... ignored
[INFO] [stdout] test src/keycloak.rs - keycloak::RoleExtractor (line 136) ... ignored
[INFO] [stdout] test src/openid.rs - openid::Composite (line 72) ... ignored
[INFO] [stdout] test src/openid.rs - openid::Merge (line 100) ... ignored
[INFO] [stdout] test src/openid.rs - openid::RoleExtractor (line 21) ... ignored
[INFO] [stdout] test src/openid.rs - openid::StandardRoleExtractor (line 49) ... ignored
[INFO] [stdout] test src/openid.rs - openid::extract_string_array (line 140) ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 26 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.24s; merged doctests compilation took 0.23s
[INFO] running `Command { std: "docker" "inspect" "d1b6d34f6c667fc7cf79eb76dfd8364c34ca8e408a64018bea1653e8d14ad611", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d1b6d34f6c667fc7cf79eb76dfd8364c34ca8e408a64018bea1653e8d14ad611", kill_on_drop: false }`
[INFO] [stdout] d1b6d34f6c667fc7cf79eb76dfd8364c34ca8e408a64018bea1653e8d14ad611
