215 lines · plain
1 2#include "benchmark/benchmark.h"3#include "output_test.h"4 5// ========================================================================= //6// ------------------------ Testing Basic Output --------------------------- //7// ========================================================================= //8 9static void BM_ExplicitRepetitions(benchmark::State& state) {10 for (auto _ : state) {11 }12}13BENCHMARK(BM_ExplicitRepetitions)->Repetitions(2);14 15ADD_CASES(TC_ConsoleOut,16 {{"^BM_ExplicitRepetitions/repeats:2 %console_report$"}});17ADD_CASES(TC_ConsoleOut,18 {{"^BM_ExplicitRepetitions/repeats:2 %console_report$"}});19ADD_CASES(TC_ConsoleOut,20 {{"^BM_ExplicitRepetitions/repeats:2_mean %console_report$"}});21ADD_CASES(TC_ConsoleOut,22 {{"^BM_ExplicitRepetitions/repeats:2_median %console_report$"}});23ADD_CASES(TC_ConsoleOut,24 {{"^BM_ExplicitRepetitions/repeats:2_stddev %console_report$"}});25ADD_CASES(TC_JSONOut,26 {{"\"name\": \"BM_ExplicitRepetitions/repeats:2\",$"},27 {"\"family_index\": 0,$", MR_Next},28 {"\"per_family_instance_index\": 0,$", MR_Next},29 {"\"run_name\": \"BM_ExplicitRepetitions/repeats:2\",$", MR_Next},30 {"\"run_type\": \"iteration\",$", MR_Next},31 {"\"repetitions\": 2,$", MR_Next},32 {"\"repetition_index\": 0,$", MR_Next},33 {"\"threads\": 1,$", MR_Next},34 {"\"iterations\": %int,$", MR_Next},35 {"\"real_time\": %float,$", MR_Next},36 {"\"cpu_time\": %float,$", MR_Next},37 {"\"time_unit\": \"ns\"$", MR_Next},38 {"}", MR_Next}});39ADD_CASES(TC_JSONOut,40 {{"\"name\": \"BM_ExplicitRepetitions/repeats:2\",$"},41 {"\"family_index\": 0,$", MR_Next},42 {"\"per_family_instance_index\": 0,$", MR_Next},43 {"\"run_name\": \"BM_ExplicitRepetitions/repeats:2\",$", MR_Next},44 {"\"run_type\": \"iteration\",$", MR_Next},45 {"\"repetitions\": 2,$", MR_Next},46 {"\"repetition_index\": 1,$", MR_Next},47 {"\"threads\": 1,$", MR_Next},48 {"\"iterations\": %int,$", MR_Next},49 {"\"real_time\": %float,$", MR_Next},50 {"\"cpu_time\": %float,$", MR_Next},51 {"\"time_unit\": \"ns\"$", MR_Next},52 {"}", MR_Next}});53ADD_CASES(TC_JSONOut,54 {{"\"name\": \"BM_ExplicitRepetitions/repeats:2_mean\",$"},55 {"\"family_index\": 0,$", MR_Next},56 {"\"per_family_instance_index\": 0,$", MR_Next},57 {"\"run_name\": \"BM_ExplicitRepetitions/repeats:2\",$", MR_Next},58 {"\"run_type\": \"aggregate\",$", MR_Next},59 {"\"repetitions\": 2,$", MR_Next},60 {"\"threads\": 1,$", MR_Next},61 {"\"aggregate_name\": \"mean\",$", MR_Next},62 {"\"aggregate_unit\": \"time\",$", MR_Next},63 {"\"iterations\": %int,$", MR_Next},64 {"\"real_time\": %float,$", MR_Next},65 {"\"cpu_time\": %float,$", MR_Next},66 {"\"time_unit\": \"ns\"$", MR_Next},67 {"}", MR_Next}});68ADD_CASES(TC_JSONOut,69 {{"\"name\": \"BM_ExplicitRepetitions/repeats:2_median\",$"},70 {"\"family_index\": 0,$", MR_Next},71 {"\"per_family_instance_index\": 0,$", MR_Next},72 {"\"run_name\": \"BM_ExplicitRepetitions/repeats:2\",$", MR_Next},73 {"\"run_type\": \"aggregate\",$", MR_Next},74 {"\"repetitions\": 2,$", MR_Next},75 {"\"threads\": 1,$", MR_Next},76 {"\"aggregate_name\": \"median\",$", MR_Next},77 {"\"aggregate_unit\": \"time\",$", MR_Next},78 {"\"iterations\": %int,$", MR_Next},79 {"\"real_time\": %float,$", MR_Next},80 {"\"cpu_time\": %float,$", MR_Next},81 {"\"time_unit\": \"ns\"$", MR_Next},82 {"}", MR_Next}});83ADD_CASES(TC_JSONOut,84 {{"\"name\": \"BM_ExplicitRepetitions/repeats:2_stddev\",$"},85 {"\"family_index\": 0,$", MR_Next},86 {"\"per_family_instance_index\": 0,$", MR_Next},87 {"\"run_name\": \"BM_ExplicitRepetitions/repeats:2\",$", MR_Next},88 {"\"run_type\": \"aggregate\",$", MR_Next},89 {"\"repetitions\": 2,$", MR_Next},90 {"\"threads\": 1,$", MR_Next},91 {"\"aggregate_name\": \"stddev\",$", MR_Next},92 {"\"aggregate_unit\": \"time\",$", MR_Next},93 {"\"iterations\": %int,$", MR_Next},94 {"\"real_time\": %float,$", MR_Next},95 {"\"cpu_time\": %float,$", MR_Next},96 {"\"time_unit\": \"ns\"$", MR_Next},97 {"}", MR_Next}});98ADD_CASES(TC_CSVOut, {{"^\"BM_ExplicitRepetitions/repeats:2\",%csv_report$"}});99ADD_CASES(TC_CSVOut, {{"^\"BM_ExplicitRepetitions/repeats:2\",%csv_report$"}});100ADD_CASES(TC_CSVOut,101 {{"^\"BM_ExplicitRepetitions/repeats:2_mean\",%csv_report$"}});102ADD_CASES(TC_CSVOut,103 {{"^\"BM_ExplicitRepetitions/repeats:2_median\",%csv_report$"}});104ADD_CASES(TC_CSVOut,105 {{"^\"BM_ExplicitRepetitions/repeats:2_stddev\",%csv_report$"}});106 107// ========================================================================= //108// ------------------------ Testing Basic Output --------------------------- //109// ========================================================================= //110 111static void BM_ImplicitRepetitions(benchmark::State& state) {112 for (auto _ : state) {113 }114}115BENCHMARK(BM_ImplicitRepetitions);116 117ADD_CASES(TC_ConsoleOut, {{"^BM_ImplicitRepetitions %console_report$"}});118ADD_CASES(TC_ConsoleOut, {{"^BM_ImplicitRepetitions %console_report$"}});119ADD_CASES(TC_ConsoleOut, {{"^BM_ImplicitRepetitions %console_report$"}});120ADD_CASES(TC_ConsoleOut, {{"^BM_ImplicitRepetitions_mean %console_report$"}});121ADD_CASES(TC_ConsoleOut, {{"^BM_ImplicitRepetitions_median %console_report$"}});122ADD_CASES(TC_ConsoleOut, {{"^BM_ImplicitRepetitions_stddev %console_report$"}});123ADD_CASES(TC_JSONOut, {{"\"name\": \"BM_ImplicitRepetitions\",$"},124 {"\"family_index\": 1,$", MR_Next},125 {"\"per_family_instance_index\": 0,$", MR_Next},126 {"\"run_name\": \"BM_ImplicitRepetitions\",$", MR_Next},127 {"\"run_type\": \"iteration\",$", MR_Next},128 {"\"repetitions\": 3,$", MR_Next},129 {"\"repetition_index\": 0,$", MR_Next},130 {"\"threads\": 1,$", MR_Next},131 {"\"iterations\": %int,$", MR_Next},132 {"\"real_time\": %float,$", MR_Next},133 {"\"cpu_time\": %float,$", MR_Next},134 {"\"time_unit\": \"ns\"$", MR_Next},135 {"}", MR_Next}});136ADD_CASES(TC_JSONOut, {{"\"name\": \"BM_ImplicitRepetitions\",$"},137 {"\"family_index\": 1,$", MR_Next},138 {"\"per_family_instance_index\": 0,$", MR_Next},139 {"\"run_name\": \"BM_ImplicitRepetitions\",$", MR_Next},140 {"\"run_type\": \"iteration\",$", MR_Next},141 {"\"repetitions\": 3,$", MR_Next},142 {"\"repetition_index\": 1,$", MR_Next},143 {"\"threads\": 1,$", MR_Next},144 {"\"iterations\": %int,$", MR_Next},145 {"\"real_time\": %float,$", MR_Next},146 {"\"cpu_time\": %float,$", MR_Next},147 {"\"time_unit\": \"ns\"$", MR_Next},148 {"}", MR_Next}});149ADD_CASES(TC_JSONOut, {{"\"name\": \"BM_ImplicitRepetitions\",$"},150 {"\"family_index\": 1,$", MR_Next},151 {"\"per_family_instance_index\": 0,$", MR_Next},152 {"\"run_name\": \"BM_ImplicitRepetitions\",$", MR_Next},153 {"\"run_type\": \"iteration\",$", MR_Next},154 {"\"repetitions\": 3,$", MR_Next},155 {"\"repetition_index\": 2,$", MR_Next},156 {"\"threads\": 1,$", MR_Next},157 {"\"iterations\": %int,$", MR_Next},158 {"\"real_time\": %float,$", MR_Next},159 {"\"cpu_time\": %float,$", MR_Next},160 {"\"time_unit\": \"ns\"$", MR_Next},161 {"}", MR_Next}});162ADD_CASES(TC_JSONOut, {{"\"name\": \"BM_ImplicitRepetitions_mean\",$"},163 {"\"family_index\": 1,$", MR_Next},164 {"\"per_family_instance_index\": 0,$", MR_Next},165 {"\"run_name\": \"BM_ImplicitRepetitions\",$", MR_Next},166 {"\"run_type\": \"aggregate\",$", MR_Next},167 {"\"repetitions\": 3,$", MR_Next},168 {"\"threads\": 1,$", MR_Next},169 {"\"aggregate_name\": \"mean\",$", MR_Next},170 {"\"aggregate_unit\": \"time\",$", MR_Next},171 {"\"iterations\": %int,$", MR_Next},172 {"\"real_time\": %float,$", MR_Next},173 {"\"cpu_time\": %float,$", MR_Next},174 {"\"time_unit\": \"ns\"$", MR_Next},175 {"}", MR_Next}});176ADD_CASES(TC_JSONOut, {{"\"name\": \"BM_ImplicitRepetitions_median\",$"},177 {"\"family_index\": 1,$", MR_Next},178 {"\"per_family_instance_index\": 0,$", MR_Next},179 {"\"run_name\": \"BM_ImplicitRepetitions\",$", MR_Next},180 {"\"run_type\": \"aggregate\",$", MR_Next},181 {"\"repetitions\": 3,$", MR_Next},182 {"\"threads\": 1,$", MR_Next},183 {"\"aggregate_name\": \"median\",$", MR_Next},184 {"\"aggregate_unit\": \"time\",$", MR_Next},185 {"\"iterations\": %int,$", MR_Next},186 {"\"real_time\": %float,$", MR_Next},187 {"\"cpu_time\": %float,$", MR_Next},188 {"\"time_unit\": \"ns\"$", MR_Next},189 {"}", MR_Next}});190ADD_CASES(TC_JSONOut, {{"\"name\": \"BM_ImplicitRepetitions_stddev\",$"},191 {"\"family_index\": 1,$", MR_Next},192 {"\"per_family_instance_index\": 0,$", MR_Next},193 {"\"run_name\": \"BM_ImplicitRepetitions\",$", MR_Next},194 {"\"run_type\": \"aggregate\",$", MR_Next},195 {"\"repetitions\": 3,$", MR_Next},196 {"\"threads\": 1,$", MR_Next},197 {"\"aggregate_name\": \"stddev\",$", MR_Next},198 {"\"aggregate_unit\": \"time\",$", MR_Next},199 {"\"iterations\": %int,$", MR_Next},200 {"\"real_time\": %float,$", MR_Next},201 {"\"cpu_time\": %float,$", MR_Next},202 {"\"time_unit\": \"ns\"$", MR_Next},203 {"}", MR_Next}});204ADD_CASES(TC_CSVOut, {{"^\"BM_ImplicitRepetitions\",%csv_report$"}});205ADD_CASES(TC_CSVOut, {{"^\"BM_ImplicitRepetitions\",%csv_report$"}});206ADD_CASES(TC_CSVOut, {{"^\"BM_ImplicitRepetitions_mean\",%csv_report$"}});207ADD_CASES(TC_CSVOut, {{"^\"BM_ImplicitRepetitions_median\",%csv_report$"}});208ADD_CASES(TC_CSVOut, {{"^\"BM_ImplicitRepetitions_stddev\",%csv_report$"}});209 210// ========================================================================= //211// --------------------------- TEST CASES END ------------------------------ //212// ========================================================================= //213 214int main(int argc, char* argv[]) { RunOutputTests(argc, argv); }215