6 #include "../src/check.h"
7 #include "benchmark/benchmark.h"
14 all_runs_.insert(all_runs_.end(),
begin(report),
end(report));
18 std::vector<Run> all_runs_;
26 TestCase(
const char* xname,
const char* xlabel)
31 void CheckRun(
Run const&
run)
const {
34 <<
run.benchmark_name();
45 std::vector<TestCase> ExpectedResults;
47 int AddCases(std::initializer_list<TestCase>
const&
v) {
49 ExpectedResults.push_back(
N);
54 #define CONCAT(x, y) CONCAT2(x, y)
55 #define CONCAT2(x, y) x##y
56 #define ADD_CASES(...) int CONCAT(dummy, __LINE__) = AddCases({__VA_ARGS__})
72 ADD_CASES({
"BM_function"}, {
"BM_function_manual_registration"});
79 #ifndef BENCHMARK_HAS_NO_VARIADIC_REGISTER_BENCHMARK
87 std::pair<const char*, const char*> cases[] = {
88 {
"test1",
"One"}, {
"test2",
"Two"}, {
"test3",
"Three"}};
89 for (
auto const&
c : cases)
94 ADD_CASES({
"test1",
"One"}, {
"test2",
"Two"}, {
"test3",
"Three"});
96 #endif // BENCHMARK_HAS_NO_VARIADIC_REGISTER_BENCHMARK
110 #ifdef BENCHMARK_HAS_CXX11
117 #ifndef BENCHMARK_HAS_NO_VARIADIC_REGISTER_BENCHMARK
119 const char*
x =
"42";
136 TestReporter test_reporter;
140 auto EB = ExpectedResults.begin();
142 for (
Run const&
run : test_reporter.all_runs_) {
143 assert(EB != ExpectedResults.end());
147 assert(EB == ExpectedResults.end());
154 assert(ExpectedResults.size() != 0 &&
155 "must have at least one registered benchmark");
156 ExpectedResults.clear();
159 TestReporter test_reporter;
161 assert(num_ran == 0);
162 assert(test_reporter.all_runs_.begin() == test_reporter.all_runs_.end());
166 assert(num_ran == ExpectedResults.size());
169 auto EB = ExpectedResults.begin();
171 for (
Run const&
run : test_reporter.all_runs_) {
172 assert(EB != ExpectedResults.end());
176 assert(EB == ExpectedResults.end());
179 int main(
int argc,
char* argv[]) {