From 63600418e8b9b308802f118bfbbe2de51bfc27dd Mon Sep 17 00:00:00 2001 From: Mikhail Atuchin Date: Tue, 4 Nov 2025 15:10:41 +0400 Subject: [PATCH 1/5] Remove some #[path ..] --- src/filters/fb_builder.rs | 2 +- src/filters/fb_network_builder.rs | 2 +- src/filters/mod.rs | 13 +------------ src/flatbuffers/mod.rs | 10 ++++++++++ 4 files changed, 13 insertions(+), 14 deletions(-) diff --git a/src/filters/fb_builder.rs b/src/filters/fb_builder.rs index 323cb109..0075af20 100644 --- a/src/filters/fb_builder.rs +++ b/src/filters/fb_builder.rs @@ -9,7 +9,7 @@ use crate::flatbuffers::containers::flat_serialize::{FlatBuilder, FlatSerialize, use crate::flatbuffers::unsafe_tools::VerifiedFlatbufferMemory; use crate::utils::Hash; -use super::flat::fb; +use super::flatbuffer_generated::fb; #[derive(Clone, Default)] pub(crate) struct ShareableString { diff --git a/src/filters/fb_network_builder.rs b/src/filters/fb_network_builder.rs index a538dc74..cff85d4b 100644 --- a/src/filters/fb_network_builder.rs +++ b/src/filters/fb_network_builder.rs @@ -14,7 +14,7 @@ use crate::network_filter_list::token_histogram; use crate::optimizer; use crate::utils::{to_short_hash, Hash, ShortHash}; -use super::flat::fb; +use super::flatbuffer_generated::fb; pub(crate) enum NetworkFilterListId { Csp = 0, diff --git a/src/filters/mod.rs b/src/filters/mod.rs index 9d3394f8..cd99270f 100644 --- a/src/filters/mod.rs +++ b/src/filters/mod.rs @@ -10,17 +10,6 @@ pub(crate) mod fb_network_builder; pub(crate) mod filter_data_context; pub mod network; -#[allow(unknown_lints)] -#[allow( - dead_code, - clippy::all, - unused_imports, - unsafe_code, - mismatched_lifetime_syntaxes -)] -#[path = "../flatbuffers/fb_network_filter_generated.rs"] -mod flat; - pub(crate) mod flatbuffer_generated { - pub use super::flat::fb; + pub use crate::flatbuffers::fb_network_filter_generated::fb; } diff --git a/src/flatbuffers/mod.rs b/src/flatbuffers/mod.rs index 61dc0bd6..f267039c 100644 --- a/src/flatbuffers/mod.rs +++ b/src/flatbuffers/mod.rs @@ -1,2 +1,12 @@ pub(crate) mod containers; pub(crate) mod unsafe_tools; + +#[allow(unknown_lints)] +#[allow( + dead_code, + clippy::all, + unused_imports, + unsafe_code, + mismatched_lifetime_syntaxes +)] +pub(crate) mod fb_network_filter_generated; From abdf644e7885041cfcd1cb3edceaa97428cfdaf9 Mon Sep 17 00:00:00 2001 From: Mikhail Atuchin Date: Tue, 4 Nov 2025 15:29:54 +0400 Subject: [PATCH 2/5] Move test_utils --- benches/bench_cosmetic_matching.rs | 5 +---- benches/bench_matching.rs | 4 +--- benches/bench_memory.rs | 4 +--- benches/bench_rules.rs | 4 +--- benches/bench_serialization.rs | 4 +--- benches/bench_url.rs | 4 +--- src/lib.rs | 5 +---- tests/test_utils.rs => src/test_utils/mod.rs | 4 ++-- tests/matching.rs | 4 +--- tests/ublock-coverage.rs | 3 +-- tests/unit/engine.rs | 3 ++- 11 files changed, 13 insertions(+), 31 deletions(-) rename tests/test_utils.rs => src/test_utils/mod.rs (78%) diff --git a/benches/bench_cosmetic_matching.rs b/benches/bench_cosmetic_matching.rs index 7e226a50..9f438a4c 100644 --- a/benches/bench_cosmetic_matching.rs +++ b/benches/bench_cosmetic_matching.rs @@ -1,13 +1,10 @@ use adblock::Engine; use criterion::*; -#[path = "../tests/test_utils.rs"] -mod test_utils; - pub fn make_engine() -> Engine { use adblock::resources::Resource; - let rules = test_utils::rules_from_lists(&["data/brave/brave-main-list.txt"]); + let rules = adblock::test_utils::rules_from_lists(&["data/brave/brave-main-list.txt"]); let resource_json = std::fs::read_to_string("data/brave/brave-resources.json").unwrap(); let resource_list: Vec = serde_json::from_str(&resource_json).unwrap(); let mut engine = Engine::from_rules_parametrised(rules, Default::default(), true, true); diff --git a/benches/bench_matching.rs b/benches/bench_matching.rs index 4a1f3287..a09aa337 100644 --- a/benches/bench_matching.rs +++ b/benches/bench_matching.rs @@ -6,9 +6,7 @@ use adblock::request::Request; use adblock::url_parser::parse_url; use adblock::{Engine, FilterSet}; -#[path = "../tests/test_utils.rs"] -mod test_utils; -use test_utils::rules_from_lists; +use adblock::test_utils::rules_from_lists; #[allow(non_snake_case)] #[derive(Serialize, Deserialize, Clone)] diff --git a/benches/bench_memory.rs b/benches/bench_memory.rs index 8b7320e4..eb70c740 100644 --- a/benches/bench_memory.rs +++ b/benches/bench_memory.rs @@ -12,9 +12,7 @@ use adblock::request::Request; use adblock::resources::Resource; use adblock::Engine; -#[path = "../tests/test_utils.rs"] -mod test_utils; -use test_utils::rules_from_lists; +use adblock::test_utils::rules_from_lists; // Custom allocator to track memory usage #[global_allocator] diff --git a/benches/bench_rules.rs b/benches/bench_rules.rs index 2538d7f3..8faa312b 100644 --- a/benches/bench_rules.rs +++ b/benches/bench_rules.rs @@ -3,9 +3,7 @@ use once_cell::sync::Lazy; use adblock::{Engine, FilterSet}; -#[path = "../tests/test_utils.rs"] -mod test_utils; -use test_utils::rules_from_lists; +use adblock::test_utils::rules_from_lists; static DEFAULT_LISTS: Lazy> = Lazy::new(|| rules_from_lists(&["data/easylist.to/easylist/easylist.txt"]).collect()); diff --git a/benches/bench_serialization.rs b/benches/bench_serialization.rs index ff84d17a..24569ed9 100644 --- a/benches/bench_serialization.rs +++ b/benches/bench_serialization.rs @@ -2,9 +2,7 @@ use criterion::*; use adblock::Engine; -#[path = "../tests/test_utils.rs"] -mod test_utils; -use test_utils::rules_from_lists; +use adblock::test_utils::rules_from_lists; fn serialization(c: &mut Criterion) { let mut group = c.benchmark_group("blocker-serialization"); diff --git a/benches/bench_url.rs b/benches/bench_url.rs index c9d90ebe..2b7809fc 100644 --- a/benches/bench_url.rs +++ b/benches/bench_url.rs @@ -5,9 +5,7 @@ use serde::{Deserialize, Serialize}; use adblock::request::Request; use adblock::url_parser::parse_url; -#[path = "../tests/test_utils.rs"] -mod test_utils; -use test_utils::rules_from_lists; +use adblock::test_utils::rules_from_lists; #[allow(non_snake_case)] #[derive(Serialize, Deserialize, Clone)] diff --git a/src/lib.rs b/src/lib.rs index 2e5e4458..51be9cd9 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -32,6 +32,7 @@ mod optimizer; pub mod regex_manager; pub mod request; pub mod resources; +pub mod test_utils; pub mod url_parser; #[doc(hidden)] @@ -42,10 +43,6 @@ pub use engine::Engine; #[doc(inline)] pub use lists::FilterSet; -#[cfg(test)] -#[path = "../tests/test_utils.rs"] -mod test_utils; - #[cfg(test)] mod sync_tests { #[allow(unused)] diff --git a/tests/test_utils.rs b/src/test_utils/mod.rs similarity index 78% rename from tests/test_utils.rs rename to src/test_utils/mod.rs index a4e3a3db..f7a9eef5 100644 --- a/tests/test_utils.rs +++ b/src/test_utils/mod.rs @@ -1,5 +1,5 @@ -//! Convenience functions used for tests across different build targets. Import via `#[path = ]` if -//! needed outside of this directory. +//! Test helper utilities for the adblock-rust project. +//! Used in tests and benchmarks. #[cfg(not(target_arch = "wasm32"))] pub fn rules_from_lists( diff --git a/tests/matching.rs b/tests/matching.rs index a1a478d7..4511579e 100644 --- a/tests/matching.rs +++ b/tests/matching.rs @@ -149,9 +149,7 @@ fn check_engine_matching() { #[test] #[cfg(not(debug_assertions))] // This test is too slow to run in debug mode fn check_rule_matching_browserlike() { - #[path = "../tests/test_utils.rs"] - mod test_utils; - use test_utils::rules_from_lists; + use crate::test_utils::rules_from_lists; use adblock::request::Request; use adblock::Engine; diff --git a/tests/ublock-coverage.rs b/tests/ublock-coverage.rs index 94aa7aca..4a236fb0 100644 --- a/tests/ublock-coverage.rs +++ b/tests/ublock-coverage.rs @@ -4,8 +4,7 @@ use adblock::Engine; #[allow(unused_imports)] use std::collections::HashMap; -mod test_utils; -use test_utils::rules_from_lists; +use adblock::test_utils::rules_from_lists; #[cfg(not(debug_assertions))] #[allow(non_snake_case)] diff --git a/tests/unit/engine.rs b/tests/unit/engine.rs index 51e5f4a8..2897948e 100644 --- a/tests/unit/engine.rs +++ b/tests/unit/engine.rs @@ -1,8 +1,9 @@ #[cfg(test)] mod tests { use super::super::*; + use crate::lists::FilterFormat; use crate::resources::MimeType; - use crate::{lists::FilterFormat, test_utils::rules_from_lists}; + use crate::test_utils::rules_from_lists; use base64::{engine::Engine as _, prelude::BASE64_STANDARD}; use seahash::hash; From 7e9690d897f18be169ad758baaf54e305508d237 Mon Sep 17 00:00:00 2001 From: Mikhail Atuchin Date: Tue, 4 Nov 2025 15:37:43 +0400 Subject: [PATCH 3/5] fix compilation --- tests/matching.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/matching.rs b/tests/matching.rs index 4511579e..cead4b48 100644 --- a/tests/matching.rs +++ b/tests/matching.rs @@ -149,7 +149,7 @@ fn check_engine_matching() { #[test] #[cfg(not(debug_assertions))] // This test is too slow to run in debug mode fn check_rule_matching_browserlike() { - use crate::test_utils::rules_from_lists; + use adblock::test_utils::rules_from_lists; use adblock::request::Request; use adblock::Engine; From 5f03dd3f1d7d87c906f18aa1a31c260ae7423330 Mon Sep 17 00:00:00 2001 From: Mikhail Atuchin Date: Tue, 4 Nov 2025 16:15:52 +0400 Subject: [PATCH 4/5] Add #[doc(hidden)] --- src/lib.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib.rs b/src/lib.rs index 51be9cd9..37cf491c 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -32,6 +32,7 @@ mod optimizer; pub mod regex_manager; pub mod request; pub mod resources; +#[doc(hidden)] pub mod test_utils; pub mod url_parser; From 3eaa4c98ba2a151e6afdce9667b7c4c3e3397902 Mon Sep 17 00:00:00 2001 From: Mikhail Atuchin Date: Sat, 15 Nov 2025 00:17:56 +0400 Subject: [PATCH 5/5] move test_utils to src/ --- src/lib.rs | 1 + src/test_utils/{mod.rs => test_utils.rs} | 0 2 files changed, 1 insertion(+) rename src/test_utils/{mod.rs => test_utils.rs} (100%) diff --git a/src/lib.rs b/src/lib.rs index 37cf491c..71b7a168 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -33,6 +33,7 @@ pub mod regex_manager; pub mod request; pub mod resources; #[doc(hidden)] +#[path = "test_utils/test_utils.rs"] pub mod test_utils; pub mod url_parser; diff --git a/src/test_utils/mod.rs b/src/test_utils/test_utils.rs similarity index 100% rename from src/test_utils/mod.rs rename to src/test_utils/test_utils.rs