display_aggregates_only_test.cc (1623B)
1 2 #undef NDEBUG 3 #include <cstdio> 4 #include <string> 5 6 #include "benchmark/benchmark.h" 7 #include "output_test.h" 8 9 // Ok this test is super ugly. We want to check what happens with the file 10 // reporter in the presence of DisplayAggregatesOnly(). 11 // We do not care about console output, the normal tests check that already. 12 13 void BM_SummaryRepeat(benchmark::State& state) { 14 for (auto _ : state) { 15 } 16 } 17 BENCHMARK(BM_SummaryRepeat)->Repetitions(3)->DisplayAggregatesOnly(); 18 19 int main(int argc, char* argv[]) { 20 const std::string output = GetFileReporterOutput(argc, argv); 21 22 if (SubstrCnt(output, "\"name\": \"BM_SummaryRepeat/repeats:3") != 6 || 23 SubstrCnt(output, "\"name\": \"BM_SummaryRepeat/repeats:3\"") != 3 || 24 SubstrCnt(output, "\"name\": \"BM_SummaryRepeat/repeats:3_mean\"") != 1 || 25 SubstrCnt(output, "\"name\": \"BM_SummaryRepeat/repeats:3_median\"") != 26 1 || 27 SubstrCnt(output, "\"name\": \"BM_SummaryRepeat/repeats:3_stddev\"") != 28 1) { 29 std::cout << "Precondition mismatch. Expected to only find 6 " 30 "occurrences of \"BM_SummaryRepeat/repeats:3\" substring:\n" 31 "\"name\": \"BM_SummaryRepeat/repeats:3\", " 32 "\"name\": \"BM_SummaryRepeat/repeats:3\", " 33 "\"name\": \"BM_SummaryRepeat/repeats:3\", " 34 "\"name\": \"BM_SummaryRepeat/repeats:3_mean\", " 35 "\"name\": \"BM_SummaryRepeat/repeats:3_median\", " 36 "\"name\": \"BM_SummaryRepeat/repeats:3_stddev\"\nThe entire " 37 "output:\n"; 38 std::cout << output; 39 return 1; 40 } 41 42 return 0; 43 }