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