[INFO] fetching crate atproto-oauth 0.11.2... [INFO] testing atproto-oauth-0.11.2 against master#cdb45c87e2cd43495379f7e867e3cc15dcee9f93 for pr-145838-1 [INFO] extracting crate atproto-oauth 0.11.2 into /workspace/builds/worker-2-tc1/source [INFO] started tweaking crates.io crate atproto-oauth 0.11.2 [INFO] finished tweaking crates.io crate atproto-oauth 0.11.2 [INFO] tweaked toml for crates.io crate atproto-oauth 0.11.2 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate atproto-oauth 0.11.2 on toolchain cdb45c87e2cd43495379f7e867e3cc15dcee9f93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate atproto-oauth 0.11.2 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded atproto-identity v0.11.2 [INFO] [stderr] Downloaded reqwest-chain v1.0.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f984223ec275507a8484ce1970bd5bae8c96db54ffd61d30c521a7174ede01ca [INFO] running `Command { std: "docker" "start" "-a" "f984223ec275507a8484ce1970bd5bae8c96db54ffd61d30c521a7174ede01ca", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f984223ec275507a8484ce1970bd5bae8c96db54ffd61d30c521a7174ede01ca", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f984223ec275507a8484ce1970bd5bae8c96db54ffd61d30c521a7174ede01ca", kill_on_drop: false }` [INFO] [stdout] f984223ec275507a8484ce1970bd5bae8c96db54ffd61d30c521a7174ede01ca [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 46bbfc99fcc96acfb052d32c2a332946a369fe1e522a0d209a74a4cdf46a0663 [INFO] running `Command { std: "docker" "start" "-a" "46bbfc99fcc96acfb052d32c2a332946a369fe1e522a0d209a74a4cdf46a0663", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.95 [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 smallvec v1.15.0 [INFO] [stderr] Compiling critical-section v1.2.0 [INFO] [stderr] Compiling base64ct v1.7.3 [INFO] [stderr] Compiling cc v1.2.24 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling zerocopy v0.8.25 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling hashbrown v0.15.3 [INFO] [stderr] Compiling data-encoding v2.9.0 [INFO] [stderr] Compiling rustls v0.23.27 [INFO] [stderr] Compiling unicase v2.8.1 [INFO] [stderr] Compiling lock_api v0.4.13 [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 pem-rfc7468 v0.7.0 [INFO] [stderr] Compiling base-x v0.2.11 [INFO] [stderr] Compiling anyhow v1.0.98 [INFO] [stderr] Compiling bitflags v2.9.1 [INFO] [stderr] Compiling der v0.7.10 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Compiling unsigned-varint v0.8.0 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling moka v0.12.10 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling tinyvec v1.9.0 [INFO] [stderr] Compiling indexmap v2.9.0 [INFO] [stderr] Compiling syn v2.0.101 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling socket2 v0.5.10 [INFO] [stderr] Compiling mio v1.0.4 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling rand_core v0.9.3 [INFO] [stderr] Compiling ff v0.13.1 [INFO] [stderr] Compiling crypto-bigint v0.5.5 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling group v0.13.0 [INFO] [stderr] Compiling signature v2.2.0 [INFO] [stderr] Compiling tracing-core v0.1.33 [INFO] [stderr] Compiling hkdf v0.12.4 [INFO] [stderr] Compiling rfc6979 v0.4.0 [INFO] [stderr] Compiling spki v0.7.3 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling uuid v1.17.0 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling tagptr v0.2.0 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling pkcs8 v0.10.2 [INFO] [stderr] Compiling resolv-conf v0.7.4 [INFO] [stderr] Compiling lru v0.12.5 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling rand v0.9.1 [INFO] [stderr] Compiling chrono v0.4.41 [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 thiserror-impl v1.0.69 [INFO] [stderr] Compiling data-encoding-macro-internal v0.1.16 [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 data-encoding-macro v0.1.18 [INFO] [stderr] Compiling multibase v0.9.1 [INFO] [stderr] Compiling tokio v1.45.1 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.0 [INFO] [stderr] Compiling zerovec v0.11.2 [INFO] [stderr] Compiling zerotrie v0.2.2 [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 rustls-webpki v0.103.3 [INFO] [stderr] Compiling icu_provider v2.0.0 [INFO] [stderr] Compiling icu_properties v2.0.1 [INFO] [stderr] Compiling icu_normalizer v2.0.0 [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 serdect v0.2.0 [INFO] [stderr] Compiling serde_bytes v0.11.17 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling multihash v0.19.3 [INFO] [stderr] Compiling cbor4ii v0.2.14 [INFO] [stderr] Compiling cid v0.11.1 [INFO] [stderr] Compiling sec1 v0.7.3 [INFO] [stderr] Compiling ipld-core v0.4.2 [INFO] [stderr] Compiling tokio-util v0.7.15 [INFO] [stderr] Compiling tower v0.5.2 [INFO] [stderr] Compiling hickory-proto v0.25.2 [INFO] [stderr] Compiling tower-http v0.6.4 [INFO] [stderr] Compiling serde_ipld_dagcbor v0.6.3 [INFO] [stderr] Compiling h2 v0.4.10 [INFO] [stderr] Compiling tokio-rustls v0.26.2 [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.11.2 [INFO] [stderr] Compiling reqwest-chain v1.0.0 [INFO] [stderr] Compiling atproto-oauth v0.11.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: struct `SimpleError` is never constructed [INFO] [stdout] --> src/dpop.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | struct SimpleError { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 46.45s [INFO] running `Command { std: "docker" "inspect" "46bbfc99fcc96acfb052d32c2a332946a369fe1e522a0d209a74a4cdf46a0663", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "46bbfc99fcc96acfb052d32c2a332946a369fe1e522a0d209a74a4cdf46a0663", kill_on_drop: false }` [INFO] [stdout] 46bbfc99fcc96acfb052d32c2a332946a369fe1e522a0d209a74a4cdf46a0663 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c358a588ef0345570eb92147b883716643882468ec30c6c6df00556c1442da63 [INFO] running `Command { std: "docker" "start" "-a" "c358a588ef0345570eb92147b883716643882468ec30c6c6df00556c1442da63", kill_on_drop: false }` [INFO] [stdout] warning: struct `SimpleError` is never constructed [INFO] [stdout] --> src/dpop.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | struct SimpleError { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling atproto-oauth v0.11.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: struct `SimpleError` is never constructed [INFO] [stdout] --> src/dpop.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | struct SimpleError { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 4.17s [INFO] running `Command { std: "docker" "inspect" "c358a588ef0345570eb92147b883716643882468ec30c6c6df00556c1442da63", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c358a588ef0345570eb92147b883716643882468ec30c6c6df00556c1442da63", kill_on_drop: false }` [INFO] [stdout] c358a588ef0345570eb92147b883716643882468ec30c6c6df00556c1442da63 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 3abcd3613b2649ad4857d941228e2455eb1bd0f320e0d3babb0633b96f55a189 [INFO] running `Command { std: "docker" "start" "-a" "3abcd3613b2649ad4857d941228e2455eb1bd0f320e0d3babb0633b96f55a189", kill_on_drop: false }` [INFO] [stderr] warning: struct `SimpleError` is never constructed [INFO] [stderr] --> src/dpop.rs:26:8 [INFO] [stderr] | [INFO] [stderr] 26 | struct SimpleError { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `atproto-oauth` (lib) generated 1 warning [INFO] [stderr] warning: `atproto-oauth` (lib test) generated 1 warning (1 duplicate) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.25s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/atproto_oauth-82f10f7a36522963) [INFO] [stdout] [INFO] [stdout] running 116 tests [INFO] [stdout] test dpop::tests::test_extract_jwk_thumbprint_invalid_jwt_format ... ok [INFO] [stdout] test dpop::tests::test_is_dpop_error_case_sensitive_error_value ... ok [INFO] [stdout] test dpop::tests::test_is_dpop_error_case_sensitive_scheme ... ok [INFO] [stdout] test dpop::tests::test_is_dpop_error_empty_string ... ok [INFO] [stdout] test dpop::tests::test_extract_jwk_thumbprint_with_known_jwt ... ok [INFO] [stdout] test dpop::tests::test_is_dpop_error_invalid_dpop_proof ... ok [INFO] [stdout] test dpop::tests::test_is_dpop_error_malformed_quotes ... ok [INFO] [stdout] test dpop::tests::test_is_dpop_error_minimal_valid ... ok [INFO] [stdout] test dpop::tests::test_extract_jwk_thumbprint_missing_jwk ... ok [INFO] [stdout] test dpop::tests::test_is_dpop_error_multiple_error_fields ... ok [INFO] [stdout] test dpop::tests::test_extract_jwk_thumbprint_invalid_header ... ok [INFO] [stdout] test dpop::tests::test_is_dpop_error_no_error_field ... 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_missing_jwk ... 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_validate_dpop_jwt_unsupported_algorithm ... ok [INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_with_known_jwt ... ok [INFO] [stdout] test dpop::tests::test_extract_jwk_thumbprint_with_generated_dpop ... ok [INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_with_generated_jwt ... 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 jwk::tests::test_thumbprint_deterministic ... ok [INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_missing_claims ... ok [INFO] [stdout] test jwk::tests::test_thumbprint_consistency ... ok [INFO] [stdout] test jwk::tests::test_thumbprint_k256 ... ok [INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_require_access_token_hash ... ok [INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_http_uri_mismatch ... ok [INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_with_resource_request ... ok [INFO] [stdout] test dpop::tests::test_extract_jwk_thumbprint_different_keys_different_thumbprints ... ok [INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_nonce_empty_array_skips_validation ... ok [INFO] [stdout] test jwk::tests::test_thumbprint_p256 ... ok [INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_permissive_config ... ok [INFO] [stdout] test jwk::tests::test_thumbprint_spec_compliance ... ok [INFO] [stdout] test jwk::tests::test_thumbprint_different_keys_different_thumbprints ... ok [INFO] [stdout] test jwk::tests::test_thumbprint_private_vs_public_same_thumbprint ... ok [INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_timestamp_validation ... ok [INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_nonce_validation_failure ... ok [INFO] [stdout] test jwk::tests::test_to_key_data_invalid_jwk_conversion ... ok [INFO] [stdout] test jwk::tests::test_to_key_data_k256_private_round_trip ... 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_public_round_trip ... ok [INFO] [stdout] test jwk::tests::test_to_key_data_p256_private_round_trip ... ok [INFO] [stdout] test jwk::tests::test_to_key_data_algorithm_consistency ... ok [INFO] [stdout] test jwk::tests::test_thumbprint_p384 ... ok [INFO] [stdout] test jwk::tests::test_thumbprint_cross_curve_different ... ok [INFO] [stdout] test jwk::tests::test_to_key_data_p256_public_round_trip ... ok [INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_nonce_validation_success ... ok [INFO] [stdout] test jwk::tests::test_to_key_data_unsupported_curve ... ok [INFO] [stdout] test jwk::tests::test_thumbprint_performance ... ok [INFO] [stdout] test jwk::tests::test_to_key_data_round_trip_with_existing_keys ... ok [INFO] [stdout] test jwk::tests::test_trait_error_handling ... ok [INFO] [stdout] test jwk::tests::test_thumbprint_with_all_curves ... ok [INFO] [stdout] test jwk::tests::test_to_key_data_metadata_preservation ... ok [INFO] [stdout] test jwk::tests::test_trait_ownership_semantics ... ok [INFO] [stdout] test jwk::tests::test_trait_type_inference ... ok [INFO] [stdout] test jwk::tests::test_try_from_owned_p256_private ... ok [INFO] [stdout] test jwk::tests::test_trait_usage_examples ... ok [INFO] [stdout] test jwk::tests::test_try_from_explicit_p256_private ... ok [INFO] [stdout] test jwk::tests::test_try_from_reference_p256_private ... ok [INFO] [stdout] test jwt::tests::test_header_consistency_private_vs_public_key ... ok [INFO] [stdout] test jwt::tests::test_header_different_keys_different_headers ... ok [INFO] [stdout] test jwt::tests::test_header_from_invalid_key_data ... 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 jwk::tests::test_to_key_data_p384_public_round_trip ... ok [INFO] [stdout] test jwt::tests::test_header_from_p256_private_key ... ok [INFO] [stdout] test jwt::tests::test_header_from_p256_public_key ... ok [INFO] [stdout] test jwt::tests::test_header_from_existing_test_keys ... ok [INFO] [stdout] test jwt::tests::test_header_json_field_names ... ok [INFO] [stdout] test jwt::tests::test_header_complete_workflow ... ok [INFO] [stdout] test jwt::tests::test_header_from_p384_public_key ... ok [INFO] [stdout] test jwt::tests::test_header_serialization_deserialization ... ok [INFO] [stdout] test pkce::tests::test_challenge_deterministic ... ok [INFO] [stdout] test jwt::tests::test_header_multiple_conversions_same_key ... ok [INFO] [stdout] test jwt::tests::test_header_from_p384_private_key ... ok [INFO] [stdout] test pkce::tests::test_challenge_unicode_input ... ok [INFO] [stdout] test pkce::tests::test_challenge_very_long_input ... ok [INFO] [stdout] test pkce::tests::test_challenge_output_length_consistency ... ok [INFO] [stdout] test pkce::tests::test_challenge_with_known_input ... 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_different_inputs_produce_different_outputs ... ok [INFO] [stdout] test pkce::tests::test_challenge_empty_string ... ok [INFO] [stdout] test pkce::tests::test_generate_challenge_is_base64url_without_padding ... ok [INFO] [stdout] test pkce::tests::test_generate_verifier_and_challenge_are_related ... ok [INFO] [stdout] test pkce::tests::test_pkce_flow_simulation ... ok [INFO] [stdout] test pkce::tests::test_rfc7636_compliance ... ok [INFO] [stdout] test storage_lru::tests::test_clear ... ok [INFO] [stdout] test storage_lru::tests::test_clear_expired_requests ... ok [INFO] [stdout] test pkce::tests::test_generate_returns_correct_verifier_length ... ok [INFO] [stdout] test pkce::tests::test_generate_verifier_is_alphanumeric ... ok [INFO] [stdout] test storage_lru::tests::test_expiration_handling ... ok [INFO] [stdout] test storage_lru::tests::test_lru_eviction ... ok [INFO] [stdout] test storage_lru::tests::test_new_storage ... ok [INFO] [stdout] test storage_lru::tests::test_thread_safety ... ok [INFO] [stdout] test storage_lru::tests::test_basic_operations ... 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_key_sizes ... ok [INFO] [stdout] test storage_lru::tests::test_delete_nonexistent ... ok [INFO] [stdout] test jwk::tests::test_to_key_data_p384_private_round_trip ... ok [INFO] [stdout] test jwk::tests::test_to_key_data_cross_curve_verification ... ok [INFO] [stdout] test jwk::tests::test_trait_implementations_all_curves ... ok [INFO] [stdout] test jwk::tests::test_try_into_vs_to_key_data_consistency ... ok [INFO] [stdout] test jwk::tests::test_to_key_data_multiple_round_trips ... ok [INFO] [stdout] test jwk::tests::test_trait_comprehensive_workflow ... ok [INFO] [stdout] test jwk::tests::test_thumbprint_comprehensive ... ok [INFO] [stdout] test jwk::tests::test_to_key_data_comprehensive_workflow ... ok [INFO] [stdout] test jwk::tests::test_to_key_data_performance_stress ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 116 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 7.96s [INFO] [stdout] [INFO] [stderr] Doc-tests atproto_oauth [INFO] [stdout] [INFO] [stdout] running 23 tests [INFO] [stdout] test src/lib.rs - workflow (line 45) ... ignored [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/pkce.rs - pkce::challenge (line 79) ... ok [INFO] [stdout] test src/storage_lru.rs - storage_lru::LruOAuthRequestStorage::new (line 140) ... ok [INFO] [stdout] test src/dpop.rs - dpop::validate_dpop_jwt (line 539) ... ok [INFO] [stdout] test src/storage_lru.rs - storage_lru::LruOAuthRequestStorage (line 105) ... ok [INFO] [stdout] test src/pkce.rs - pkce::generate (line 47) ... ok [INFO] [stdout] test src/dpop.rs - dpop::extract_jwk_thumbprint (line 383) ... ok [INFO] [stdout] test src/lib.rs - pkce (line 28) ... 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 (line 57) ... 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::get_oauth_request_by_state (line 310) ... 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::is_empty (line 208) ... 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_expired_oauth_requests (line 556) ... ok [INFO] [stdout] test src/dpop.rs - dpop::is_dpop_error (line 206) ... ok [INFO] [stdout] test src/storage_lru.rs - storage_lru::LruOAuthRequestStorage::clear (line 249) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 17 passed; 0 failed; 6 ignored; 0 measured; 0 filtered out; finished in 0.36s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "3abcd3613b2649ad4857d941228e2455eb1bd0f320e0d3babb0633b96f55a189", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3abcd3613b2649ad4857d941228e2455eb1bd0f320e0d3babb0633b96f55a189", kill_on_drop: false }` [INFO] [stdout] 3abcd3613b2649ad4857d941228e2455eb1bd0f320e0d3babb0633b96f55a189