[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:: 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: >::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:: 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: [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