[INFO] fetching crate atproto-oauth 0.13.0...
[INFO] testing atproto-oauth-0.13.0 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] extracting crate atproto-oauth 0.13.0 into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate atproto-oauth 0.13.0
[INFO] finished tweaking crates.io crate atproto-oauth 0.13.0
[INFO] tweaked toml for crates.io crate atproto-oauth 0.13.0 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate atproto-oauth 0.13.0 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate atproto-oauth 0.13.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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fdc9422f179d476de1a8677ccc97fcf8997bcb12b885b85cfd4d90d14a8932fc
[INFO] running `Command { std: "docker" "start" "-a" "fdc9422f179d476de1a8677ccc97fcf8997bcb12b885b85cfd4d90d14a8932fc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fdc9422f179d476de1a8677ccc97fcf8997bcb12b885b85cfd4d90d14a8932fc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fdc9422f179d476de1a8677ccc97fcf8997bcb12b885b85cfd4d90d14a8932fc", kill_on_drop: false }`
[INFO] [stdout] fdc9422f179d476de1a8677ccc97fcf8997bcb12b885b85cfd4d90d14a8932fc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 08fce0b545afc8c7b317c60b01eddbd44826673ea5f8421adb06d1776bc13c2a
[INFO] running `Command { std: "docker" "start" "-a" "08fce0b545afc8c7b317c60b01eddbd44826673ea5f8421adb06d1776bc13c2a", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling portable-atomic v1.11.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling critical-section v1.2.0
[INFO] [stderr]    Compiling smallvec v1.15.0
[INFO] [stderr]    Compiling cc v1.2.24
[INFO] [stderr]    Compiling base64ct v1.7.3
[INFO] [stderr]    Compiling syn v2.0.101
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling http v1.3.1
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling zerocopy v0.8.25
[INFO] [stderr]    Compiling hashbrown v0.15.3
[INFO] [stderr]    Compiling base16ct v0.2.0
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling pem-rfc7468 v0.7.0
[INFO] [stderr]    Compiling rustls v0.23.27
[INFO] [stderr]    Compiling data-encoding v2.9.0
[INFO] [stderr]    Compiling unicase v2.8.1
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling der v0.7.10
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling webpki-roots v1.0.0
[INFO] [stderr]    Compiling core2 v0.4.0
[INFO] [stderr]    Compiling indexmap v2.9.0
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling iri-string v0.7.8
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling tracing-core v0.1.33
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling unsigned-varint v0.8.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling spki v0.7.3
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling base-x v0.2.11
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling pkcs8 v0.10.2
[INFO] [stderr]    Compiling ff v0.13.1
[INFO] [stderr]    Compiling crypto-bigint v0.5.5
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling rfc6979 v0.4.0
[INFO] [stderr]    Compiling group v0.13.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling moka v0.12.10
[INFO] [stderr]    Compiling tinyvec v1.9.0
[INFO] [stderr]    Compiling uuid v1.17.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling tagptr v0.2.0
[INFO] [stderr]    Compiling resolv-conf v0.7.4
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.9.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling ulid v1.2.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling data-encoding-macro-internal v0.1.16
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling enum-as-inner v0.6.1
[INFO] [stderr]    Compiling tokio v1.45.1
[INFO] [stderr]    Compiling data-encoding-macro v0.1.18
[INFO] [stderr]    Compiling multibase v0.9.1
[INFO] [stderr]    Compiling rustls-webpki v0.103.3
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling zerovec v0.11.2
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling tokio-util v0.7.15
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling tokio-rustls v0.26.2
[INFO] [stderr]    Compiling hickory-proto v0.25.2
[INFO] [stderr]    Compiling h2 v0.4.10
[INFO] [stderr]    Compiling tower-http v0.6.4
[INFO] [stderr]    Compiling serdect v0.2.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling multihash v0.19.3
[INFO] [stderr]    Compiling serde_bytes v0.11.17
[INFO] [stderr]    Compiling cbor4ii v0.2.14
[INFO] [stderr]    Compiling sec1 v0.7.3
[INFO] [stderr]    Compiling cid v0.11.1
[INFO] [stderr]    Compiling ipld-core v0.4.2
[INFO] [stderr]    Compiling serde_ipld_dagcbor v0.6.3
[INFO] [stderr]    Compiling elliptic-curve v0.13.8
[INFO] [stderr]    Compiling ecdsa v0.16.9
[INFO] [stderr]    Compiling primeorder v0.13.6
[INFO] [stderr]    Compiling hickory-resolver v0.25.2
[INFO] [stderr]    Compiling p256 v0.13.2
[INFO] [stderr]    Compiling p384 v0.13.1
[INFO] [stderr]    Compiling k256 v0.13.4
[INFO] [stderr]    Compiling hyper v1.6.0
[INFO] [stderr]    Compiling hyper-util v0.1.13
[INFO] [stderr]    Compiling hyper-rustls v0.27.6
[INFO] [stderr]    Compiling reqwest v0.12.18
[INFO] [stderr]    Compiling reqwest-middleware v0.4.2
[INFO] [stderr]    Compiling atproto-identity v0.13.0
[INFO] [stderr]    Compiling reqwest-chain v1.0.0
[INFO] [stderr]    Compiling atproto-oauth v0.13.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 49.17s
[INFO] running `Command { std: "docker" "inspect" "08fce0b545afc8c7b317c60b01eddbd44826673ea5f8421adb06d1776bc13c2a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "08fce0b545afc8c7b317c60b01eddbd44826673ea5f8421adb06d1776bc13c2a", kill_on_drop: false }`
[INFO] [stdout] 08fce0b545afc8c7b317c60b01eddbd44826673ea5f8421adb06d1776bc13c2a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f994650fd8135db8db17ae7504fe15906646357f16d14bec16630d4459ba6478
[INFO] running `Command { std: "docker" "start" "-a" "f994650fd8135db8db17ae7504fe15906646357f16d14bec16630d4459ba6478", kill_on_drop: false }`
[INFO] [stderr]    Compiling atproto-oauth v0.13.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 4.65s
[INFO] running `Command { std: "docker" "inspect" "f994650fd8135db8db17ae7504fe15906646357f16d14bec16630d4459ba6478", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f994650fd8135db8db17ae7504fe15906646357f16d14bec16630d4459ba6478", kill_on_drop: false }`
[INFO] [stdout] f994650fd8135db8db17ae7504fe15906646357f16d14bec16630d4459ba6478
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] b1b88547689949ccdf2c676e3440a2bf9391205919c9a16a57dbd0776e80d687
[INFO] running `Command { std: "docker" "start" "-a" "b1b88547689949ccdf2c676e3440a2bf9391205919c9a16a57dbd0776e80d687", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.26s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/atproto_oauth-c257a33b9ec7fe93)
[INFO] [stdout] 
[INFO] [stdout] running 149 tests
[INFO] [stdout] test dpop::tests::test_extract_jwk_thumbprint_invalid_jwt_format ... ok
[INFO] [stdout] test dpop::tests::test_extract_jwk_thumbprint_missing_jwk ... ok
[INFO] [stdout] test dpop::tests::test_extract_jwk_thumbprint_invalid_header ... ok
[INFO] [stdout] test dpop::tests::test_is_dpop_error_case_sensitive_error_value ... ok
[INFO] [stdout] test dpop::tests::test_extract_jwk_thumbprint_with_known_jwt ... ok
[INFO] [stdout] test dpop::tests::test_is_dpop_error_case_sensitive_scheme ... ok
[INFO] [stdout] test dpop::tests::test_is_dpop_error_malformed_quotes ... ok
[INFO] [stdout] test dpop::tests::test_is_dpop_error_empty_string ... ok
[INFO] [stdout] test dpop::tests::test_is_dpop_error_minimal_valid ... ok
[INFO] [stdout] test dpop::tests::test_is_dpop_error_multiple_error_fields ... ok
[INFO] [stdout] test dpop::tests::test_is_dpop_error_not_dpop_header ... ok
[INFO] [stdout] test dpop::tests::test_is_dpop_error_other_error ... ok
[INFO] [stdout] test dpop::tests::test_is_dpop_error_unquoted_value ... ok
[INFO] [stdout] test dpop::tests::test_is_dpop_error_use_dpop_nonce ... ok
[INFO] [stdout] test dpop::tests::test_is_dpop_error_whitespace_handling ... ok
[INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_config_for_authorization ... ok
[INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_config_for_resource_request ... ok
[INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_invalid_format ... ok
[INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_invalid_typ ... ok
[INFO] [stdout] test dpop::tests::test_is_dpop_error_invalid_dpop_proof ... ok
[INFO] [stdout] test dpop::tests::test_is_dpop_error_no_error_field ... ok
[INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_missing_jwk ... ok
[INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_http_uri_mismatch ... ok
[INFO] [stdout] test dpop::tests::test_extract_jwk_thumbprint_with_generated_dpop ... ok
[INFO] [stdout] test dpop::tests::test_extract_jwk_thumbprint_different_keys_different_thumbprints ... ok
[INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_http_method_mismatch ... ok
[INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_nonce_missing_when_required ... ok
[INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_missing_claims ... ok
[INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_unsupported_algorithm ... ok
[INFO] [stdout] test jwk::tests::test_thumbprint_k256 ... ok
[INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_with_known_jwt ... ok
[INFO] [stdout] test jwk::tests::test_thumbprint_consistency ... ok
[INFO] [stdout] test jwk::tests::test_thumbprint_different_keys_different_thumbprints ... ok
[INFO] [stdout] test jwk::tests::test_thumbprint_p256 ... ok
[INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_with_generated_jwt ... ok
[INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_permissive_config ... ok
[INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_require_access_token_hash ... ok
[INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_timestamp_validation ... ok
[INFO] [stdout] test jwk::tests::test_thumbprint_private_vs_public_same_thumbprint ... ok
[INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_nonce_validation_success ... ok
[INFO] [stdout] test jwk::tests::test_thumbprint_spec_compliance ... ok
[INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_nonce_validation_failure ... ok
[INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_with_resource_request ... ok
[INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_nonce_empty_array_skips_validation ... ok
[INFO] [stdout] test jwk::tests::test_thumbprint_p384 ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_invalid_jwk_conversion ... ok
[INFO] [stdout] test jwk::tests::test_thumbprint_performance ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_k256_public_round_trip ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_algorithm_consistency ... ok
[INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_different_keys_different_thumbprints ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_k256_private_round_trip ... ok
[INFO] [stdout] test jwk::tests::test_thumbprint_cross_curve_different ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_p256_private_round_trip ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_round_trip_with_existing_keys ... ok
[INFO] [stdout] test jwk::tests::test_thumbprint_deterministic ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_unsupported_curve ... ok
[INFO] [stdout] test jwk::tests::test_thumbprint_with_all_curves ... ok
[INFO] [stdout] test jwk::tests::test_trait_error_handling ... ok
[INFO] [stdout] test jwk::tests::test_trait_ownership_semantics ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_did_string_consistency ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_serialization_consistency ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_p256_public_round_trip ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_metadata_preservation ... ok
[INFO] [stdout] test jwk::tests::test_trait_usage_examples ... ok
[INFO] [stdout] test jwk::tests::test_trait_type_inference ... ok
[INFO] [stdout] test jwk::tests::test_try_from_explicit_p256_private ... ok
[INFO] [stdout] test jwk::tests::test_try_from_owned_p256_private ... ok
[INFO] [stdout] test jwk::tests::test_try_from_reference_p256_private ... ok
[INFO] [stdout] test jwt::tests::test_header_from_invalid_key_data ... ok
[INFO] [stdout] test jwt::tests::test_header_consistency_private_vs_public_key ... ok
[INFO] [stdout] test jwt::tests::test_header_from_k256_private_key ... ok
[INFO] [stdout] test jwt::tests::test_header_from_k256_public_key ... ok
[INFO] [stdout] test jwt::tests::test_header_from_p256_public_key ... ok
[INFO] [stdout] test jwt::tests::test_header_from_p256_private_key ... ok
[INFO] [stdout] test jwt::tests::test_header_from_existing_test_keys ... ok
[INFO] [stdout] test jwt::tests::test_header_different_keys_different_headers ... ok
[INFO] [stdout] test jwt::tests::test_header_multiple_conversions_same_key ... ok
[INFO] [stdout] test jwt::tests::test_header_json_field_names ... ok
[INFO] [stdout] test pkce::tests::test_challenge_deterministic ... ok
[INFO] [stdout] test jwt::tests::test_header_from_p384_public_key ... ok
[INFO] [stdout] test pkce::tests::test_challenge_empty_string ... ok
[INFO] [stdout] test pkce::tests::test_challenge_output_length_consistency ... ok
[INFO] [stdout] test pkce::tests::test_challenge_different_inputs_produce_different_outputs ... ok
[INFO] [stdout] test pkce::tests::test_challenge_very_long_input ... ok
[INFO] [stdout] test pkce::tests::test_challenge_with_known_input ... ok
[INFO] [stdout] test pkce::tests::test_generate_challenge_is_base64url_without_padding ... ok
[INFO] [stdout] test pkce::tests::test_generate_challenge_is_not_empty ... ok
[INFO] [stdout] test pkce::tests::test_generate_produces_unique_values ... ok
[INFO] [stdout] test pkce::tests::test_challenge_unicode_input ... ok
[INFO] [stdout] test jwt::tests::test_header_serialization_deserialization ... ok
[INFO] [stdout] test pkce::tests::test_generate_returns_correct_verifier_length ... ok
[INFO] [stdout] test pkce::tests::test_generate_verifier_and_challenge_are_related ... ok
[INFO] [stdout] test pkce::tests::test_rfc7636_compliance ... ok
[INFO] [stdout] test pkce::tests::test_pkce_flow_simulation ... ok
[INFO] [stdout] test scopes::tests::test_account_scope_grants ... ok
[INFO] [stdout] test scopes::tests::test_account_scope_parsing ... ok
[INFO] [stdout] test scopes::tests::test_atproto_scope_grants ... ok
[INFO] [stdout] test scopes::tests::test_atproto_scope_normalization ... ok
[INFO] [stdout] test scopes::tests::test_atproto_scope_parsing ... ok
[INFO] [stdout] test scopes::tests::test_blob_scope_parsing ... ok
[INFO] [stdout] test scopes::tests::test_cross_scope_grants ... ok
[INFO] [stdout] test scopes::tests::test_identity_scope_grants ... ok
[INFO] [stdout] test scopes::tests::test_identity_scope_parsing ... ok
[INFO] [stdout] test scopes::tests::test_blob_scope_grants ... ok
[INFO] [stdout] test scopes::tests::test_multiple_blob_accepts ... ok
[INFO] [stdout] test scopes::tests::test_openid_connect_scope_grants ... ok
[INFO] [stdout] test scopes::tests::test_openid_connect_scope_normalization ... ok
[INFO] [stdout] test scopes::tests::test_parse_errors ... ok
[INFO] [stdout] test scopes::tests::test_parse_multiple ... ok
[INFO] [stdout] test scopes::tests::test_openid_connect_scope_parsing ... ok
[INFO] [stdout] test scopes::tests::test_parse_multiple_reduced ... ok
[INFO] [stdout] test scopes::tests::test_parse_multiple_with_openid_connect ... ok
[INFO] [stdout] test scopes::tests::test_parse_multiple_reduced_with_openid_connect ... ok
[INFO] [stdout] test scopes::tests::test_query_parameter_sorting ... ok
[INFO] [stdout] test scopes::tests::test_remove_scope ... ok
[INFO] [stdout] test scopes::tests::test_repo_action_wildcard ... ok
[INFO] [stdout] test scopes::tests::test_repo_scope_grants ... ok
[INFO] [stdout] test scopes::tests::test_repo_scope_parsing ... ok
[INFO] [stdout] test scopes::tests::test_rpc_default_wildcards ... ok
[INFO] [stdout] test scopes::tests::test_rpc_scope_parsing ... ok
[INFO] [stdout] test scopes::tests::test_rpc_scope_grants ... ok
[INFO] [stdout] test scopes::tests::test_scope_normalization ... ok
[INFO] [stdout] test scopes::tests::test_serialize_multiple_roundtrip ... ok
[INFO] [stdout] test scopes::tests::test_serialize_multiple ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_key_sizes ... ok
[INFO] [stdout] test scopes::tests::test_transition_scope_normalization ... ok
[INFO] [stdout] test pkce::tests::test_generate_verifier_is_alphanumeric ... ok
[INFO] [stdout] test scopes::tests::test_transition_scope_grants ... ok
[INFO] [stdout] test scopes::tests::test_transition_scope_parsing ... ok
[INFO] [stdout] test storage_lru::tests::test_basic_operations ... ok
[INFO] [stdout] test storage_lru::tests::test_clear_expired_requests ... ok
[INFO] [stdout] test storage_lru::tests::test_expiration_handling ... ok
[INFO] [stdout] test storage_lru::tests::test_delete_nonexistent ... ok
[INFO] [stdout] test storage_lru::tests::test_clear ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_p384_private_round_trip ... ok
[INFO] [stdout] test storage_lru::tests::test_new_storage ... ok
[INFO] [stdout] test storage_lru::tests::test_lru_eviction ... ok
[INFO] [stdout] test storage_lru::tests::test_thread_safety ... ok
[INFO] [stdout] test jwt::tests::test_header_complete_workflow ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_p384_public_round_trip ... ok
[INFO] [stdout] test jwt::tests::test_header_from_p384_private_key ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_comprehensive_workflow ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_multiple_round_trips ... ok
[INFO] [stdout] test jwk::tests::test_thumbprint_comprehensive ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_cross_curve_verification ... ok
[INFO] [stdout] test jwk::tests::test_try_into_vs_to_key_data_consistency ... ok
[INFO] [stdout] test jwk::tests::test_trait_implementations_all_curves ... ok
[INFO] [stdout] test jwk::tests::test_trait_comprehensive_workflow ... ok
[INFO] [stderr]    Doc-tests atproto_oauth
[INFO] [stdout] test jwk::tests::test_to_key_data_performance_stress ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 149 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 7.53s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 27 tests
[INFO] [stdout] test src/lib.rs - workflow (line 49) ... ignored
[INFO] [stdout] test src/dpop.rs - dpop::extract_jwk_thumbprint (line 363) ... ok
[INFO] [stdout] test src/lib.rs - pkce (line 29) ... ok
[INFO] [stdout] test src/storage.rs - storage::OAuthRequestStorage (line 43) ... ignored
[INFO] [stdout] test src/storage.rs - storage::OAuthRequestStorage::clear_expired_oauth_requests (line 287) ... ignored
[INFO] [stdout] test src/storage.rs - storage::OAuthRequestStorage::delete_oauth_request_by_state (line 208) ... ignored
[INFO] [stdout] test src/storage.rs - storage::OAuthRequestStorage::get_oauth_request_by_state (line 171) ... ignored
[INFO] [stdout] test src/storage.rs - storage::OAuthRequestStorage::insert_oauth_request (line 240) ... ignored
[INFO] [stdout] test src/dpop.rs - dpop::is_dpop_error (line 186) ... ok
[INFO] [stdout] test src/pkce.rs - pkce::challenge (line 79) ... ok
[INFO] [stdout] test src/pkce.rs - pkce::generate (line 47) ... ok
[INFO] [stdout] test src/scopes.rs - scopes::Scope::parse_multiple_reduced (line 198) ... ok
[INFO] [stdout] test src/scopes.rs - scopes::Scope::parse_multiple (line 174) ... ok
[INFO] [stdout] test src/scopes.rs - scopes::Scope::serialize_multiple (line 255) ... ok
[INFO] [stdout] test src/storage_lru.rs - storage_lru::LruOAuthRequestStorage::capacity (line 229) ... ok
[INFO] [stdout] test src/storage_lru.rs - storage_lru::LruOAuthRequestStorage::new (line 140) ... ok
[INFO] [stdout] test src/storage_lru.rs - storage_lru::LruOAuthRequestStorage::is_empty (line 208) ... ok
[INFO] [stdout] test src/scopes.rs - scopes::Scope::remove_scope (line 282) ... ok
[INFO] [stdout] test src/storage_lru.rs - storage_lru::LruOAuthRequestStorage::delete_oauth_request_by_state (line 387) ... ok
[INFO] [stdout] test src/storage_lru.rs - storage_lru::LruOAuthRequestStorage::insert_oauth_request (line 458) ... ok
[INFO] [stdout] test src/storage_lru.rs - storage_lru::LruOAuthRequestStorage (line 57) ... ok
[INFO] [stdout] test src/storage_lru.rs - storage_lru::LruOAuthRequestStorage::clear_expired_oauth_requests (line 556) ... ok
[INFO] [stdout] test src/storage_lru.rs - storage_lru::LruOAuthRequestStorage (line 105) ... ok
[INFO] [stdout] test src/storage_lru.rs - storage_lru::LruOAuthRequestStorage::len (line 170) ... ok
[INFO] [stdout] test src/storage_lru.rs - storage_lru::LruOAuthRequestStorage::clear (line 249) ... ok
[INFO] [stdout] test src/storage_lru.rs - storage_lru::LruOAuthRequestStorage::get_oauth_request_by_state (line 310) ... ok
[INFO] [stdout] test src/dpop.rs - dpop::validate_dpop_jwt (line 519) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/dpop.rs - dpop::validate_dpop_jwt (line 519) stdout ----
[INFO] [stdout] Test executable failed (exit status: 1).
[INFO] [stdout] 
[INFO] [stdout] stderr:
[INFO] [stdout] Error: error-atproto-oauth-jwt-18 Invalid timestamp: Token too old: issued at 1749764519 but max age is 9000000 seconds
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.98/src/backtrace.rs:27:14
[INFO] [stdout]    1: <T as core::convert::Into<U>>::into
[INFO] [stdout]              at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/convert/mod.rs:778:9
[INFO] [stdout]    2: atproto_oauth::dpop::validate_dpop_jwt
[INFO] [stdout]              at ./src/dpop.rs:686:10
[INFO] [stdout]    3: doctest_bundle_2024::__doctest_2::main
[INFO] [stdout]    4: doctest_bundle_2024::__doctest_2::__main_fn
[INFO] [stdout]    5: doctest_runner_2024::__doctest_2::TEST::{{closure}}
[INFO] [stdout]    6: core::ops::function::FnOnce::call_once
[INFO] [stdout]    7: doctest_runner_2024::main
[INFO] [stdout]    8: core::ops::function::FnOnce::call_once
[INFO] [stdout]    9: std::sys::backtrace::__rust_begin_short_backtrace
[INFO] [stdout]   10: std::rt::lang_start::{{closure}}
[INFO] [stdout]   11: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
[INFO] [stdout]              at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/ops/function.rs:287:21
[INFO] [stdout]   12: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panicking.rs:590:40
[INFO] [stdout]   13: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panicking.rs:553:19
[INFO] [stdout]   14: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panic.rs:359:14
[INFO] [stdout]   15: std::rt::lang_start_internal::{{closure}}
[INFO] [stdout]              at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/rt.rs:175:24
[INFO] [stdout]   16: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panicking.rs:590:40
[INFO] [stdout]   17: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panicking.rs:553:19
[INFO] [stdout]   18: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panic.rs:359:14
[INFO] [stdout]   19: std::rt::lang_start_internal
[INFO] [stdout]              at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/rt.rs:171:5
[INFO] [stdout]   20: std::rt::lang_start
[INFO] [stdout]   21: main
[INFO] [stdout]   22: <unknown>
[INFO] [stdout]   23: __libc_start_main
[INFO] [stdout]   24: _start
[INFO] [stdout] Error: "the test returned a termination value with a non-zero status code (1) which indicates a failure"
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/dpop.rs - dpop::validate_dpop_jwt (line 519)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 20 passed; 1 failed; 6 ignored; 0 measured; 0 filtered out; finished in 0.28s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 2.78s; merged doctests compilation took 2.36s
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "b1b88547689949ccdf2c676e3440a2bf9391205919c9a16a57dbd0776e80d687", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b1b88547689949ccdf2c676e3440a2bf9391205919c9a16a57dbd0776e80d687", kill_on_drop: false }`
[INFO] [stdout] b1b88547689949ccdf2c676e3440a2bf9391205919c9a16a57dbd0776e80d687
