1*dbb99499SAndroid Build Coastguard Worker #include <string.h> 2*dbb99499SAndroid Build Coastguard Worker 3*dbb99499SAndroid Build Coastguard Worker #include <iostream> 4*dbb99499SAndroid Build Coastguard Worker 5*dbb99499SAndroid Build Coastguard Worker #include "benchmark/benchmark.h" 6*dbb99499SAndroid Build Coastguard Worker 7*dbb99499SAndroid Build Coastguard Worker // Tests that the user specified verbosity level can be get. BM_Verbosity(benchmark::State & state)8*dbb99499SAndroid Build Coastguard Workerstatic void BM_Verbosity(benchmark::State& state) { 9*dbb99499SAndroid Build Coastguard Worker for (auto _ : state) { 10*dbb99499SAndroid Build Coastguard Worker } 11*dbb99499SAndroid Build Coastguard Worker } 12*dbb99499SAndroid Build Coastguard Worker BENCHMARK(BM_Verbosity); 13*dbb99499SAndroid Build Coastguard Worker main(int argc,char ** argv)14*dbb99499SAndroid Build Coastguard Workerint main(int argc, char** argv) { 15*dbb99499SAndroid Build Coastguard Worker const int32_t flagv = 42; 16*dbb99499SAndroid Build Coastguard Worker 17*dbb99499SAndroid Build Coastguard Worker // Verify that argv specify --v=42. 18*dbb99499SAndroid Build Coastguard Worker bool found = false; 19*dbb99499SAndroid Build Coastguard Worker for (int i = 0; i < argc; ++i) { 20*dbb99499SAndroid Build Coastguard Worker if (strcmp("--v=42", argv[i]) == 0) { 21*dbb99499SAndroid Build Coastguard Worker found = true; 22*dbb99499SAndroid Build Coastguard Worker break; 23*dbb99499SAndroid Build Coastguard Worker } 24*dbb99499SAndroid Build Coastguard Worker } 25*dbb99499SAndroid Build Coastguard Worker if (!found) { 26*dbb99499SAndroid Build Coastguard Worker std::cerr << "This test requires '--v=42' to be passed as a command-line " 27*dbb99499SAndroid Build Coastguard Worker << "argument.\n"; 28*dbb99499SAndroid Build Coastguard Worker return 1; 29*dbb99499SAndroid Build Coastguard Worker } 30*dbb99499SAndroid Build Coastguard Worker 31*dbb99499SAndroid Build Coastguard Worker benchmark::Initialize(&argc, argv); 32*dbb99499SAndroid Build Coastguard Worker 33*dbb99499SAndroid Build Coastguard Worker // Check that the current flag value is reported accurately via the 34*dbb99499SAndroid Build Coastguard Worker // GetBenchmarkVerbosity() function. 35*dbb99499SAndroid Build Coastguard Worker if (flagv != benchmark::GetBenchmarkVerbosity()) { 36*dbb99499SAndroid Build Coastguard Worker std::cerr 37*dbb99499SAndroid Build Coastguard Worker << "Seeing different value for flags. GetBenchmarkVerbosity() returns [" 38*dbb99499SAndroid Build Coastguard Worker << benchmark::GetBenchmarkVerbosity() << "] expected flag=[" << flagv 39*dbb99499SAndroid Build Coastguard Worker << "]\n"; 40*dbb99499SAndroid Build Coastguard Worker return 1; 41*dbb99499SAndroid Build Coastguard Worker } 42*dbb99499SAndroid Build Coastguard Worker return 0; 43*dbb99499SAndroid Build Coastguard Worker } 44