[INFO] fetching crate limiteron 0.1.1... [INFO] testing limiteron-0.1.1 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-1 [INFO] extracting crate limiteron 0.1.1 into /workspace/builds/worker-7-tc1/source [INFO] started tweaking crates.io crate limiteron 0.1.1 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate limiteron 0.1.1 [INFO] tweaked toml for crates.io crate limiteron 0.1.1 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate limiteron 0.1.1 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate limiteron 0.1.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" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded tokio-test v0.4.5 [INFO] [stderr] Downloaded threadpool v1.8.1 [INFO] [stderr] Downloaded secrecy v0.8.0 [INFO] [stderr] Downloaded integer-encoding v3.0.4 [INFO] [stderr] Downloaded crc16 v0.4.0 [INFO] [stderr] Downloaded tokio-retry v0.3.0 [INFO] [stderr] Downloaded limiteron-macros v0.1.1 [INFO] [stderr] Downloaded opentelemetry_sdk v0.21.2 [INFO] [stderr] Downloaded ipnetwork v0.20.0 [INFO] [stderr] Downloaded thrift v0.17.0 [INFO] [stderr] Downloaded sqlx-mysql v0.7.4 [INFO] [stderr] Downloaded sqlx v0.7.4 [INFO] [stderr] Downloaded opentelemetry v0.21.0 [INFO] [stderr] Downloaded sqlx-core v0.7.4 [INFO] [stderr] Downloaded sqlx-postgres v0.7.4 [INFO] [stderr] Downloaded opentelemetry-jaeger v0.20.0 [INFO] [stderr] Downloaded tracing-opentelemetry v0.22.0 [INFO] [stderr] Downloaded sqlx-sqlite v0.7.4 [INFO] [stderr] Downloaded redis v0.24.0 [INFO] [stderr] Downloaded sqlx-macros-core v0.7.4 [INFO] [stderr] Downloaded zmij v1.0.15 [INFO] [stderr] Downloaded sqlformat v0.2.6 [INFO] [stderr] Downloaded maxminddb v0.24.0 [INFO] [stderr] Downloaded opentelemetry-semantic-conventions v0.13.0 [INFO] [stderr] Downloaded lru v0.16.3 [INFO] [stderr] Downloaded sqlx-macros v0.7.4 [INFO] [stderr] Downloaded woothee v0.13.0 [INFO] [stderr] Downloaded libsqlite3-sys v0.27.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4e773656191ffe903382d3a09e54169864bbfaeabaecadcd6002e60fe1246592 [INFO] running `Command { std: "docker" "start" "-a" "4e773656191ffe903382d3a09e54169864bbfaeabaecadcd6002e60fe1246592", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4e773656191ffe903382d3a09e54169864bbfaeabaecadcd6002e60fe1246592", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4e773656191ffe903382d3a09e54169864bbfaeabaecadcd6002e60fe1246592", kill_on_drop: false }` [INFO] [stdout] 4e773656191ffe903382d3a09e54169864bbfaeabaecadcd6002e60fe1246592 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ac98c2a715563bc261189e180bad3430bb6b2b6ac0659d1253c7b11a4db1adcc [INFO] running `Command { std: "docker" "start" "-a" "ac98c2a715563bc261189e180bad3430bb6b2b6ac0659d1253c7b11a4db1adcc", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Compiling zerocopy v0.8.33 [INFO] [stderr] Compiling zmij v1.0.15 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling toml_write v0.1.2 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling socket2 v0.6.1 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling uuid v1.19.0 [INFO] [stderr] Compiling lru v0.16.3 [INFO] [stderr] Compiling secrecy v0.8.0 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling dashmap v5.5.3 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling chrono v0.4.43 [INFO] [stderr] Compiling serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling limiteron v0.1.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 28.69s [INFO] running `Command { std: "docker" "inspect" "ac98c2a715563bc261189e180bad3430bb6b2b6ac0659d1253c7b11a4db1adcc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ac98c2a715563bc261189e180bad3430bb6b2b6ac0659d1253c7b11a4db1adcc", kill_on_drop: false }` [INFO] [stdout] ac98c2a715563bc261189e180bad3430bb6b2b6ac0659d1253c7b11a4db1adcc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6a5dcd75e17ddeb45a5306a1a7b32dd05444a2db49ed6289c5d112a88e77e6f1 [INFO] running `Command { std: "docker" "start" "-a" "6a5dcd75e17ddeb45a5306a1a7b32dd05444a2db49ed6289c5d112a88e77e6f1", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling zerocopy v0.8.33 [INFO] [stderr] Compiling zerocopy-derive v0.8.33 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling uuid v1.19.0 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling plotters-backend v0.3.7 [INFO] [stderr] Compiling ciborium-io v0.2.2 [INFO] [stderr] Compiling clap_builder v4.5.54 [INFO] [stderr] Compiling cast v0.3.0 [INFO] [stderr] Compiling is-terminal v0.4.17 [INFO] [stderr] Compiling oorandom v11.1.5 [INFO] [stderr] Compiling anes v0.1.6 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling plotters-svg v0.3.7 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling chrono v0.4.43 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling clap v4.5.54 [INFO] [stderr] Compiling criterion-plot v0.5.0 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stderr] Compiling limiteron v0.1.1 (/opt/rustwide/workdir) [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling tokio-test v0.4.5 [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 46.58s [INFO] running `Command { std: "docker" "inspect" "6a5dcd75e17ddeb45a5306a1a7b32dd05444a2db49ed6289c5d112a88e77e6f1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6a5dcd75e17ddeb45a5306a1a7b32dd05444a2db49ed6289c5d112a88e77e6f1", kill_on_drop: false }` [INFO] [stdout] 6a5dcd75e17ddeb45a5306a1a7b32dd05444a2db49ed6289c5d112a88e77e6f1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 2573f1058fc96be728daace874d6239d91340faa2a583b823ab9bea0684432c4 [INFO] running `Command { std: "docker" "start" "-a" "2573f1058fc96be728daace874d6239d91340faa2a583b823ab9bea0684432c4", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.34s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/limiteron-1ce132ad66fb05a1) [INFO] [stdout] [INFO] [stdout] running 160 tests [INFO] [stdout] test cache::l2::tests::test_cache_contains ... ok [INFO] [stdout] test cache::l2::tests::test_cache_clear ... ok [INFO] [stdout] test config::tests::test_invalid_storage ... ok [INFO] [stdout] test cache::l2::tests::test_cache_get_not_found ... ok [INFO] [stdout] test cache::l2::tests::test_lru_eviction ... ok [INFO] [stdout] test config::tests::test_config_with_rule ... ok [INFO] [stdout] test config::tests::test_duplicate_rule_ids ... ok [INFO] [stdout] test config::tests::test_toml_parsing ... ok [INFO] [stdout] test cache::l2::tests::test_config_builder ... ok [INFO] [stdout] test config::tests::test_valid_config ... ok [INFO] [stdout] test decision_chain::tests::test_decision_chain_add_remove_node ... ok [INFO] [stdout] test decision_chain::tests::test_decision_chain_builder ... ok [INFO] [stdout] test cache::l2::tests::test_batch_operations ... ok [INFO] [stdout] test cache::l2::tests::test_cache_stats ... ok [INFO] [stdout] test decision_chain::tests::test_decision_chain_cost ... ok [INFO] [stdout] test config::tests::test_yaml_parsing ... ok [INFO] [stdout] test decision_chain::tests::test_decision_chain_concurrent_checks ... ok [INFO] [stdout] test cache::l2::tests::test_cache_delete ... ok [INFO] [stdout] test cache::l2::tests::test_cache_set_get ... ok [INFO] [stdout] test decision_chain::tests::test_decision_chain_check_all ... ok [INFO] [stdout] test decision_chain::tests::test_decision_chain_empty ... ok [INFO] [stdout] test decision_chain::tests::test_decision_chain_enable_disable_node ... ok [INFO] [stdout] test decision_chain::tests::test_decision_chain_mixed_limiters ... ok [INFO] [stdout] test decision_chain::tests::test_decision_chain_disabled_node ... ok [INFO] [stdout] test decision_chain::tests::test_decision_chain_multiple_nodes ... ok [INFO] [stdout] test decision_chain::tests::test_decision_chain_priority ... ok [INFO] [stdout] test decision_chain::tests::test_decision_chain_set_short_circuit ... ok [INFO] [stdout] test decision_chain::tests::test_decision_chain_no_short_circuit ... ok [INFO] [stdout] test cache::l2::tests::test_concurrent_access ... ok [INFO] [stdout] test decision_chain::tests::test_decision_chain_node_rejections ... ok [INFO] [stdout] test error::tests::test_ban_info_equality ... ok [INFO] [stdout] test error::tests::test_decision_allowed ... ok [INFO] [stdout] test decision_chain::tests::test_decision_chain_single_node ... ok [INFO] [stdout] test error::tests::test_decision_banned ... ok [INFO] [stdout] test decision_chain::tests::test_decision_node_creation ... ok [INFO] [stdout] test decision_chain::tests::test_decision_chain_short_circuit ... ok [INFO] [stdout] test decision_chain::tests::test_decision_chain_reset_stats ... ok [INFO] [stdout] test decision_chain::tests::test_decision_node_with_options ... ok [INFO] [stdout] test error::tests::test_io_error_conversion ... ok [INFO] [stdout] test error::tests::test_storage_error_conversion ... ok [INFO] [stdout] test error_abstraction::tests::test_limit_error_abstraction ... ok [INFO] [stdout] test factory::tests::test_create_concurrency ... ok [INFO] [stdout] test factory::tests::test_create_sliding_window ... ok [INFO] [stdout] test error_abstraction::tests::test_storage_error_abstraction ... ok [INFO] [stdout] test factory::tests::test_create_token_bucket ... ok [INFO] [stdout] test factory::tests::test_parse_window_size_days ... ok [INFO] [stdout] test factory::tests::test_parse_window_size_hours ... ok [INFO] [stdout] test factory::tests::test_parse_window_size_empty ... ok [INFO] [stdout] test factory::tests::test_create_fixed_window ... ok [INFO] [stdout] test factory::tests::test_parse_window_size_invalid ... ok [INFO] [stdout] test error_abstraction::tests::test_config_error_abstraction ... ok [INFO] [stdout] test error_abstraction::tests::test_safe_error_display ... ok [INFO] [stdout] test error_abstraction::tests::test_validation_error_abstraction ... ok [INFO] [stdout] test factory::tests::test_create_batch ... ok [INFO] [stdout] test factory::tests::test_parse_window_size_minutes ... ok [INFO] [stdout] test factory::tests::test_validate_concurrency_valid ... ok [INFO] [stdout] test factory::tests::test_validate_token_bucket_invalid_refill ... ok [INFO] [stdout] test limiters::tests::test_concurrency_limiter_acquire_release ... ok [INFO] [stdout] test factory::tests::test_parse_window_size_seconds ... ok [INFO] [stdout] test error::tests::test_decision_rejected ... ok [INFO] [stdout] test decision_chain::tests::test_decision_chain_stats ... ok [INFO] [stdout] test limiters::tests::test_fixed_window_concurrent ... ok [INFO] [stdout] test factory::tests::test_validate_concurrency_invalid ... ok [INFO] [stdout] test error::tests::test_error_message ... ok [INFO] [stdout] test factory::tests::test_parse_window_size_zero ... ok [INFO] [stdout] test factory::tests::test_validate_token_bucket_valid ... ok [INFO] [stdout] test limiters::tests::test_concurrency_limiter_allow_does_not_hold ... ok [INFO] [stdout] test limiters::tests::test_fixed_window_cost ... ok [INFO] [stdout] test limiters::tests::test_fixed_window_exceeds_limit ... ok [INFO] [stdout] test limiters::tests::test_sliding_window_basic ... ok [INFO] [stdout] test limiters::tests::test_concurrency_limiter_basic ... ok [INFO] [stdout] test limiters::tests::test_concurrency_limiter_exceeds_limit ... ok [INFO] [stdout] test limiters::tests::test_concurrency_limiter_with_timeout ... ok [INFO] [stdout] test limiters::tests::test_fixed_window_basic ... ok [INFO] [stdout] test limiters::tests::test_sliding_window_concurrent ... ok [INFO] [stdout] test limiters::tests::test_sliding_window_exceeds_limit ... ok [INFO] [stdout] test limiters::tests::test_token_bucket_basic ... ok [INFO] [stdout] test log_redaction::tests::test_redact_basic ... ok [INFO] [stdout] test limiters::tests::test_sliding_window_cost ... ok [INFO] [stdout] test limiters::tests::test_token_bucket_concurrent ... ok [INFO] [stdout] test limiters::tests::test_token_bucket_insufficient_tokens ... ok [INFO] [stdout] test log_redaction::tests::test_redact_email ... ok [INFO] [stdout] test matchers::custom::tests::test_header_matcher_case_insensitive ... ok [INFO] [stdout] test log_redaction::tests::test_redact_ip ... ok [INFO] [stdout] test matchers::custom::tests::test_header_matcher_load_config ... ok [INFO] [stdout] test matchers::custom::tests::test_header_matcher_matches ... ok [INFO] [stdout] test matchers::custom::tests::test_header_header_matcher_case_sensitive ... ok [INFO] [stdout] test matchers::custom::tests::test_header_matcher_multiple_values ... ok [INFO] [stdout] test matchers::custom::tests::test_header_matcher_new ... ok [INFO] [stdout] test matchers::custom::tests::test_header_matcher_missing_header ... ok [INFO] [stdout] test matchers::custom::tests::test_registry_match_with_nonexistent ... ok [INFO] [stdout] test matchers::custom::tests::test_registry_concurrent_match ... ok [INFO] [stdout] test limiters::tests::test_token_bucket_no_overconsumption ... ok [INFO] [stdout] test matchers::custom::tests::test_registry_list ... ok [INFO] [stdout] test matchers::custom::tests::test_registry_register_duplicate ... ok [INFO] [stdout] test matchers::custom::tests::test_registry_unregister ... ok [INFO] [stdout] test matchers::custom::tests::test_registry_register ... ok [INFO] [stdout] test matchers::custom::tests::test_registry_unregister_nonexistent ... ok [INFO] [stdout] test matchers::custom::tests::test_registry_match_with ... ok [INFO] [stdout] test matchers::custom::tests::test_registry_concurrent_register ... ok [INFO] [stdout] test matchers::custom::tests::test_time_window_matcher_load_config_invalid ... ok [INFO] [stdout] test matchers::custom::tests::test_time_window_matcher_load_config ... ok [INFO] [stdout] test matchers::custom::tests::test_header_matcher_not_matches ... ok [INFO] [stdout] test matchers::tests::test_api_key_extractor_from_authorization ... ok [INFO] [stdout] test matchers::custom::tests::test_time_window_matcher_new ... ok [INFO] [stdout] test matchers::tests::test_api_key_extractor_from_header ... ok [INFO] [stdout] test factory::tests::test_validate_token_bucket_invalid_capacity ... ok [INFO] [stdout] test matchers::custom::tests::test_registry_new ... ok [INFO] [stdout] test matchers::tests::test_composite_condition_and ... ok [INFO] [stdout] test matchers::tests::test_composite_condition_or ... ok [INFO] [stdout] test matchers::tests::test_composite_extractor ... ok [INFO] [stdout] test matchers::custom::tests::test_registry_clear ... ok [INFO] [stdout] test matchers::tests::test_composite_condition_not ... ok [INFO] [stdout] test matchers::tests::test_device_id_extractor_from_header ... ok [INFO] [stdout] test matchers::tests::test_custom_extractor ... ok [INFO] [stdout] test matchers::tests::test_custom_condition ... ok [INFO] [stdout] test matchers::tests::test_ip_extractor_from_client_ip ... ok [INFO] [stdout] test matchers::tests::test_ip_extractor_from_header ... ok [INFO] [stdout] test matchers::tests::test_ip_extractor_multiple_headers ... ok [INFO] [stdout] test matchers::tests::test_ip_range_ipv4_cidr ... ok [INFO] [stdout] test matchers::tests::test_ip_range_ipv4_range ... ok [INFO] [stdout] test matchers::tests::test_mac_extractor_from_header ... ok [INFO] [stdout] test matchers::tests::test_ip_extractor_parse_list ... ok [INFO] [stdout] test matchers::tests::test_mac_extractor_validate_format ... ok [INFO] [stdout] test matchers::tests::test_ip_range_invalid ... ok [INFO] [stdout] test matchers::tests::test_rule_matcher_add_remove ... ok [INFO] [stdout] test matchers::tests::test_rule_matcher_ip_condition ... ok [INFO] [stdout] test matchers::tests::test_rule_matcher_disabled_rule ... ok [INFO] [stdout] test matchers::tests::test_rule_matcher_priority ... ok [INFO] [stdout] test matchers::tests::test_rule_matcher_user_condition ... ok [INFO] [stdout] test matchers::tests::test_rule_matcher_stats ... ok [INFO] [stdout] test matchers::tests::test_user_id_extractor_from_query_param ... ok [INFO] [stdout] test matchers::tests::test_user_id_extractor_from_header ... ok [INFO] [stdout] test matchers::tests::test_user_id_extractor_with_default ... ok [INFO] [stdout] test storage::tests::test_ban_target_equality ... ok [INFO] [stdout] test storage::tests::test_ban_target_hash ... ok [INFO] [stdout] test storage::tests::test_memory_storage_delete ... ok [INFO] [stdout] test storage::tests::test_memory_storage_get_not_found ... ok [INFO] [stdout] test storage::tests::test_memory_storage_set_get ... ok [INFO] [stdout] test storage::tests::test_mock_ban_storage ... ok [INFO] [stdout] test storage::tests::test_mock_ban_storage_get_history ... ok [INFO] [stdout] test matchers::tests::test_identifier_key ... ok [INFO] [stdout] test matchers::tests::test_identifier_type_name ... ok [INFO] [stdout] test matchers::tests::test_ip_range_single ... ok [INFO] [stdout] test storage::tests::test_mock_ban_storage_save ... ok [INFO] [stdout] test storage::tests::test_mock_quota_storage_reset ... ok [INFO] [stdout] test storage::tests::test_mock_quota_storage_get_quota ... ok [INFO] [stdout] test limiters::tests::test_token_bucket_refill ... ok [INFO] [stdout] test storage::tests::test_mock_quota_storage ... ok [INFO] [stdout] test matchers::custom::tests::test_time_window_matcher_matches ... ok [INFO] [stdout] test matchers::tests::test_rule_matcher_wildcard_user ... ok [INFO] [stdout] test matchers::tests::test_user_id_extractor_priority ... ok [INFO] [stdout] test limiters::tests::test_concurrency_limiter_concurrent_acquire ... ok [INFO] [stdout] test matchers::custom::tests::test_time_window_matcher_invalid_end_hour - should panic ... ok [INFO] [stdout] test matchers::custom::tests::test_time_window_matcher_invalid_start_hour - should panic ... ok [INFO] [stdout] test cache::l2::tests::test_single_flight ... ok [INFO] [stdout] test limiters::tests::test_fixed_window_reset ... ok [INFO] [stdout] test limiters::tests::test_sliding_window_sliding ... ok [INFO] [stdout] test cache::l2::tests::test_cache_ttl ... ok [INFO] [stdout] test cache::l2::tests::test_cleanup_expired ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 160 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/concurrency_test.rs (/opt/rustwide/target/debug/deps/concurrency_test-f2297b2b9d372ea0) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/error_test.rs (/opt/rustwide/target/debug/deps/error_test-1c0a25d965b9f517) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/limiteron-b246750abab56b3e) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/performance_test.rs (/opt/rustwide/target/debug/deps/performance_test-e5c0ab175427f40e) [INFO] [stdout] [INFO] [stderr] Running tests/common_tests.rs (/opt/rustwide/target/debug/deps/common_tests-6c5a5570618f6fe3) [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test modules::limiters::integration::test_limiter_module_import ... ok [INFO] [stdout] test modules::cache::integration::test_cache_module_import ... ok [INFO] [stdout] test modules::governor::integration::test_governor_module_import ... ok [INFO] [stdout] test modules::storage::unit::memory::test_memory_ban_storage ... ok [INFO] [stdout] test modules::storage::unit::memory::test_memory_storage_reset ... ok [INFO] [stdout] test modules::matchers::integration::test_matcher_module_import ... ok [INFO] [stdout] test modules::storage::integration::test_storage_module_import ... ok [INFO] [stdout] test modules::storage::unit::memory::test_memory_storage_get_quota ... ok [INFO] [stdout] test modules::storage::unit::memory::test_memory_quota_storage ... ok [INFO] [stderr] Running tests/e2e_tests.rs (/opt/rustwide/target/debug/deps/e2e_tests-47d18a5bfdfdea56) [INFO] [stdout] test tests::test_mock_quota_storage ... ok [INFO] [stdout] test tests::test_mock_ban_storage ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 11 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 e2e::multi_rule_cascade::test_e2e_composite_matcher ... ok [INFO] [stdout] test modules::cache::integration::test_cache_module_import ... ok [INFO] [stdout] test e2e::multi_rule_cascade::test_e2e_rule_priority ... ok [INFO] [stdout] test e2e::multi_rule_cascade::test_e2e_rule_hot_reload ... ok [INFO] [stdout] test modules::storage::integration::test_storage_module_import ... ok [INFO] [stdout] test modules::limiters::integration::test_limiter_module_import ... ok [INFO] [stdout] test modules::matchers::integration::test_matcher_module_import ... ok [INFO] [stdout] test modules::governor::integration::test_governor_module_import ... ok [INFO] [stdout] test modules::storage::unit::memory::test_memory_quota_storage ... ok [INFO] [stdout] test modules::storage::unit::memory::test_memory_storage_reset ... ok [INFO] [stdout] test modules::storage::unit::memory::test_memory_storage_get_quota ... ok [INFO] [stdout] test modules::storage::unit::memory::test_memory_ban_storage ... ok [INFO] [stdout] test e2e::multi_rule_cascade::test_e2e_rule_disabled ... ok [INFO] [stdout] test e2e::multi_rule_cascade::test_e2e_multi_rule_cascade ... ok [INFO] [stdout] [INFO] [stderr] Running tests/integration_tests.rs (/opt/rustwide/target/debug/deps/integration_tests-e188319a29eea040) [INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test modules::governor::integration::test_governor_module_import ... ok [INFO] [stdout] test modules::storage::integration::test_storage_module_import ... ok [INFO] [stdout] test modules::limiters::integration::test_limiter_module_import ... ok [INFO] [stdout] test modules::cache::integration::test_cache_module_import ... ok [INFO] [stdout] test modules::storage::unit::memory::test_memory_ban_storage ... ok [INFO] [stdout] test modules::matchers::integration::test_matcher_module_import ... ok [INFO] [stdout] test modules::storage::unit::memory::test_memory_quota_storage ... ok [INFO] [stdout] test modules::storage::unit::memory::test_memory_storage_reset ... ok [INFO] [stdout] test modules::storage::unit::memory::test_memory_storage_get_quota ... 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] [stderr] Doc-tests limiteron [INFO] [stdout] [INFO] [stdout] running 45 tests [INFO] [stdout] test src/cache/l2.rs - cache::l2 (line 19) - compile ... ok [INFO] [stdout] test src/limiters.rs - limiters::ConcurrencyLimiter::new (line 578) ... ok [INFO] [stdout] test src/decision_chain.rs - decision_chain::DecisionChainBuilder::new (line 482) ... ok [INFO] [stdout] test src/factory/mod.rs - factory::LimiterFactory::validate_window_config (line 235) ... ok [INFO] [stdout] test src/decision_chain.rs - decision_chain::DecisionNode::new (line 57) ... ok [INFO] [stdout] test src/factory/mod.rs - factory::LimiterFactory::create (line 66) ... ok [INFO] [stdout] test src/factory/mod.rs - factory::LimiterFactory::parse_window_size (line 173) ... ok [INFO] [stdout] test src/decision_chain.rs - decision_chain::DecisionChain::check (line 228) ... ok [INFO] [stdout] test src/limiters.rs - limiters::FixedWindowLimiter::new (line 433) ... ok [INFO] [stdout] test src/limiters.rs - limiters::ConcurrencyLimiter::with_timeout (line 597) ... ok [INFO] [stdout] test src/factory/mod.rs - factory::LimiterFactory::create_batch (line 130) ... ok [INFO] [stdout] test src/factory/mod.rs - factory::LimiterFactory (line 41) ... ok [INFO] [stdout] test src/limiters.rs - limiters::FixedWindowLimiter (line 400) ... ok [INFO] [stdout] test src/limiters.rs - limiters::ConcurrencyLimiter (line 550) ... ok [INFO] [stdout] test src/lib.rs - (line 39) ... ok [INFO] [stdout] test src/limiters.rs - limiters::TokenBucketLimiter::new (line 120) ... ok [INFO] [stdout] test src/limiters.rs - limiters::SlidingWindowLimiter::new (line 318) ... ok [INFO] [stdout] test src/decision_chain.rs - decision_chain::DecisionChain::new (line 164) ... ok [INFO] [stdout] test src/matchers/custom.rs - matchers::custom::HeaderMatcher::new (line 747) ... ok [INFO] [stdout] test src/matchers/custom.rs - matchers::custom::TimeWindowMatcher (line 600) ... ok [INFO] [stdout] test src/limiters.rs - limiters::TokenBucketLimiter (line 87) ... ok [INFO] [stdout] test src/matchers/custom.rs - matchers::custom::CustomMatcherRegistry::clear (line 540) ... ok [INFO] [stdout] test src/matchers/custom.rs - matchers::custom::HeaderMatcher (line 718) ... ok [INFO] [stdout] test src/matchers/mod.rs - matchers::ApiKeyExtractor::from_header (line 683) ... ok [INFO] [stdout] test src/matchers/custom.rs - matchers::custom (line 19) ... ok [INFO] [stdout] test src/matchers/custom.rs - matchers::custom::TimeWindowMatcher::new (line 621) ... ok [INFO] [stdout] test src/matchers/mod.rs - matchers::CompositeExtractor::new (line 851) ... ok [INFO] [stdout] test src/matchers/mod.rs - matchers::ApiKeyExtractor::from_authorization_header (line 664) ... ok [INFO] [stdout] test src/matchers/custom.rs - matchers::custom::CustomMatcherRegistry::new (line 373) ... ok [INFO] [stdout] test src/matchers/custom.rs - matchers::custom::CustomMatcherRegistry::get (line 438) ... ok [INFO] [stdout] test src/matchers/custom.rs - matchers::custom::CustomMatcherRegistry::unregister (line 488) ... ok [INFO] [stdout] test src/matchers/mod.rs - matchers::ApiKeyExtractor::from_query_param (line 698) ... ok [INFO] [stdout] test src/matchers/mod.rs - matchers::DeviceIdExtractor::from_header (line 776) ... ok [INFO] [stdout] test src/matchers/mod.rs - matchers::DeviceIdExtractor::from_query_param (line 791) ... ok [INFO] [stdout] test src/matchers/mod.rs - matchers::MacExtractor::from_header (line 548) ... ok [INFO] [stdout] test src/matchers/mod.rs - matchers::IpExtractor::from_headers (line 414) ... ok [INFO] [stdout] test src/limiters.rs - limiters::SlidingWindowLimiter (line 287) ... ok [INFO] [stdout] test src/matchers/mod.rs - matchers::RuleMatcher::new (line 1388) ... ok [INFO] [stdout] test src/matchers/mod.rs - matchers::UserIdExtractor::from_header (line 287) ... ok [INFO] [stdout] test src/matchers/mod.rs - matchers::IpExtractor::from_header (line 399) ... ok [INFO] [stdout] test src/matchers/mod.rs - matchers::CustomExtractor::new (line 946) ... ok [INFO] [stdout] test src/matchers/mod.rs - matchers::MacExtractor::from_query_param (line 563) ... ok [INFO] [stdout] test src/matchers/mod.rs - matchers::UserIdExtractor::from_query_param (line 302) ... ok [INFO] [stdout] test src/matchers/custom.rs - matchers::custom::CustomMatcherRegistry::register (line 395) ... ok [INFO] [stdout] test src/matchers/mod.rs - matchers::IpExtractor::new_default (line 384) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 45 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.78s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "2573f1058fc96be728daace874d6239d91340faa2a583b823ab9bea0684432c4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2573f1058fc96be728daace874d6239d91340faa2a583b823ab9bea0684432c4", kill_on_drop: false }` [INFO] [stdout] 2573f1058fc96be728daace874d6239d91340faa2a583b823ab9bea0684432c4