@@ -13,7 +13,8 @@ namespace {
1313 int CONCAT (dummy, __LINE__) = AddComplexityTest(__VA_ARGS__)
1414
1515int AddComplexityTest(std::string test_name, std::string big_o_test_name,
16- std::string rms_test_name, std::string big_o) {
16+ std::string rms_test_name, std::string big_o,
17+ int family_index) {
1718 SetSubstitutions ({{" %name" , test_name},
1819 {" %bigo_name" , big_o_test_name},
1920 {" %rms_name" , rms_test_name},
@@ -25,25 +26,29 @@ int AddComplexityTest(std::string test_name, std::string big_o_test_name,
2526 {{" ^%bigo_name %bigo_str %bigo_str[ ]*$" },
2627 {" ^%bigo_name" , MR_Not}, // Assert we we didn't only matched a name.
2728 {" ^%rms_name %rms %rms[ ]*$" , MR_Next}});
28- AddCases (TC_JSONOut, {{" \" name\" : \" %bigo_name\" ,$" },
29- {" \" run_name\" : \" %name\" ,$" , MR_Next},
30- {" \" run_type\" : \" aggregate\" ,$" , MR_Next},
31- {" \" repetitions\" : %int,$" , MR_Next},
32- {" \" threads\" : 1,$" , MR_Next},
33- {" \" aggregate_name\" : \" BigO\" ,$" , MR_Next},
34- {" \" cpu_coefficient\" : %float,$" , MR_Next},
35- {" \" real_coefficient\" : %float,$" , MR_Next},
36- {" \" big_o\" : \" %bigo\" ,$" , MR_Next},
37- {" \" time_unit\" : \" ns\" $" , MR_Next},
38- {" }" , MR_Next},
39- {" \" name\" : \" %rms_name\" ,$" },
40- {" \" run_name\" : \" %name\" ,$" , MR_Next},
41- {" \" run_type\" : \" aggregate\" ,$" , MR_Next},
42- {" \" repetitions\" : %int,$" , MR_Next},
43- {" \" threads\" : 1,$" , MR_Next},
44- {" \" aggregate_name\" : \" RMS\" ,$" , MR_Next},
45- {" \" rms\" : %float$" , MR_Next},
46- {" }" , MR_Next}});
29+ AddCases (
30+ TC_JSONOut,
31+ {{" \" name\" : \" %bigo_name\" ,$" },
32+ {" \" family_index\" : " + std::to_string (family_index) + " ,$" , MR_Next},
33+ {" \" run_name\" : \" %name\" ,$" , MR_Next},
34+ {" \" run_type\" : \" aggregate\" ,$" , MR_Next},
35+ {" \" repetitions\" : %int,$" , MR_Next},
36+ {" \" threads\" : 1,$" , MR_Next},
37+ {" \" aggregate_name\" : \" BigO\" ,$" , MR_Next},
38+ {" \" cpu_coefficient\" : %float,$" , MR_Next},
39+ {" \" real_coefficient\" : %float,$" , MR_Next},
40+ {" \" big_o\" : \" %bigo\" ,$" , MR_Next},
41+ {" \" time_unit\" : \" ns\" $" , MR_Next},
42+ {" }" , MR_Next},
43+ {" \" name\" : \" %rms_name\" ,$" },
44+ {" \" family_index\" : " + std::to_string (family_index) + " ,$" , MR_Next},
45+ {" \" run_name\" : \" %name\" ,$" , MR_Next},
46+ {" \" run_type\" : \" aggregate\" ,$" , MR_Next},
47+ {" \" repetitions\" : %int,$" , MR_Next},
48+ {" \" threads\" : 1,$" , MR_Next},
49+ {" \" aggregate_name\" : \" RMS\" ,$" , MR_Next},
50+ {" \" rms\" : %float$" , MR_Next},
51+ {" }" , MR_Next}});
4752 AddCases (TC_CSVOut, {{" ^\" %bigo_name\" ,,%float,%float,%bigo,,,,,$" },
4853 {" ^\" %bigo_name\" " , MR_Not},
4954 {" ^\" %rms_name\" ,,%float,%float,,,,,,$" , MR_Next}});
@@ -82,15 +87,15 @@ const char *lambda_big_o_1 = "f\\(N\\)";
8287
8388// Add enum tests
8489ADD_COMPLEXITY_CASES (one_test_name, big_o_1_test_name, rms_o_1_test_name,
85- enum_big_o_1);
90+ enum_big_o_1, /* family_index= */ 0 );
8691
8792// Add auto enum tests
8893ADD_COMPLEXITY_CASES (one_test_name, big_o_1_test_name, rms_o_1_test_name,
89- auto_big_o_1);
94+ auto_big_o_1, /* family_index= */ 1 );
9095
9196// Add lambda tests
9297ADD_COMPLEXITY_CASES (one_test_name, big_o_1_test_name, rms_o_1_test_name,
93- lambda_big_o_1);
98+ lambda_big_o_1, /* family_index= */ 2 );
9499
95100// ========================================================================= //
96101// --------------------------- Testing BigO O(N) --------------------------- //
@@ -137,11 +142,11 @@ const char *lambda_big_o_n = "f\\(N\\)";
137142
138143// Add enum tests
139144ADD_COMPLEXITY_CASES (n_test_name, big_o_n_test_name, rms_o_n_test_name,
140- enum_auto_big_o_n);
145+ enum_auto_big_o_n, /* family_index= */ 3 );
141146
142147// Add lambda tests
143148ADD_COMPLEXITY_CASES (n_test_name, big_o_n_test_name, rms_o_n_test_name,
144- lambda_big_o_n);
149+ lambda_big_o_n, /* family_index= */ 4 );
145150
146151// ========================================================================= //
147152// ------------------------- Testing BigO O(N*lgN) ------------------------- //
@@ -178,11 +183,13 @@ const char *lambda_big_o_n_lg_n = "f\\(N\\)";
178183
179184// Add enum tests
180185ADD_COMPLEXITY_CASES (n_lg_n_test_name, big_o_n_lg_n_test_name,
181- rms_o_n_lg_n_test_name, enum_auto_big_o_n_lg_n);
186+ rms_o_n_lg_n_test_name, enum_auto_big_o_n_lg_n,
187+ /* family_index=*/ 6 );
182188
183189// Add lambda tests
184190ADD_COMPLEXITY_CASES (n_lg_n_test_name, big_o_n_lg_n_test_name,
185- rms_o_n_lg_n_test_name, lambda_big_o_n_lg_n);
191+ rms_o_n_lg_n_test_name, lambda_big_o_n_lg_n,
192+ /* family_index=*/ 7 );
186193
187194// ========================================================================= //
188195// -------- Testing formatting of Complexity with captured args ------------ //
@@ -204,7 +211,7 @@ const std::string complexity_capture_name =
204211 " BM_ComplexityCaptureArgs/capture_test" ;
205212
206213ADD_COMPLEXITY_CASES (complexity_capture_name, complexity_capture_name + " _BigO" ,
207- complexity_capture_name + " _RMS" , " N" );
214+ complexity_capture_name + " _RMS" , " N" , /* family_index= */ 9 );
208215
209216// ========================================================================= //
210217// --------------------------- TEST CASES END ------------------------------ //
0 commit comments