11use codeinput:: core:: resolver:: find_owners_and_tags_for_file;
2- use codeinput:: core:: types:: { CodeownersEntry , Owner , OwnerType , Tag } ;
2+ use codeinput:: core:: types:: {
3+ CodeownersEntry , CodeownersEntryMatcher , Owner , OwnerType , Tag , codeowners_entry_to_matcher,
4+ } ;
35use criterion:: { Criterion , criterion_group, criterion_main} ;
46use std:: hint:: black_box;
57use std:: path:: { Path , PathBuf } ;
@@ -15,28 +17,29 @@ fn create_test_owner(identifier: &str, owner_type: OwnerType) -> Owner {
1517 }
1618}
1719
18- fn create_test_codeowners_entry (
20+ fn create_test_codeowners_entry_matcher (
1921 source_file : & str , line_number : usize , pattern : & str , owners : Vec < Owner > , tags : Vec < Tag > ,
20- ) -> CodeownersEntry {
21- CodeownersEntry {
22+ ) -> CodeownersEntryMatcher {
23+ let entry = CodeownersEntry {
2224 source_file : PathBuf :: from ( source_file) ,
2325 line_number,
2426 pattern : pattern. to_string ( ) ,
2527 owners,
2628 tags,
27- }
29+ } ;
30+ codeowners_entry_to_matcher ( & entry)
2831}
2932
3033fn bench_find_owners_and_tags_simple_pattern ( c : & mut Criterion ) {
3134 let entries = vec ! [
32- create_test_codeowners_entry (
35+ create_test_codeowners_entry_matcher (
3336 "/project/CODEOWNERS" ,
3437 1 ,
3538 "*.rs" ,
3639 vec![ create_test_owner( "@rust-team" , OwnerType :: Team ) ] ,
3740 vec![ create_test_tag( "rust" ) ] ,
3841 ) ,
39- create_test_codeowners_entry (
42+ create_test_codeowners_entry_matcher (
4043 "/project/CODEOWNERS" ,
4144 2 ,
4245 "*.js" ,
@@ -54,21 +57,21 @@ fn bench_find_owners_and_tags_simple_pattern(c: &mut Criterion) {
5457
5558fn bench_find_owners_and_tags_complex_patterns ( c : & mut Criterion ) {
5659 let entries = vec ! [
57- create_test_codeowners_entry (
60+ create_test_codeowners_entry_matcher (
5861 "/project/CODEOWNERS" ,
5962 1 ,
6063 "*" ,
6164 vec![ create_test_owner( "@global-team" , OwnerType :: Team ) ] ,
6265 vec![ create_test_tag( "global" ) ] ,
6366 ) ,
64- create_test_codeowners_entry (
67+ create_test_codeowners_entry_matcher (
6568 "/project/CODEOWNERS" ,
6669 5 ,
6770 "src/**/*.rs" ,
6871 vec![ create_test_owner( "@rust-team" , OwnerType :: Team ) ] ,
6972 vec![ create_test_tag( "rust-source" ) ] ,
7073 ) ,
71- create_test_codeowners_entry (
74+ create_test_codeowners_entry_matcher (
7275 "/project/CODEOWNERS" ,
7376 10 ,
7477 "src/frontend/**/*" ,
@@ -89,7 +92,7 @@ fn bench_find_owners_and_tags_many_entries(c: &mut Criterion) {
8992
9093 // Create many entries with different patterns
9194 for i in 0 ..100 {
92- entries. push ( create_test_codeowners_entry (
95+ entries. push ( create_test_codeowners_entry_matcher (
9396 "/project/CODEOWNERS" ,
9497 i + 1 ,
9598 & format ! ( "src/module_{}/**/*" , i) ,
@@ -108,23 +111,23 @@ fn bench_find_owners_and_tags_many_entries(c: &mut Criterion) {
108111fn bench_find_owners_and_tags_nested_codeowners ( c : & mut Criterion ) {
109112 let entries = vec ! [
110113 // Root CODEOWNERS
111- create_test_codeowners_entry (
114+ create_test_codeowners_entry_matcher (
112115 "/project/CODEOWNERS" ,
113116 1 ,
114117 "*" ,
115118 vec![ create_test_owner( "@root-team" , OwnerType :: Team ) ] ,
116119 vec![ create_test_tag( "root" ) ] ,
117120 ) ,
118121 // Nested CODEOWNERS in src/
119- create_test_codeowners_entry (
122+ create_test_codeowners_entry_matcher (
120123 "/project/src/CODEOWNERS" ,
121124 1 ,
122125 "*.rs" ,
123126 vec![ create_test_owner( "@rust-team" , OwnerType :: Team ) ] ,
124127 vec![ create_test_tag( "rust" ) ] ,
125128 ) ,
126129 // Nested CODEOWNERS in src/frontend/
127- create_test_codeowners_entry (
130+ create_test_codeowners_entry_matcher (
128131 "/project/src/frontend/CODEOWNERS" ,
129132 1 ,
130133 "*.tsx" ,
@@ -141,7 +144,7 @@ fn bench_find_owners_and_tags_nested_codeowners(c: &mut Criterion) {
141144}
142145
143146fn bench_find_owners_and_tags_no_matches ( c : & mut Criterion ) {
144- let entries = vec ! [ create_test_codeowners_entry (
147+ let entries = vec ! [ create_test_codeowners_entry_matcher (
145148 "/project/CODEOWNERS" ,
146149 1 ,
147150 "*.js" ,
@@ -158,14 +161,14 @@ fn bench_find_owners_and_tags_no_matches(c: &mut Criterion) {
158161
159162fn bench_find_owners_and_tags_multiple_matches ( c : & mut Criterion ) {
160163 let entries = vec ! [
161- create_test_codeowners_entry (
164+ create_test_codeowners_entry_matcher (
162165 "/project/CODEOWNERS" ,
163166 1 ,
164167 "*" ,
165168 vec![ create_test_owner( "@global-team" , OwnerType :: Team ) ] ,
166169 vec![ create_test_tag( "global" ) ] ,
167170 ) ,
168- create_test_codeowners_entry (
171+ create_test_codeowners_entry_matcher (
169172 "/project/CODEOWNERS" ,
170173 2 ,
171174 "*.rs" ,
0 commit comments