[INFO] fetching crate toll-booth 0.2.1...
[INFO] testing toll-booth-0.2.1 against 1.99.0-beta.8 for beta-1.100-2
[INFO] extracting crate toll-booth 0.2.1 into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate toll-booth 0.2.1
[INFO] finished tweaking crates.io crate toll-booth 0.2.1
[INFO] tweaked toml for crates.io crate toll-booth 0.2.1 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate toll-booth 0.2.1 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate toll-booth 0.2.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded iri-string v0.7.11
[INFO] [stderr]   Downloaded openssl-sys v0.9.112
[INFO] [stderr]   Downloaded rustls-webpki v0.103.10
[INFO] [stderr]   Downloaded rusqlite v0.34.0
[INFO] [stderr]   Downloaded axum v0.8.8
[INFO] [stderr]   Downloaded openssl v0.10.76
[INFO] [stderr]   Downloaded rustls v0.23.37
[INFO] [stderr]   Downloaded libsqlite3-sys v0.32.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 1be8d69b887164e2313dbaf78decf2d4ae1566566801ac8ded62044c4211537c
[INFO] running `Command { std: "docker" "start" "1be8d69b887164e2313dbaf78decf2d4ae1566566801ac8ded62044c4211537c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1be8d69b887164e2313dbaf78decf2d4ae1566566801ac8ded62044c4211537c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1be8d69b887164e2313dbaf78decf2d4ae1566566801ac8ded62044c4211537c" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1be8d69b887164e2313dbaf78decf2d4ae1566566801ac8ded62044c4211537c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1be8d69b887164e2313dbaf78decf2d4ae1566566801ac8ded62044c4211537c" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling zerocopy v0.8.47
[INFO] [stderr]    Compiling cc v1.2.58
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling libsqlite3-sys v0.32.0
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling axum v0.8.8
[INFO] [stderr]    Compiling rusqlite v0.34.0
[INFO] [stderr]    Compiling toll-booth v0.2.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 11s
[INFO] running `Command { std: "docker" "inspect" "1be8d69b887164e2313dbaf78decf2d4ae1566566801ac8ded62044c4211537c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1be8d69b887164e2313dbaf78decf2d4ae1566566801ac8ded62044c4211537c" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling axum v0.8.8
[INFO] [stderr]    Compiling toll-booth v0.2.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 22.13s
[INFO] running `Command { std: "docker" "inspect" "1be8d69b887164e2313dbaf78decf2d4ae1566566801ac8ded62044c4211537c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1be8d69b887164e2313dbaf78decf2d4ae1566566801ac8ded62044c4211537c" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.20s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/toll_booth-4e9386ee45db5e56)
[INFO] [stdout] 
[INFO] [stdout] running 94 tests
[INFO] [stdout] test engine::tests::test_capitalise_header ... ok
[INFO] [stdout] test engine::tests::test_free_tier_not_granted_for_unknown_ip ... ok
[INFO] [stdout] test engine::tests::test_free_tier_allows_then_blocks ... ok
[INFO] [stdout] test engine::tests::test_insufficient_credit_returns_402 ... ok
[INFO] [stdout] test engine::tests::test_head_returns_price_headers ... ok
[INFO] [stdout] test engine::tests::test_debit_storage_error_blocks_500 ... ok
[INFO] [stdout] test engine::tests::test_free_tier_proxy_has_remaining_header ... ok
[INFO] [stdout] test engine::tests::test_402_body_contains_invoice_data ... ok
[INFO] [stdout] test engine::tests::test_reconcile ... ok
[INFO] [stdout] test engine::tests::test_rail_verify_error_blocks_500 ... ok
[INFO] [stdout] test engine::tests::test_multiple_requests_debit_correctly ... ok
[INFO] [stdout] test engine::tests::test_challenge_stores_client_ip ... ok
[INFO] [stdout] test engine::tests::test_full_402_pay_access_flow ... ok
[INFO] [stdout] test engine::tests::test_tiered_pricing_without_default_rejected ... ok
[INFO] [stdout] test engine::tests::test_unknown_ip_invoice_not_attributed ... ok
[INFO] [stdout] test engine::tests::test_unpriced_route_passes_through ... ok
[INFO] [stdout] test engine::tests::test_priced_route_returns_402 ... ok
[INFO] [stdout] test engine::tests::test_valid_l402_auth_proxies ... ok
[INFO] [stdout] test free_tier::tests::credit_free_tier_budget ... ok
[INFO] [stdout] test engine::tests::test_settle_storage_error_blocks_500 ... ok
[INFO] [stdout] test free_tier::tests::credit_free_tier_different_ips ... ok
[INFO] [stdout] test free_tier::tests::credit_free_tier_zero_cost_passes ... ok
[INFO] [stdout] test engine::tests::test_reconcile_is_one_shot ... ok
[INFO] [stdout] test free_tier::tests::implausible_ip_rejected ... ok
[INFO] [stdout] test free_tier::tests::request_free_tier_separate_ips ... ok
[INFO] [stdout] test free_tier::tests::request_free_tier_allows_up_to_limit ... ok
[INFO] [stdout] test free_tier::tests::request_free_tier_remaining ... ok
[INFO] [stdout] test free_tier::tests::reset_clears_counters ... ok
[INFO] [stdout] test macaroon::tests::base64_url_roundtrip ... ok
[INFO] [stdout] test macaroon::tests::decode_rejects_short_identifier ... ok
[INFO] [stdout] test macaroon::tests::decode_rejects_wrong_version ... ok
[INFO] [stdout] test macaroon::tests::decode_varint_rejects_overlong_encoding ... ok
[INFO] [stdout] test macaroon::tests::derive_key_is_deterministic_and_different_from_input ... ok
[INFO] [stdout] test macaroon::tests::deserialise_rejects_truncated_binary ... ok
[INFO] [stdout] test macaroon::tests::encode_decode_l402_identifier_roundtrip ... ok
[INFO] [stdout] test macaroon::tests::match_route_wildcard_and_exact ... ok
[INFO] [stdout] test macaroon::tests::mint_with_custom_caveats_returned_on_verify ... ok
[INFO] [stdout] test macaroon::tests::mint_and_verify_roundtrip ... ok
[INFO] [stdout] test macaroon::tests::parse_macaroon_caveats_returns_all_caveats ... ok
[INFO] [stdout] test macaroon::tests::read_field_rejects_oversized_varint_length ... ok
[INFO] [stdout] test macaroon::tests::rejects_reserved_custom_caveat_key ... ok
[INFO] [stdout] test macaroon::tests::root_key_debug_redacts_key_material ... ok
[INFO] [stdout] test macaroon::tests::root_key_from_hex_rejects_invalid_input ... ok
[INFO] [stdout] test macaroon::tests::usd_currency_support ... ok
[INFO] [stdout] test macaroon::tests::varint_roundtrip ... ok
[INFO] [stdout] test engine::tests::test_reconcile_concurrent_requests_same_account ... ok
[INFO] [stdout] test engine::tests::test_reconcile_extreme_values_no_overflow ... ok
[INFO] [stdout] test macaroon::tests::verify_expires_context ... ok
[INFO] [stdout] test macaroon::tests::verify_rejects_duplicate_caveats ... ok
[INFO] [stdout] test macaroon::tests::verify_expires_malformed_fails_closed ... ok
[INFO] [stdout] test macaroon::tests::verify_with_route_context_matching ... ok
[INFO] [stdout] test macaroon::tests::verify_rejects_wrong_root_key ... ok
[INFO] [stdout] test middleware::axum::tests::test_blocked_status_from_engine_is_honoured ... ok
[INFO] [stdout] test middleware::axum::tests::test_402_body_is_json ... ok
[INFO] [stdout] test middleware::axum::tests::test_inbound_toll_tier_stripped_on_free_tier_path ... ok
[INFO] [stdout] test middleware::axum::tests::test_no_peer_info_fails_closed_for_free_tier ... ok
[INFO] [stdout] test middleware::axum::tests::test_inbound_toll_tier_stripped_on_passthrough ... ok
[INFO] [stdout] test middleware::axum::tests::test_paid_request_passes ... ok
[INFO] [stdout] test middleware::axum::tests::test_priced_returns_402 ... ok
[INFO] [stdout] test middleware::axum::tests::test_unpriced_passes_through ... ok
[INFO] [stdout] test rails::l402::tests::test_challenge_uses_default_amount ... ok
[INFO] [stdout] test middleware::axum::tests::test_xff_honoured_from_trusted_proxy ... ok
[INFO] [stdout] test rails::l402::tests::test_challenge_without_backend ... ok
[INFO] [stdout] test middleware::axum::tests::test_xff_spoofed_leftmost_does_not_evade_quota ... ok
[INFO] [stdout] test rails::l402::tests::test_rail_type_and_credit_supported ... ok
[INFO] [stdout] test middleware::axum::tests::test_xff_ignored_when_peer_untrusted ... ok
[INFO] [stdout] test rails::l402::tests::test_detect_l402_header ... ok
[INFO] [stdout] test rails::l402::tests::test_verify_no_auth_header ... ok
[INFO] [stdout] test rails::l402::tests::test_verify_valid_preimage ... ok
[INFO] [stdout] test rails::l402::tests::test_verify_wrong_preimage ... ok
[INFO] [stdout] test storage::memory::tests::adjust_credits ... ok
[INFO] [stdout] test storage::memory::tests::adjust_credits_overflow_returns_error ... ok
[INFO] [stdout] test storage::memory::tests::credit_and_balance ... ok
[INFO] [stdout] test storage::memory::tests::credit_overflow_returns_error ... ok
[INFO] [stdout] test rails::l402::tests::test_verify_malformed_credentials ... ok
[INFO] [stdout] test rails::l402::tests::test_verify_replay_still_works ... ok
[INFO] [stdout] test storage::memory::tests::dual_currency ... ok
[INFO] [stdout] test storage::memory::tests::invoice_status_token_timing_safe ... ok
[INFO] [stdout] test rails::l402::tests::test_verify_settlement_secret ... ok
[INFO] [stdout] test storage::memory::tests::prune_expired_invoices_drops_unparseable_timestamps ... ok
[INFO] [stdout] test storage::memory::tests::prune_expired_invoices_removes_old_keeps_recent ... ok
[INFO] [stdout] test storage::memory::tests::prune_stale_records_never_touches_settlements ... ok
[INFO] [stdout] test storage::memory::tests::prune_stale_records_removes_only_drained_balances ... ok
[INFO] [stdout] test storage::memory::tests::debit_insufficient ... ok
[INFO] [stdout] test storage::memory::tests::settle_once ... ok
[INFO] [stdout] test storage::memory::tests::debit_sufficient ... ok
[INFO] [stdout] test storage::memory::tests::invoice_storage ... ok
[INFO] [stdout] test storage::memory::tests::settle_with_credit_credits_balance_stores_secret_rejects_second ... ok
[INFO] [stdout] test storage::memory::tests::settle_with_credit_overflow_returns_error ... ok
[INFO] [stdout] test middleware::axum::tests::test_xff_multi_hop_skips_trusted_proxies ... ok
[INFO] [stdout] test free_tier::tests::credit_poisoned_mutex_fails_closed ... ok
[INFO] [stdout] test free_tier::tests::poisoned_mutex_fails_closed ... ok
[INFO] [stdout] test engine::tests::test_pending_invoice_per_ip_cap ... ok
[INFO] [stdout] test storage::memory::tests::store_invoice_evicts_oldest_at_capacity ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 94 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.93s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests toll_booth
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "1be8d69b887164e2313dbaf78decf2d4ae1566566801ac8ded62044c4211537c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1be8d69b887164e2313dbaf78decf2d4ae1566566801ac8ded62044c4211537c", kill_on_drop: false }`
[INFO] [stdout] 1be8d69b887164e2313dbaf78decf2d4ae1566566801ac8ded62044c4211537c
