15dda2efdSMircea Trofin
25dda2efdSMircea Trofin #include "benchmark/benchmark.h"
35dda2efdSMircea Trofin #include "output_test.h"
45dda2efdSMircea Trofin
55dda2efdSMircea Trofin // ========================================================================= //
65dda2efdSMircea Trofin // ------------------------ Testing Basic Output --------------------------- //
75dda2efdSMircea Trofin // ========================================================================= //
85dda2efdSMircea Trofin
BM_ExplicitRepetitions(benchmark::State & state)9*a290770fSMircea Trofin static void BM_ExplicitRepetitions(benchmark::State& state) {
105dda2efdSMircea Trofin for (auto _ : state) {
115dda2efdSMircea Trofin }
125dda2efdSMircea Trofin }
135dda2efdSMircea Trofin BENCHMARK(BM_ExplicitRepetitions)->Repetitions(2);
145dda2efdSMircea Trofin
155dda2efdSMircea Trofin ADD_CASES(TC_ConsoleOut,
165dda2efdSMircea Trofin {{"^BM_ExplicitRepetitions/repeats:2 %console_report$"}});
175dda2efdSMircea Trofin ADD_CASES(TC_ConsoleOut,
185dda2efdSMircea Trofin {{"^BM_ExplicitRepetitions/repeats:2 %console_report$"}});
195dda2efdSMircea Trofin ADD_CASES(TC_ConsoleOut,
205dda2efdSMircea Trofin {{"^BM_ExplicitRepetitions/repeats:2_mean %console_report$"}});
215dda2efdSMircea Trofin ADD_CASES(TC_ConsoleOut,
225dda2efdSMircea Trofin {{"^BM_ExplicitRepetitions/repeats:2_median %console_report$"}});
235dda2efdSMircea Trofin ADD_CASES(TC_ConsoleOut,
245dda2efdSMircea Trofin {{"^BM_ExplicitRepetitions/repeats:2_stddev %console_report$"}});
255dda2efdSMircea Trofin ADD_CASES(TC_JSONOut,
265dda2efdSMircea Trofin {{"\"name\": \"BM_ExplicitRepetitions/repeats:2\",$"},
275dda2efdSMircea Trofin {"\"family_index\": 0,$", MR_Next},
285dda2efdSMircea Trofin {"\"per_family_instance_index\": 0,$", MR_Next},
295dda2efdSMircea Trofin {"\"run_name\": \"BM_ExplicitRepetitions/repeats:2\",$", MR_Next},
305dda2efdSMircea Trofin {"\"run_type\": \"iteration\",$", MR_Next},
315dda2efdSMircea Trofin {"\"repetitions\": 2,$", MR_Next},
325dda2efdSMircea Trofin {"\"repetition_index\": 0,$", MR_Next},
335dda2efdSMircea Trofin {"\"threads\": 1,$", MR_Next},
345dda2efdSMircea Trofin {"\"iterations\": %int,$", MR_Next},
355dda2efdSMircea Trofin {"\"real_time\": %float,$", MR_Next},
365dda2efdSMircea Trofin {"\"cpu_time\": %float,$", MR_Next},
375dda2efdSMircea Trofin {"\"time_unit\": \"ns\"$", MR_Next},
385dda2efdSMircea Trofin {"}", MR_Next}});
395dda2efdSMircea Trofin ADD_CASES(TC_JSONOut,
405dda2efdSMircea Trofin {{"\"name\": \"BM_ExplicitRepetitions/repeats:2\",$"},
415dda2efdSMircea Trofin {"\"family_index\": 0,$", MR_Next},
425dda2efdSMircea Trofin {"\"per_family_instance_index\": 0,$", MR_Next},
435dda2efdSMircea Trofin {"\"run_name\": \"BM_ExplicitRepetitions/repeats:2\",$", MR_Next},
445dda2efdSMircea Trofin {"\"run_type\": \"iteration\",$", MR_Next},
455dda2efdSMircea Trofin {"\"repetitions\": 2,$", MR_Next},
465dda2efdSMircea Trofin {"\"repetition_index\": 1,$", MR_Next},
475dda2efdSMircea Trofin {"\"threads\": 1,$", MR_Next},
485dda2efdSMircea Trofin {"\"iterations\": %int,$", MR_Next},
495dda2efdSMircea Trofin {"\"real_time\": %float,$", MR_Next},
505dda2efdSMircea Trofin {"\"cpu_time\": %float,$", MR_Next},
515dda2efdSMircea Trofin {"\"time_unit\": \"ns\"$", MR_Next},
525dda2efdSMircea Trofin {"}", MR_Next}});
535dda2efdSMircea Trofin ADD_CASES(TC_JSONOut,
545dda2efdSMircea Trofin {{"\"name\": \"BM_ExplicitRepetitions/repeats:2_mean\",$"},
555dda2efdSMircea Trofin {"\"family_index\": 0,$", MR_Next},
565dda2efdSMircea Trofin {"\"per_family_instance_index\": 0,$", MR_Next},
575dda2efdSMircea Trofin {"\"run_name\": \"BM_ExplicitRepetitions/repeats:2\",$", MR_Next},
585dda2efdSMircea Trofin {"\"run_type\": \"aggregate\",$", MR_Next},
595dda2efdSMircea Trofin {"\"repetitions\": 2,$", MR_Next},
605dda2efdSMircea Trofin {"\"threads\": 1,$", MR_Next},
615dda2efdSMircea Trofin {"\"aggregate_name\": \"mean\",$", MR_Next},
62*a290770fSMircea Trofin {"\"aggregate_unit\": \"time\",$", MR_Next},
635dda2efdSMircea Trofin {"\"iterations\": %int,$", MR_Next},
645dda2efdSMircea Trofin {"\"real_time\": %float,$", MR_Next},
655dda2efdSMircea Trofin {"\"cpu_time\": %float,$", MR_Next},
665dda2efdSMircea Trofin {"\"time_unit\": \"ns\"$", MR_Next},
675dda2efdSMircea Trofin {"}", MR_Next}});
685dda2efdSMircea Trofin ADD_CASES(TC_JSONOut,
695dda2efdSMircea Trofin {{"\"name\": \"BM_ExplicitRepetitions/repeats:2_median\",$"},
705dda2efdSMircea Trofin {"\"family_index\": 0,$", MR_Next},
715dda2efdSMircea Trofin {"\"per_family_instance_index\": 0,$", MR_Next},
725dda2efdSMircea Trofin {"\"run_name\": \"BM_ExplicitRepetitions/repeats:2\",$", MR_Next},
735dda2efdSMircea Trofin {"\"run_type\": \"aggregate\",$", MR_Next},
745dda2efdSMircea Trofin {"\"repetitions\": 2,$", MR_Next},
755dda2efdSMircea Trofin {"\"threads\": 1,$", MR_Next},
765dda2efdSMircea Trofin {"\"aggregate_name\": \"median\",$", MR_Next},
77*a290770fSMircea Trofin {"\"aggregate_unit\": \"time\",$", MR_Next},
785dda2efdSMircea Trofin {"\"iterations\": %int,$", MR_Next},
795dda2efdSMircea Trofin {"\"real_time\": %float,$", MR_Next},
805dda2efdSMircea Trofin {"\"cpu_time\": %float,$", MR_Next},
815dda2efdSMircea Trofin {"\"time_unit\": \"ns\"$", MR_Next},
825dda2efdSMircea Trofin {"}", MR_Next}});
835dda2efdSMircea Trofin ADD_CASES(TC_JSONOut,
845dda2efdSMircea Trofin {{"\"name\": \"BM_ExplicitRepetitions/repeats:2_stddev\",$"},
855dda2efdSMircea Trofin {"\"family_index\": 0,$", MR_Next},
865dda2efdSMircea Trofin {"\"per_family_instance_index\": 0,$", MR_Next},
875dda2efdSMircea Trofin {"\"run_name\": \"BM_ExplicitRepetitions/repeats:2\",$", MR_Next},
885dda2efdSMircea Trofin {"\"run_type\": \"aggregate\",$", MR_Next},
895dda2efdSMircea Trofin {"\"repetitions\": 2,$", MR_Next},
905dda2efdSMircea Trofin {"\"threads\": 1,$", MR_Next},
915dda2efdSMircea Trofin {"\"aggregate_name\": \"stddev\",$", MR_Next},
92*a290770fSMircea Trofin {"\"aggregate_unit\": \"time\",$", MR_Next},
935dda2efdSMircea Trofin {"\"iterations\": %int,$", MR_Next},
945dda2efdSMircea Trofin {"\"real_time\": %float,$", MR_Next},
955dda2efdSMircea Trofin {"\"cpu_time\": %float,$", MR_Next},
965dda2efdSMircea Trofin {"\"time_unit\": \"ns\"$", MR_Next},
975dda2efdSMircea Trofin {"}", MR_Next}});
985dda2efdSMircea Trofin ADD_CASES(TC_CSVOut, {{"^\"BM_ExplicitRepetitions/repeats:2\",%csv_report$"}});
995dda2efdSMircea Trofin ADD_CASES(TC_CSVOut, {{"^\"BM_ExplicitRepetitions/repeats:2\",%csv_report$"}});
1005dda2efdSMircea Trofin ADD_CASES(TC_CSVOut,
1015dda2efdSMircea Trofin {{"^\"BM_ExplicitRepetitions/repeats:2_mean\",%csv_report$"}});
1025dda2efdSMircea Trofin ADD_CASES(TC_CSVOut,
1035dda2efdSMircea Trofin {{"^\"BM_ExplicitRepetitions/repeats:2_median\",%csv_report$"}});
1045dda2efdSMircea Trofin ADD_CASES(TC_CSVOut,
1055dda2efdSMircea Trofin {{"^\"BM_ExplicitRepetitions/repeats:2_stddev\",%csv_report$"}});
1065dda2efdSMircea Trofin
1075dda2efdSMircea Trofin // ========================================================================= //
1085dda2efdSMircea Trofin // ------------------------ Testing Basic Output --------------------------- //
1095dda2efdSMircea Trofin // ========================================================================= //
1105dda2efdSMircea Trofin
BM_ImplicitRepetitions(benchmark::State & state)111*a290770fSMircea Trofin static void BM_ImplicitRepetitions(benchmark::State& state) {
1125dda2efdSMircea Trofin for (auto _ : state) {
1135dda2efdSMircea Trofin }
1145dda2efdSMircea Trofin }
1155dda2efdSMircea Trofin BENCHMARK(BM_ImplicitRepetitions);
1165dda2efdSMircea Trofin
1175dda2efdSMircea Trofin ADD_CASES(TC_ConsoleOut, {{"^BM_ImplicitRepetitions %console_report$"}});
1185dda2efdSMircea Trofin ADD_CASES(TC_ConsoleOut, {{"^BM_ImplicitRepetitions %console_report$"}});
1195dda2efdSMircea Trofin ADD_CASES(TC_ConsoleOut, {{"^BM_ImplicitRepetitions %console_report$"}});
1205dda2efdSMircea Trofin ADD_CASES(TC_ConsoleOut, {{"^BM_ImplicitRepetitions_mean %console_report$"}});
1215dda2efdSMircea Trofin ADD_CASES(TC_ConsoleOut, {{"^BM_ImplicitRepetitions_median %console_report$"}});
1225dda2efdSMircea Trofin ADD_CASES(TC_ConsoleOut, {{"^BM_ImplicitRepetitions_stddev %console_report$"}});
1235dda2efdSMircea Trofin ADD_CASES(TC_JSONOut, {{"\"name\": \"BM_ImplicitRepetitions\",$"},
1245dda2efdSMircea Trofin {"\"family_index\": 1,$", MR_Next},
1255dda2efdSMircea Trofin {"\"per_family_instance_index\": 0,$", MR_Next},
1265dda2efdSMircea Trofin {"\"run_name\": \"BM_ImplicitRepetitions\",$", MR_Next},
1275dda2efdSMircea Trofin {"\"run_type\": \"iteration\",$", MR_Next},
1285dda2efdSMircea Trofin {"\"repetitions\": 3,$", MR_Next},
1295dda2efdSMircea Trofin {"\"repetition_index\": 0,$", MR_Next},
1305dda2efdSMircea Trofin {"\"threads\": 1,$", MR_Next},
1315dda2efdSMircea Trofin {"\"iterations\": %int,$", MR_Next},
1325dda2efdSMircea Trofin {"\"real_time\": %float,$", MR_Next},
1335dda2efdSMircea Trofin {"\"cpu_time\": %float,$", MR_Next},
1345dda2efdSMircea Trofin {"\"time_unit\": \"ns\"$", MR_Next},
1355dda2efdSMircea Trofin {"}", MR_Next}});
1365dda2efdSMircea Trofin ADD_CASES(TC_JSONOut, {{"\"name\": \"BM_ImplicitRepetitions\",$"},
1375dda2efdSMircea Trofin {"\"family_index\": 1,$", MR_Next},
1385dda2efdSMircea Trofin {"\"per_family_instance_index\": 0,$", MR_Next},
1395dda2efdSMircea Trofin {"\"run_name\": \"BM_ImplicitRepetitions\",$", MR_Next},
1405dda2efdSMircea Trofin {"\"run_type\": \"iteration\",$", MR_Next},
1415dda2efdSMircea Trofin {"\"repetitions\": 3,$", MR_Next},
1425dda2efdSMircea Trofin {"\"repetition_index\": 1,$", MR_Next},
1435dda2efdSMircea Trofin {"\"threads\": 1,$", MR_Next},
1445dda2efdSMircea Trofin {"\"iterations\": %int,$", MR_Next},
1455dda2efdSMircea Trofin {"\"real_time\": %float,$", MR_Next},
1465dda2efdSMircea Trofin {"\"cpu_time\": %float,$", MR_Next},
1475dda2efdSMircea Trofin {"\"time_unit\": \"ns\"$", MR_Next},
1485dda2efdSMircea Trofin {"}", MR_Next}});
1495dda2efdSMircea Trofin ADD_CASES(TC_JSONOut, {{"\"name\": \"BM_ImplicitRepetitions\",$"},
1505dda2efdSMircea Trofin {"\"family_index\": 1,$", MR_Next},
1515dda2efdSMircea Trofin {"\"per_family_instance_index\": 0,$", MR_Next},
1525dda2efdSMircea Trofin {"\"run_name\": \"BM_ImplicitRepetitions\",$", MR_Next},
1535dda2efdSMircea Trofin {"\"run_type\": \"iteration\",$", MR_Next},
1545dda2efdSMircea Trofin {"\"repetitions\": 3,$", MR_Next},
1555dda2efdSMircea Trofin {"\"repetition_index\": 2,$", MR_Next},
1565dda2efdSMircea Trofin {"\"threads\": 1,$", MR_Next},
1575dda2efdSMircea Trofin {"\"iterations\": %int,$", MR_Next},
1585dda2efdSMircea Trofin {"\"real_time\": %float,$", MR_Next},
1595dda2efdSMircea Trofin {"\"cpu_time\": %float,$", MR_Next},
1605dda2efdSMircea Trofin {"\"time_unit\": \"ns\"$", MR_Next},
1615dda2efdSMircea Trofin {"}", MR_Next}});
1625dda2efdSMircea Trofin ADD_CASES(TC_JSONOut, {{"\"name\": \"BM_ImplicitRepetitions_mean\",$"},
1635dda2efdSMircea Trofin {"\"family_index\": 1,$", MR_Next},
1645dda2efdSMircea Trofin {"\"per_family_instance_index\": 0,$", MR_Next},
1655dda2efdSMircea Trofin {"\"run_name\": \"BM_ImplicitRepetitions\",$", MR_Next},
1665dda2efdSMircea Trofin {"\"run_type\": \"aggregate\",$", MR_Next},
1675dda2efdSMircea Trofin {"\"repetitions\": 3,$", MR_Next},
1685dda2efdSMircea Trofin {"\"threads\": 1,$", MR_Next},
1695dda2efdSMircea Trofin {"\"aggregate_name\": \"mean\",$", MR_Next},
170*a290770fSMircea Trofin {"\"aggregate_unit\": \"time\",$", MR_Next},
1715dda2efdSMircea Trofin {"\"iterations\": %int,$", MR_Next},
1725dda2efdSMircea Trofin {"\"real_time\": %float,$", MR_Next},
1735dda2efdSMircea Trofin {"\"cpu_time\": %float,$", MR_Next},
1745dda2efdSMircea Trofin {"\"time_unit\": \"ns\"$", MR_Next},
1755dda2efdSMircea Trofin {"}", MR_Next}});
1765dda2efdSMircea Trofin ADD_CASES(TC_JSONOut, {{"\"name\": \"BM_ImplicitRepetitions_median\",$"},
1775dda2efdSMircea Trofin {"\"family_index\": 1,$", MR_Next},
1785dda2efdSMircea Trofin {"\"per_family_instance_index\": 0,$", MR_Next},
1795dda2efdSMircea Trofin {"\"run_name\": \"BM_ImplicitRepetitions\",$", MR_Next},
1805dda2efdSMircea Trofin {"\"run_type\": \"aggregate\",$", MR_Next},
1815dda2efdSMircea Trofin {"\"repetitions\": 3,$", MR_Next},
1825dda2efdSMircea Trofin {"\"threads\": 1,$", MR_Next},
1835dda2efdSMircea Trofin {"\"aggregate_name\": \"median\",$", MR_Next},
184*a290770fSMircea Trofin {"\"aggregate_unit\": \"time\",$", MR_Next},
1855dda2efdSMircea Trofin {"\"iterations\": %int,$", MR_Next},
1865dda2efdSMircea Trofin {"\"real_time\": %float,$", MR_Next},
1875dda2efdSMircea Trofin {"\"cpu_time\": %float,$", MR_Next},
1885dda2efdSMircea Trofin {"\"time_unit\": \"ns\"$", MR_Next},
1895dda2efdSMircea Trofin {"}", MR_Next}});
1905dda2efdSMircea Trofin ADD_CASES(TC_JSONOut, {{"\"name\": \"BM_ImplicitRepetitions_stddev\",$"},
1915dda2efdSMircea Trofin {"\"family_index\": 1,$", MR_Next},
1925dda2efdSMircea Trofin {"\"per_family_instance_index\": 0,$", MR_Next},
1935dda2efdSMircea Trofin {"\"run_name\": \"BM_ImplicitRepetitions\",$", MR_Next},
1945dda2efdSMircea Trofin {"\"run_type\": \"aggregate\",$", MR_Next},
1955dda2efdSMircea Trofin {"\"repetitions\": 3,$", MR_Next},
1965dda2efdSMircea Trofin {"\"threads\": 1,$", MR_Next},
1975dda2efdSMircea Trofin {"\"aggregate_name\": \"stddev\",$", MR_Next},
198*a290770fSMircea Trofin {"\"aggregate_unit\": \"time\",$", MR_Next},
1995dda2efdSMircea Trofin {"\"iterations\": %int,$", MR_Next},
2005dda2efdSMircea Trofin {"\"real_time\": %float,$", MR_Next},
2015dda2efdSMircea Trofin {"\"cpu_time\": %float,$", MR_Next},
2025dda2efdSMircea Trofin {"\"time_unit\": \"ns\"$", MR_Next},
2035dda2efdSMircea Trofin {"}", MR_Next}});
2045dda2efdSMircea Trofin ADD_CASES(TC_CSVOut, {{"^\"BM_ImplicitRepetitions\",%csv_report$"}});
2055dda2efdSMircea Trofin ADD_CASES(TC_CSVOut, {{"^\"BM_ImplicitRepetitions\",%csv_report$"}});
2065dda2efdSMircea Trofin ADD_CASES(TC_CSVOut, {{"^\"BM_ImplicitRepetitions_mean\",%csv_report$"}});
2075dda2efdSMircea Trofin ADD_CASES(TC_CSVOut, {{"^\"BM_ImplicitRepetitions_median\",%csv_report$"}});
2085dda2efdSMircea Trofin ADD_CASES(TC_CSVOut, {{"^\"BM_ImplicitRepetitions_stddev\",%csv_report$"}});
2095dda2efdSMircea Trofin
2105dda2efdSMircea Trofin // ========================================================================= //
2115dda2efdSMircea Trofin // --------------------------- TEST CASES END ------------------------------ //
2125dda2efdSMircea Trofin // ========================================================================= //
2135dda2efdSMircea Trofin
main(int argc,char * argv[])2145dda2efdSMircea Trofin int main(int argc, char* argv[]) { RunOutputTests(argc, argv); }
215