[INFO] fetching crate wafrift-encoding 0.3.1...
[INFO] testing wafrift-encoding-0.3.1 against 1.97.0-beta.6 for beta-1.98-1
[INFO] extracting crate wafrift-encoding 0.3.1 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate wafrift-encoding 0.3.1
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate wafrift-encoding 0.3.1
[INFO] tweaked toml for crates.io crate wafrift-encoding 0.3.1 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate wafrift-encoding 0.3.1 on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate wafrift-encoding 0.3.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.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.123
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.123
[INFO] [stderr]   Downloaded wafrift-types v0.3.1
[INFO] [stderr]   Downloaded is-terminal v0.4.17
[INFO] [stderr]   Downloaded alloc-stdlib v0.2.2
[INFO] [stderr]   Downloaded santh-bogon v0.1.0
[INFO] [stderr]   Downloaded uuid v1.23.3
[INFO] [stderr]   Downloaded criterion-plot v0.5.0
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.123
[INFO] [stderr]   Downloaded log v0.4.32
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.123
[INFO] [stderr]   Downloaded wafrift-content-type v0.3.1
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.52
[INFO] [stderr]   Downloaded criterion v0.5.1
[INFO] [stderr]   Downloaded js-sys v0.3.100
[INFO] [stderr]   Downloaded brotli-decompressor v5.0.1
[INFO] [stderr]   Downloaded hashbrown v0.17.0
[INFO] [stderr]   Downloaded zerocopy v0.8.52
[INFO] [stderr]   Downloaded web-sys v0.3.100
[INFO] [stderr]   Downloaded brotli v8.0.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 1e73c00739f1c7e1cce80133b1b85bebde3338c249aaa455e029b65d04a77dbf
[INFO] running `Command { std: "docker" "start" "1e73c00739f1c7e1cce80133b1b85bebde3338c249aaa455e029b65d04a77dbf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1e73c00739f1c7e1cce80133b1b85bebde3338c249aaa455e029b65d04a77dbf", 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" "1e73c00739f1c7e1cce80133b1b85bebde3338c249aaa455e029b65d04a77dbf" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1e73c00739f1c7e1cce80133b1b85bebde3338c249aaa455e029b65d04a77dbf", 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" "1e73c00739f1c7e1cce80133b1b85bebde3338c249aaa455e029b65d04a77dbf" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.52
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling alloc-no-stdlib v2.0.4
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling hashbrown v0.17.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling memchr v2.8.1
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling tinyvec v1.11.0
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling santh-bogon v0.1.0
[INFO] [stderr]    Compiling alloc-stdlib v0.2.2
[INFO] [stderr]    Compiling brotli-decompressor v5.0.1
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling brotli v8.0.3
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling uuid v1.23.3
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[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_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling wafrift-types v0.3.1
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling wafrift-encoding v0.3.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 27.21s
[INFO] running `Command { std: "docker" "inspect" "1e73c00739f1c7e1cce80133b1b85bebde3338c249aaa455e029b65d04a77dbf", 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" "1e73c00739f1c7e1cce80133b1b85bebde3338c249aaa455e029b65d04a77dbf" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling zerocopy v0.8.52
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling zerocopy-derive v0.8.52
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling uuid v1.23.3
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling wafrift-types v0.3.1
[INFO] [stderr]    Compiling wafrift-content-type v0.3.1
[INFO] [stderr]    Compiling wafrift-encoding v0.3.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 48.24s
[INFO] running `Command { std: "docker" "inspect" "1e73c00739f1c7e1cce80133b1b85bebde3338c249aaa455e029b65d04a77dbf", 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" "1e73c00739f1c7e1cce80133b1b85bebde3338c249aaa455e029b65d04a77dbf" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.22s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wafrift_encoding-529264c9f5172819)
[INFO] [stdout] 
[INFO] [stdout] running 781 tests
[INFO] [stdout] test auth_bypass::tests::forwarded_host_includes_internal ... ok
[INFO] [stdout] test auth_bypass::tests::header_smuggle_lws_family_contains_known_rfc_illegal_shapes ... ok
[INFO] [stdout] test auth_bypass::tests::ip_trust_includes_loopback_and_metadata ... ok
[INFO] [stdout] test auth_bypass::tests::method_override_offers_destructive_methods ... ok
[INFO] [stdout] test auth_bypass::tests::no_probe_has_empty_header_or_value ... ok
[INFO] [stdout] test auth_bypass::tests::total_probe_count_locked ... ok
[INFO] [stdout] test auth_bypass::tests::probes_have_unique_header_value_pairs ... ok
[INFO] [stdout] test auth_bypass::tests::x_original_url_present ... ok
[INFO] [stdout] test auth_header_smuggle::tests::ctl_probe_injects_a_byte_from_the_pool ... ok
[INFO] [stdout] test auth_header_smuggle::tests::control_byte_in_token_multibyte_does_not_panic ... ok
[INFO] [stdout] test auth_header_smuggle::tests::duplicate_header_probe_emits_two_header_lines_same_name ... ok
[INFO] [stdout] test auth_bypass::tests::url_rewrite_family_targets_user_path ... ok
[INFO] [stdout] test auth_header_smuggle::tests::empty_inputs_do_not_panic_in_any_builder ... ok
[INFO] [stdout] test auth_header_smuggle::tests::lowercase_scheme_probe_actually_lowercases_the_scheme ... ok
[INFO] [stdout] test auth_header_smuggle::tests::every_probe_carries_a_distinct_canary ... ok
[INFO] [stdout] test auth_header_smuggle::tests::no_whitespace_probe_has_no_sp_between_scheme_and_token ... ok
[INFO] [stdout] test auth_header_smuggle::tests::proxy_authorization_header_name_also_supported ... ok
[INFO] [stdout] test auth_header_smuggle::tests::quoted_scheme_probe_wraps_scheme_in_double_quotes ... ok
[INFO] [stdout] test auth_header_smuggle::tests::multiple_spaces_probe_has_three_to_seven_spaces ... ok
[INFO] [stdout] test auth_header_smuggle::tests::header_value_capped_at_max ... ok
[INFO] [stdout] test auth_header_smuggle::tests::sweep_emits_eight_distinct_variants ... ok
[INFO] [stdout] test auth_header_smuggle::tests::sanitise_strips_cr_lf_nul_from_token ... ok
[INFO] [stdout] test auth_header_smuggle::tests::tab_probe_uses_tab_not_space ... ok
[INFO] [stdout] test auth_header_smuggle::tests::quoted_scheme_strips_inner_quotes_from_scheme ... ok
[INFO] [stdout] test auth_header_smuggle::tests::trailing_junk_probe_appends_extra_bytes_after_token ... ok
[INFO] [stdout] test compression::tests::chain_above_cap_returns_too_deep_error ... ok
[INFO] [stdout] test compression::tests::chain_empty_algos_returns_identity_body ... ok
[INFO] [stdout] test compression::tests::from_token_accepts_x_gzip_alias ... ok
[INFO] [stdout] test compression::tests::brotli_round_trip_preserves_payload ... ok
[INFO] [stdout] test compression::tests::from_token_is_case_insensitive_and_trim_tolerant ... ok
[INFO] [stdout] test compression::tests::chain_with_one_algo_matches_single_compress ... ok
[INFO] [stdout] test compression::tests::from_token_rejects_unknown_codings ... ok
[INFO] [stdout] test compression::tests::drain_capped_returns_bomb_error_on_over_cap_source ... ok
[INFO] [stdout] test compression::tests::decompress_with_unknown_coding_token_skips_it ... ok
[INFO] [stdout] test compression::tests::chain_at_exactly_cap_succeeds ... ok
[INFO] [stdout] test compression::tests::identity_decompress_rejects_oversize_input ... ok
[INFO] [stdout] test compression::tests::gzip_round_trip_preserves_payload ... ok
[INFO] [stdout] test compression::tests::chain_with_identity_in_the_middle_is_transparent ... ok
[INFO] [stdout] test compression::tests::content_encoding_tokens_match_rfc_registry ... ok
[INFO] [stdout] test compression::tests::chain_with_two_algos_round_trips ... ok
[INFO] [stdout] test compression::tests::identity_is_passthrough_with_identity_header ... ok
[INFO] [stdout] test compression::tests::one_byte_body_round_trips_under_every_algorithm ... ok
[INFO] [stdout] test compression::tests::decompress_rejects_more_than_max_chain_layers ... ok
[INFO] [stdout] test compression::tests::empty_body_compresses_and_round_trips ... ok
[INFO] [stdout] test contextual::tests::cookie_value_all_special_chars_encoded ... ok
[INFO] [stdout] test contextual::tests::cookie_value_escapes_crlf ... ok
[INFO] [stdout] test contextual::tests::empty_payload_valid_in_all_contexts ... ok
[INFO] [stdout] test compression::tests::decompress_layer_cap_counts_recognised_codings_only ... ok
[INFO] [stdout] test contextual::tests::encode_error_mapping_payload_too_large ... ok
[INFO] [stdout] test compression::tests::deflate_round_trip_preserves_payload ... ok
[INFO] [stdout] test contextual::tests::html_attribute_escapes_ampersand ... ok
[INFO] [stdout] test contextual::tests::escape_for_context_xml_attribute_round_trip ... ok
[INFO] [stdout] test compression::tests::incompressible_body_does_not_panic_on_brotli ... ok
[INFO] [stdout] test contextual::tests::json_number_rejects_non_numeric ... ok
[INFO] [stdout] test contextual::tests::json_string_escape_u2028_and_u2029 ... ok
[INFO] [stdout] test contextual::tests::json_string_validates_invalid_escape ... ok
[INFO] [stdout] test contextual::tests::json_string_validates_trailing_backslash ... ok
[INFO] [stdout] test contextual::tests::json_string_validates_unicode_escape ... ok
[INFO] [stdout] test contextual::tests::url_encode_decode_round_trip ... ok
[INFO] [stdout] test contextual::tests::url_encode_twice_is_deterministic ... ok
[INFO] [stdout] test contextual::tests::unicode_boundary_bom_no_panic ... ok
[INFO] [stdout] test contextual::tests::json_string_validates_valid_escapes ... ok
[INFO] [stdout] test contextual::tests::xml_attribute_escape_encodes_single_quote ... ok
[INFO] [stdout] test contextual::tests::xml_attribute_null_byte_rejected ... ok
[INFO] [stdout] test contextual::tests::xml_attribute_allows_escaped_apos ... ok
[INFO] [stdout] test contextual::tests::json_string_validates_unescaped_quote ... ok
[INFO] [stdout] test contextual::tests::url_path_preserves_slash ... ok
[INFO] [stdout] test contextual::tests::url_query_escapes_space ... ok
[INFO] [stdout] test contextual::tests::xml_attribute_allows_escaped_quote ... ok
[INFO] [stdout] test contextual::tests::multipart_field_validates_crlf ... ok
[INFO] [stdout] test contextual::tests::header_value_validates_crlf ... ok
[INFO] [stdout] test contextual::tests::header_value_null_byte_rejected ... ok
[INFO] [stdout] test contextual::tests::plain_body_no_structural_escaping ... ok
[INFO] [stdout] test contextual::tests::multipart_filename_rejects_quote ... ok
[INFO] [stdout] test contextual::tests::xml_attribute_single_quote_payloads_all_rejected ... ok
[INFO] [stdout] test contextual::tests::xml_attribute_validates_unescaped_quote ... ok
[INFO] [stdout] test contextual::tests::unicode_boundary_4byte_utf8_no_panic ... ok
[INFO] [stdout] test contextual::tests::xml_attribute_validates_unescaped_single_quote ... ok
[INFO] [stdout] test contextual::tests::xml_attribute_validator_allows_multiple_entities_in_a_row ... ok
[INFO] [stdout] test contextual::tests::xml_attribute_validator_catches_quote_after_short_entity ... ok
[INFO] [stdout] test contextual::tests::xml_attribute_validator_does_not_swallow_chars_after_entity ... ok
[INFO] [stdout] test contextual::tests::xml_cdata_rejects_termination_sequence ... ok
[INFO] [stdout] test cookie_smuggle::tests::control_byte_probe_injects_a_ctl_from_the_pool ... ok
[INFO] [stdout] test cookie_smuggle::tests::all_variants_multibyte_value_no_panic ... ok
[INFO] [stdout] test cookie_smuggle::tests::control_byte_in_value_multibyte_does_not_panic ... ok
[INFO] [stdout] test cookie_smuggle::tests::empty_inputs_do_not_panic_in_any_builder ... ok
[INFO] [stdout] test cookie_smuggle::tests::control_byte_pool_is_non_empty_and_all_ctl_range ... ok
[INFO] [stdout] test cookie_smuggle::tests::duplicate_name_probe_emits_both_pairs_in_order ... ok
[INFO] [stdout] test cookie_smuggle::tests::quoted_semicolon_probe_strips_inner_quotes ... ok
[INFO] [stdout] test cookie_smuggle::tests::quoted_semicolon_probe_double_quotes_the_value ... ok
[INFO] [stdout] test cookie_smuggle::tests::sanitise_strips_cr_lf_nul_unconditionally ... ok
[INFO] [stdout] test cookie_smuggle::tests::secure_prefix_probe_starts_with_underscore_underscore_secure ... ok
[INFO] [stdout] test cookie_smuggle::tests::every_probe_carries_a_distinct_canary ... ok
[INFO] [stdout] test encoding::cache_poison::tests::adversarial_long_path_no_panic ... ok
[INFO] [stdout] test cookie_smuggle::tests::sweep_emits_seven_distinct_variants ... ok
[INFO] [stdout] test cookie_smuggle::tests::empty_name_probe_starts_with_equals ... ok
[INFO] [stdout] test cookie_smuggle::tests::host_prefix_probe_carries_forbidden_domain_attribute ... ok
[INFO] [stdout] test cookie_smuggle::tests::finalise_truncates_oversize_multibyte_at_char_boundary ... ok
[INFO] [stdout] test cookie_smuggle::tests::whitespace_probe_inserts_spaces_around_equals ... ok
[INFO] [stdout] test encoding::cache_poison::tests::all_cache_poison_minimum_count ... ok
[INFO] [stdout] test encoding::cache_poison::tests::all_cache_poison_unique_names ... ok
[INFO] [stdout] test encoding::cache_poison::tests::all_cache_poison_carries_marker ... ok
[INFO] [stdout] test encoding::cache_poison::tests::cache_key_normalization_includes_case_flip ... ok
[INFO] [stdout] test contextual::tests::max_size_enforced ... ok
[INFO] [stdout] test encoding::cache_poison::tests::cache_key_normalization_variants_count ... ok
[INFO] [stdout] test encoding::cache_poison::tests::cache_key_normalization_includes_query_swap ... ok
[INFO] [stdout] test encoding::cache_poison::tests::vary_header_basic ... ok
[INFO] [stdout] test encoding::cache_poison::tests::deterministic_across_calls ... ok
[INFO] [stdout] test encoding::cache_poison::tests::forwarded_rfc7239_format ... ok
[INFO] [stdout] test encoding::cache_poison::tests::forwarded_rfc7239_no_crlf ... ok
[INFO] [stdout] test encoding::cache_poison::tests::status_code_poison_constant ... ok
[INFO] [stdout] test cookie_smuggle::tests::header_value_capped_at_max ... ok
[INFO] [stdout] test encoding::cache_poison::tests::h2_authority_split_basic ... ok
[INFO] [stdout] test encoding::cache_poison::tests::handles_unicode_host ... ok
[INFO] [stdout] test encoding::cache_poison::tests::loopback_trust_has_both_headers ... ok
[INFO] [stdout] test compression::tests::round_trip_property_holds_across_a_variety_of_payloads ... ok
[INFO] [stdout] test encoding::cache_poison::tests::web_cache_deception_includes_css_and_js ... ok
[INFO] [stdout] test encoding::cache_poison::tests::web_cache_deception_paths_count ... ok
[INFO] [stdout] test encoding::cache_poison::tests::web_cache_deception_strips_trailing_slash ... ok
[INFO] [stdout] test encoding::cache_poison::tests::x_backend_host_basic ... ok
[INFO] [stdout] test encoding::cache_poison::tests::web_cache_deception_includes_semicolon_truncation ... ok
[INFO] [stdout] test encoding::cache_poison::tests::x_forwarded_host_basic ... ok
[INFO] [stdout] test encoding::cache_poison::tests::x_forwarded_port_high ... ok
[INFO] [stdout] test encoding::cache_poison::tests::x_forwarded_scheme_https ... ok
[INFO] [stdout] test encoding::cache_poison::tests::x_original_url_basic ... ok
[INFO] [stdout] test encoding::cache_poison::tests::x_forwarded_port_zero_renders ... ok
[INFO] [stdout] test encoding::cache_poison::tests::x_forwarded_port_max ... ok
[INFO] [stdout] test encoding::invisible::tests::all_encoders_handle_empty_input ... ok
[INFO] [stdout] test encoding::invisible::tests::all_encoders_preserve_utf8_validity ... ok
[INFO] [stdout] test encoding::cache_poison::tests::web_cache_deception_includes_null_byte_truncation ... ok
[INFO] [stdout] test encoding::cache_poison::tests::x_host_akamai ... ok
[INFO] [stdout] test encoding::invisible::tests::circled_and_parenthesized_produce_different_bytes ... ok
[INFO] [stdout] test encoding::invisible::tests::circled_letter_preserves_punctuation ... ok
[INFO] [stdout] test encoding::invisible::tests::circled_letter_uppercase_and_lowercase ... ok
[INFO] [stdout] test encoding::invisible::tests::ligature_encode_passes_unmatched_chars ... ok
[INFO] [stdout] test encoding::invisible::tests::invisible_encoder_names_match_pub_fns ... ok
[INFO] [stdout] test encoding::invisible::tests::all_encoders_are_deterministic ... ok
[INFO] [stdout] test encoding::invisible::tests::ligature_encode_handles_empty ... ok
[INFO] [stdout] test encoding::invisible::tests::ligature_encode_replaces_known_digraphs ... ok
[INFO] [stdout] test encoding::invisible::tests::parenthesized_letter_uppercase_and_lowercase ... ok
[INFO] [stdout] test encoding::invisible::tests::ligature_encode_prefers_longest_match ... ok
[INFO] [stdout] test encoding::invisible::tests::soft_hyphen_inject_between_each_pair ... ok
[INFO] [stdout] test encoding::invisible::tests::soft_hyphen_inject_empty_is_empty ... ok
[INFO] [stdout] test encoding::invisible::tests::soft_hyphen_inject_single_char_unchanged ... ok
[INFO] [stdout] test encoding::invisible::tests::tag_char_every_byte_changes ... ok
[INFO] [stdout] test encoding::invisible::tests::tag_char_handles_empty ... ok
[INFO] [stdout] test compression::tests::large_body_64_kib_round_trips_without_oom ... ok
[INFO] [stdout] test encoding::invisible::tests::tag_char_preserves_non_ascii ... ok
[INFO] [stdout] test encoding::invisible::tests::tag_char_round_trips_via_codepoint_subtraction ... ok
[INFO] [stdout] test encoding::invisible::tests::unicode_input_round_trip_safe ... ok
[INFO] [stdout] test encoding::invisible::tests::variation_selector_default_is_fe0f ... ok
[INFO] [stdout] test encoding::invisible::tests::variation_selector_accepts_supplementary_range ... ok
[INFO] [stdout] test encoding::invisible::tests::variation_selector_invalid_falls_back_to_fe0f ... ok
[INFO] [stdout] test encoding::invisible::tests::variation_selector_supplementary_varies_per_position ... ok
[INFO] [stdout] test encoding::invisible::tests::word_joiner_wraps_both_ends ... ok
[INFO] [stdout] test encoding::keyword::case::tests::case_alternate_basic ... ok
[INFO] [stdout] test encoding::keyword::case::tests::case_alternate_idempotent_after_first ... ok
[INFO] [stdout] test encoding::keyword::case::tests::lowercase_basic ... ok
[INFO] [stdout] test encoding::keyword::case::tests::random_case_is_deterministic ... ok
[INFO] [stdout] test encoding::keyword::case::tests::random_case_mixes_both_cases ... ok
[INFO] [stdout] test encoding::keyword::case::tests::random_case_preserves_content ... ok
[INFO] [stdout] test encoding::keyword::case::tests::uppercase_basic ... ok
[INFO] [stdout] test encoding::keyword::comment::tests::mysql_versioned_comment_wraps_keywords ... ok
[INFO] [stdout] test encoding::keyword::comment::tests::sql_comment_insert_replaces_spaces ... ok
[INFO] [stdout] test encoding::keyword::space::tests::space_to_comment_replaces_spaces ... ok
[INFO] [stdout] test encoding::keyword::space::tests::space_to_dash_replaces_spaces ... ok
[INFO] [stdout] test encoding::keyword::space::tests::space_to_hash_replaces_spaces_with_terminated_line_comment ... ok
[INFO] [stdout] test encoding::keyword::space::tests::space_to_plus_replaces_spaces ... ok
[INFO] [stdout] test encoding::keyword::space::tests::space_to_random_blank_is_deterministic ... ok
[INFO] [stdout] test encoding::keyword::space::tests::space_to_random_blank_replaces_spaces ... ok
[INFO] [stdout] test encoding::keyword::space::tests::space_to_random_blank_uses_more_than_one_blank ... ok
[INFO] [stdout] test encoding::keyword::space::tests::whitespace_insert_replaces_spaces ... ok
[INFO] [stdout] test encoding::keyword::sql::tests::between_obfuscate_basic ... ok
[INFO] [stdout] test encoding::keyword::sql::tests::percentage_prefix_basic ... ok
[INFO] [stdout] test encoding::keyword::sql::tests::unmagic_quotes_basic ... ok
[INFO] [stdout] test encoding::layered::tests::aggressiveness_in_valid_range ... ok
[INFO] [stdout] test encoding::layered::tests::aggressiveness_ordering ... ok
[INFO] [stdout] test encoding::layered::tests::encode_layered_basic ... ok
[INFO] [stdout] test encoding::layered::tests::encode_layered_empty_strategies ... ok
[INFO] [stdout] test encoding::layered::tests::encode_layered_empty_strategies_preserves_non_unreserved_chars ... ok
[INFO] [stdout] test encoding::layered::tests::encode_layered_empty_strategies_with_invalid_utf8_is_lossy ... ok
[INFO] [stdout] test encoding::layered::tests::encode_layered_single_strategy ... ok
[INFO] [stdout] test encoding::method_override::tests::all_override_variants_contain_target_method ... ok
[INFO] [stdout] test encoding::layered::tests::layered_combinations_depth_2 ... ok
[INFO] [stdout] test encoding::method_override::tests::all_override_variants_count ... ok
[INFO] [stdout] test encoding::layered::tests::layered_combinations_depth_1_returns_empty ... ok
[INFO] [stdout] test encoding::method_override::tests::all_override_variants_unique_names ... ok
[INFO] [stdout] test encoding::method_override::tests::case_mix_idempotent_on_alternation ... ok
[INFO] [stdout] test encoding::method_override::tests::chunked_trailer_body_length_correct_hex ... ok
[INFO] [stdout] test encoding::method_override::tests::chunked_trailer_body_length_two_digit_hex ... ok
[INFO] [stdout] test encoding::method_override::tests::chunked_trailer_contains_trailer_header ... ok
[INFO] [stdout] test encoding::method_override::tests::chunked_trailer_empty_body ... ok
[INFO] [stdout] test encoding::method_override::tests::adversarial_long_method_no_panic ... ok
[INFO] [stdout] test encoding::method_override::tests::deterministic_across_calls ... ok
[INFO] [stdout] test encoding::method_override::tests::case_mix_empty_string ... ok
[INFO] [stdout] test encoding::method_override::tests::duplicate_header_no_crlf_injection_outside_header_block ... ok
[INFO] [stdout] test encoding::method_override::tests::form_field_method_basic ... ok
[INFO] [stdout] test encoding::method_override::tests::header_plus_form_uses_both_channels ... ok
[INFO] [stdout] test encoding::method_override::tests::multipart_handles_special_chars_in_method ... ok
[INFO] [stdout] test encoding::method_override::tests::multipart_method_contains_boundary_and_method ... ok
[INFO] [stdout] test encoding::method_override::tests::override_header_alt_name ... ok
[INFO] [stdout] test encoding::method_override::tests::override_header_basic_delete ... ok
[INFO] [stdout] test encoding::method_override::tests::handles_unicode_method ... ok
[INFO] [stdout] test encoding::method_override::tests::override_header_case_mix_alternates ... ok
[INFO] [stdout] test encoding::method_override::tests::override_header_case_mix_short ... ok
[INFO] [stdout] test encoding::method_override::tests::override_header_express_name ... ok
[INFO] [stdout] test encoding::method_override::tests::override_header_padded_has_whitespace ... ok
[INFO] [stdout] test encoding::method_override::tests::override_header_duplicate_emits_two_lines ... ok
[INFO] [stdout] test encoding::method_override::tests::query_method_has_question_mark ... ok
[INFO] [stdout] test encoding::method_override::tests::override_header_empty_method ... ok
[INFO] [stdout] test encoding::path_norm::tests::deep_path_collapse_resolves_to_target ... ok
[INFO] [stdout] test encoding::path_norm::tests::all_variants_canonicalize_to_target_or_above ... ok
[INFO] [stdout] test encoding::path_norm::tests::path_variants_are_deterministic ... ok
[INFO] [stdout] test encoding::path_norm::tests::path_variants_contain_dot_dot ... ok
[INFO] [stdout] test encoding::path_norm::tests::path_variants_contain_overlong_utf8 ... ok
[INFO] [stdout] test encoding::path_norm::tests::path_variants_contain_double_encoded ... ok
[INFO] [stdout] test encoding::path_norm::tests::deep_path_collapse_known_depth ... ok
[INFO] [stdout] test encoding::path_norm::tests::path_variants_contain_backslash ... ok
[INFO] [stdout] test encoding::path_norm::tests::large_depth_does_not_panic ... ok
[INFO] [stdout] test encoding::path_norm::tests::path_variants_all_nonempty ... ok
[INFO] [stdout] test encoding::path_norm::tests::deep_path_collapse_zero_depth ... ok
[INFO] [stdout] test encoding::path_norm::tests::path_variants_contain_fullwidth ... ok
[INFO] [stdout] test encoding::path_norm::tests::deep_path_collapse_throughput ... ok
[INFO] [stdout] test encoding::path_norm::tests::path_variants_contain_tomcat_semicolon ... ok
[INFO] [stdout] test encoding::path_norm::tests::path_variants_count_is_high ... ok
[INFO] [stdout] test encoding::path_norm::tests::path_variants_handle_no_leading_slash_in_target ... ok
[INFO] [stdout] test encoding::path_norm::tests::path_variants_handle_trailing_slash_in_prefix ... ok
[INFO] [stdout] test encoding::path_norm::tests::rfc3986_collapses_pure_dot_segments ... ok
[INFO] [stdout] test encoding::path_norm::tests::rfc3986_cursor_correctness_rfc_examples ... ok
[INFO] [stdout] test encoding::path_norm::tests::rfc3986_collapses_trailing_dot_dot ... ok
[INFO] [stdout] test encoding::path_norm::tests::rfc3986_collapses_dot_dot ... ok
[INFO] [stdout] test encoding::path_norm::tests::slash_encoded_path_basic ... ok
[INFO] [stdout] test encoding::path_norm::tests::slash_encoded_path_always_starts_encoded ... ok
[INFO] [stdout] test encoding::path_norm::tests::rfc3986_handles_root_dot_dot ... ok
[INFO] [stdout] test encoding::race::tests::h2_last_byte_sync_deterministic ... ok
[INFO] [stdout] test encoding::race::tests::h2_last_byte_sync_basic_frame_shape ... ok
[INFO] [stdout] test encoding::race::tests::h2_last_byte_sync_clears_reserved_bit ... ok
[INFO] [stdout] test encoding::race::tests::h2_last_byte_sync_rejects_even_stream ... ok
[INFO] [stdout] test encoding::race::tests::h2_last_byte_sync_multiple_streams ... ok
[INFO] [stdout] test encoding::race::tests::adversarial_large_n_no_panic ... ok
[INFO] [stdout] test encoding::race::tests::adversarial_many_streams_no_panic ... ok
[INFO] [stdout] test encoding::path_norm::tests::path_variants_contain_percent_encoded ... ok
[INFO] [stdout] test encoding::race::tests::h2_last_byte_sync_rejects_mismatched_lengths ... ok
[INFO] [stdout] test encoding::race::tests::h2_last_byte_sync_rejects_zero_stream ... ok
[INFO] [stdout] test encoding::race::tests::h2_prestaged_emits_headers_then_data ... ok
[INFO] [stdout] test encoding::race::tests::h2_prestaged_empty_body_emits_only_headers ... ok
[INFO] [stdout] test encoding::race::tests::h2_prestaged_rejects_oversized_headers ... ok
[INFO] [stdout] test encoding::race::tests::h2_prestaged_rejects_zero_stream ... ok
[INFO] [stdout] test encoding::race::tests::pipelined_h1_concatenates_n_copies ... ok
[INFO] [stdout] test encoding::race::tests::pipelined_h1_deterministic ... ok
[INFO] [stdout] test encoding::race::tests::pipelined_h1_empty_body_zero_length ... ok
[INFO] [stdout] test encoding::invisible::tests::adversarial_large_input_does_not_panic ... ok
[INFO] [stdout] test encoding::race::tests::pipelined_h1_keep_alive_set ... ok
[INFO] [stdout] test encoding::race::tests::pipelined_h1_sets_content_length ... ok
[INFO] [stdout] test encoding::race::tests::pipelined_h1_zero_copies_empty_output ... ok
[INFO] [stdout] test encoding::race::tests::socket_settings_documented ... ok
[INFO] [stdout] test encoding::request_line::tests::absolute_uri_basic ... ok
[INFO] [stdout] test encoding::race::tests::pipelined_h1_includes_extra_headers ... ok
[INFO] [stdout] test encoding::request_line::tests::absolute_uri_https ... ok
[INFO] [stdout] test encoding::request_line::tests::absolute_uri_preserves_query ... ok
[INFO] [stdout] test encoding::request_line::tests::adversarial_long_path_no_panic ... ok
[INFO] [stdout] test encoding::request_line::tests::asterisk_form_invalid_method_still_produces_string ... ok
[INFO] [stdout] test encoding::request_line::tests::asterisk_form_options ... ok
[INFO] [stdout] test encoding::request_line::tests::authority_form_connect ... ok
[INFO] [stdout] test encoding::request_line::tests::authority_form_high_port ... ok
[INFO] [stdout] test encoding::request_line::tests::deterministic_across_calls ... ok
[INFO] [stdout] test encoding::request_line::tests::exotic_methods_includes_lowercase ... ok
[INFO] [stdout] test encoding::request_line::tests::exotic_methods_includes_mixed_case ... ok
[INFO] [stdout] test encoding::request_line::tests::exotic_methods_includes_propfind ... ok
[INFO] [stdout] test encoding::request_line::tests::exotic_methods_includes_purge ... ok
[INFO] [stdout] test encoding::request_line::tests::exotic_methods_includes_whitespace_pad ... ok
[INFO] [stdout] test encoding::request_line::tests::exotic_methods_minimum_count ... ok
[INFO] [stdout] test encoding::request_line::tests::no_function_produces_crlf_in_output ... ok
[INFO] [stdout] test encoding::request_line::tests::registry_lists_every_function_we_expose ... ok
[INFO] [stdout] test encoding::request_line::tests::version_explicit_http_0_9 ... ok
[INFO] [stdout] test encoding::request_line::tests::version_explicit_http_1_99 ... ok
[INFO] [stdout] test encoding::request_line::tests::version_explicit_http_2_on_h1_wire ... ok
[INFO] [stdout] test encoding::request_line::tests::whitespace_mixed ... ok
[INFO] [stdout] test encoding::request_line::tests::whitespace_multiple_spaces ... ok
[INFO] [stdout] test encoding::request_line::tests::whitespace_tab_between_tokens ... ok
[INFO] [stdout] test encoding::strategy::tests::all_strategies_non_empty ... ok
[INFO] [stdout] test encoding::strategy::tests::encode_case_alternation ... ok
[INFO] [stdout] test encoding::strategy::tests::encode_double_url_encode ... ok
[INFO] [stdout] test encoding::strategy::tests::encode_empty_payload ... ok
[INFO] [stdout] test encoding::strategy::tests::encode_base64 ... ok
[INFO] [stdout] test encoding::strategy::tests::encode_hex ... ok
[INFO] [stdout] test encoding::strategy::tests::encode_chunked_split ... ok
[INFO] [stdout] test encoding::strategy::tests::encode_gzip_produces_base64 ... ok
[INFO] [stdout] test encoding::strategy::tests::encode_iis_unicode ... ok
[INFO] [stdout] test encoding::strategy::tests::encode_html_entity ... ok
[INFO] [stdout] test encoding::strategy::tests::encode_invalid_utf8_fails ... ok
[INFO] [stdout] test encoding::strategy::tests::encode_json ... ok
[INFO] [stdout] test encoding::strategy::tests::encode_null_byte ... ok
[INFO] [stdout] test encoding::path_norm::tests::rfc3986_cursor_throughput ... ok
[INFO] [stdout] test encoding::strategy::tests::encode_parameter_pollution ... ok
[INFO] [stdout] test encoding::layered::tests::layered_combinations_no_consecutive_duplicates ... ok
[INFO] [stdout] test encoding::strategy::tests::encode_url_encode_basic ... ok
[INFO] [stdout] test encoding::strategy::tests::encode_unicode ... ok
[INFO] [stdout] test encoding::strategy::tests::encode_url_encode_lower ... ok
[INFO] [stdout] test encoding::strategy::tests::strategy_as_str_roundtrip ... ok
[INFO] [stdout] test encoding::strategy::tests::strategy_contexts_returns_slice ... ok
[INFO] [stdout] test encoding::structural::tests::base64_standard ... ok
[INFO] [stdout] test encoding::structural::tests::base64_url_safe ... ok
[INFO] [stdout] test encoding::structural::tests::chunked_split_byte_lengths_correct ... ok
[INFO] [stdout] test encoding::structural::tests::chunked_split_empty ... ok
[INFO] [stdout] test encoding::structural::tests::chunked_split_produces_valid_chunks ... ok
[INFO] [stdout] test encoding::strategy::tests::encode_payload_too_large_fails ... ok
[INFO] [stdout] test encoding::structural::tests::null_byte_with_extension ... ok
[INFO] [stdout] test encoding::structural::tests::null_byte_without_extension ... ok
[INFO] [stdout] test encoding::structural::tests::overlong_utf8_more_preserves_alphanumerics_verbatim ... ok
[INFO] [stdout] test encoding::structural::tests::overlong_utf8_more_punctuation_above_0x40_uses_valid_continuation_bytes ... ok
[INFO] [stdout] test encoding::structural::tests::overlong_utf8_more_slash ... ok
[INFO] [stdout] test encoding::structural::tests::parameter_pollution_with_key_value ... ok
[INFO] [stdout] test encoding::structural::tests::parameter_pollution_without_equals ... ok
[INFO] [stdout] test encoding::structural::tests::deflate_roundtrip ... ok
[INFO] [stdout] test encoding::structural::tests::gzip_roundtrip ... ok
[INFO] [stdout] test encoding::structural::tests::utf7_rfc2152_basic ... ok
[INFO] [stdout] test encoding::structural::tests::utf7_rfc2152_decodeable ... ok
[INFO] [stdout] test encoding::structural::tests::hex_encode_basic ... ok
[INFO] [stdout] test encoding::tests::all_strategies_ordered ... ok
[INFO] [stdout] test encoding::tests::base64_standard ... ok
[INFO] [stdout] test encoding::tests::adversarial_smoke_all_strategies ... ok
[INFO] [stdout] test encoding::tests::adversarial_repeated_payloads ... ok
[INFO] [stdout] test encoding::tests::base64_url_safe ... ok
[INFO] [stdout] test encoding::structural::tests::overlong_utf8_slash ... ok
[INFO] [stdout] test encoding::tests::chunked_split_empty ... ok
[INFO] [stdout] test encoding::tests::chunked_split_produces_valid_chunks ... ok
[INFO] [stdout] test encoding::tests::double_encoding_handles_existing_percent_sequences ... ok
[INFO] [stdout] test encoding::tests::double_url_encode_basic ... ok
[INFO] [stdout] test encoding::tests::encode_preserves_meaning ... ok
[INFO] [stdout] test encoding::tests::encode_rejects_invalid_utf8_for_text_strategies ... ok
[INFO] [stdout] test encoding::tests::case_alternation ... ok
[INFO] [stdout] test encoding::tests::between_obfuscation ... ok
[INFO] [stdout] test encoding::tests::empty_payload_all_strategies ... ok
[INFO] [stdout] test encoding::tests::hex_encode_basic ... ok
[INFO] [stdout] test encoding::tests::html_entity_decimal_encode_basic ... ok
[INFO] [stdout] test encoding::tests::html_entity_encode_basic ... ok
[INFO] [stdout] test encoding::tests::json_encode_basic ... ok
[INFO] [stdout] test encoding::tests::layered_encoding_supports_byte_inputs ... ok
[INFO] [stdout] test encoding::tests::mysql_versioned_comment ... ok
[INFO] [stdout] test encoding::tests::null_byte_without_extension ... ok
[INFO] [stdout] test encoding::tests::layered_combinations_generate_programmatically ... ok
[INFO] [stdout] test encoding::tests::overlong_utf8_encodes_ascii_delimiters ... ok
[INFO] [stdout] test encoding::tests::parameter_pollution_with_key_value ... ok
[INFO] [stdout] test encoding::tests::parameter_pollution_without_equals ... ok
[INFO] [stdout] test encoding::tests::percentage_prefix ... ok
[INFO] [stdout] test encoding::tests::random_case_non_empty ... ok
[INFO] [stdout] test encoding::tests::space_to_comment ... ok
[INFO] [stdout] test encoding::tests::space_to_dash ... ok
[INFO] [stdout] test encoding::tests::null_byte_encoding_handles_embedded_nulls ... ok
[INFO] [stdout] test encoding::tests::space_to_plus ... ok
[INFO] [stdout] test encoding::tests::overlong_utf8_slash ... ok
[INFO] [stdout] test encoding::tests::space_to_hash ... ok
[INFO] [stdout] test encoding::tests::sql_comment_insertion ... ok
[INFO] [stdout] test encoding::tests::triple_url_encode_basic ... ok
[INFO] [stdout] test encoding::tests::strategy_contexts_return_expected_values ... ok
[INFO] [stdout] test encoding::tests::unmagic_quotes ... ok
[INFO] [stdout] test encoding::tests::triple_encoding_handles_existing_percent_sequences ... ok
[INFO] [stdout] test encoding::tests::gzip_encode_roundtrip ... ok
[INFO] [stdout] test encoding::tests::encode_accepts_raw_byte_slices ... ok
[INFO] [stdout] test encoding::tests::url_encode_lower_basic ... ok
[INFO] [stdout] test encoding::tests::unicode_encode_basic ... ok
[INFO] [stdout] test encoding::tests::deflate_encode_roundtrip ... ok
[INFO] [stdout] test encoding::tests::null_byte_with_extension ... ok
[INFO] [stdout] test encoding::tests::whitespace_insertion ... ok
[INFO] [stdout] test encoding::unicode::tests::bidi_inject_wraps_with_rlo_and_pdf ... ok
[INFO] [stdout] test encoding::tests::url_encode_basic ... ok
[INFO] [stdout] test encoding::unicode::tests::all_new_encoders_distinct_from_each_other ... ok
[INFO] [stdout] test encoding::tests::utf7_rfc2152_basic ... ok
[INFO] [stdout] test encoding::unicode::tests::combining_mark_inject_only_after_letters ... ok
[INFO] [stdout] test encoding::unicode::tests::fullwidth_encode_empty ... ok
[INFO] [stdout] test encoding::unicode::tests::fullwidth_encode_operators ... ok
[INFO] [stdout] test encoding::unicode::tests::all_new_encoders_preserve_pure_punctuation ... ok
[INFO] [stdout] test encoding::unicode::tests::fullwidth_encode_spaces ... ok
[INFO] [stdout] test encoding::unicode::tests::fullwidth_encode_sql_keywords ... ok
[INFO] [stdout] test encoding::unicode::tests::fullwidth_encode_sqli_payload ... ok
[INFO] [stdout] test encoding::unicode::tests::homoglyph_encode_empty ... ok
[INFO] [stdout] test encoding::unicode::tests::fullwidth_encode_preserves_non_ascii ... ok
[INFO] [stdout] test encoding::unicode::tests::homoglyph_preserves_ascii_double_quote ... ok
[INFO] [stdout] test encoding::unicode::tests::homoglyph_preserves_letters ... ok
[INFO] [stdout] test encoding::unicode::tests::homoglyph_preserves_sql_string_delimiters ... ok
[INFO] [stdout] test encoding::unicode::tests::homoglyph_replaces_equals ... ok
[INFO] [stdout] test encoding::unicode::tests::homoglyph_replaces_parens ... ok
[INFO] [stdout] test encoding::unicode::tests::homoglyph_replaces_angle_brackets ... ok
[INFO] [stdout] test encoding::tests::encode_rejects_oversized_payload ... ok
[INFO] [stdout] test encoding::tests::iis_unicode_encode_basic ... ok
[INFO] [stdout] test encoding::tests::overlong_utf8_more_slash ... ok
[INFO] [stdout] test encoding::unicode::tests::html_entity_encode_empty ... ok
[INFO] [stdout] test encoding::unicode::tests::html_entity_variants_continues_rotation ... ok
[INFO] [stdout] test encoding::unicode::tests::html_entity_variants_cycles_four_forms ... ok
[INFO] [stdout] test encoding::unicode::tests::html_entity_variants_deterministic ... ok
[INFO] [stdout] test encoding::unicode::tests::html_entity_variants_distinct_from_canonical ... ok
[INFO] [stdout] test encoding::unicode::tests::html_entity_variants_empty ... ok
[INFO] [stdout] test encoding::unicode::tests::html_entity_variants_unicode_codepoint ... ok
[INFO] [stdout] test encoding::unicode::tests::html_entity_variants_xss_payload ... ok
[INFO] [stdout] test encoding::unicode::tests::html_entity_zero_pad_decimal_width_4_matches_cve_advisory_example ... ok
[INFO] [stdout] test encoding::unicode::tests::html_entity_zero_pad_empty_input_produces_empty_output ... ok
[INFO] [stdout] test encoding::unicode::tests::html_entity_decimal_encode_basic ... ok
[INFO] [stdout] test encoding::unicode::tests::html_entity_zero_pad_hex_width_4_matches_cve_advisory_example ... ok
[INFO] [stdout] test encoding::unicode::tests::html_entity_encode_basic ... ok
[INFO] [stdout] test encoding::unicode::tests::html_entity_zero_pad_width_0_is_coerced_to_1 ... ok
[INFO] [stdout] test encoding::unicode::tests::html_entity_zero_pad_width_1_is_unpadded ... ok
[INFO] [stdout] test encoding::unicode::tests::html_entity_zero_pad_width_above_cap_is_clamped ... ok
[INFO] [stdout] test encoding::unicode::tests::html_entity_zero_pad_xss_payload_round_trip_browser_equivalent ... ok
[INFO] [stdout] test encoding::unicode::tests::iis_unicode_encode_basic ... ok
[INFO] [stdout] test encoding::unicode::tests::iis_unicode_encode_bmp_only_for_3byte_utf8 ... ok
[INFO] [stdout] test encoding::unicode::tests::iis_unicode_encode_high_cjk_supplement_u20000 ... ok
[INFO] [stdout] test encoding::unicode::tests::iis_unicode_encode_lowest_non_bmp_u10000 ... ok
[INFO] [stdout] test encoding::unicode::tests::html_entity_encode_special_chars ... ok
[INFO] [stdout] test encoding::unicode::tests::iis_unicode_encode_mixed_bmp_and_non_bmp ... ok
[INFO] [stdout] test encoding::unicode::tests::iis_unicode_encode_non_bmp_emits_surrogate_pair ... ok
[INFO] [stdout] test encoding::unicode::tests::json_encode_basic ... ok
[INFO] [stdout] test encoding::unicode::tests::json_encode_control_chars ... ok
[INFO] [stdout] test encoding::unicode::tests::json_key_escape_full_id_payload ... ok
[INFO] [stdout] test encoding::unicode::tests::json_key_escape_preserves_value_quotes ... ok
[INFO] [stdout] test encoding::unicode::tests::json_key_escape_round_trips_through_serde ... ok
[INFO] [stdout] test encoding::unicode::tests::json_unicode_alnum_empty_input ... ok
[INFO] [stdout] test encoding::unicode::tests::json_unicode_alnum_idempotency_multi_pre_escaped ... ok
[INFO] [stdout] test encoding::unicode::tests::json_unicode_alnum_idempotent_skip_pass ... ok
[INFO] [stdout] test encoding::unicode::tests::json_unicode_alnum_incomplete_escape_not_skipped ... ok
[INFO] [stdout] test encoding::unicode::tests::json_unicode_alnum_keyword_split ... ok
[INFO] [stdout] test encoding::unicode::tests::json_unicode_alnum_leaves_punctuation ... ok
[INFO] [stdout] test encoding::unicode::tests::json_unicode_alnum_preserves_quote_unencoded ... ok
[INFO] [stdout] test encoding::unicode::tests::json_unicode_alnum_unicode_input_passes_through ... ok
[INFO] [stdout] test encoding::unicode::tests::json_unicode_alnum_xss_keyword_split ... ok
[INFO] [stdout] test encoding::unicode::tests::json_unicode_full_escapes_every_char ... ok
[INFO] [stdout] test encoding::unicode::tests::json_unicode_full_escapes_non_alnum_too ... ok
[INFO] [stdout] test encoding::unicode::tests::json_unicode_full_handles_non_bmp_via_surrogate_pair ... ok
[INFO] [stdout] test encoding::unicode::tests::json_unicode_full_idempotency_multi_pre_escaped ... ok
[INFO] [stdout] test encoding::unicode::tests::json_unicode_full_idempotent_on_pre_escaped ... ok
[INFO] [stdout] test encoding::unicode::tests::json_unicode_mixed_case_alternates_forms ... ok
[INFO] [stdout] test encoding::unicode::tests::math_bold_encode_empty ... ok
[INFO] [stdout] test encoding::unicode::tests::math_bold_encode_lowercase ... ok
[INFO] [stdout] test encoding::unicode::tests::math_bold_encode_distinct_from_fullwidth ... ok
[INFO] [stdout] test encoding::unicode::tests::math_bold_encode_sql_keyword ... ok
[INFO] [stdout] test encoding::unicode::tests::math_bold_encode_preserves_punctuation ... ok
[INFO] [stdout] test encoding::unicode::tests::math_bold_encode_uppercase ... ok
[INFO] [stdout] test encoding::unicode::tests::math_double_struck_encode_digits_distinct_from_bold ... ok
[INFO] [stdout] test encoding::unicode::tests::math_fraktur_encode_fills_chizr_holes ... ok
[INFO] [stdout] test encoding::unicode::tests::math_double_struck_encode_fills_letter_holes ... ok
[INFO] [stdout] test encoding::unicode::tests::math_bold_encode_digits ... ok
[INFO] [stdout] test encoding::unicode::tests::math_italic_encode_handles_h_hole ... ok
[INFO] [stdout] test encoding::unicode::tests::math_italic_encode_is_distinct_from_bold ... ok
[INFO] [stdout] test encoding::unicode::tests::math_italic_encode_uppercase ... ok
[INFO] [stdout] test encoding::unicode::tests::letterlike_encode_select_payload_uses_letterlike_block ... ok
[INFO] [stdout] test encoding::unicode::tests::math_script_encode_fills_all_holes ... ok
[INFO] [stdout] test encoding::unicode::tests::math_bold_encode_mixed_alphanumeric ... ok
[INFO] [stdout] test encoding::unicode::tests::letterlike_encode_preserves_non_letters ... ok
[INFO] [stdout] test encoding::unicode::tests::overlong_utf8_2byte_dot_slash_replaces ... ok
[INFO] [stdout] test encoding::unicode::tests::overlong_utf8_3byte_dot_slash ... ok
[INFO] [stdout] test encoding::unicode::tests::overlong_utf8_4byte_default ... ok
[INFO] [stdout] test encoding::unicode::tests::overlong_utf8_preserves_non_traversal_chars ... ok
[INFO] [stdout] test encoding::unicode::tests::overlong_utf8_path_empty_input_empty_output ... ok
[INFO] [stdout] test encoding::unicode::tests::overlong_utf8_path_speed_opt_preserves_passthrough_chars ... ok
[INFO] [stdout] test encoding::unicode::tests::pg_chr_decompose_admin ... ok
[INFO] [stdout] test encoding::unicode::tests::pg_chr_decompose_in_where_clause ... ok
[INFO] [stdout] test encoding::unicode::tests::script_homoglyph_select_uses_cyrillic_letters ... ok
[INFO] [stdout] test encoding::unicode::tests::script_homoglyph_preserves_punctuation ... ok
[INFO] [stdout] test encoding::unicode::tests::sql_adjacent_string_concat_basic ... ok
[INFO] [stdout] test encoding::unicode::tests::sql_adjacent_string_concat_handles_escaped_quote ... ok
[INFO] [stdout] test encoding::unicode::tests::sql_adjacent_string_concat_escaped_quote_idempotent ... ok
[INFO] [stdout] test encoding::unicode::tests::sql_adjacent_string_concat_idempotent ... ok
[INFO] [stdout] test encoding::unicode::tests::overlong_utf8_handles_backslash ... ok
[INFO] [stdout] test encoding::unicode::tests::pg_chr_decompose_empty_literal ... ok
[INFO] [stdout] test encoding::unicode::tests::sql_adjacent_string_concat_its_a_test_shatters_correctly ... ok
[INFO] [stdout] test encoding::unicode::tests::pg_chr_decompose_distinct_from_char_decompose ... ok
[INFO] [stdout] test encoding::unicode::tests::pg_chr_decompose_unbalanced_passthrough ... ok
[INFO] [stdout] test encoding::unicode::tests::sharp_s_encode_replaces_only_s ... ok
[INFO] [stdout] test encoding::unicode::tests::sql_adjacent_string_concat_path_literal_split ... ok
[INFO] [stdout] test encoding::unicode::tests::sql_adjacent_string_concat_preserves_outside_literal ... ok
[INFO] [stdout] test encoding::unicode::tests::sql_adjacent_string_concat_short_literal_unchanged ... ok
[INFO] [stdout] test encoding::unicode::tests::sql_adjacent_string_concat_single_quote_literal_emits_four_quotes ... ok
[INFO] [stdout] test encoding::unicode::tests::sql_adjacent_string_concat_unterminated_quote_passthrough ... ok
[INFO] [stdout] test encoding::unicode::tests::sql_char_decompose_admin ... ok
[INFO] [stdout] test encoding::unicode::tests::sql_char_decompose_empty_literal_preserves_empty_string ... ok
[INFO] [stdout] test encoding::unicode::tests::sql_char_decompose_distinct_from_concat_split ... ok
[INFO] [stdout] test encoding::unicode::tests::sql_char_decompose_no_quotes_passthrough ... ok
[INFO] [stdout] test encoding::unicode::tests::sql_char_decompose_multiple_literals ... ok
[INFO] [stdout] test encoding::unicode::tests::sql_char_decompose_path_literal ... ok
[INFO] [stdout] test encoding::unicode::tests::sql_concat_split_in_clause ... ok
[INFO] [stdout] test encoding::unicode::tests::sql_char_decompose_password ... ok
[INFO] [stdout] test encoding::unicode::tests::sql_concat_split_empty_literal ... ok
[INFO] [stdout] test encoding::unicode::tests::sql_concat_split_multiple_literals ... ok
[INFO] [stdout] test encoding::unicode::tests::sql_concat_split_no_quotes_passthrough ... ok
[INFO] [stdout] test encoding::unicode::tests::sql_concat_split_password ... ok
[INFO] [stdout] test encoding::unicode::tests::sql_concat_split_preserves_non_quote_chars ... ok
[INFO] [stdout] test encoding::unicode::tests::sql_char_decompose_unbalanced_passthrough ... ok
[INFO] [stdout] test encoding::unicode::tests::sql_concat_split_isolated_literal_keeps_other_tokens ... ok
[INFO] [stdout] test encoding::unicode::tests::turkish_i_encode_replaces_only_i ... ok
[INFO] [stdout] test encoding::unicode::tests::unicode_encode_basic ... ok
[INFO] [stdout] test encoding::unicode::tests::unicode_encode_empty ... ok
[INFO] [stdout] test encoding::unicode::tests::unicode_encode_special_chars ... ok
[INFO] [stdout] test encoding::unicode::tests::unicode_encode_unicode ... ok
[INFO] [stdout] test encoding::unicode::tests::sql_concat_split_admin ... ok
[INFO] [stdout] test encoding::unicode::tests::sql_char_decompose_real_injection ... ok
[INFO] [stdout] test encoding::unicode::tests::sql_concat_split_unbalanced_quote_passthrough ... ok
[INFO] [stdout] test encoding::unicode::tests::zero_width_defaults_count_correct ... ok
[INFO] [stdout] test encoding::unicode::tests::sql_concat_split_real_injection_payload ... ok
[INFO] [stdout] test encoding::unicode::tests::zero_width_inject_adds_chars_between_letters ... ok
[INFO] [stdout] test encoding::unicode::tests::zero_width_inject_preserves_non_alnum ... ok
[INFO] [stdout] test encoding::url::tests::double_url_encode_basic ... ok
[INFO] [stdout] test encoding::url::tests::double_url_encode_preserves_existing ... ok
[INFO] [stdout] test encoding::url::tests::double_url_encode_trailing_percent ... ok
[INFO] [stdout] test encoding::url::tests::triple_url_encode_basic ... ok
[INFO] [stdout] test encoding::url::tests::triple_url_encode_handles_double_encoded ... ok
[INFO] [stdout] test encoding::url::tests::triple_url_encode_preserves_double_encoded ... ok
[INFO] [stdout] test encoding::url::tests::triple_url_encode_preserves_triple_encoded ... ok
[INFO] [stdout] test encoding::url::tests::triple_url_encode_trailing_percent ... ok
[INFO] [stdout] test encoding::url::tests::url_encode_accepts_raw_bytes ... ok
[INFO] [stdout] test encoding::url::tests::url_encode_basic ... ok
[INFO] [stdout] test encoding::url::tests::url_encode_empty ... ok
[INFO] [stdout] test encoding::url::tests::url_encode_preserves_unreserved ... ok
[INFO] [stdout] test encoding::url::tests::url_encode_special_chars ... ok
[INFO] [stdout] test encoding::url::tests::url_encode_sql_injection ... ok
[INFO] [stdout] test floor_char_boundary_tests::snaps_down_to_boundary_and_clamps_to_len ... ok
[INFO] [stdout] test header::tests::tests::all_obfuscations_clean_value_unchanged_by_sanitiser ... ok
[INFO] [stdout] test header::tests::tests::case_mix_preserves_non_alpha ... ok
[INFO] [stdout] test header::tests::tests::all_obfuscations_sanitizes_crlf_in_value_for_inline_variants ... ok
[INFO] [stdout] test header::tests::tests::duplicate_header_produces_two ... ok
[INFO] [stdout] test header::tests::tests::empty_header_name_doesnt_panic ... ok
[INFO] [stdout] test header::tests::tests::header_technique_display ... ok
[INFO] [stdout] test header::tests::tests::lf_only_line_folding_splits_value ... ok
[INFO] [stdout] test header::tests::tests::line_fold_multibyte_utf8 ... ok
[INFO] [stdout] test header::tests::tests::all_obfuscations_returns_all_techniques ... ok
[INFO] [stdout] test encoding::url::tests::url_encode_lower_case ... ok
[INFO] [stdout] test header::tests::tests::null_byte_short_name_no_panic ... ok
[INFO] [stdout] test header::tests::tests::multi_line_fold_multibyte_utf8 ... ok
[INFO] [stdout] test header::tests::tests::null_byte_injection_inserts_null ... ok
[INFO] [stdout] test header::tests::tests::lf_only_multi_line_folding_three_parts ... ok
[INFO] [stdout] test header::tests::tests::case_mix_alternates ... ok
[INFO] [stdout] test header::tests::tests::multi_line_folding_three_parts ... ok
[INFO] [stdout] test header::tests::tests::multi_line_folding_short_no_split ... ok
[INFO] [stdout] test header::tests::tests::line_folding_short_value_no_split ... ok
[INFO] [stdout] test header::tests::tests::null_byte_inject_multibyte_utf8 ... ok
[INFO] [stdout] test header::tests::tests::line_folding_splits_value ... ok
[INFO] [stdout] test header::tests::tests::comma_join_combines_values ... ok
[INFO] [stdout] test compression::tests::gzip_decompress_under_cap_succeeds ... ok
[INFO] [stdout] test header::tests::tests::tab_separator_uses_tab ... ok
[INFO] [stdout] test header::tests::tests::techniques_are_unique ... ok
[INFO] [stdout] test header::tests::tests::trailing_space_before_colon ... ok
[INFO] [stdout] test header::tests::tests::underscore_substitution_replaces_hyphens ... ok
[INFO] [stdout] test header::tests::tests::whitespace_padding_has_extra_spaces ... ok
[INFO] [stdout] test header::tests::tests::whitespace_padding_is_deterministic ... ok
[INFO] [stdout] test header::tests::tests::whitespace_padding_pad_width_is_in_2_to_5_range ... ok
[INFO] [stdout] test host_header_smuggle::tests::canaries_are_unique_per_probe ... ok
[INFO] [stdout] test host_header_smuggle::tests::case_mix_variant_differs_from_target_byte_for_byte ... ok
[INFO] [stdout] test host_header_smuggle::tests::all_variants_emits_one_per_technique ... ok
[INFO] [stdout] test host_header_smuggle::tests::custom_target_appears_in_artifact ... ok
[INFO] [stdout] test host_header_smuggle::tests::descriptions_are_non_empty_and_distinct ... ok
[INFO] [stdout] test host_header_smuggle::tests::default_port_variant_appends_443 ... ok
[INFO] [stdout] test host_header_smuggle::tests::duplicate_header_variant_emits_two_pairs ... ok
[INFO] [stdout] test host_header_smuggle::tests::embedded_tab_variant_contains_tab_byte ... ok
[INFO] [stdout] test host_header_smuggle::tests::every_probe_emits_at_least_one_host_header_pair ... ok
[INFO] [stdout] test host_header_smuggle::tests::technique_names_are_distinct ... ok
[INFO] [stdout] test host_header_smuggle::tests::every_probe_uses_host_family_namespace ... ok
[INFO] [stdout] test host_header_smuggle::tests::fullwidth_dot_variant_uses_ff0e_bytes ... ok
[INFO] [stdout] test host_header_smuggle::tests::trailing_dot_variant_ends_with_dot ... ok
[INFO] [stdout] test jwt_smuggle::tests::alg_confusion_variant_advertises_hs256 ... ok
[INFO] [stdout] test jwt_smuggle::tests::descriptions_are_non_empty_and_distinct ... ok
[INFO] [stdout] test jwt_smuggle::tests::kid_path_traversal_variant_contains_etc_passwd ... ok
[INFO] [stdout] test jwt_smuggle::tests::empty_signature_variant_ends_with_dot ... ok
[INFO] [stdout] test jwt_smuggle::tests::expiry_removed_variant_payload_lacks_exp_claim ... ok
[INFO] [stdout] test host_header_smuggle::tests::userinfo_variant_contains_at_sign ... ok
[INFO] [stdout] test jwt_smuggle::tests::jku_attacker_variant_contains_attacker_url ... ok
[INFO] [stdout] test host_header_smuggle::tests::underscore_subdomain_variant_contains_underscore ... ok
[INFO] [stdout] test jwt_smuggle::tests::alg_none_case_mix_header_decodes_to_NoNe ... ok
[INFO] [stdout] test jwt_smuggle::tests::every_probe_uses_jwt_family_namespace ... ok
[INFO] [stdout] test jwt_smuggle::tests::alg_none_header_decodes_to_none_alg ... ok
[INFO] [stdout] test jwt_smuggle::tests::kid_sql_injection_variant_contains_sql_payload ... ok
[INFO] [stdout] test jwt_smuggle::tests::alg_none_variant_has_three_dot_separated_segments_with_empty_sig ... ok
[INFO] [stdout] test jwt_smuggle::tests::every_probe_emits_authorization_bearer_header ... ok
[INFO] [stdout] test jwt_smuggle::tests::canaries_are_unique_per_probe ... ok
[INFO] [stdout] test jwt_smuggle::tests::non_jwt_credential_is_synthesized_into_sub_claim ... ok
[INFO] [stdout] test jwt_smuggle::tests::all_variants_emits_one_per_technique ... ok
[INFO] [stdout] test jwt_smuggle::tests::operator_supplied_jwt_is_used_as_base ... ok
[INFO] [stdout] test jwt_smuggle::tests::payload_duplicate_key_variant_contains_two_role_pairs ... ok
[INFO] [stdout] test jwt_smuggle::tests::technique_names_are_distinct ... ok
[INFO] [stdout] test path_normalize_smuggle::tests::backslash_traversal_contains_backslash ... ok
[INFO] [stdout] test path_normalize_smuggle::tests::canaries_are_unique_per_probe ... ok
[INFO] [stdout] test path_normalize_smuggle::tests::custom_protected_path_appears_in_artifact ... ok
[INFO] [stdout] test path_normalize_smuggle::tests::all_variants_emits_one_per_technique ... ok
[INFO] [stdout] test path_normalize_smuggle::tests::descriptions_are_non_empty_and_distinct ... ok
[INFO] [stdout] test path_normalize_smuggle::tests::dot_segment_encoded_contains_encoded_dot_dot ... ok
[INFO] [stdout] test path_normalize_smuggle::tests::double_encoded_contains_double_percent ... ok
[INFO] [stdout] test path_normalize_smuggle::tests::every_probe_emits_pseudo_path_header ... ok
[INFO] [stdout] test path_normalize_smuggle::tests::every_probe_uses_path_family_namespace ... ok
[INFO] [stdout] test path_normalize_smuggle::tests::fragment_variant_contains_hash ... ok
[INFO] [stdout] test path_normalize_smuggle::tests::mixed_dot_encoding_contains_encoded_dot_then_literal_dot ... ok
[INFO] [stdout] test path_normalize_smuggle::tests::null_byte_variant_contains_percent_00 ... ok
[INFO] [stdout] test path_normalize_smuggle::tests::multi_slash_variant_starts_with_quad_slash ... ok
[INFO] [stdout] test path_normalize_smuggle::tests::overlong_utf8_variant_contains_c0_af ... ok
[INFO] [stdout] test path_normalize_smuggle::tests::probe_canary_token_is_sixteen_chars ... ok
[INFO] [stdout] test path_normalize_smuggle::tests::protected_path_without_leading_slash_still_works ... ok
[INFO] [stdout] test path_normalize_smuggle::tests::semicolon_variant_contains_semicolon_param ... ok
[INFO] [stdout] test path_normalize_smuggle::tests::technique_names_are_distinct ... ok
[INFO] [stdout] test path_prefix::tests::all_strategies_label_distinctly ... ok
[INFO] [stdout] test path_normalize_smuggle::tests::unicode_fullwidth_variant_contains_ff0f_bytes ... ok
[INFO] [stdout] test path_prefix::tests::already_double_slash_input_does_not_compound ... ok
[INFO] [stdout] test path_prefix::tests::double_slash_maps_admin_to_double_admin ... ok
[INFO] [stdout] test path_prefix::tests::non_root_relative_input_passes_through ... ok
[INFO] [stdout] test path_prefix::tests::preserves_query_string ... ok
[INFO] [stdout] test path_prefix::tests::root_only_path_is_handled ... ok
[INFO] [stdout] test path_prefix::tests::triple_slash_normalises_to_triple ... ok
[INFO] [stdout] test path_prefix::tests::mutate_path_prefix_returns_label_matching_strategy ... ok
[INFO] [stdout] test range_header_smuggle::tests::duplicate_header_probe_accepts_unprefixed_smuggle_input ... ok
[INFO] [stdout] test range_header_smuggle::tests::non_bytes_unit_picks_from_pool ... ok
[INFO] [stdout] test range_header_smuggle::tests::non_bytes_units_pool_is_non_empty_and_unique ... ok
[INFO] [stdout] test range_header_smuggle::tests::over_large_last_position_picks_from_safe_pool ... ok
[INFO] [stdout] test range_header_smuggle::tests::reversed_first_last_orders_high_then_low_on_wire ... ok
[INFO] [stdout] test range_header_smuggle::tests::every_probe_carries_a_distinct_canary ... ok
[INFO] [stdout] test range_header_smuggle::tests::whitespace_probe_contains_at_least_one_space_or_tab ... ok
[INFO] [stdout] test range_header_smuggle::tests::duplicate_header_probe_emits_two_range_lines ... ok
[INFO] [stdout] test range_header_smuggle::tests::overlapping_ranges_contains_two_comma_separated_spans ... ok
[INFO] [stdout] test range_header_smuggle::tests::reversed_first_last_handles_equal_inputs_by_offset ... ok
[INFO] [stdout] test range_header_smuggle::tests::safe_large_last_pos_pool_within_signed_i64_band ... ok
[INFO] [stdout] test range_header_smuggle::tests::suffix_length_uses_dash_prefix ... ok
[INFO] [stdout] test range_header_smuggle::tests::sweep_emits_eight_distinct_variants ... ok
[INFO] [stdout] test range_header_smuggle::tests::empty_range_value_is_just_bytes_equals ... ok
[INFO] [stdout] test path_prefix::tests::slash_dot_inserts_dot_segment ... ok
[INFO] [stdout] test tamper::builtins::tests::all_new_tampers_have_unique_names ... ok
[INFO] [stdout] test tamper::builtins::tests::all_new_tampers_registered_by_default ... ok
[INFO] [stdout] test tamper::builtins::tests::all_default_tampers_aggressiveness_in_range ... ok
[INFO] [stdout] test tamper::builtins::tests::all_default_tampers_handle_empty_input_without_panic ... ok
[INFO] [stdout] test tamper::builtins::tests::all_default_tampers_handle_pure_ascii_keyword ... ok
[INFO] [stdout] test path_prefix::tests::slash_dot_slash_combines_both_forms ... ok
[INFO] [stdout] test tamper::builtins::tests::all_default_tampers_have_unique_names ... ok
[INFO] [stdout] test tamper::builtins::tests::all_new_tampers_aggressiveness_in_range ... ok
[INFO] [stdout] test tamper::builtins::tests::all_new_tampers_have_non_empty_descriptions ... ok
[INFO] [stdout] test tamper::builtins::tests::base64_empty_input ... ok
[INFO] [stdout] test tamper::builtins::tests::base64_padding_present_for_non_aligned_input ... ok
[INFO] [stdout] test tamper::builtins::tests::base64_round_trips_through_decode ... ok
[INFO] [stdout] test tamper::builtins::tests::base64_tamper ... ok
[INFO] [stdout] test tamper::builtins::tests::bell_separator_empty_input ... ok
[INFO] [stdout] test tamper::builtins::tests::bell_separator_classic_payload_round_trips_via_split ... ok
[INFO] [stdout] test tamper::builtins::tests::bell_separator_leaves_tab_and_newline_alone ... ok
[INFO] [stdout] test tamper::builtins::tests::bracket_confusable_aggressiveness_in_range ... ok
[INFO] [stdout] test tamper::builtins::tests::bell_separator_no_space_unchanged ... ok
[INFO] [stdout] test tamper::builtins::tests::bracket_confusable_empty ... ok
[INFO] [stdout] test tamper::builtins::tests::bracket_confusable_handles_only_open_or_close ... ok
[INFO] [stdout] test tamper::builtins::tests::bracket_confusable_preserves_non_bracket_chars ... ok
[INFO] [stdout] test tamper::builtins::tests::bracket_confusable_replaces_ascii_angle_brackets ... ok
[INFO] [stdout] test tamper::builtins::tests::case_alternation_lowercase_keyword_becomes_mixed_case ... ok
[INFO] [stdout] test tamper::builtins::tests::case_alternation_preserves_non_alpha_chars ... ok
[INFO] [stdout] test tamper::builtins::tests::bell_separator_multiple_spaces_each_become_bel ... ok
[INFO] [stdout] test tamper::builtins::tests::bell_separator_replaces_space_with_bel ... ok
[INFO] [stdout] test tamper::builtins::tests::case_alternation_starts_uppercase ... ok
[INFO] [stdout] test tamper::builtins::tests::case_alternation_tamper ... ok
[INFO] [stdout] test tamper::builtins::tests::ct_starvation_handles_form_json_multipart_contexts ... ok
[INFO] [stdout] test tamper::builtins::tests::ct_starvation_header_for_is_stable_per_payload ... ok
[INFO] [stdout] test tamper::builtins::tests::ct_starvation_is_no_op_for_header_and_query_contexts ... ok
[INFO] [stdout] test tamper::builtins::tests::ct_starvation_is_registered_in_default_registry ... ok
[INFO] [stdout] test tamper::builtins::tests::ct_starvation_wraps_body_context_in_form_pair ... ok
[INFO] [stdout] test tamper::builtins::tests::description_is_non_empty_for_every_tamper ... ok
[INFO] [stdout] test tamper::builtins::tests::case_alternation_handles_unicode_alpha ... ok
[INFO] [stdout] test tamper::builtins::tests::double_url_encode_idempotent_on_already_encoded ... ok
[INFO] [stdout] test tamper::builtins::tests::double_url_encode_round_trips_to_original_after_two_decodes ... ok
[INFO] [stdout] test tamper::builtins::tests::hex_encode_tamper ... ok
[INFO] [stdout] test tamper::builtins::tests::hex_literal_keyword_empty_literal ... ok
[INFO] [stdout] test tamper::builtins::tests::hex_literal_keyword_handles_doubled_quote_escape ... ok
[INFO] [stdout] test tamper::builtins::tests::hex_encode_two_chars_per_byte ... ok
[INFO] [stdout] test tamper::builtins::tests::hex_literal_keyword_non_ascii_chars_encode_to_utf8_hex ... ok
[INFO] [stdout] test tamper::builtins::tests::hex_literal_keyword_idempotent_when_no_quoted_literal ... ok
[INFO] [stdout] test tamper::builtins::tests::hex_literal_keyword_preserves_non_quote_text ... ok
[INFO] [stdout] test tamper::builtins::tests::html_entity_format_uses_hex_decimal ... ok
[INFO] [stdout] test tamper::builtins::tests::html_entity_tamper ... ok
[INFO] [stdout] test tamper::builtins::tests::html_entity_xss_payload_full_encode ... ok
[INFO] [stdout] test tamper::builtins::tests::ct_starvation_header_for_returns_one_of_known_variants ... ok
[INFO] [stdout] test tamper::builtins::tests::hex_literal_keyword_handles_multiple_literals ... ok
[INFO] [stdout] test tamper::builtins::tests::hex_literal_keyword_converts_single_quoted_to_hex ... ok
[INFO] [stdout] test tamper::builtins::tests::json_dup_key_emits_duplicate_q_envelope ... ok
[INFO] [stdout] test tamper::builtins::tests::json_dup_key_name_and_aggressiveness_within_bounds ... ok
[INFO] [stdout] test tamper::builtins::tests::json_escape_string_matches_serde_json_for_unicode ... ok
[INFO] [stdout] test tamper::builtins::tests::json_dup_key_handles_empty_payload ... ok
[INFO] [stdout] test tamper::builtins::tests::mxss_namespace_wrap_does_not_contain_literal_script_tag ... ok
[INFO] [stdout] test tamper::builtins::tests::mxss_namespace_wrap_emits_mathml_harness ... ok
[INFO] [stdout] test tamper::builtins::tests::hex_encode_non_ascii_uses_multi_byte_form ... ok
[INFO] [stdout] test tamper::builtins::tests::mxss_namespace_wrap_aggressiveness_in_range ... ok
[INFO] [stdout] test tamper::builtins::tests::double_url_encode_tamper ... ok
[INFO] [stdout] test tamper::builtins::tests::mysql_versioned_wrap_does_not_corrupt_special_chars ... ok
[INFO] [stdout] test tamper::builtins::tests::mysql_versioned_wrap_inserts_outer_comment ... ok
[INFO] [stdout] test tamper::builtins::tests::mxss_namespace_wrap_handles_empty_payload ... ok
[INFO] [stdout] test tamper::builtins::tests::name_is_lowercase_ascii_snake_case_for_every_tamper ... ok
[INFO] [stdout] test tamper::builtins::tests::null_byte_appends_when_no_extension ... ok
[INFO] [stdout] test tamper::builtins::tests::null_byte_with_extension ... ok
[INFO] [stdout] test tamper::builtins::tests::null_byte_extension_replacement_keeps_basename ... ok
[INFO] [stdout] test tamper::builtins::tests::null_byte_empty_input ... ok
[INFO] [stdout] test tamper::builtins::tests::null_byte_without_extension ... ok
[INFO] [stdout] test tamper::builtins::tests::obsolete_keyword_comment_split_tamper_was_removed ... ok
[INFO] [stdout] test tamper::builtins::tests::overlong_utf8_emits_two_byte_for_ascii ... ok
[INFO] [stdout] test tamper::builtins::tests::overlong_utf8_empty_input ... ok
[INFO] [stdout] test tamper::builtins::tests::postgres_dollar_quote_classic_sqli_payload ... ok
[INFO] [stdout] test tamper::builtins::tests::postgres_dollar_quote_empty_string_literal ... ok
[INFO] [stdout] test tamper::builtins::tests::postgres_dollar_quote_deterministic_tag ... ok
[INFO] [stdout] test tamper::builtins::tests::postgres_dollar_quote_handles_escaped_quote ... ok
[INFO] [stdout] test tamper::builtins::tests::postgres_dollar_quote_no_change_when_no_quote ... ok
[INFO] [stdout] test tamper::builtins::tests::overlong_utf8_tamper ... ok
[INFO] [stdout] test tamper::builtins::tests::mxss_namespace_wrap_panic_safe_on_pathological_input ... ok
[INFO] [stdout] test tamper::builtins::tests::postgres_dollar_quote_wraps_single_quoted_literal ... ok
[INFO] [stdout] test tamper::builtins::tests::json_dup_key_escapes_payload_quotes ... ok
[INFO] [stdout] test tamper::builtins::tests::postgres_dollar_quote_tag_uses_full_az_alphabet ... ok
[INFO] [stdout] test tamper::builtins::tests::json_dup_key_escapes_backslash_and_control_bytes ... ok
[INFO] [stdout] test tamper::builtins::tests::random_case_preserves_length ... ok
[INFO] [stdout] test tamper::builtins::tests::mysql_versioned_wrap_empty_input ... ok
[INFO] [stdout] test tamper::builtins::tests::json_dup_key_is_registered_in_default_registry ... ok
[INFO] [stdout] test tamper::builtins::tests::random_case_only_flips_alpha ... ok
[INFO] [stdout] test tamper::builtins::tests::random_case_tamper ... ok
[INFO] [stdout] test tamper::builtins::tests::sql_comment_handles_payload_with_multiple_spaces ... ok
[INFO] [stdout] test tamper::builtins::tests::sql_comment_inserts_between_every_token ... ok
[INFO] [stdout] test tamper::builtins::tests::sql_comment_insertion ... ok
[INFO] [stdout] test tamper::builtins::tests::unicode_escape_format_uses_u_prefix ... ok
[INFO] [stdout] test tamper::builtins::tests::unicode_escape_handles_non_bmp_chars ... ok
[INFO] [stdout] test tamper::builtins::tests::unicode_escape_tamper ... ok
[INFO] [stdout] test tamper::builtins::tests::url_encode_all_reserved_chars ... ok
[INFO] [stdout] test tamper::builtins::tests::url_encode_passes_through_unreserved_chars ... ok
[INFO] [stdout] test tamper::builtins::tests::mysql_versioned_wrap_idempotent_double_apply ... ok
[INFO] [stdout] test tamper::builtins::tests::url_encode_handles_unicode_input ... ok
[INFO] [stdout] test tamper::builtins::tests::url_encode_empty_input ... ok
[INFO] [stdout] test tamper::builtins::tests::sql_comment_single_token_unchanged ... ok
[INFO] [stdout] test tamper::builtins::tests::url_encode_tamper ... ok
[INFO] [stdout] test tamper::builtins::tests::whitespace_insertion ... ok
[INFO] [stdout] test tamper::builtins::tests::whitespace_insertion_no_changes_when_no_space ... ok
[INFO] [stdout] test tamper::builtins::tests::zero_width_inject_empty_input ... ok
[INFO] [stdout] test tamper::builtins::tests::whitespace_insertion_uses_tab ... ok
[INFO] [stdout] test tamper::config::tests::load_toml_from_strategies_d ... ok
[INFO] [stdout] test tamper::config::tests::strategy_config_roundtrip ... ok
[INFO] [stdout] test tamper::builtins::tests::zero_width_inject_preserves_payload_after_strip ... ok
[INFO] [stdout] test tamper::builtins::tests::zero_width_inject_rotates_through_all_four_zw_chars ... ok
[INFO] [stdout] test tamper::builtins::tests::zero_width_inject_skips_non_alpha_chars ... ok
[INFO] [stdout] test tamper::builtins::tests::zero_width_inject_splits_select_keyword ... ok
[INFO] [stdout] test tamper::builtins::tests::zero_width_inject_unicode_input_does_not_panic ... ok
[INFO] [stdout] test tamper::builtins::tests::zero_width_inject_pure_punctuation_unchanged ... ok
[INFO] [stdout] test tamper::config::tests::apply_config_filters_disabled ... ok
[INFO] [stdout] test tamper::config::tests::custom_strategy_params ... ok
[INFO] [stdout] test tamper::config::tests::apply_config_with_context ... ok
[INFO] [stdout] test tamper::config::tests::layered_tamper_chain ... ok
[INFO] [stdout] test tamper::config::tests::tamper_config_serialization ... ok
[INFO] [stdout] test tamper::config::tests::tamper_strategy_trait_object_safety ... ok
[INFO] [stdout] test tamper::config::tests::tamper_error_missing_file ... ok
[INFO] [stdout] test tamper::tests::aggressiveness_sorting ... ok
[INFO] [stdout] test tamper::tests::clear_removes_all ... ok
[INFO] [stdout] test tamper::tests::convenience_tamper_function_error ... ok
[INFO] [stdout] test tamper::config::tests::tamper_error_invalid_toml ... ok
[INFO] [stdout] test tamper::tests::default_registry_function ... ok
[INFO] [stdout] test tamper::tests::nan_aggressiveness_treated_as_one ... ok
[INFO] [stdout] test tamper::tests::registry_lookup_fails_for_unknown ... ok
[INFO] [stdout] test tamper::tests::convenience_tamper_function ... ok
[INFO] [stdout] test tamper::tests::all_tamper_names_static ... ok
[INFO] [stdout] test tamper::tests::tamper_error_display ... ok
[INFO] [stdout] test tamper::tests::unregister_removes_strategy ... ok
[INFO] [stdout] test url_mutate::tests::default_config_does_not_touch_path ... ok
[INFO] [stdout] test tamper::tests::tamper_with_error_for_unknown ... ok
[INFO] [stdout] test url_mutate::tests::does_not_panic_on_empty_input ... ok
[INFO] [stdout] test url_mutate::tests::bare_flag_param_passes_through ... ok
[INFO] [stdout] test url_mutate::tests::double_percent_encode_doubles_each_byte ... ok
[INFO] [stdout] test url_mutate::tests::empty_value_pair_passes_through_unmutated ... ok
[INFO] [stdout] test url_mutate::tests::does_not_panic_on_trailing_question_mark ... ok
[INFO] [stdout] test url_mutate::tests::hpp_arr_bracket_appends_bracket_suffix ... ok
[INFO] [stdout] test url_mutate::tests::hpp_arr_bracket_does_not_double_bracket_existing_array_param ... ok
[INFO] [stdout] test url_mutate::tests::hpp_duplicate_first_prepends_decoy ... ok
[INFO] [stdout] test url_mutate::tests::hpp_pollute_pairs_name_with_structural_byte_passes_through ... ok
[INFO] [stdout] test url_mutate::tests::hpp_pollute_pairs_empty_input_returns_empty_output ... ok
[INFO] [stdout] test url_mutate::tests::hpp_strategy_label_is_stable ... ok
[INFO] [stdout] test url_mutate::tests::does_not_panic_on_invalid_percent_escape ... ok
[INFO] [stdout] test url_mutate::tests::hpp_strategy_is_honest_no_op ... ok
[INFO] [stdout] test url_mutate::tests::hpp_strategy_labels_are_distinct ... ok
[INFO] [stdout] test url_mutate::tests::hpp_duplicate_last_appends_decoy ... ok
[INFO] [stdout] test url_mutate::tests::no_query_no_path_mutation_returns_input_unchanged ... ok
[INFO] [stdout] test tamper::tests::registry_with_defaults_has_strategies ... ok
[INFO] [stdout] test url_mutate::tests::path_with_trailing_slash_is_not_mutated ... ok
[INFO] [stdout] test url_mutate::tests::percent_encode_aggressive_encodes_quotes_and_spaces ... ok
[INFO] [stdout] test url_mutate::tests::percent_encode_aggressive_skips_alphanumerics ... ok
[INFO] [stdout] test url_mutate::tests::pre_encoded_query_value_is_decoded_then_re_mutated ... ok
[INFO] [stdout] test url_mutate::tests::query_value_containing_equals_preserves_extra_equals ... ok
[INFO] [stdout] test url_mutate::tests::path_segment_mutation_changes_last_segment_only_when_enabled ... ok
[INFO] [stdout] test url_mutate::tests::multiple_pairs_each_get_mutated_independently ... ok
[INFO] [stdout] test url_mutate::tests::non_canonical_spaces_swaps_known_chars ... ok
[INFO] [stdout] test url_mutate::tests::handles_extremely_long_value ... ok
[INFO] [stdout] test tamper::builtins::tests::all_default_tampers_handle_huge_input_without_panic ... ok
[INFO] [stdout] test tamper::builtins::tests::all_new_tampers_handle_pathological_input_without_panic ... ok
[INFO] [stdout] test encoding::strategy::tests::encode_at_exact_max_payload_size_succeeds ... ok
[INFO] [stdout] test encoding::layered::tests::encode_layered_size_limit ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 781 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.34s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/adversarial.rs (/opt/rustwide/target/debug/deps/adversarial-7e8a480ae0dbfd72)
[INFO] [stdout] 
[INFO] [stdout] running 17 tests
[INFO] [stdout] test f001_byte_strategies_preserve_invalid_utf8 ... ok
[INFO] [stdout] test f001_invalid_utf8_rejected_by_text_strategies ... ok
[INFO] [stdout] test f004_overlong_utf8_context_hint ... ok
[INFO] [stdout] test f006_chunked_split_returns_structured_body_with_headers ... ok
[INFO] [stdout] test f007_utf7_encodes_non_ascii ... ok
[INFO] [stdout] test f009_line_fold_multibyte_utf8_no_panic ... ok
[INFO] [stdout] test f007_utf7_escapes_plus ... ok
[INFO] [stdout] test f002_url_encode_preserves_unreserved ... ok
[INFO] [stdout] test f011_null_byte_inject_multibyte_utf8_no_panic ... ok
[INFO] [stdout] test f010_multi_line_fold_multibyte_utf8_no_panic ... ok
[INFO] [stdout] test f005_null_byte_context_hint ... ok
[INFO] [stdout] test f014_sql_comment_insertion_preserves_keyword_integrity ... ok
[INFO] [stdout] test f015_no_panic_on_invalid_utf8 ... ok
[INFO] [stdout] test f013_whitespace_insertion_preserves_keyword_integrity ... ok
[INFO] [stdout] test f012_oversized_payload_rejected ... ok
[INFO] [stdout] test f003_context_hints_present ... ok
[INFO] [stdout] test f008_layered_encoding_enforces_size_cap ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.29s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/adversarial_contextual.rs (/opt/rustwide/target/debug/deps/adversarial_contextual-5dbcebd53d779d6f)
[INFO] [stdout] 
[INFO] [stdout] running 22 tests
[INFO] [stdout] test chinese_characters_json_string ... ok
[INFO] [stdout] test chunked_split_in_header_value_rejected ... ok
[INFO] [stdout] test base64_in_json_string_produces_valid_json ... ok
[INFO] [stdout] test emoji_json_string ... ok
[INFO] [stdout] test empty_payload_all_contexts ... ok
[INFO] [stdout] test header_value_crlf_injection_prevented ... ok
[INFO] [stdout] test html_entity_encode_in_xml_attribute_double_escapes ... ok
[INFO] [stdout] test invalid_utf8_bytes_handled ... ok
[INFO] [stdout] test cookie_value_crlf_injection_prevented_indirectly ... ok
[INFO] [stdout] test every_strategy_produces_valid_plain_body ... ok
[INFO] [stdout] test multipart_field_crlf_injection_prevented ... ok
[INFO] [stdout] test every_strategy_produces_valid_url_query ... ok
[INFO] [stdout] test null_byte_cookie_value_escaped ... ok
[INFO] [stdout] test null_byte_json_string_escaped_not_rejected ... ok
[INFO] [stdout] test overlong_utf8_sequence ... ok
[INFO] [stdout] test single_byte_payload_all_contexts ... ok
[INFO] [stdout] test surrogate_pairs_json_string ... ok
[INFO] [stdout] test truncated_utf8_sequence ... ok
[INFO] [stdout] test null_byte_xml_attribute_rejected ... ok
[INFO] [stdout] test unicode_rtl_override_html_attribute ... ok
[INFO] [stdout] test max_size_plus_one_all_contexts ... ok
[INFO] [stdout] test max_size_minus_one_all_contexts ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.50s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/auth_bypass_deep.rs (/opt/rustwide/target/debug/deps/auth_bypass_deep-406ab49f07451f2c)
[INFO] [stdout] 
[INFO] [stdout] running 36 tests
[INFO] [stdout] test all_seven_family_labels_present ... ok
[INFO] [stdout] test at_least_30_distinct_header_names_present ... ok
[INFO] [stdout] test every_probe_has_non_empty_description ... ok
[INFO] [stdout] test every_probe_has_non_empty_header_name ... ok
[INFO] [stdout] test family_gateway_identity_present ... ok
[INFO] [stdout] test exactly_7_distinct_labels_present ... ok
[INFO] [stdout] test family_host_trust_present ... ok
[INFO] [stdout] test every_probe_has_non_empty_label ... ok
[INFO] [stdout] test every_probe_has_non_empty_value ... ok
[INFO] [stdout] test family_ip_trust_present ... ok
[INFO] [stdout] test family_method_override_present ... ok
[INFO] [stdout] test family_lws_smuggle_present ... ok
[INFO] [stdout] test family_scheme_trust_present ... ok
[INFO] [stdout] test family_url_rewrite_present ... ok
[INFO] [stdout] test header_names_are_valid_ascii_except_for_lws_smuggle_family ... ok
[INFO] [stdout] test header_values_are_valid_utf8 ... ok
[INFO] [stdout] test header_values_contain_no_cr_or_lf ... ok
[INFO] [stdout] test ip_trust_probes_dont_include_target_path ... ok
[INFO] [stdout] test header_names_contain_no_forbidden_chars_except_for_lws_smuggle ... ok
[INFO] [stdout] test probe_count_is_230 ... ok
[INFO] [stdout] test x_forwarded_for_localhost_present ... ok
[INFO] [stdout] test two_calls_return_identical_probes ... ok
[INFO] [stdout] test url_rewrite_probes_include_target_path ... ok
[INFO] [stdout] test no_header_dominates_more_than_50_pct ... ok
[INFO] [stdout] test probe_debug_output_non_empty ... ok
[INFO] [stdout] test lws_smuggle_family_actually_contains_malformed_headers ... ok
[INFO] [stdout] test no_duplicate_labels_per_header_value ... ok
[INFO] [stdout] test x_http_method_override_present ... ok
[INFO] [stdout] test x_original_url_present ... ok
[INFO] [stdout] test no_duplicate_header_value_pairs ... ok
[INFO] [stdout] test probe_count_consistent_across_empty_and_whitespace_paths ... ok
[INFO] [stdout] test probe_count_independent_of_target_path ... ok
[INFO] [stdout] test probe_implements_clone_with_equality ... ok
[INFO] [stdout] test path_with_special_chars_does_not_break_probe_gen ... ok
[INFO] [stdout] test x_real_ip_present ... ok
[INFO] [stderr]      Running tests/auth_bypass_probe_count_documented.rs (/opt/rustwide/target/debug/deps/auth_bypass_probe_count_documented-68cfd7a2393d714b)
[INFO] [stdout] test concurrent_calls_return_consistent_probes ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 36 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test auth_bypass_probe_count_matches_documented_value ... ok
[INFO] [stdout] test auth_bypass_probe_count_is_stable_across_paths ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/contextual.rs (/opt/rustwide/target/debug/deps/contextual-82489b6bad29e1b5)
[INFO] [stdout] 
[INFO] [stdout] running 53 tests
[INFO] [stdout] test cookie_value_escapes_equals ... ok
[INFO] [stdout] test cookie_value_max_size_enforced ... ok
[INFO] [stdout] test cookie_value_escapes_null ... ok
[INFO] [stdout] test cookie_value_escapes_semicolon ... ok
[INFO] [stdout] test escape_for_context_cookie_value ... ok
[INFO] [stdout] test header_value_lf_rejected ... ok
[INFO] [stdout] test escape_for_context_json_string ... ok
[INFO] [stdout] test header_value_cr_rejected ... ok
[INFO] [stdout] test all_strategies_work_with_plain_body ... ok
[INFO] [stdout] test html_attribute_escapes_amp_and_lt ... ok
[INFO] [stdout] test html_attribute_escapes_both_quotes ... ok
[INFO] [stdout] test html_text_escapes_amp_and_lt ... ok
[INFO] [stdout] test header_value_null_rejected ... ok
[INFO] [stdout] test json_number_invalid_rejected ... ok
[INFO] [stdout] test header_value_passes_through_clean ... ok
[INFO] [stdout] test json_number_url_encode_rejected ... ok
[INFO] [stdout] test json_number_valid ... ok
[INFO] [stdout] test json_number_with_decimal ... ok
[INFO] [stdout] test json_string_basic ... ok
[INFO] [stdout] test json_string_escapes_backslash ... ok
[INFO] [stdout] test json_string_escapes_quotes ... ok
[INFO] [stdout] test json_string_null_byte_escaped ... ok
[INFO] [stdout] test json_string_unicode_encode_no_collision ... ok
[INFO] [stdout] test json_string_with_url_encode_strategy ... ok
[INFO] [stdout] test multipart_field_lf_rejected ... ok
[INFO] [stdout] test multipart_field_passes_through ... ok
[INFO] [stdout] test multipart_filename_passes_through ... ok
[INFO] [stdout] test multipart_filename_max_size_enforced ... ok
[INFO] [stdout] test multipart_field_cr_rejected ... ok
[INFO] [stdout] test json_string_emoji_passes_through ... ok
[INFO] [stdout] test multipart_filename_quote_rejected ... ok
[INFO] [stdout] test plain_body_no_structural_escaping ... ok
[INFO] [stdout] test plain_body_with_html_entity_strategy ... ok
[INFO] [stdout] test url_fragment_escapes_special_chars ... ok
[INFO] [stdout] test url_path_space_encoded ... ok
[INFO] [stdout] test url_query_case_alternation_no_raw_space ... ok
[INFO] [stdout] test url_query_unicode_escape_valid ... ok
[INFO] [stdout] test url_query_url_encode_no_double_encoding ... ok
[INFO] [stdout] test validate_accepts_valid_json_string ... ok
[INFO] [stdout] test validate_accepts_valid_xml_attribute ... ok
[INFO] [stdout] test url_path_slash_not_encoded ... ok
[INFO] [stdout] test xml_cdata_terminator_rejected ... ok
[INFO] [stdout] test xml_attribute_escapes_quotes ... ok
[INFO] [stdout] test xml_text_escapes_special_chars ... ok
[INFO] [stdout] test validate_detects_invalid_json_string ... ok
[INFO] [stdout] test json_string_escapes_control_chars ... ok
[INFO] [stdout] test validate_detects_invalid_xml_attribute ... ok
[INFO] [stdout] test xml_attribute_escapes_lt_gt ... ok
[INFO] [stdout] test xml_attribute_null_byte_rejected ... ok
[INFO] [stdout] test xml_cdata_passes_through ... ok
[INFO] [stdout] test xml_attribute_escapes_ampersand ... ok
[INFO] [stdout] test json_string_max_size_enforced ... ok
[INFO] [stdout] test exact_max_size_allowed ... ok
[INFO] [stderr]      Running tests/contextual_audit_extras.rs (/opt/rustwide/target/debug/deps/contextual_audit_extras-a9cec1bb77a60b1e)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 53 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.56s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test cookie_value_encodes_double_quote_and_backslash ... ok
[INFO] [stdout] test cookie_value_encodes_comma ... ok
[INFO] [stdout] test cookie_value_encodes_space ... ok
[INFO] [stdout] test json_string_escapes_line_separator_u2028 ... ok
[INFO] [stdout] test cookie_value_still_encodes_pre_existing_set ... ok
[INFO] [stdout] test xml_attribute_still_escapes_other_metas ... ok
[INFO] [stdout] test json_string_escapes_paragraph_separator_u2029 ... ok
[INFO] [stdout] test xml_attribute_escapes_apostrophe ... ok
[INFO] [stdout] test json_string_existing_escapes_still_work ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]      Running tests/exhaustive_encoder_spec.rs (/opt/rustwide/target/debug/deps/exhaustive_encoder_spec-2a2ef9c453b875a5)
[INFO] [stdout] running 8 tests
[INFO] [stdout] test json_encode_is_a_valid_json_string_round_trip ... ok
[INFO] [stdout] test base64_and_hex_round_trip_to_exact_bytes ... ok
[INFO] [stdout] test space_substitution_keeps_nonspace_payload_in_order ... ok
[INFO] [stdout] test case_strategies_preserve_bytes_modulo_case ... ok
[INFO] [stdout] test empty_input_is_handled_by_every_strategy ... ok
[INFO] [stdout] test html_entity_encoders_neutralise_and_recover_markup ... ok
[INFO] [stdout] test url_encoders_round_trip_exactly ... ok
[INFO] [stderr]      Running tests/header_crlf_audit.rs (/opt/rustwide/target/debug/deps/header_crlf_audit-01a1d467d617ae83)
[INFO] [stdout] test every_strategy_every_input_is_total_and_bounded ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.33s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test clean_value_unchanged ... ok
[INFO] [stdout] test duplicate_header_strips_crlf_in_both_values ... ok
[INFO] [stdout] test comma_join_strips_crlf_in_both_values ... ok
[INFO] [stdout] test tab_separator_strips_crlf_in_value ... ok
[INFO] [stdout] test trailing_space_strips_crlf_in_value ... ok
[INFO] [stdout] test multi_line_fold_strips_crlf_in_value ... ok
[INFO] [stdout] test null_byte_in_value_is_stripped ... ok
[INFO] [stdout] test whitespace_pad_strips_crlf_in_value ... ok
[INFO] [stdout] test line_fold_does_not_double_fold_pre_folded_value ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]      Running tests/json_unicode_alnum_deep.rs (/opt/rustwide/target/debug/deps/json_unicode_alnum_deep-54bc1558ca6f30e5)
[INFO] [stdout] running 79 tests
[INFO] [stdout] test alnum_only_input_equal_to_unicode_escape_truncation ... ok
[INFO] [stdout] test appears_in_all_tamper_names ... ok
[INFO] [stdout] test already_encoded_sequence_skipped ... ok
[INFO] [stdout] test all_ascii_digits_produce_expected_codepoints ... ok
[INFO] [stdout] test backslash_then_non_u_passes_backslash_through ... ok
[INFO] [stdout] test context_arbitrary_works ... ok
[INFO] [stdout] test cjk_passes_through ... ok
[INFO] [stdout] test context_does_not_change_output_for_this_tamper ... ok
[INFO] [stdout] test command_injection_semicolon ... ok
[INFO] [stdout] test context_sql_works ... ok
[INFO] [stdout] test cyrillic_passes_through ... ok
[INFO] [stdout] test context_xss_works ... ok
[INFO] [stdout] test double_backslash_followed_by_valid_escape ... ok
[INFO] [stdout] test emoji_passes_through ... ok
[INFO] [stdout] test context_none_works ... ok
[INFO] [stdout] test escape_then_alnum_then_escape ... ok
[INFO] [stdout] test dollar_sign_passes_through ... ok
[INFO] [stdout] test empty_input_returns_empty ... ok
[INFO] [stdout] test idempotent_on_empty ... ok
[INFO] [stdout] test handles_alternating_alnum_punct ... ok
[INFO] [stdout] test idempotent_on_punctuation_heavy ... ok
[INFO] [stdout] test handles_only_unicode_long ... ok
[INFO] [stdout] test handles_only_punctuation_long ... ok
[INFO] [stdout] test idempotent_propagated_through_ten_passes ... ok
[INFO] [stdout] test mixed_ascii_and_unicode ... ok
[INFO] [stdout] test all_ascii_letters_produce_expected_codepoints ... ok
[INFO] [stdout] test idempotent_on_xss_payload ... ok
[INFO] [stdout] test handles_10kb_alphanumeric_input ... ok
[INFO] [stdout] test idempotent_on_purely_unicode ... ok
[INFO] [stdout] test lone_backslash_passes_through ... ok
[INFO] [stdout] test latin_supplement_passes_through ... ok
[INFO] [stdout] test multiple_consecutive_escapes ... ok
[INFO] [stdout] test output_is_valid_utf8 ... ok
[INFO] [stdout] test log4shell_jndi ... ok
[INFO] [stdout] test registered_description_non_empty ... ok
[INFO] [stdout] test registered_description_mentions_uxxxx ... ok
[INFO] [stdout] test output_preserves_case_in_escape_hex ... ok
[INFO] [stdout] test output_punctuation_survives_verbatim ... ok
[INFO] [stdout] test punctuation_only_input_unchanged ... ok
[INFO] [stdout] test partial_escape_too_short ... ok
[INFO] [stdout] test idempotent_on_keyword ... ok
[INFO] [stdout] test registered_strategy_name_matches ... ok
[INFO] [stdout] test percent_sign_passes_through ... ok
[INFO] [stdout] test registered_aggressiveness_in_range ... ok
[INFO] [stdout] test roundtrip_decodes_to_original_for_mixed_input ... ok
[INFO] [stdout] test roundtrip_preserves_log4shell ... ok
[INFO] [stdout] test roundtrip_decodes_to_original_for_ascii_only ... ok
[INFO] [stdout] test roundtrip_preserves_xss_payload_semantics ... ok
[INFO] [stdout] test roundtrip_preserves_punctuation_heavy ... ok
[INFO] [stdout] test single_ascii_letter_encodes ... ok
[INFO] [stdout] test single_digit_encodes ... ok
[INFO] [stdout] test single_null_byte_passes_through ... ok
[INFO] [stdout] test single_newline_passes_through ... ok
[INFO] [stdout] test single_tab_passes_through ... ok
[INFO] [stdout] test roundtrip_decodes_to_original_with_unicode ... ok
[INFO] [stdout] test single_space_passes_through ... ok
[INFO] [stdout] test skip_pass_with_lowercase_hex ... ok
[INFO] [stdout] test slash_passes_through ... ok
[INFO] [stdout] test template_injection_ssti ... ok
[INFO] [stdout] test tamper_with_unknown_name_errors ... ok
[INFO] [stdout] test skip_pass_with_mixed_case_hex ... ok
[INFO] [stdout] test ssrf_internal_url ... ok
[INFO] [stdout] test single_punctuation_chars_pass_through ... ok
[INFO] [stdout] test skip_pass_with_uppercase_hex ... ok
[INFO] [stdout] test underscore_is_not_alphanumeric_passes_through ... ok
[INFO] [stdout] test unterminated_escape_at_end_of_string ... ok
[INFO] [stdout] test partial_escape_too_few_chars_after_backslash ... ok
[INFO] [stdout] test whitespace_only_input_unchanged ... ok
[INFO] [stdout] test xss_img_onerror ... ok
[INFO] [stdout] test xss_javascript_uri ... ok
[INFO] [stdout] test xxe_external_entity ... ok
[INFO] [stdout] test xss_script_tag_alert ... ok
[INFO] [stdout] test zero_width_chars_pass_through ... ok
[INFO] [stdout] test registry_is_send_and_callable_from_threads ... ok
[INFO] [stdout] test output_contains_no_keyword_bytes ... ok
[INFO] [stdout] test backslash_followed_by_non_hex_after_u ... ok
[INFO] [stdout] test registered_in_default_registry ... ok
[INFO] [stdout] test concurrent_calls_produce_consistent_output ... ok
[INFO] [stderr]      Running tests/mutator_determinism.rs (/opt/rustwide/target/debug/deps/mutator_determinism-9cdba688c7f3a3d0)
[INFO] [stdout] test handles_100kb_input_without_panic ... ok
[INFO] [stderr]      Running tests/mutator_idempotence.rs (/opt/rustwide/target/debug/deps/mutator_idempotence-452c0497ec549b89)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 79 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test encode_random_case_is_deterministic_post_fix ... ok
[INFO] [stdout] test encode_space_to_random_blank_is_deterministic ... ok
[INFO] [stdout] test mutate_url_deterministic_for_fixed_path ... ok
[INFO] [stdout] test header_functions_all_deterministic ... ok
[INFO] [stdout] test tamper_random_case_deterministic_and_varies_with_input ... ok
[INFO] [stdout] test url_strategy_apply_bytes_deterministic ... ok
[INFO] [stdout] test tamper_named_strategies_all_deterministic ... ok
[INFO] [stdout] test encode_pure_strategies_twice_are_byte_identical ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test prop_mutate_url_second_pass_cap ... ok
[INFO] [stdout] test prop_tamper_second_pass_cap ... ok
[INFO] [stdout] test prop_strategy_utf8_idempotence_and_second_pass_cap ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 8.14s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/mutator_panic_audit.rs (/opt/rustwide/target/debug/deps/mutator_panic_audit-2d7bd97c81a6303f)
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test auth_bypass_probes_bounded ... ok
[INFO] [stdout] test contextual_escape_and_encode_bounded ... ok
[INFO] [stdout] test contextual_negative_json_number_rejects_alpha ... ok
[INFO] [stdout] test encode_layered_chain_bounded ... ok
[INFO] [stdout] test encode_invalid_utf8_text_strategies_reject_without_panic ... ok
[INFO] [stdout] test header_mutators_negative_utf8_bytes_rejected_before_str_apis ... ok
[INFO] [stdout] test encode_unicode_stress_bounded ... ok
[INFO] [stdout] test mutate_url_negative_full_url_pass_through ... ok
[INFO] [stdout] test tamper_negative_unknown_strategy_errors ... ok
[INFO] [stdout] test mutate_url_all_strategies_bounded ... ok
[INFO] [stdout] test tamper_every_name_bounded ... ok
[INFO] [stdout] test positive_encode_empty_bounded_negative_oversize_rejected ... ok
[INFO] [stdout] test double_percent_encode_input_cap_documented_negative ... ok
[INFO] [stdout] test header_mutators_adversarial_bounded ... ok
[INFO] [stdout] test encode_layered_negative_output_cap_enforced ... ok
[INFO] [stdout] test url_strategy_apply_and_apply_bytes_bounded ... ok
[INFO] [stdout] test direct_encoding_module_functions_bounded ... ok
[INFO] [stdout] test encode_recursive_depth_eight_bounded ... ok
[INFO] [stdout] test concurrent_encode_no_panic ... ok
[INFO] [stdout] test encode_all_strategies_one_mb_null_and_del_bounded ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 30.69s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/non_canonical_spaces_audit.rs (/opt/rustwide/target/debug/deps/non_canonical_spaces_audit-d882d6ebe388c8cf)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test percent_encoded_question_mark_does_not_double_query ... ok
[INFO] [stdout] test percent_encoded_equals_does_not_create_a_subpair ... ok
[INFO] [stdout] test percent_encoded_hash_does_not_open_a_fragment ... ok
[INFO] [stdout] test percent_encoded_ampersand_does_not_inject_a_pair ... ok
[INFO] [stdout] test safe_chars_still_pass_through_cosmetically ... ok
[INFO] [stdout] test percent_encoded_null_byte_is_re_encoded ... ok
[INFO] [stderr]      Running tests/property.rs (/opt/rustwide/target/debug/deps/property-e53157b964ef6fe6)
[INFO] [stdout] test percent_encoded_percent_is_re_encoded ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test char_boundary_safety_keyword_strategies ... ok
[INFO] [stdout] test roundtrip_base64 ... ok
[INFO] [stdout] test roundtrip_json_encode ... ok
[INFO] [stdout] test roundtrip_url_encode ... ok
[INFO] [stdout] test roundtrip_hex ... ok
[INFO] [stdout] test roundtrip_deflate ... ok
[INFO] [stdout] test roundtrip_double_url_encode ... ok
[INFO] [stdout] test roundtrip_base64_url ... ok
[INFO] [stdout] test roundtrip_gzip ... ok
[INFO] [stdout] test size_bound_all_strategies_reject_oversized ... ok
[INFO] [stdout] test size_bound_single_strategy ... ok
[INFO] [stdout] test char_boundary_safety_unicode_encode ... ok
[INFO] [stdout] test output_size_bounded_for_small_inputs ... ok
[INFO] [stdout] test size_bound_layered_encoding ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.92s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/property_suite.rs (/opt/rustwide/target/debug/deps/property_suite-d6270aa953297adc)
[INFO] [stdout] 
[INFO] [stdout] running 54 tests
[INFO] [stdout] test cache_poison_x_forwarded_port_full_range ... ok
[INFO] [stdout] test invisible_soft_hyphen_inject_no_panic ... ok
[INFO] [stdout] test invisible_tag_char_encode_no_panic ... ok
[INFO] [stdout] test invisible_parenthesized_letter_no_panic ... ok
[INFO] [stdout] test method_override_all_variants_carry_method ... ok
[INFO] [stdout] test invisible_variation_selector_pad_no_panic ... ok
[INFO] [stdout] test cache_poison_key_normalization_variants_count ... ok
[INFO] [stdout] test invisible_word_joiner_wrap_no_panic ... ok
[INFO] [stdout] test invisible_tag_char_encode_deterministic ... ok
[INFO] [stdout] test invisible_ligature_encode_idempotent_on_no_match ... ok
[INFO] [stdout] test method_override_all_variants_minimum ... ok
[INFO] [stdout] test invisible_circled_letter_no_panic ... ok
[INFO] [stdout] test race_h2_last_byte_sync_rejects_even_stream_ids ... ok
[INFO] [stdout] test path_norm_rfc3986_no_panic ... ok
[INFO] [stdout] test cache_poison_x_forwarded_host_no_panic ... ok
[INFO] [stdout] test race_h2_last_byte_sync_accepts_odd_stream_ids ... ok
[INFO] [stdout] test invisible_ligature_encode_no_panic ... ok
[INFO] [stdout] test request_line_exotic_methods_stable ... ok
[INFO] [stdout] test method_override_form_field_basic ... ok
[INFO] [stdout] test path_norm_variants_minimum_count ... ok
[INFO] [stdout] test path_norm_variants_deterministic ... ok
[INFO] [stdout] test method_override_query_starts_with_question_mark ... ok
[INFO] [stdout] test method_override_header_no_panic ... ok
[INFO] [stdout] test race_h2_last_byte_sync_rejects_mismatched_lengths ... ok
[INFO] [stdout] test path_norm_deep_collapse_no_panic ... ok
[INFO] [stdout] test cache_poison_web_cache_deception_paths_count ... ok
[INFO] [stdout] test unicode_bidi_inject_no_panic ... ok
[INFO] [stdout] test unicode_combining_mark_inject_no_panic ... ok
[INFO] [stdout] test unicode_json_unicode_mixed_case_no_panic ... ok
[INFO] [stdout] test unicode_html_entity_variants_no_panic ... ok
[INFO] [stdout] test unicode_math_double_struck_no_panic ... ok
[INFO] [stdout] test unicode_json_unicode_full_no_panic ... ok
[INFO] [stdout] test request_line_no_crlf_in_output ... ok
[INFO] [stdout] test unicode_math_fraktur_no_panic ... ok
[INFO] [stdout] test cache_poison_all_variants_carry_marker ... ok
[INFO] [stdout] test request_line_authority_form_no_panic ... ok
[INFO] [stdout] test unicode_letterlike_no_panic ... ok
[INFO] [stdout] test unicode_json_key_unicode_escape_no_panic ... ok
[INFO] [stdout] test unicode_sql_adjacent_string_concat_no_panic ... ok
[INFO] [stdout] test unicode_math_italic_no_panic ... ok
[INFO] [stdout] test path_norm_rfc3986_deterministic ... ok
[INFO] [stdout] test unicode_math_script_no_panic ... ok
[INFO] [stdout] test unicode_script_homoglyph_no_panic ... ok
[INFO] [stdout] test unicode_overlong_utf8_path_no_panic ... ok
[INFO] [stdout] test unicode_sharp_s_no_panic ... ok
[INFO] [stdout] test unicode_sql_char_decompose_no_panic ... ok
[INFO] [stdout] test unicode_pg_chr_decompose_no_panic ... ok
[INFO] [stdout] test unicode_turkish_i_no_panic ... ok
[INFO] [stdout] test unicode_sql_concat_split_no_panic ... ok
[INFO] [stdout] test unicode_zero_width_inject_no_panic ... ok
[INFO] [stdout] test invisible_tag_char_encode_preserves_length_for_ascii ... ok
[INFO] [stdout] test request_line_absolute_uri_no_panic ... ok
[INFO] [stderr]      Running tests/smuggle_probe_integration.rs (/opt/rustwide/target/debug/deps/smuggle_probe_integration-6ca0e3f538e4504a)
[INFO] [stdout] test race_pipelined_h1_no_panic ... ok
[INFO] [stdout] test path_norm_variants_no_panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 54 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.24s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 27 tests
[INFO] [stdout] test compose_duplicate_header_probes_preserves_all_header_lines ... ok
[INFO] [stdout] test compose_cookie_plus_path_chains_into_one_request ... ok
[INFO] [stdout] test compose_cookie_plus_host_plus_jwt_chains_into_one_request ... ok
[INFO] [stdout] test descriptions_are_non_trivial_human_readable_strings ... ok
[INFO] [stdout] test duplicate_header_variant_emits_two_pairs_with_same_name ... ok
[INFO] [stdout] test every_probe_returns_non_empty_technique_identifier ... ok
[INFO] [stdout] test host_duplicate_header_emits_two_host_pairs ... ok
[INFO] [stdout] test compose_header_plus_real_multipart_body ... ok
[INFO] [stdout] test compose_cookie_plus_path_plus_json_into_one_request ... ok
[INFO] [stdout] test family_identifiers_partition_into_three_distinct_namespaces ... ok
[INFO] [stdout] test compose_real_cookie_plus_auth_plus_range_into_one_request ... ok
[INFO] [stdout] test host_family_artifact_is_headers_with_host_name ... ok
[INFO] [stdout] test host_family_implements_trait_object_safely ... ok
[INFO] [stdout] test json_duplicate_key_body_contains_both_role_pairs ... ok
[INFO] [stdout] test jwt_family_implements_trait_object_safely ... ok
[INFO] [stdout] test path_artifact_value_carries_encoded_dot_dot ... ok
[INFO] [stdout] test jwt_family_emits_bearer_authorization_header ... ok
[INFO] [stdout] test every_probe_returns_a_distinct_canary ... ok
[INFO] [stdout] test path_family_implements_trait_object_safely ... ok
[INFO] [stdout] test trait_is_object_safe_across_all_three_families ... ok
[INFO] [stdout] test path_family_canaries_are_unique_per_variant ... ok
[INFO] [stdout] test content_type_variant_artifact_is_body_with_content_type ... ok
[INFO] [stdout] test wire_byte_count_is_positive_for_every_probe ... ok
[INFO] [stdout] test json_family_artifact_is_body_with_application_json_content_type ... ok
[INFO] [stdout] test json_family_implements_trait_object_safely ... ok
[INFO] [stdout] test compose_host_plus_path_plus_cookie_chains_into_one_request ... ok
[INFO] [stdout] test every_header_artifact_has_at_least_one_pair ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/sql_adjacent_string_concat_deep.rs (/opt/rustwide/target/debug/deps/sql_adjacent_string_concat_deep-58d7a27ec947e2d2)
[INFO] [stdout] 
[INFO] [stdout] running 62 tests
[INFO] [stdout] test appears_in_all_tamper_names ... ok
[INFO] [stdout] test admin_credential ... ok
[INFO] [stdout] test dogfood_b5_its_a_test_shatters ... ok
[INFO] [stdout] test empty_input ... ok
[INFO] [stdout] test empty_literal_passthrough ... ok
[INFO] [stdout] test escape_at_start_of_literal ... ok
[INFO] [stdout] test escaped_quote_literal_shatters_with_four_quote_form ... ok
[INFO] [stdout] test escape_at_end_of_literal ... ok
[INFO] [stdout] test etc_passwd_path ... ok
[INFO] [stdout] test full_sqli_with_admin_literal ... ok
[INFO] [stdout] test input_is_only_a_single_quote ... ok
[INFO] [stdout] test idempotent_under_ten_passes ... ok
[INFO] [stdout] test information_schema_identifier ... ok
[INFO] [stdout] test handles_many_short_literals ... ok
[INFO] [stdout] test handles_one_long_literal_5kb ... ok
[INFO] [stdout] test idempotent_on_credential_payload ... ok
[INFO] [stdout] test idempotent_on_path_payload ... ok
[INFO] [stdout] test idempotent_on_unicode_literal ... ok
[INFO] [stdout] test literal_with_emoji ... ok
[INFO] [stdout] test input_is_two_single_quotes_no_content ... ok
[INFO] [stdout] test literal_purely_unicode ... ok
[INFO] [stdout] test mixed_literal_with_and_without_escape ... ok
[INFO] [stdout] test input_is_three_single_quotes_unterminated_escape ... ok
[INFO] [stdout] test multiple_escaped_quotes_shatter ... ok
[INFO] [stdout] test payload_with_internal_newline_in_literal ... ok
[INFO] [stdout] test output_remains_valid_utf8 ... ok
[INFO] [stdout] test payload_with_internal_whitespace_in_literal ... ok
[INFO] [stdout] test output_separator_is_single_space ... ok
[INFO] [stdout] test payload_with_no_alphanumeric_inside_literal ... ok
[INFO] [stdout] test registered_aggressiveness_in_range ... ok
[INFO] [stdout] test payload_with_backslash_in_literal ... ok
[INFO] [stdout] test registered_in_default_registry ... ok
[INFO] [stdout] test registered_strategy_name_matches ... ok
[INFO] [stdout] test rejoin_undoes_shatter_for_admin ... ok
[INFO] [stdout] test rejoin_undoes_shatter_for_full_sqli ... ok
[INFO] [stdout] test literal_with_cjk_char ... ok
[INFO] [stdout] test rejoin_preserves_short_literals ... ok
[INFO] [stdout] test fifty_passes_bound_within_4x ... ok
[INFO] [stdout] test handles_100kb_mixed_payload ... ok
[INFO] [stdout] test rejoin_undoes_shatter_for_path ... ok
[INFO] [stdout] test rejoin_undoes_shatter_for_unicode ... ok
[INFO] [stdout] test root_credential ... ok
[INFO] [stdout] test single_char_literal_passthrough ... ok
[INFO] [stdout] test second_pass_does_not_explode_length ... ok
[INFO] [stdout] test shattered_output_is_sql_parser_compatible_shape ... ok
[INFO] [stdout] test registered_description_non_empty ... ok
[INFO] [stdout] test two_char_literal_shatters ... ok
[INFO] [stdout] test unterminated_after_closed_literal ... ok
[INFO] [stdout] test unterminated_quote_at_end_passthrough ... ok
[INFO] [stdout] test three_literals_each_shatters ... ok
[INFO] [stdout] test three_char_literal_shatters ... ok
[INFO] [stdout] test two_literals_each_shatters ... ok
[INFO] [stdout] test cmd_exe_path ... ok
[INFO] [stdout] test no_leading_or_trailing_space_around_shattered_literal ... ok
[INFO] [stdout] test no_quotes_in_input_passthrough ... ok
[INFO] [stdout] test unterminated_with_no_content ... ok
[INFO] [stdout] test context_does_not_affect_output ... ok
[INFO] [stdout] test payload_with_internal_null_byte_in_literal ... ok
[INFO] [stdout] test literal_with_latin_supplement_char ... ok
[INFO] [stdout] test many_literals_in_payload ... ok
[INFO] [stdout] test mixed_short_and_long_literals ... ok
[INFO] [stderr]      Running tests/tamper_composition_deep.rs (/opt/rustwide/target/debug/deps/tamper_composition_deep-27297f7d3d51edcc)
[INFO] [stdout] test concurrent_calls_consistent ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 62 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 23 tests
[INFO] [stdout] test case_alternation_then_json_unicode_alnum ... ok
[INFO] [stdout] test composition_does_not_panic_for_any_pair_of_new_tampers ... ok
[INFO] [stdout] test json_unicode_alnum_then_base64_ok ... ok
[INFO] [stdout] test json_unicode_alnum_then_double_url_encode_ok ... ok
[INFO] [stdout] test json_unicode_alnum_then_html_entity_ok ... ok
[INFO] [stdout] test json_unicode_alnum_then_sql_adjacent ... ok
[INFO] [stdout] test json_unicode_alnum_then_url_encode_round_trip_ok ... ok
[INFO] [stdout] test json_unicode_alnum_url_encode_order_matters ... ok
[INFO] [stdout] test json_unicode_alnum_then_url_encode_within_24x_growth ... ok
[INFO] [stdout] test sql_adjacent_then_double_url_encode_ok ... ok
[INFO] [stdout] test sql_adjacent_then_html_entity_ok ... ok
[INFO] [stdout] test sql_adjacent_then_html_entity_within_30x_growth ... ok
[INFO] [stdout] test sql_adjacent_then_json_unicode_alnum ... ok
[INFO] [stdout] test sql_adjacent_then_json_unicode_alnum_combined ... ok
[INFO] [stdout] test sql_concat_split_then_sql_adjacent_string_concat ... ok
[INFO] [stdout] test sql_adjacent_then_url_encode_order_matters ... ok
[INFO] [stdout] test url_encode_then_json_unicode_alnum ... ok
[INFO] [stdout] test sql_adjacent_then_sql_char_decompose ... ok
[INFO] [stdout] test three_way_composition_does_not_panic ... ok
[INFO] [stdout] test sql_adjacent_then_url_encode_ok ... ok
[INFO] [stdout] test composition_with_all_default_tampers_does_not_panic ... ok
[INFO] [stdout] test composition_preserves_utf8_validity_unicode_input ... ok
[INFO] [stdout] test composition_preserves_utf8_for_all_pairs_simple_payload ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/tamper_proptest.rs (/opt/rustwide/target/debug/deps/tamper_proptest-5f236f3a979c6b9d)
[INFO] [stdout] 
[INFO] [stdout] running 34 tests
[INFO] [stdout] test prop_case_alternation_never_panics ... ok
[INFO] [stdout] test prop_double_url_encode_never_panics ... ok
[INFO] [stdout] test prop_math_bold_never_panics ... ok
[INFO] [stdout] test prop_hex_literal_keyword_never_panics ... ok
[INFO] [stdout] test prop_hex_encode_never_panics ... ok
[INFO] [stdout] test prop_mysql_versioned_comment_wrap_structure ... ok
[INFO] [stdout] test prop_mxss_namespace_wrap_never_panics ... ok
[INFO] [stdout] test prop_html_entity_variants_never_panics ... ok
[INFO] [stdout] test prop_mysql_versioned_comment_never_panics ... ok
[INFO] [stdout] test prop_base64_never_panics ... ok
[INFO] [stdout] test prop_bracket_confusable_never_panics ... ok
[INFO] [stdout] test prop_bell_separator_never_panics ... ok
[INFO] [stdout] test prop_case_alternation_double_apply_no_panic ... ok
[INFO] [stdout] test prop_mxss_namespace_wrap_always_starts_with_math ... ok
[INFO] [stdout] test prop_registry_aggressiveness_in_range ... ok
[INFO] [stdout] test prop_html_entity_never_panics ... ok
[INFO] [stdout] test prop_bracket_confusable_no_ascii_angle_brackets ... ok
[INFO] [stdout] test prop_null_byte_never_panics ... ok
[INFO] [stdout] test tamper_utf8_boundary_chars_no_panic ... ok
[INFO] [stdout] test prop_bell_separator_round_trips ... ok
[INFO] [stdout] test prop_random_case_never_panics ... ok
[INFO] [stdout] test prop_postgres_dollar_quote_never_panics ... ok
[INFO] [stdout] test prop_sql_concat_split_never_panics ... ok
[INFO] [stdout] test prop_pg_chr_decompose_never_panics ... ok
[INFO] [stdout] test prop_sql_char_decompose_never_panics ... ok
[INFO] [stdout] test prop_overlong_utf8_never_panics ... ok
[INFO] [stdout] test prop_postgres_dollar_quote_passthrough_when_no_quote ... ok
[INFO] [stdout] test prop_sql_comment_never_panics ... ok
[INFO] [stdout] test prop_whitespace_insertion_never_panics ... ok
[INFO] [stdout] test prop_zero_width_inject_strip_recovers_original ... ok
[INFO] [stdout] test prop_unicode_escape_never_panics ... ok
[INFO] [stdout] test prop_zero_width_inject_never_panics ... ok
[INFO] [stdout] test prop_url_encode_never_panics ... ok
[INFO] [stdout] test tamper_random_512k_blob_no_panic ... ok
[INFO] [stderr]      Running tests/tamper_universal_invariants.rs (/opt/rustwide/target/debug/deps/tamper_universal_invariants-07c0ebf2890f685d)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 34 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.92s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 41 tests
[INFO] [stdout] test by_aggressiveness_is_monotonic_non_decreasing ... ok
[INFO] [stdout] test empty_registry_then_register_works ... ok
[INFO] [stdout] test every_aggressiveness_finite_in_range ... ok
[INFO] [stdout] test every_default_name_resolves_in_registry ... ok
[INFO] [stdout] test every_description_is_non_empty_ascii_text ... ok
[INFO] [stdout] test every_description_is_valid_utf8 ... ok
[INFO] [stdout] test every_name_is_lowercase_ascii_snake_case ... ok
[INFO] [stdout] test every_tamper_returns_valid_utf8_for_keyword_payload ... ok
[INFO] [stdout] test every_tamper_returns_valid_utf8_for_unicode_payload ... ok
[INFO] [stdout] test by_aggressiveness_returns_all_strategies ... ok
[INFO] [stdout] test name_returned_by_strategy_matches_registry_key ... ok
[INFO] [stdout] test default_registry_has_at_least_28_tampers ... ok
[INFO] [stdout] test no_duplicate_names_in_default_list ... ok
[INFO] [stdout] test every_tamper_returns_valid_utf8_for_xss ... ok
[INFO] [stdout] test no_panic_on_empty_input ... ok
[INFO] [stdout] test no_default_tamper_produces_empty_output_on_keyword ... ok
[INFO] [stdout] test independent_registries_have_identical_tampers ... ok
[INFO] [stdout] test no_panic_on_only_whitespace ... ok
[INFO] [stdout] test no_panic_on_only_quotes ... ok
[INFO] [stdout] test no_default_tamper_produces_empty_output_on_xss ... ok
[INFO] [stdout] test registry_get_returns_none_for_unknown ... ok
[INFO] [stdout] test no_panic_on_control_chars ... ok
[INFO] [stdout] test no_panic_on_null_byte ... ok
[INFO] [stdout] test no_panic_on_high_unicode ... ok
[INFO] [stdout] test deterministic_tampers_produce_same_output_twice ... ok
[INFO] [stdout] test no_panic_on_only_format_chars ... ok
[INFO] [stdout] test no_panic_on_only_backslashes ... ok
[INFO] [stdout] test unknown_tamper_returns_error ... ok
[INFO] [stdout] test registry_name_count_matches_static_list_count ... ok
[INFO] [stdout] test second_pass_bound_on_keyword ... ok
[INFO] [stdout] test second_pass_bound_on_empty ... ok
[INFO] [stdout] test no_panic_on_repeated_quote_alternation ... ok
[INFO] [stdout] test second_pass_bound_on_long_repetitive ... ok
[INFO] [stdout] test dispatch_via_tamper_fn_matches_registry_get ... ok
[INFO] [stdout] test no_panic_on_combined_attack_payloads ... ok
[INFO] [stdout] test cross_product_every_tamper_every_payload ... ok
[INFO] [stdout] test no_panic_on_huge_unicode_input ... ok
[INFO] [stdout] test no_panic_on_single_ascii_char ... ok
[INFO] [stdout] test deterministic_tampers_consistent_across_threads ... ok
[INFO] [stdout] test no_panic_on_huge_alphanumeric_input ... ok
[INFO] [stdout] test no_panic_on_huge_punctuation ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 41 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.36s
[INFO] [stderr]      Running tests/url_mutate_audit_fixes.rs (/opt/rustwide/target/debug/deps/url_mutate_audit_fixes-604cd8189046db14)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stdout] test double_ampersand_preserves_empty_parameter ... ok
[INFO] [stdout] test fragment_delimiter_preserved_through_query_mutation ... ok
[INFO] [stdout] test fragment_with_special_chars_is_not_mutated ... ok
[INFO] [stdout] test double_percent_encode_at_limit_still_double_encodes ... ok
[INFO] [stdout] test full_url_with_scheme_is_passed_through_unchanged ... ok
[INFO] [stdout] test last_path_segment_decodes_before_re_encoding ... ok
[INFO] [stdout] test last_path_segment_without_pre_encoding_still_works ... ok
[INFO] [stdout] test no_op_mutation_does_not_report_technique_applied ... ok
[INFO] [stdout] test non_utf8_byte_sequence_survives_path_segment_round_trip ... ok
[INFO] [stdout] test overlong_utf8_sequence_survives_query_value_round_trip ... ok
[INFO] [stdout] test percent_encoded_slash_is_a_path_segment_boundary ... ok
[INFO] [stdout] test real_mutation_still_reports_technique ... ok
[INFO] [stdout] test leading_ampersand_in_query_is_preserved ... ok
[INFO] [stdout] test non_utf8_byte_sequence_survives_query_value_round_trip ... ok
[INFO] [stdout] test plus_in_query_value_is_decoded_to_space_before_mutation ... ok
[INFO] [stdout] test protocol_relative_url_is_passed_through_unchanged ... ok
[INFO] [stdout] test no_fragment_no_change_to_query_behaviour ... ok
[INFO] [stdout] test non_canonical_spaces_capacity_does_not_overflow ... ok
[INFO] [stdout] test double_percent_encode_caps_oversize_input ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.23s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/url_mutate_signature_evasion.rs (/opt/rustwide/target/debug/deps/url_mutate_signature_evasion-82fe2ca5b5da28d4)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test prop_url_safe_set_bytes_are_never_literal ... ok
[INFO] [stdout] test prop_percent_encode_aggressive_contract ... ok
[INFO] [stdout] test prop_apply_bytes_never_panics ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.47s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/validate_in_context_audit.rs (/opt/rustwide/target/debug/deps/validate_in_context_audit-94ff4c9ea31cf28b)
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test escape_then_validate_round_trip_html_attr ... ok
[INFO] [stdout] test escape_then_validate_round_trip_html_text ... ok
[INFO] [stdout] test escape_then_validate_round_trip_xml_text ... ok
[INFO] [stdout] test html_attribute_accepts_clean_value ... ok
[INFO] [stdout] test html_attribute_rejects_double_quote ... ok
[INFO] [stdout] test html_attribute_rejects_single_quote ... ok
[INFO] [stdout] test html_attribute_rejects_unescaped_ampersand ... ok
[INFO] [stdout] test html_text_accepts_clean_text_and_entities ... ok
[INFO] [stdout] test html_text_rejects_unescaped_ampersand ... ok
[INFO] [stdout] test html_text_rejects_raw_lt ... ok
[INFO] [stdout] test html_attribute_rejects_raw_lt ... ok
[INFO] [stdout] test xml_cdata_accepts_clean_payload ... ok
[INFO] [stdout] test xml_text_accepts_proper_entity_references ... ok
[INFO] [stdout] test xml_cdata_rejects_terminator_sequence ... ok
[INFO] [stdout] test xml_text_rejects_unescaped_ampersand ... ok
[INFO] [stdout] test xml_text_rejects_raw_lt ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests wafrift_encoding
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test src/lib.rs - (line 33) ... ok
[INFO] [stdout] test src/lib.rs - (line 16) ... ok
[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] all doctests ran in 0.85s; merged doctests compilation took 0.83s
[INFO] running `Command { std: "docker" "inspect" "1e73c00739f1c7e1cce80133b1b85bebde3338c249aaa455e029b65d04a77dbf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1e73c00739f1c7e1cce80133b1b85bebde3338c249aaa455e029b65d04a77dbf", kill_on_drop: false }`
[INFO] [stdout] 1e73c00739f1c7e1cce80133b1b85bebde3338c249aaa455e029b65d04a77dbf
