[INFO] fetching crate wisegate-core 0.12.0...
[INFO] testing wisegate-core-0.12.0 against 1.99.0-beta.8 for beta-1.100-2
[INFO] extracting crate wisegate-core 0.12.0 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate wisegate-core 0.12.0
[INFO] finished tweaking crates.io crate wisegate-core 0.12.0
[INFO] tweaked toml for crates.io crate wisegate-core 0.12.0 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate wisegate-core 0.12.0 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate wisegate-core 0.12.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded quote v1.0.43
[INFO] [stderr]   Downloaded proc-macro2 v1.0.105
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.108
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.108
[INFO] [stderr]   Downloaded bcrypt v0.17.1
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.58
[INFO] [stderr]   Downloaded zmij v1.0.14
[INFO] [stderr]   Downloaded blowfish v0.9.1
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.108
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.108
[INFO] [stderr]   Downloaded js-sys v0.3.85
[INFO] [stderr]   Downloaded bumpalo v3.19.1
[INFO] [stderr]   Downloaded reqwest v0.13.1
[INFO] [stderr]   Downloaded hyper-util v0.1.19
[INFO] [stderr]   Downloaded syn v2.0.114
[INFO] [stderr]   Downloaded web-sys v0.3.85
[INFO] [stderr]   Downloaded libc v0.2.180
[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:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 950de8e637ce0986710c5ef094b7e7ea4c21be2cb806065bfd106637c4dc14e5
[INFO] running `Command { std: "docker" "start" "950de8e637ce0986710c5ef094b7e7ea4c21be2cb806065bfd106637c4dc14e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "950de8e637ce0986710c5ef094b7e7ea4c21be2cb806065bfd106637c4dc14e5", 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" "950de8e637ce0986710c5ef094b7e7ea4c21be2cb806065bfd106637c4dc14e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "950de8e637ce0986710c5ef094b7e7ea4c21be2cb806065bfd106637c4dc14e5", 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" "950de8e637ce0986710c5ef094b7e7ea4c21be2cb806065bfd106637c4dc14e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.105
[INFO] [stderr]    Compiling quote v1.0.43
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling pin-project-lite v0.2.16
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling bytes v1.11.0
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling zmij v1.0.14
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling blowfish v0.9.1
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling bcrypt v0.17.1
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling hyper-util v0.1.19
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling reqwest v0.13.1
[INFO] [stderr]    Compiling wisegate-core v0.12.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.72s
[INFO] running `Command { std: "docker" "inspect" "950de8e637ce0986710c5ef094b7e7ea4c21be2cb806065bfd106637c4dc14e5", 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" "950de8e637ce0986710c5ef094b7e7ea4c21be2cb806065bfd106637c4dc14e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling slab v0.4.11
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling hyper-util v0.1.19
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling reqwest v0.13.1
[INFO] [stderr]    Compiling wisegate-core v0.12.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 15.63s
[INFO] running `Command { std: "docker" "inspect" "950de8e637ce0986710c5ef094b7e7ea4c21be2cb806065bfd106637c4dc14e5", 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" "950de8e637ce0986710c5ef094b7e7ea4c21be2cb806065bfd106637c4dc14e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/wisegate_core-0c5b14db3a0397b3)
[INFO] [stdout] 
[INFO] [stdout] running 162 tests
[INFO] [stdout] test auth::tests::test_check_basic_auth_with_credentials ... ok
[INFO] [stdout] test auth::hash::tests::test_verify_sha1_password ... ok
[INFO] [stdout] test auth::hash::tests::test_constant_time_eq ... ok
[INFO] [stdout] test auth::tests::test_check_bearer_token_valid ... ok
[INFO] [stdout] test auth::tests::test_check_bearer_token_basic_auth_header ... ok
[INFO] [stdout] test auth::tests::test_check_bearer_token_no_token_configured ... ok
[INFO] [stdout] test auth::tests::test_check_bearer_token_prefix_case_insensitive ... ok
[INFO] [stdout] test auth::tests::test_credentials_from_entries ... ok
[INFO] [stdout] test auth::tests::test_check_bearer_token_value_case_sensitive ... ok
[INFO] [stdout] test auth::tests::test_credential_parse_empty_user ... ok
[INFO] [stdout] test auth::tests::test_check_bearer_token_valid_with_whitespace ... ok
[INFO] [stdout] test auth::tests::test_credential_parse_with_colon_in_password ... ok
[INFO] [stdout] test auth::tests::test_credentials_empty ... ok
[INFO] [stdout] test auth::tests::test_credential_parse_no_colon ... ok
[INFO] [stdout] test auth::tests::test_credential_parse_valid ... ok
[INFO] [stdout] test auth::tests::test_check_bearer_token_no_header ... ok
[INFO] [stdout] test auth::tests::test_verify_missing_colon_in_decoded ... ok
[INFO] [stdout] test auth::tests::test_verify_non_basic_auth ... ok
[INFO] [stdout] test auth::tests::test_verify_invalid_base64 ... ok
[INFO] [stdout] test auth::tests::test_verify_multiple_credentials ... ok
[INFO] [stdout] test auth::tests::test_verify_plain_text ... ok
[INFO] [stdout] test error::tests::test_error_display ... ok
[INFO] [stdout] test auth::tests::test_verify_sha1 ... ok
[INFO] [stdout] test error::tests::test_status_codes_all_variants ... ok
[INFO] [stdout] test default_config::tests::default_values_match_cli_defaults ... ok
[INFO] [stdout] test headers::tests::test_header_constants_lowercase ... ok
[INFO] [stdout] test error::tests::test_user_messages_do_not_leak_internals ... ok
[INFO] [stdout] test auth::tests::test_verify_wrong_user ... ok
[INFO] [stdout] test default_config::tests::default_config_implements_config_provider ... ok
[INFO] [stdout] test error::tests::test_is_server_error_all_variants ... ok
[INFO] [stdout] test headers::tests::test_hop_by_hop_headers ... ok
[INFO] [stdout] test headers::tests::test_not_hop_by_hop_headers ... ok
[INFO] [stdout] test auth::tests::test_verify_apr1 ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_and_validate_real_ip_strict_missing_forwarded ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_and_validate_real_ip_permissive_with_forwarded ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_and_validate_real_ip_permissive_xff_priority ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_and_validate_real_ip_strict_missing_xff ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_and_validate_real_ip_permissive_with_xff ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_and_validate_real_ip_strict_proxy_not_allowed ... ok
[INFO] [stdout] test auth::tests::test_check_bearer_token_invalid ... ok
[INFO] [stdout] test auth::hash::tests::test_verify_plain_text ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_client_ip_from_forwarded_ipv6 ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_client_ip_from_forwarded_with_by ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_client_ip_from_forwarded_multiple_elements ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_and_validate_real_ip_permissive_no_headers ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_client_ip_from_xff_invalid_only ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_and_validate_real_ip_strict_valid ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_client_ip_from_forwarded_unknown ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_canonicalizes_ipv6_forms ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_client_ip_from_xff_chain ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_client_ip_from_forwarded_simple ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_client_ip_from_xff_empty ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_client_ip_from_xff_single ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_client_ip_from_xff_with_whitespace ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_ip_from_node_identifier_bracketed_ipv6 ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_ip_from_node_identifier_bracketed_ipv6_with_port ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_ip_from_node_identifier_ipv4_with_port ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_ip_from_node_identifier_plain_ipv4 ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_proxy_ip_from_forwarded_multiple_elements ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_proxy_ip_from_forwarded_no_by ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_ip_from_node_identifier_unknown ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_ip_from_node_identifier_with_whitespace ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_ip_from_node_identifier_quoted ... ok
[INFO] [stdout] test ip_filter::tests::test_is_ip_blocked_empty_list ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_ip_from_node_identifier_obfuscated ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_proxy_ip_from_forwarded_simple ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_ip_from_node_identifier_plain_ipv6 ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_proxy_ip_from_forwarded_ipv6 ... ok
[INFO] [stdout] test ip_filter::tests::test_is_ip_blocked_when_blocked ... ok
[INFO] [stdout] test ip_filter::tests::test_is_ip_blocked_when_not_blocked ... ok
[INFO] [stdout] test ip_filter::tests::test_is_proxy_ip_allowed_in_list ... ok
[INFO] [stdout] test ip_filter::tests::test_is_proxy_ip_allowed_matches_non_canonical_config ... ok
[INFO] [stdout] test ip_filter::tests::test_is_proxy_ip_allowed_no_list ... ok
[INFO] [stdout] test ip_filter::tests::test_parse_canonical_ip_empty ... ok
[INFO] [stdout] test ip_filter::tests::test_is_ip_blocked_matches_non_canonical_config ... ok
[INFO] [stdout] test ip_filter::tests::test_parse_canonical_ip_garbage ... ok
[INFO] [stdout] test ip_filter::tests::test_parse_canonical_ip_ipv6 ... ok
[INFO] [stdout] test ip_filter::tests::test_is_ip_blocked_ipv6 ... ok
[INFO] [stdout] test ip_filter::tests::test_is_proxy_ip_allowed_not_in_list ... ok
[INFO] [stdout] test ip_filter::tests::test_extract_client_ip_from_xff_ipv6 ... ok
[INFO] [stdout] test auth::tests::test_check_basic_auth_no_credentials ... ok
[INFO] [stdout] test ip_filter::tests::test_parse_canonical_ip_ipv4 ... ok
[INFO] [stdout] test ip_filter::tests::test_parse_canonical_ip_ipv6_bracketed ... ok
[INFO] [stdout] test auth::tests::test_check_bearer_token_empty_token ... ok
[INFO] [stdout] test ip_filter::tests::test_parse_canonical_ip_ipv4_invalid ... ok
[INFO] [stdout] test rate_limiter::tests::test_entries_tracked_per_ip ... ok
[INFO] [stdout] test rate_limiter::tests::test_first_request_allowed ... ok
[INFO] [stdout] test rate_limiter::tests::test_limit_of_one ... ok
[INFO] [stdout] test rate_limiter::tests::test_ipv6_addresses ... ok
[INFO] [stdout] test rate_limiter::tests::test_different_ips_independent ... ok
[INFO] [stdout] test rate_limiter::tests::test_concurrent_requests_same_ip ... ok
[INFO] [stdout] test rate_limiter::tests::test_concurrent_requests_different_ips ... ok
[INFO] [stdout] test rate_limiter::tests::test_cleanup_disabled_when_threshold_zero ... ok
[INFO] [stdout] test rate_limiter::tests::test_window_not_expired_keeps_count ... ok
[INFO] [stdout] test rate_limiter::tests::test_counter_increments_correctly ... ok
[INFO] [stdout] test rate_limiter::tests::test_request_exceeding_limit_blocked ... ok
[INFO] [stdout] test rate_limiter::tests::test_requests_within_limit_allowed ... ok
[INFO] [stdout] test rate_limiter::tests::test_limiter_clone_shares_state ... ok
[INFO] [stdout] test request_handler::tests::test_create_error_response_body ... ok
[INFO] [stdout] test request_handler::tests::test_create_error_response_content_type ... ok
[INFO] [stdout] test request_handler::tests::test_create_error_response_empty_message ... ok
[INFO] [stdout] test rate_limiter::tests::test_multiple_blocked_requests ... ok
[INFO] [stdout] test request_handler::tests::test_create_error_response_status ... ok
[INFO] [stdout] test request_handler::tests::test_method_blocked ... ok
[INFO] [stdout] test request_handler::tests::test_method_blocked_case_insensitive ... ok
[INFO] [stdout] test request_handler::tests::test_method_blocked_empty_list ... ok
[INFO] [stdout] test auth::hash::tests::test_apr1_known_hash ... ok
[INFO] [stdout] test request_handler::tests::test_method_not_blocked ... ok
[INFO] [stdout] test request_handler::tests::test_url_decode_double_encoding_not_decoded_twice ... ok
[INFO] [stdout] test request_handler::tests::test_unauthorized_response_status ... ok
[INFO] [stdout] test request_handler::tests::test_unauthorized_response_realm_with_quotes ... ok
[INFO] [stdout] test request_handler::tests::test_unauthorized_response_content_type ... ok
[INFO] [stdout] test request_handler::tests::test_url_decode_no_encoding ... ok
[INFO] [stdout] test request_handler::tests::test_url_decode_multiple_encodings ... ok
[INFO] [stdout] test request_handler::tests::test_url_decode_invalid_hex ... ok
[INFO] [stdout] test request_handler::tests::test_unauthorized_response_realm_with_backslash ... ok
[INFO] [stdout] test request_handler::tests::test_unauthorized_response_www_authenticate_header ... ok
[INFO] [stdout] test request_handler::tests::test_url_decode_env_bypass ... ok
[INFO] [stdout] test request_handler::tests::test_url_decode_php_bypass ... ok
[INFO] [stdout] test request_handler::tests::test_url_decode_dot_encoding ... ok
[INFO] [stdout] test request_handler::tests::test_url_decode_mixed_content ... ok
[INFO] [stdout] test request_handler::tests::test_url_pattern_blocked_bypass_attempt ... ok
[INFO] [stdout] test request_handler::tests::test_url_pattern_not_blocked ... ok
[INFO] [stdout] test request_handler::tests::test_url_decode_simple_encoding ... ok
[INFO] [stdout] test request_handler::tests::test_url_decode_unicode ... ok
[INFO] [stdout] test test_utils::tests::test_builder_methods ... ok
[INFO] [stdout] test types::tests::test_auth_provider_basic_auth_only ... ok
[INFO] [stdout] test request_handler::tests::test_url_pattern_blocked_partial_match ... ok
[INFO] [stdout] test test_utils::tests::test_strict_config ... ok
[INFO] [stdout] test request_handler::tests::test_url_pattern_blocked_case_insensitive ... ok
[INFO] [stdout] test test_utils::tests::test_default_config ... ok
[INFO] [stdout] test types::tests::test_cleanup_config_enabled ... ok
[INFO] [stdout] test types::tests::test_cleanup_config_enabled_with_one ... ok
[INFO] [stdout] test types::tests::test_auth_provider_empty_bearer_is_disabled ... ok
[INFO] [stdout] test types::tests::test_auth_provider_bearer_only ... ok
[INFO] [stdout] test request_handler::tests::test_url_pattern_blocked_double_encoding_attempt ... ok
[INFO] [stdout] test types::tests::test_cleanup_config_disabled_zero_threshold ... ok
[INFO] [stdout] test types::tests::test_auth_provider_defaults_no_auth ... ok
[INFO] [stdout] test request_handler::tests::test_url_pattern_blocked_empty_patterns ... ok
[INFO] [stdout] test request_handler::tests::test_url_pattern_blocked_simple ... ok
[INFO] [stdout] test types::tests::test_proxy_config_invalid_zero_timeout ... ok
[INFO] [stdout] test rate_limiter::tests::test_window_reset_after_expiration ... ok
[INFO] [stdout] test types::tests::test_proxy_config_max_body_size_mb_100 ... ok
[INFO] [stdout] test rate_limiter::tests::test_window_reset_resets_counter ... ok
[INFO] [stdout] test types::tests::test_proxy_config_max_body_size_mb_1 ... ok
[INFO] [stdout] test types::tests::test_rate_limit_config_invalid_zero_duration ... ok
[INFO] [stdout] test types::tests::test_proxy_config_max_body_size_mb_unlimited ... ok
[INFO] [stdout] test types::tests::test_rate_limit_config_invalid_zero_requests ... ok
[INFO] [stdout] test types::tests::test_proxy_config_valid_unlimited_body ... ok
[INFO] [stdout] test types::tests::test_rate_limit_entry_new ... ok
[INFO] [stdout] test types::tests::test_proxy_config_valid ... ok
[INFO] [stdout] test types::tests::test_proxy_config_mb_to_bytes ... ok
[INFO] [stdout] test types::tests::test_rate_limit_config_valid ... ok
[INFO] [stdout] test types::tests::test_rate_limiter_can_insert_and_retrieve ... ok
[INFO] [stdout] test types::tests::test_rate_limit_config_invalid_both_zero ... ok
[INFO] [stdout] test types::tests::test_rate_limiter_new_is_empty ... ok
[INFO] [stdout] test rate_limiter::tests::test_cleanup_removes_expired_entries ... ok
[INFO] [stdout] test auth::tests::test_verify_bcrypt ... ok
[INFO] [stdout] test auth::hash::tests::test_verify_apr1_password ... ok
[INFO] [stdout] test auth::tests::test_verify_wrong_password ... ok
[INFO] [stdout] test auth::hash::tests::test_verify_bcrypt_password ... ok
[INFO] [stdout] test rate_limiter::tests::test_different_ips_different_windows ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 162 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests wisegate_core
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test src/ip_filter.rs - ip_filter (line 30) ... ignored
[INFO] [stdout] test src/ip_filter.rs - ip_filter::extract_and_validate_real_ip (line 105) ... ignored
[INFO] [stdout] test src/ip_filter.rs - ip_filter::is_ip_blocked (line 58) ... ignored
[INFO] [stdout] test src/rate_limiter.rs - rate_limiter (line 28) ... ignored
[INFO] [stdout] test src/rate_limiter.rs - rate_limiter::check_rate_limit (line 74) ... ignored
[INFO] [stdout] test src/types.rs - types::RateLimitCleanupConfig (line 241) ... ok
[INFO] [stdout] test src/types.rs - types::RateLimitConfig (line 206) ... ok
[INFO] [stdout] test src/types.rs - types::ConfigProvider (line 123) ... ok
[INFO] [stdout] test src/default_config.rs - default_config (line 11) ... ok
[INFO] [stdout] test src/types.rs - types::ProxyConfig (line 275) ... ok
[INFO] [stdout] test src/lib.rs - (line 20) ... ok
[INFO] [stdout] test src/types.rs - types::RateLimiter (line 383) ... ok
[INFO] [stdout] test src/error.rs - error::WiseGateError (line 15) ... ok
[INFO] [stdout] test src/headers.rs - headers::is_hop_by_hop (line 80) ... ok
[INFO] [stdout] test src/request_handler.rs - request_handler::create_error_response (line 355) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 5 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.71s; merged doctests compilation took 0.67s
[INFO] running `Command { std: "docker" "inspect" "950de8e637ce0986710c5ef094b7e7ea4c21be2cb806065bfd106637c4dc14e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "950de8e637ce0986710c5ef094b7e7ea4c21be2cb806065bfd106637c4dc14e5", kill_on_drop: false }`
[INFO] [stdout] 950de8e637ce0986710c5ef094b7e7ea4c21be2cb806065bfd106637c4dc14e5
