[INFO] fetching crate cratestack-axum 0.15.4...
[INFO] testing cratestack-axum-0.15.4 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate cratestack-axum 0.15.4 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate cratestack-axum 0.15.4
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate cratestack-axum 0.15.4
[INFO] tweaked toml for crates.io crate cratestack-axum 0.15.4 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate cratestack-axum 0.15.4 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate cratestack-axum 0.15.4 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.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] f5af72c73e867b52aeadcd91374fd677e319ecf811c95d787febd72c2afd26a4
[INFO] running `Command { std: "docker" "start" "f5af72c73e867b52aeadcd91374fd677e319ecf811c95d787febd72c2afd26a4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f5af72c73e867b52aeadcd91374fd677e319ecf811c95d787febd72c2afd26a4", 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" "f5af72c73e867b52aeadcd91374fd677e319ecf811c95d787febd72c2afd26a4" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f5af72c73e867b52aeadcd91374fd677e319ecf811c95d787febd72c2afd26a4", 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" "f5af72c73e867b52aeadcd91374fd677e319ecf811c95d787febd72c2afd26a4" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling writeable v0.6.4
[INFO] [stderr]    Compiling litemap v0.8.3
[INFO] [stderr]    Compiling bytes v1.12.1
[INFO] [stderr]    Compiling icu_normalizer_data v2.3.0
[INFO] [stderr]    Compiling icu_properties_data v2.3.0
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling cmov v0.5.4
[INFO] [stderr]    Compiling syn v3.0.6
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling const-oid v0.10.2
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling rust_decimal v1.43.0
[INFO] [stderr]    Compiling ctutils v0.4.2
[INFO] [stderr]    Compiling thiserror v2.0.21
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling futures-core v0.3.34
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling arrayvec v0.7.8
[INFO] [stderr]    Compiling cpufeatures v0.3.1
[INFO] [stderr]    Compiling base64 v0.23.1
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling log v0.4.34
[INFO] [stderr]    Compiling futures-channel v0.3.34
[INFO] [stderr]    Compiling typeid v1.0.3
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling futures-task v0.3.34
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling erased-serde v0.4.10
[INFO] [stderr]    Compiling minicbor v2.3.0
[INFO] [stderr]    Compiling matchit v0.8.4
[INFO] [stderr]    Compiling ipnet v2.12.2
[INFO] [stderr]    Compiling http v1.5.0
[INFO] [stderr]    Compiling futures-util v0.3.34
[INFO] [stderr]    Compiling mio v1.2.2
[INFO] [stderr]    Compiling socket2 v0.6.5
[INFO] [stderr]    Compiling hybrid-array v0.4.14
[INFO] [stderr]    Compiling http-body v1.1.0
[INFO] [stderr]    Compiling http-body-util v0.1.5
[INFO] [stderr]    Compiling crypto-common v0.2.2
[INFO] [stderr]    Compiling block-buffer v0.12.1
[INFO] [stderr]    Compiling digest v0.11.3
[INFO] [stderr]    Compiling hmac v0.13.0
[INFO] [stderr]    Compiling sha2 v0.11.0
[INFO] [stderr]    Compiling uuid v1.26.1
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling zerovec-derive v0.11.6
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling thiserror-impl v2.0.21
[INFO] [stderr]    Compiling async-trait v0.1.92
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling zerovec v0.11.8
[INFO] [stderr]    Compiling zerotrie v0.2.5
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling minicbor-serde v0.7.1
[INFO] [stderr]    Compiling tinystr v0.8.4
[INFO] [stderr]    Compiling potential_utf v0.1.6
[INFO] [stderr]    Compiling icu_collections v2.3.0
[INFO] [stderr]    Compiling icu_locale_core v2.3.0
[INFO] [stderr]    Compiling hyper v1.11.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling icu_provider v2.3.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling icu_properties v2.3.0
[INFO] [stderr]    Compiling icu_normalizer v2.3.0
[INFO] [stderr]    Compiling axum v0.8.9
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling cratestack-core v0.15.4
[INFO] [stderr]    Compiling cratestack-policy v0.15.4
[INFO] [stderr]    Compiling cratestack-codec-json v0.15.4
[INFO] [stderr]    Compiling cratestack-exec v0.15.4
[INFO] [stderr]    Compiling cratestack-codec-cbor v0.15.4
[INFO] [stderr]    Compiling cratestack-sql v0.15.4
[INFO] [stderr]    Compiling cratestack-axum v0.15.4 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 00s
[INFO] running `Command { std: "docker" "inspect" "f5af72c73e867b52aeadcd91374fd677e319ecf811c95d787febd72c2afd26a4", 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" "f5af72c73e867b52aeadcd91374fd677e319ecf811c95d787febd72c2afd26a4" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling log v0.4.34
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling thread_local v1.1.10
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling axum v0.8.9
[INFO] [stderr]    Compiling cratestack-axum v0.15.4 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 29.21s
[INFO] running `Command { std: "docker" "inspect" "f5af72c73e867b52aeadcd91374fd677e319ecf811c95d787febd72c2afd26a4", 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" "f5af72c73e867b52aeadcd91374fd677e319ecf811c95d787febd72c2afd26a4" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.15s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/cratestack-axum/f718d7e6f0e34b7a/out/cratestack_axum-f718d7e6f0e34b7a)
[INFO] [stdout] 
[INFO] [stdout] running 265 tests
[INFO] [stdout] test codec::set::tests::does_not_claim_a_codec_it_was_not_built_with ... ok
[INFO] [stdout] test headers::tests_extensions_clone_cost::extensions_clone_cost_vs_headermap_clone_cost ... ignored, informational timing measurement, not a correctness assertion (would be flaky as a CI gate) — run explicitly with `cargo test -p cratestack-axum -- --ignored --nocapture extensions_clone_cost`
[INFO] [stdout] test codec::set::tests::cbor_seq_is_encodable_when_cbor_is_primary ... ok
[INFO] [stdout] test headers::tests_correlation::default_header_selection_is_x_forwarded_for_not_forwarded ... ok
[INFO] [stdout] test codec::set::tests::cbor_seq_is_not_encodable_without_any_cbor_codec ... ok
[INFO] [stdout] test headers::tests_correlation::forwarded_header_raw_entry_keeps_brackets_until_parse_hop_ip_normalizes_them ... ok
[INFO] [stdout] test headers::tests_if_match::rejects_non_integer_payload ... ok
[INFO] [stdout] test headers::tests_correlation::parses_canonical_traceparent_into_trace_id ... ok
[INFO] [stdout] test headers::tests_correlation::rejects_all_zero_trace_id ... ok
[INFO] [stdout] test headers::tests_correlation::rejects_traceparent_with_wrong_segment_count ... ok
[INFO] [stdout] test headers::tests_correlation::traceparent_absent_returns_none ... ok
[INFO] [stdout] test headers::tests_header_precedence::duplicate_x_forwarded_for_lines_are_merged_proxy_appended_value_wins ... ok
[INFO] [stdout] test headers::tests_header_precedence::explicit_forwarded_opt_in_uses_forwarded_and_ignores_xff ... ok
[INFO] [stdout] test headers::tests_header_precedence::xff_wins_by_default_and_the_attackers_forwarded_header_is_ignored ... ok
[INFO] [stdout] test headers::tests_if_match::rejects_unquoted_payload ... ok
[INFO] [stdout] test headers::tests_if_match::rejects_wildcard ... ok
[INFO] [stdout] test codec::set::tests::cbor_seq_is_encodable_when_cbor_is_secondary ... ok
[INFO] [stdout] test headers::tests_correlation::rejects_traceparent_with_short_trace_id ... ok
[INFO] [stdout] test headers::tests_if_match::returns_none_when_header_absent ... ok
[INFO] [stdout] test headers::tests_ip_validation::bare_ipv4_parses ... ok
[INFO] [stdout] test headers::tests_if_match::parses_strong_quoted_integer ... ok
[INFO] [stdout] test headers::tests_ip_validation::bare_ipv6_without_brackets_parses ... ok
[INFO] [stdout] test headers::tests_ip_validation::bracketed_ipv6_with_a_port_is_normalized_to_the_bare_address ... ok
[INFO] [stdout] test headers::tests_ip_validation::bracketed_ipv6_with_port_on_a_trusted_xff_entry_is_normalized ... ok
[INFO] [stdout] test headers::tests_ip_validation::bracketed_ipv6_without_a_port_parses ... ok
[INFO] [stdout] test headers::tests_ip_validation::forwarded_quoted_bracketed_ipv6_with_port_is_normalized ... ok
[INFO] [stdout] test headers::tests_ip_validation::invalid_address_does_not_parse ... ok
[INFO] [stdout] test headers::tests_ip_validation::invalid_ip_string_falls_back_to_peer_address_not_recorded_verbatim ... ok
[INFO] [stdout] test headers::tests_ip_validation::ipv4_with_port_suffix_is_normalized_to_the_bare_address ... ok
[INFO] [stdout] test headers::tests_ip_validation::port_suffix_on_a_trusted_xff_entry_is_stripped ... ok
[INFO] [stdout] test headers::tests_ip_validation::rfc7239_placeholder_tokens_do_not_parse_as_ips ... ok
[INFO] [stdout] test headers::tests_trusted_proxy::cidr_trusted_proxy_matches_a_range ... ok
[INFO] [stdout] test headers::tests_trusted_proxy::forwarded_header_hop_count_is_also_right_to_left ... ok
[INFO] [stdout] test headers::tests_trusted_proxy::hop_count_two_selects_second_from_right_entry ... ok
[INFO] [stdout] test headers::tests_trusted_proxy::hop_count_walks_right_to_left_not_left_to_right ... ok
[INFO] [stdout] test headers::tests_trusted_proxy::max_hops_deeper_than_the_actual_chain_returns_none ... ok
[INFO] [stdout] test codec::set::tests::reports_both_configured_codecs_as_encodable ... ok
[INFO] [stdout] test headers::tests_trusted_proxy::max_hops_zero_trusts_nothing ... ok
[INFO] [stdout] test headers::tests_trusted_proxy::no_connect_info_at_all_yields_no_client_ip_regardless_of_headers ... ok
[INFO] [stdout] test headers::tests_trusted_proxy::single_hop_chain_with_max_hops_one_returns_the_only_entry ... ok
[INFO] [stdout] test headers::tests_trusted_proxy::trusted_peer_resolves_header_chain ... ok
[INFO] [stdout] test headers::tests_trusted_proxy::trusted_peer_with_malformed_header_falls_back_to_peer_address_without_panicking ... ok
[INFO] [stdout] test headers::tests_trusted_proxy::unconfigured_default_uses_peer_address_never_headers ... ok
[INFO] [stdout] test headers::tests_trusted_proxy::unconfigured_default_with_no_peer_yields_no_client_ip ... ok
[INFO] [stdout] test headers::tests_trusted_proxy::untrusted_peer_with_spoofed_header_falls_back_to_peer_address ... ok
[INFO] [stdout] test idempotency::mount_prefix::tests::strip_refuses_a_path_outside_the_mount ... ok
[INFO] [stdout] test idempotency::stream_bypass::tests::ordinary_response_is_not_flagged ... ok
[INFO] [stdout] test idempotency::stream_bypass::tests::the_marker_never_touches_headers_so_it_cannot_leak_onto_the_wire ... ok
[INFO] [stdout] test idempotency::tests_fingerprint::authorization_header_takes_precedence_over_connect_info ... ok
[INFO] [stdout] test idempotency::tests_fingerprint::different_connect_info_addrs_produce_different_fingerprints ... ok
[INFO] [stdout] test idempotency::tests_error_body::key_conflict_body_decodes_as_the_framework_error_envelope ... ok
[INFO] [stdout] test headers::tests_trusted_proxy::trusted_proxy_with_a_peer_is_not_flagged ... ok
[INFO] [stdout] test headers::tests_trusted_proxy::no_trusted_proxy_config_at_all_is_never_flagged_regardless_of_peer ... ok
[INFO] [stdout] test headers::verified_signer::tests::without_one_the_context_is_unchanged ... ok
[INFO] [stdout] test idempotency::tests_fingerprint::default_fingerprint_uses_connect_info_when_no_auth_header ... ok
[INFO] [stdout] test idempotency::tests_fingerprint::spoofed_forwarded_headers_do_not_let_an_attacker_pick_another_callers_namespace ... ok
[INFO] [stdout] test idempotency::tests_fingerprint_principal::distinct_principals_get_distinct_namespaces ... ok
[INFO] [stdout] test idempotency::tests_fingerprint_principal::the_legacy_fingerprint_ignores_a_verified_principal ... ok
[INFO] [stdout] test idempotency::tests_fingerprint_principal::the_verified_principal_wins_over_authorization_and_the_peer ... ok
[INFO] [stdout] test headers::tests_trusted_proxy::trusted_proxy_without_a_peer_is_flagged_as_a_misconfiguration ... ok
[INFO] [stdout] test idempotency::mount_prefix::tests::strip_removes_the_mount_and_keeps_the_schema_path ... ok
[INFO] [stdout] test idempotency::mount_prefix::tests::normalize_accepts_every_spelling_of_the_same_mount ... ok
[INFO] [stdout] test idempotency::tests_fingerprint_principal::without_a_principal_the_old_refusal_stands ... ok
[INFO] [stdout] test idempotency::tests_fingerprint::default_fingerprint_refuses_when_no_connect_info_extension ... ok
[INFO] [stdout] test idempotency::stream_bypass::tests::detects_the_stream_marker_extension ... ok
[INFO] [stdout] test idempotency::mount_prefix::tests::strip_refuses_a_partial_segment_match ... ok
[INFO] [stdout] test headers::verified_signer::tests::a_signer_in_the_extensions_is_recorded_but_does_not_authenticate ... ok
[INFO] [stdout] test idempotency::tests_hash::hash_changes_with_method_or_path ... ok
[INFO] [stdout] test idempotency::tests_hash::hash_changes_with_query_string ... ok
[INFO] [stdout] test idempotency::tests_hash::idempotent_target_method_predicate_excludes_get ... ok
[INFO] [stdout] test idempotency::tests_headers::decode_headers_of_empty_blob_returns_empty_map ... ok
[INFO] [stdout] test idempotency::tests_headers::decode_headers_tolerates_truncated_blob_without_panicking ... ok
[INFO] [stdout] test idempotency::tests_fingerprint_principal::a_verified_principal_is_namespaced_and_hashed ... ok
[INFO] [stdout] test idempotency::tests_headers::encode_then_decode_round_trips_headers_with_multi_values ... ok
[INFO] [stdout] test idempotency::tests_hash::hash_changes_with_body ... ok
[INFO] [stdout] test idempotency::tests_fingerprint::default_fingerprint_from_authorization_header ... ok
[INFO] [stdout] test idempotency::tests_error_body::key_conflict_over_the_rpc_binding_uses_the_rpc_vocabulary ... ok
[INFO] [stdout] test idempotency::tests_op_resolver::rest_resolver_reserves_when_the_route_is_absent_from_the_descriptors ... ok
[INFO] [stdout] test idempotency::tests_op_resolver::rest_resolver_reads_the_flag_off_the_matched_route_pattern ... ok
[INFO] [stdout] test idempotency::tests_op_resolver::rpc_resolver_reserves_for_unknown_ops_batch_subscribe_and_non_rpc_paths ... ok
[INFO] [stdout] test idempotency::tests_op_resolver::rest_resolver_reserves_when_there_is_no_matched_path_at_all ... ok
[INFO] [stdout] test idempotency::tests_op_resolver_nested::nested_mount_with_the_prefix_resolves_the_annotated_procedure ... ok
[INFO] [stdout] test idempotency::tests_op_resolver_nested::rpc_prefix_resolver_keeps_every_fail_closed_case ... ok
[INFO] [stdout] test idempotency::tests_op_resolver_nested::rpc_prefix_resolver_reads_the_flag_under_a_nested_mount ... ok
[INFO] [stdout] test idempotency::tests_op_resolver::rpc_resolver_reads_the_flag_off_the_matching_descriptor ... ok
[INFO] [stdout] test idempotency::tests_parse::rejects_empty_key ... ok
[INFO] [stdout] test idempotency::tests_op_resolver_nested::nested_mount_without_a_prefix_reserves_everything ... ok
[INFO] [stdout] test idempotency::tests_op_resolver_nested::nested_mount_with_the_prefix_still_reserves_ordinary_routes ... ok
[INFO] [stdout] test idempotency::tests_parse::parses_present_and_absent_keys ... ok
[INFO] [stdout] test idempotency::tests_stream_bypass::stream_response_bypasses_buffering_and_releases_its_reservation ... ok
[INFO] [stdout] test idempotency::tests_unrecorded::an_aborted_rest_response_is_not_recorded ... ok
[INFO] [stdout] test idempotency::tests_parse::rejects_overlong_key ... ok
[INFO] [stdout] test idempotency::tests_unrecorded::an_unclaimed_abort_is_an_internal_error_and_recorded ... ok
[INFO] [stdout] test idempotency::tests_unrecorded::an_aborted_rpc_response_is_not_recorded ... ok
[INFO] [stdout] test idempotency::tests_unrecorded::any_other_error_is_still_recorded ... ok
[INFO] [stdout] test middleware_error::tests::a_bare_rpc_segment_with_no_op_is_not_an_rpc_call ... ok
[INFO] [stdout] test middleware_error::tests::accept_json_is_honoured_for_the_error_body_too ... ok
[INFO] [stdout] test middleware_error::tests::nested_rpc_mount_still_gets_the_rpc_envelope ... ok
[INFO] [stdout] test middleware_error::tests::a_rest_collection_named_rpc_keeps_the_rest_vocabulary ... ok
[INFO] [stdout] test middleware_error::tests::rpc_batch_and_subscribe_mounts_are_recognised ... ok
[INFO] [stdout] test middleware_error::tests::rest_path_mentioning_rpc_without_a_segment_stays_rest ... ok
[INFO] [stdout] test middleware_error::tests::rest_path_emits_the_rest_envelope_in_cbor_by_default ... ok
[INFO] [stdout] test middleware_error::tests::rpc_path_emits_the_rpc_envelope_with_the_grpc_style_code ... ok
[INFO] [stdout] test middleware_error::tests_negotiation::a_missing_accept_keeps_a_5xx_status ... ok
[INFO] [stdout] test middleware_error::tests_negotiation::a_wildcard_accept_resolves_to_the_default_codec ... ok
[INFO] [stdout] test middleware_error::tests_negotiation::an_unsatisfiable_accept_keeps_the_status_and_falls_back_to_the_default_codec ... ok
[INFO] [stdout] test projection::tests::array_of_objects_round_trips_over_cbor ... ok
[INFO] [stdout] test projection::tests::multiple_uuid_columns_round_trip_over_cbor ... ok
[INFO] [stdout] test middleware_error::tests_negotiation::a_malformed_accept_keeps_the_status_too ... ok
[INFO] [stdout] test projection::tests::non_uuid_leaves_still_round_trip_over_both_codecs ... ok
[INFO] [stdout] test projection::tests::null_variant_round_trips_as_real_cbor_null_not_empty_array ... ok
[INFO] [stdout] test projection::tests::null_variant_round_trips_over_json ... ok
[INFO] [stdout] test projection::tests::nullable_uuid_present_round_trips_over_cbor ... ok
[INFO] [stdout] test ratelimit::store::scopes::tests::an_active_member_keeps_its_slot_indefinitely ... ok
[INFO] [stdout] test ratelimit::rest_ops_filter::tests::route_layer_does_not_throttle_unmatched_paths ... ok
[INFO] [stdout] test ratelimit::rest_ops_filter::tests::route_layer_exempts_annotated_route_and_throttles_others ... ok
[INFO] [stdout] test ratelimit::rpc_ops_filter::tests::exempts_no_rate_limit_op_and_throttles_ordinary_op ... ok
[INFO] [stdout] test ratelimit::store::scopes::tests::admits_up_to_the_cap_then_refuses_new_members ... ok
[INFO] [stdout] test query::computed_params::tests::rejects_malformed_json ... ok
[INFO] [stdout] test query::computed_params::tests::accepts_an_empty_object ... ok
[INFO] [stdout] test ratelimit::rpc_ops_filter::tests::unknown_op_and_non_rpc_path_fail_closed ... ok
[INFO] [stdout] test projection::tests::uuid_leaf_round_trips_over_json_without_regression ... ok
[INFO] [stdout] test ratelimit::store::scopes::tests::members_expire_individually_not_as_a_generation ... ok
[INFO] [stdout] test ratelimit::store::scopes::tests::an_idle_member_ages_out_and_frees_its_slot ... ok
[INFO] [stdout] test ratelimit::rest_ops_filter::tests::plain_layer_fails_closed_and_throttles_unmatched_paths ... ok
[INFO] [stdout] test ratelimit::rpc_ops_filter::tests::batch_and_subscribe_are_always_rate_limited ... ok
[INFO] [stdout] test query::computed_params::tests::parses_a_valid_computed_params_object ... ok
[INFO] [stdout] test ratelimit::store_error::tests::other_logical_failures_stay_closed_under_allow ... ok
[INFO] [stdout] test ratelimit::store_error::tests::the_refusal_preserves_the_original_error ... ok
[INFO] [stdout] test ratelimit::tests::default_filter_still_throttles_without_should_rate_limit_fn ... ok
[INFO] [stdout] test ratelimit::tests::per_key_isolation_does_not_leak_between_principals ... ok
[INFO] [stdout] test ratelimit::tests::capacity_helper_passes_burst ... ok
[INFO] [stdout] test query::computed_params::tests::rejects_non_object_json ... ok
[INFO] [stdout] test ratelimit::store_error::tests::transport_class_is_served_under_allow ... ok
[INFO] [stdout] test ratelimit::store::scopes::tests::sweep_drops_scopes_once_every_member_has_expired ... ok
[INFO] [stdout] test projection::tests::uuid_leaf_round_trips_over_cbor ... ok
[INFO] [stdout] test ratelimit::tests_budget::a_store_without_consume_bounded_behaves_exactly_as_before ... ok
[INFO] [stdout] test ratelimit::tests::should_rate_limit_fn_returning_false_bypasses_the_store_entirely ... ok
[INFO] [stdout] test ratelimit::store_error::tests::a_poisoned_in_memory_store_is_not_served_under_allow ... ok
[INFO] [stdout] test ratelimit::tests_budget::unbounded_store_warning_fires_once_and_only_when_a_budget_was_asked_for ... ok
[INFO] [stdout] test ratelimit::tests::allows_up_to_burst_then_throttles ... ok
[INFO] [stdout] test ratelimit::tests_budget::rotating_bearer_from_one_peer_cannot_mint_unbounded_buckets ... ok
[INFO] [stdout] test ratelimit::tests_budget_caps::a_refused_request_leaves_no_scope_entry_behind ... ok
[INFO] [stdout] test ratelimit::tests_budget_store::distinct_callers_under_the_budget_never_share_a_bucket ... ok
[INFO] [stdout] test ratelimit::tests_budget_store::the_cap_recovers_once_the_old_buckets_age_out ... ok
[INFO] [stdout] test ratelimit::store_error::tests::a_reachable_but_refusing_store_is_never_served_even_under_allow ... ok
[INFO] [stdout] test ratelimit::tests_evasion::a_scope_cannot_expire_underneath_the_buckets_it_admitted ... ok
[INFO] [stdout] test ratelimit::tests_evasion::no_warning_when_the_derivation_asked_for_no_budget ... ok
[INFO] [stdout] test ratelimit::tests::refill_grants_more_tokens_after_wait ... ok
[INFO] [stdout] test ratelimit::store_error::tests::deny_refuses_transport_class_too ... ok
[INFO] [stdout] test ratelimit::tests_budget_store::max_buckets_fails_closed_when_a_sweep_frees_nothing ... ok
[INFO] [stdout] test ratelimit::tests_budget_store::a_sweep_inside_the_ttl_does_not_reset_a_drained_bucket ... ok
[INFO] [stdout] test ratelimit::tests_budget_store::callers_beyond_the_budget_collapse_onto_the_fallback ... ok
[INFO] [stdout] test ratelimit::tests_evasion::rotating_ipv6_inside_one_64_with_a_token_cannot_evade_the_cap ... ok
[INFO] [stdout] test ratelimit::tests_budget::without_bucket_budget_restores_the_amplification ... ok
[INFO] [stdout] test ratelimit::tests_budget_store::idle_buckets_are_evicted_once_a_full_ttl_has_passed ... ok
[INFO] [stdout] test ratelimit::tests_key_fn::default_key_from_authorization_header ... ok
[INFO] [stdout] test ratelimit::tests_op_resolver_rest::the_rest_ops_filter_cannot_see_through_nest ... ok
[INFO] [stdout] test ratelimit::tests_evasion::rotating_ipv6_inside_one_64_without_a_token_cannot_mint_buckets ... ok
[INFO] [stdout] test ratelimit::tests_key_fn::default_key_uses_connect_info_when_no_auth_header ... ok
[INFO] [stdout] test ratelimit::tests_evasion::the_layer_actually_reports_an_unbounded_store ... ok
[INFO] [stdout] test ratelimit::tests_op_resolver::prefixed_resolver_exempts_a_no_rate_limit_op_under_nest ... ok
[INFO] [stdout] test ratelimit::tests_scope::authorization_without_a_peer_falls_into_the_global_scope ... ok
[INFO] [stdout] test ratelimit::tests_key_fn::default_key_refuses_when_no_connect_info_extension ... ok
[INFO] [stdout] test ratelimit::tests_scope::ipv6_unauthenticated_keys_aggregate_to_a_64 ... ok
[INFO] [stdout] test ratelimit::tests_op_resolver::an_unknown_op_is_charged_not_exempted ... ok
[INFO] [stdout] test ratelimit::tests_scope::ipv6_scopes_and_fallbacks_both_aggregate_to_a_64 ... ok
[INFO] [stdout] test ratelimit::tests_key_fn::different_connect_info_addrs_produce_different_rate_limit_keys ... ok
[INFO] [stdout] test ratelimit::tests_op_resolver::prefixed_resolver_still_throttles_an_ordinary_op ... ok
[INFO] [stdout] test ratelimit::tests_key_fn::spoofed_forwarded_headers_are_ignored_without_connect_info ... ok
[INFO] [stdout] test ratelimit::tests_scope::verified_principal_keys_on_princ_and_carries_no_budget ... ok
[INFO] [stdout] test ratelimit::tests_op_resolver::the_ops_filter_cannot_see_through_nest ... ok
[INFO] [stdout] test ratelimit::tests_scope::ignore_policy_keys_on_the_peer_despite_an_authorization_header ... ok
[INFO] [stdout] test ratelimit::tests_store_error::a_reachable_but_refusing_store_is_refused_even_under_the_default_policy ... ok
[INFO] [stdout] test ratelimit::tests_store_error::deny_refuses_an_unreachable_store_with_a_decodable_typed_body ... ok
[INFO] [stdout] test ratelimit::tests_scope_ipv6::a_real_dual_stack_socket_keys_ipv4_clients_per_address ... ok
[INFO] [stdout] test ratelimit::tests_op_resolver_rest::prefixed_rest_resolver_exempts_and_throttles_under_nest ... ok
[INFO] [stdout] test ratelimit::tests_scope_ipv6::ipv4_mapped_addresses_are_unwrapped_not_aggregated ... ok
[INFO] [stdout] test ratelimit::tests_scope_ipv6::ipv4_scopes_are_not_aggregated ... ok
[INFO] [stdout] test ratelimit::tests_scope_ipv6::ipv6_ignore_policy_keys_on_the_aggregated_peer ... ok
[INFO] [stdout] test ratelimit::tests_evasion_v4::ipv4_mapped_clients_do_not_collapse_into_one_bucket ... ok
[INFO] [stdout] test ratelimit::tests_store_error::an_unreachable_store_is_served_through_under_the_default_policy ... ok
[INFO] [stdout] test rpc::sse::tests::validate_subscribe_accept_header_accepts_exact_match ... ok
[INFO] [stdout] test ratelimit::tests_key_fn::authorization_header_takes_precedence_over_connect_info ... ok
[INFO] [stdout] test ratelimit::tests_op_resolver::a_runtime_prefix_string_can_build_the_resolver ... ok
[INFO] [stdout] test rpc::sse::tests::encodes_one_message_event_per_item_with_incrementing_ids ... ok
[INFO] [stdout] test rpc::sse::tests::lagged_error_is_stable_and_maps_to_unavailable_code ... ok
[INFO] [stdout] test rpc::subscription_bridge::tests::guard_drops_when_the_stream_is_cancelled_mid_poll ... ok
[INFO] [stdout] test rpc::subscription_bridge::tests::guard_drops_when_the_stream_is_fully_consumed ... ok
[INFO] [stdout] test rpc::sse::tests::validate_subscribe_accept_header_rejects_missing_header ... ok
[INFO] [stdout] test rpc::sse::tests::validate_subscribe_accept_header_accepts_wildcard ... ok
[INFO] [stdout] test rpc::tests_error::an_unmapped_status_still_synthesizes_internal ... ok
[INFO] [stdout] test rpc::sse::tests::validate_subscribe_accept_header_rejects_mismatched_type ... ok
[INFO] [stdout] test rpc::tests_error::cratestack_error_code_to_rpc_code_covers_every_cratestack_error_variant ... ok
[INFO] [stdout] test rpc::subscription_bridge::tests::overflow_closes_the_channel_so_the_stream_ends ... ok
[INFO] [stdout] test rpc::subscription_bridge::tests::push_after_overflow_is_a_silent_no_op_not_a_panic ... ok
[INFO] [stdout] test ratelimit::tests_typed_bodies::key_derivation_failure_still_refuses_but_with_a_typed_body ... ok
[INFO] [stdout] test ratelimit::tests_scope_ipv6::routable_ipv6_still_aggregates_to_a_64 ... ok
[INFO] [stdout] test ratelimit::tests_typed_bodies::throttled_response_body_decodes_to_a_typed_code ... ok
[INFO] [stdout] test ratelimit::tests_scope_ipv6::the_all_zero_prefix_is_never_aggregated ... ok
[INFO] [stdout] test rpc::subscription_bridge::tests::pushed_items_arrive_in_order_over_the_stream ... ok
[INFO] [stdout] test rpc::tests_error::error_body_uses_caller_supplied_message_for_4xx ... ok
[INFO] [stdout] test rpc::sse::tests::empty_stream_still_ends_with_a_terminal_error_event ... ok
[INFO] [stdout] test rpc::tests_list::synthesize_list_query_returns_none_when_empty ... ok
[INFO] [stdout] test rpc::tests_error::error_body_uses_public_message_not_operator_detail ... ok
[INFO] [stdout] test rpc::tests_frame::response_frame_ok_and_err_are_mutually_exclusive ... ok
[INFO] [stdout] test rpc::tests_get::synthesize_get_query_emits_fields_include_and_include_fields ... ok
[INFO] [stdout] test rpc::tests_error::cratestack_error_code_to_rpc_code_unknown_input_falls_to_internal ... ok
[INFO] [stdout] test rpc::tests_get::synthesize_get_query_round_trips_computed_params_through_parse_query_pairs ... ok
[INFO] [stdout] test ratelimit::tests_store_timeout::a_prompt_store_is_not_disturbed_by_the_budget ... ok
[INFO] [stdout] test rpc::tests_get::synthesize_get_query_emits_the_same_pairs_synthesize_list_query_does_with_two_relations ... ok
[INFO] [stdout] test rpc::tests_get::synthesize_get_query_emits_the_same_pairs_synthesize_list_query_does ... ok
[INFO] [stdout] test rpc::tests_get::synthesize_get_query_returns_none_when_every_field_is_unset ... ok
[INFO] [stdout] test rpc::tests_list::synthesize_list_query_round_trips_through_parse_query_pairs ... ok
[INFO] [stdout] test schema_fingerprint::tests::matching_header_passes_through_with_200 ... ok
[INFO] [stdout] test schema_fingerprint::tests::missing_header_passes_through_with_200 ... ok
[INFO] [stdout] test transport::encode_unary::tests::json_only_router_serves_200_json_even_when_accept_also_lists_cbor ... ok
[INFO] [stdout] test rpc::tests_error::error_body_from_cratestack_response_translates_code_and_preserves_message ... ok
[INFO] [stdout] test transport::encode_sequence::tests::json_only_router_serves_a_list_response_even_when_accept_also_lists_cbor ... ok
[INFO] [stdout] test transport::encode_sequence::tests::stream_still_406s_for_cbor_seq_on_a_json_only_router ... ok
[INFO] [stdout] test schema_fingerprint::tests::mismatched_header_still_passes_through_with_200 ... ok
[INFO] [stdout] test rpc::tests_response_rebuffer::response_to_frame_still_succeeds_comfortably_under_the_bound ... ok
[INFO] [stdout] test transport::encode_sequence::tests::stream_falls_back_to_buffered_json_for_a_json_only_router_with_a_plain_accept ... ok
[INFO] [stdout] test transport::encode_sequence::tests::stream_negotiates_cbor_seq_unchanged_when_a_cbor_codec_is_present ... ok
[INFO] [stdout] test transport::media_type::tests::bare_wildcard_with_no_other_signal_falls_back_to_encodables_own_order ... ok
[INFO] [stdout] test transport::media_type::tests::cbor_only_router_still_uses_the_static_default_when_it_can_encode_it ... ok
[INFO] [stdout] test transport::media_type::tests::client_accepting_neither_offered_type_gets_406 ... ok
[INFO] [stdout] test transport::encode_unary::tests::json_only_router_still_406s_for_a_genuinely_unsatisfiable_accept ... ok
[INFO] [stdout] test rpc::tests_error::synthesized_errors_cover_the_statuses_middleware_emits ... ok
[INFO] [stdout] test rpc::tests_error::rpc_code_maps_each_cratestack_error_variant ... ok
[INFO] [stdout] test transport::media_type::tests::json_only_router_with_no_accept_header_falls_back_to_json_not_the_static_default ... ok
[INFO] [stdout] test transport::media_type::tests::client_preferring_cbor_gets_cbor_even_though_cbor_seq_is_also_offered ... ok
[INFO] [stdout] test transport::media_type::tests::codec_set_negotiates_either_codec ... ok
[INFO] [stdout] test transport::media_type::tests::json_only_router_picks_json_even_when_accept_also_lists_cbor ... ok
[INFO] [stdout] test transport::media_type::tests::no_accept_header_still_falls_back_to_default_unchanged_by_this_fix ... ok
[INFO] [stdout] test transport::stream_sequence::tests::empty_stream_produces_an_empty_body ... ok
[INFO] [stdout] test transport::stream_sequence::tests::mid_stream_error_becomes_the_final_tagged_item ... ok
[INFO] [stdout] test transport::media_type::tests::q_values_override_both_the_accept_headers_own_order_and_encodables_order ... ok
[INFO] [stdout] test transport::media_type::tests::q_zero_excludes_a_type_entirely_per_rfc_9110 ... ok
[INFO] [stdout] test transport::stream_sequence::tests::non_cbor_codec_is_rejected ... ok
[INFO] [stdout] test transport::media_type::tests::type_wildcard_matches_any_application_subtype_and_still_respects_q ... ok
[INFO] [stdout] test transport::media_type::tests::unsatisfiable_accept_against_a_two_codec_router_still_406s ... ok
[INFO] [stdout] test transport::stream_sequence::tests::an_abort_in_a_stream_is_sent_as_internal ... ok
[INFO] [stdout] test transport::stream_sequence::tests::encodes_each_item_and_stops_cleanly_at_end_of_stream ... ok
[INFO] [stdout] test transport::stream_sequence::tests::error_sentinel_tag_header_matches_rfc_8949_two_byte_form ... ok
[INFO] [stdout] test transport::validate::tests::json_only_router_preflight_accepts_a_satisfiable_accept ... ok
[INFO] [stdout] test transport::validate::tests::response_headers_preflight_uses_the_same_codec_aware_check ... ok
[INFO] [stdout] test transport::stream_sequence::tests::nothing_after_the_error_item_even_if_source_would_yield_more ... ok
[INFO] [stdout] test transport::validate::tests::json_only_router_preflight_allows_no_accept_header_at_all ... ok
[INFO] [stdout] test transport::media_type::tests::client_preferring_cbor_seq_gets_cbor_seq_even_though_encodable_lists_cbor_first ... ok
[INFO] [stdout] test transport::media_type::tests::json_only_router_rejects_an_accept_naming_only_cbor ... ok
[INFO] [stdout] test transport::validate::tests::json_only_router_preflight_rejects_an_accept_naming_only_cbor ... ok
[INFO] [stdout] test trusted_proxy::tests::cidr_range_matches_every_address_inside_it ... ok
[INFO] [stdout] test trusted_proxy::tests::trusting_exact_host_address_matches_only_that_address ... ok
[INFO] [stdout] test trusted_proxy::tests::cidr_range_supports_ipv6 ... ok
[INFO] [stdout] test trusted_proxy::tests::max_hops_overrides_the_default ... ok
[INFO] [stdout] test trusted_proxy::tests::multiple_allowlist_entries_are_all_checked ... ok
[INFO] [stdout] test trusted_proxy::tests::none_trusts_nothing ... ok
[INFO] [stdout] test trusted_proxy::tests::trusting_defaults_max_hops_to_one ... ok
[INFO] [stdout] test rpc::tests_response_rebuffer::convert_handler_error_response_degrades_cleanly_over_the_bound ... ok
[INFO] [stdout] test trusted_proxy::tests::default_is_equivalent_to_none ... ok
[INFO] [stdout] test rpc::tests_response_rebuffer::response_to_frame_degrades_cleanly_over_the_bound ... ok
[INFO] [stdout] test rpc::tests_response_rebuffer::encode_rpc_value_degrades_cleanly_over_the_bound ... ok
[INFO] [stderr]      Running tests/store_error_policy_compat.rs (/opt/rustwide/target/release/build/cratestack-axum/03eb4b15359e0710/out/store_error_policy_compat-03eb4b15359e0710)
[INFO] [stdout] test ratelimit::tests_store_timeout::a_hanging_store_is_served_through_within_the_budget_not_after_it ... ok
[INFO] [stdout] test ratelimit::tests_store_timeout::a_hanging_store_is_refused_within_the_budget_under_deny ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 264 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.21s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test the_old_path_names_the_l3_type_not_a_copy ... ok
[INFO] [stdout] test pre_move_user_code_still_compiles_and_behaves ... ok
[INFO] [stderr]    Doc-tests cratestack_axum
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[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" "f5af72c73e867b52aeadcd91374fd677e319ecf811c95d787febd72c2afd26a4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f5af72c73e867b52aeadcd91374fd677e319ecf811c95d787febd72c2afd26a4", kill_on_drop: false }`
[INFO] [stdout] f5af72c73e867b52aeadcd91374fd677e319ecf811c95d787febd72c2afd26a4
