[INFO] fetching crate atproto-oauth 0.14.5...
[INFO] testing atproto-oauth-0.14.5 against try#b8e88e5ddf5521a9f43ee3f62a702388c713e4bb for pr-155114
[INFO] extracting crate atproto-oauth 0.14.5 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate atproto-oauth 0.14.5
[INFO] finished tweaking crates.io crate atproto-oauth 0.14.5
[INFO] tweaked toml for crates.io crate atproto-oauth 0.14.5 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate atproto-oauth 0.14.5 on toolchain b8e88e5ddf5521a9f43ee3f62a702388c713e4bb
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate atproto-oauth 0.14.5 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" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 387d6d94741cca652c63c26fccfab47e0f7913bd502d293c1f09861060133cfb
[INFO] running `Command { std: "docker" "start" "-a" "387d6d94741cca652c63c26fccfab47e0f7913bd502d293c1f09861060133cfb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "387d6d94741cca652c63c26fccfab47e0f7913bd502d293c1f09861060133cfb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "387d6d94741cca652c63c26fccfab47e0f7913bd502d293c1f09861060133cfb", kill_on_drop: false }`
[INFO] [stdout] 387d6d94741cca652c63c26fccfab47e0f7913bd502d293c1f09861060133cfb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 66b8e33272838dcb279c5d784e934cced3629b84c742f340d1d8614412b112a1
[INFO] running `Command { std: "docker" "start" "-a" "66b8e33272838dcb279c5d784e934cced3629b84c742f340d1d8614412b112a1", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling generic-array v0.14.9
[INFO] [stderr]    Compiling critical-section v1.2.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling base64ct v1.8.3
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling pem-rfc7468 v0.7.0
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling der v0.7.10
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling spki v0.7.3
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling ff v0.13.1
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling pkcs8 v0.10.2
[INFO] [stderr]    Compiling serdect v0.2.0
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling sec1 v0.7.3
[INFO] [stderr]    Compiling group v0.13.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling crypto-bigint v0.5.5
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling hybrid-array v0.4.10
[INFO] [stderr]    Compiling data-encoding v2.10.0
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling rustls-webpki v0.103.10
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling rfc6979 v0.4.0
[INFO] [stderr]    Compiling match-lookup v0.1.2
[INFO] [stderr]    Compiling data-encoding-macro-internal v0.1.17
[INFO] [stderr]    Compiling const-str v0.4.3
[INFO] [stderr]    Compiling elliptic-curve v0.13.8
[INFO] [stderr]    Compiling iri-string v0.7.12
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling base256emoji v1.0.2
[INFO] [stderr]    Compiling data-encoding-macro v0.1.19
[INFO] [stderr]    Compiling block-buffer v0.12.0
[INFO] [stderr]    Compiling crypto-common v0.2.1
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling ecdsa v0.16.9
[INFO] [stderr]    Compiling blake3 v1.8.4
[INFO] [stderr]    Compiling core2 v0.4.0
[INFO] [stderr]    Compiling base-x v0.2.11
[INFO] [stderr]    Compiling const-oid v0.10.2
[INFO] [stderr]    Compiling unsigned-varint v0.8.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling multihash v0.19.3
[INFO] [stderr]    Compiling multibase v0.9.2
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling primeorder v0.13.6
[INFO] [stderr]    Compiling digest v0.11.2
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling uuid v1.23.0
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling tagptr v0.2.0
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling moka v0.12.15
[INFO] [stderr]    Compiling sha2 v0.11.0
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling cid v0.11.1
[INFO] [stderr]    Compiling ed25519 v2.2.3
[INFO] [stderr]    Compiling serde_bytes v0.11.19
[INFO] [stderr]    Compiling rand v0.10.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling hickory-proto v0.25.2
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling atproto-dasl v0.14.5
[INFO] [stderr]    Compiling ed25519-dalek v2.2.0
[INFO] [stderr]    Compiling p256 v0.13.2
[INFO] [stderr]    Compiling p384 v0.13.1
[INFO] [stderr]    Compiling k256 v0.13.4
[INFO] [stderr]    Compiling lru v0.16.3
[INFO] [stderr]    Compiling ulid v1.2.1
[INFO] [stderr]    Compiling hickory-resolver v0.25.2
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling reqwest-middleware v0.4.2
[INFO] [stderr]    Compiling atproto-identity v0.14.5
[INFO] [stderr]    Compiling reqwest-chain v1.0.0
[INFO] [stderr]    Compiling atproto-oauth v0.14.5 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 42s
[INFO] running `Command { std: "docker" "inspect" "66b8e33272838dcb279c5d784e934cced3629b84c742f340d1d8614412b112a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "66b8e33272838dcb279c5d784e934cced3629b84c742f340d1d8614412b112a1", kill_on_drop: false }`
[INFO] [stdout] 66b8e33272838dcb279c5d784e934cced3629b84c742f340d1d8614412b112a1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 51cdac7df51d196d278b00da91a28d157f3613e868c122a0e9d71fea551929c0
[INFO] running `Command { std: "docker" "start" "-a" "51cdac7df51d196d278b00da91a28d157f3613e868c122a0e9d71fea551929c0", kill_on_drop: false }`
[INFO] [stderr]    Compiling atproto-oauth v0.14.5 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 7.50s
[INFO] running `Command { std: "docker" "inspect" "51cdac7df51d196d278b00da91a28d157f3613e868c122a0e9d71fea551929c0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "51cdac7df51d196d278b00da91a28d157f3613e868c122a0e9d71fea551929c0", kill_on_drop: false }`
[INFO] [stdout] 51cdac7df51d196d278b00da91a28d157f3613e868c122a0e9d71fea551929c0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] b3ae99c6bc41e41640e650682438cfab0c8e7a6d5eaa902eaacf1cb8a36c8491
[INFO] running `Command { std: "docker" "start" "-a" "b3ae99c6bc41e41640e650682438cfab0c8e7a6d5eaa902eaacf1cb8a36c8491", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.41s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/atproto_oauth-cedd42ea7176338a)
[INFO] [stdout] 
[INFO] [stdout] running 158 tests
[INFO] [stdout] test dpop::tests::test_extract_jwk_thumbprint_invalid_header ... ok
[INFO] [stdout] test dpop::tests::test_extract_jwk_thumbprint_missing_jwk ... 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_extract_jwk_thumbprint_with_known_jwt ... ok
[INFO] [stdout] test dpop::tests::test_extract_jwk_thumbprint_invalid_jwt_format ... ok
[INFO] [stdout] test dpop::tests::test_is_dpop_error_empty_string ... 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_is_dpop_error_no_error_field ... ok
[INFO] [stdout] test dpop::tests::test_is_dpop_error_multiple_error_fields ... ok
[INFO] [stdout] test dpop::tests::test_is_dpop_error_other_error ... ok
[INFO] [stdout] test dpop::tests::test_is_dpop_error_not_dpop_header ... 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_invalid_typ ... 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_missing_jwk ... ok
[INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_http_method_mismatch ... ok
[INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_http_uri_mismatch ... ok
[INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_nonce_missing_when_required ... ok
[INFO] [stdout] test dpop::tests::test_extract_jwk_thumbprint_different_keys_different_thumbprints ... ok
[INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_missing_claims ... ok
[INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_nonce_empty_array_skips_validation ... ok
[INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_unsupported_algorithm ... ok
[INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_permissive_config ... ok
[INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_different_keys_different_thumbprints ... ok
[INFO] [stdout] test dpop::tests::test_extract_jwk_thumbprint_with_generated_dpop ... ok
[INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_with_known_jwt ... ok
[INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_with_resource_request ... 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 dpop::tests::test_validate_dpop_jwt_nonce_validation_failure ... ok
[INFO] [stdout] test jwk::tests::test_thumbprint_k256 ... ok
[INFO] [stdout] test jwk::tests::test_thumbprint_consistency ... ok
[INFO] [stdout] test jwk::tests::test_thumbprint_deterministic ... ok
[INFO] [stdout] test dpop::tests::test_validate_dpop_jwt_with_generated_jwt ... ok
[INFO] [stdout] test jwk::tests::test_thumbprint_p256 ... 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 jwk::tests::test_thumbprint_private_vs_public_same_thumbprint ... ok
[INFO] [stdout] test jwk::tests::test_thumbprint_different_keys_different_thumbprints ... ok
[INFO] [stdout] test jwk::tests::test_thumbprint_cross_curve_different ... ok
[INFO] [stdout] test jwk::tests::test_thumbprint_p384 ... ok
[INFO] [stdout] test jwk::tests::test_thumbprint_performance ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_invalid_jwk_conversion ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_k256_public_round_trip ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_k256_private_round_trip ... ok
[INFO] [stdout] test jwk::tests::test_thumbprint_with_all_curves ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_algorithm_consistency ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_p256_private_round_trip ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_metadata_preservation ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_p256_public_round_trip ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_key_sizes ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_did_string_consistency ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_round_trip_with_existing_keys ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_cross_curve_verification ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_unsupported_curve ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_p384_public_round_trip ... ok
[INFO] [stdout] test jwk::tests::test_trait_error_handling ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_serialization_consistency ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_p384_private_round_trip ... ok
[INFO] [stdout] test jwk::tests::test_trait_type_inference ... ok
[INFO] [stdout] test jwk::tests::test_trait_ownership_semantics ... 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_trait_usage_examples ... ok
[INFO] [stdout] test jwk::tests::test_try_from_reference_p256_private ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_multiple_round_trips ... 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_existing_test_keys ... 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 jwt::tests::test_header_from_p256_private_key ... ok
[INFO] [stdout] test jwk::tests::test_to_key_data_comprehensive_workflow ... ok
[INFO] [stdout] test jwt::tests::test_header_from_p256_public_key ... ok
[INFO] [stdout] test jwt::tests::test_header_complete_workflow ... ok
[INFO] [stdout] test jwt::tests::test_header_json_field_names ... ok
[INFO] [stdout] test jwt::tests::test_header_from_p384_private_key ... ok
[INFO] [stdout] test jwt::tests::test_header_from_p384_public_key ... ok
[INFO] [stdout] test pkce::tests::test_challenge_deterministic ... ok
[INFO] [stdout] test jwt::tests::test_header_serialization_deserialization ... ok
[INFO] [stdout] test pkce::tests::test_challenge_different_inputs_produce_different_outputs ... ok
[INFO] [stdout] test pkce::tests::test_challenge_output_length_consistency ... 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_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_challenge_empty_string ... 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_generate_produces_unique_values ... ok
[INFO] [stdout] test pkce::tests::test_generate_verifier_is_alphanumeric ... 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 jwk::tests::test_thumbprint_comprehensive ... 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_grants ... 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_include_scope_grants ... ok
[INFO] [stdout] test scopes::tests::test_include_scope_normalization ... ok
[INFO] [stdout] test scopes::tests::test_include_scope_parsing ... ok
[INFO] [stdout] test scopes::tests::test_include_scope_roundtrip ... 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_multiple ... ok
[INFO] [stdout] test scopes::tests::test_openid_connect_scope_parsing ... ok
[INFO] [stdout] test scopes::tests::test_parse_multiple_reduced_with_include ... ok
[INFO] [stdout] test scopes::tests::test_parse_multiple_reduced ... ok
[INFO] [stdout] test scopes::tests::test_parse_multiple_reduced_with_openid_connect ... ok
[INFO] [stdout] test scopes::tests::test_parse_multiple_with_include ... ok
[INFO] [stdout] test scopes::tests::test_parse_multiple_with_openid_connect ... ok
[INFO] [stdout] test scopes::tests::test_query_parameter_sorting ... ok
[INFO] [stdout] test scopes::tests::test_remove_scope_with_include ... ok
[INFO] [stdout] test scopes::tests::test_repo_action_wildcard ... ok
[INFO] [stdout] test scopes::tests::test_remove_scope ... ok
[INFO] [stdout] test scopes::tests::test_repo_nsid_with_wildcard_suffix ... ok
[INFO] [stdout] test scopes::tests::test_parse_errors ... 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_grants ... ok
[INFO] [stdout] test scopes::tests::test_scope_normalization ... ok
[INFO] [stdout] test scopes::tests::test_rpc_scope_parsing ... ok
[INFO] [stdout] test scopes::tests::test_serialize_multiple_roundtrip ... ok
[INFO] [stdout] test scopes::tests::test_serialize_multiple_with_include ... ok
[INFO] [stdout] test scopes::tests::test_transition_scope_grants ... ok
[INFO] [stdout] test scopes::tests::test_transition_scope_normalization ... ok
[INFO] [stdout] test storage_lru::tests::test_basic_operations ... ok
[INFO] [stdout] test storage_lru::tests::test_clear ... ok
[INFO] [stdout] test storage_lru::tests::test_clear_expired_requests ... ok
[INFO] [stdout] test storage_lru::tests::test_delete_nonexistent ... ok
[INFO] [stdout] test scopes::tests::test_serialize_multiple ... ok
[INFO] [stdout] test storage_lru::tests::test_lru_eviction ... ok
[INFO] [stdout] test storage_lru::tests::test_new_storage ... ok
[INFO] [stdout] test scopes::tests::test_transition_scope_parsing ... ok
[INFO] [stdout] test storage_lru::tests::test_expiration_handling ... ok
[INFO] [stdout] test storage_lru::tests::test_thread_safety ... ok
[INFO] [stdout] test jwt::tests::test_header_multiple_conversions_same_key ... 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] [stdout] test jwk::tests::test_to_key_data_performance_stress ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 158 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 10.58s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests atproto_oauth
[INFO] [stdout] 
[INFO] [stdout] running 27 tests
[INFO] [stdout] test src/dpop.rs - dpop::is_dpop_error (line 186) - compile ... ok
[INFO] [stdout] test src/lib.rs - workflow (line 49) ... ignored
[INFO] [stdout] test src/dpop.rs - dpop::validate_dpop_jwt (line 523) - compile ... ok
[INFO] [stdout] test src/dpop.rs - dpop::extract_jwk_thumbprint (line 367) ... 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/pkce.rs - pkce::challenge (line 75) ... ok
[INFO] [stdout] test src/scopes.rs - scopes::Scope::parse_multiple (line 185) ... ok
[INFO] [stdout] test src/scopes.rs - scopes::Scope::parse_multiple_reduced (line 209) ... ok
[INFO] [stdout] test src/scopes.rs - scopes::Scope::remove_scope (line 293) ... ok
[INFO] [stdout] test src/pkce.rs - pkce::generate (line 47) ... ok
[INFO] [stdout] test src/scopes.rs - scopes::Scope::serialize_multiple (line 266) ... ok
[INFO] [stdout] test src/storage_lru.rs - storage_lru::LruOAuthRequestStorage (line 105) ... ok
[INFO] [stdout] test src/storage_lru.rs - storage_lru::LruOAuthRequestStorage (line 57) ... ok
[INFO] [stdout] test src/lib.rs - pkce (line 29) ... 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::clear_expired_oauth_requests (line 556) ... 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::get_oauth_request_by_state (line 310) ... 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::len (line 170) ... 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::insert_oauth_request (line 458) ... ok
[INFO] [stdout] test src/storage_lru.rs - storage_lru::LruOAuthRequestStorage::clear (line 249) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 21 passed; 0 failed; 6 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 2.85s; merged doctests compilation took 2.79s
[INFO] running `Command { std: "docker" "inspect" "b3ae99c6bc41e41640e650682438cfab0c8e7a6d5eaa902eaacf1cb8a36c8491", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b3ae99c6bc41e41640e650682438cfab0c8e7a6d5eaa902eaacf1cb8a36c8491", kill_on_drop: false }`
[INFO] [stdout] b3ae99c6bc41e41640e650682438cfab0c8e7a6d5eaa902eaacf1cb8a36c8491
