Classes | Macros | Typedefs | Enumerations | Functions
benchmark/test/output_test.h File Reference
#include <functional>
#include <initializer_list>
#include <memory>
#include <sstream>
#include <string>
#include <utility>
#include <vector>
#include "../src/re.h"
#include "benchmark/benchmark.h"
Include dependency graph for benchmark/test/output_test.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Results
 
struct  TestCase< Proto >
 

Macros

#define ADD_CASES(...)   int CONCAT(dummy, __LINE__) = ::AddCases(__VA_ARGS__)
 
#define CHECK_BENCHMARK_RESULTS(bm_name_pattern, checker_function)   size_t CONCAT(dummy, __LINE__) = AddChecker(bm_name_pattern, checker_function)
 
#define CHECK_COUNTER_VALUE(entry, var_type, var_name, relationship, value)   CHECK_RESULT_VALUE_IMPL(entry, GetCounterAs, var_type, var_name, relationship, value)
 
#define CHECK_FLOAT_COUNTER_VALUE(entry, var_name, relationship, value, eps_factor)   CHECK_FLOAT_RESULT_VALUE_IMPL(entry, GetCounterAs, double, var_name, relationship, value, eps_factor)
 
#define CHECK_FLOAT_RESULT_VALUE(entry, var_name, relationship, value, eps_factor)   CHECK_FLOAT_RESULT_VALUE_IMPL(entry, GetAs, double, var_name, relationship, value, eps_factor)
 
#define CHECK_FLOAT_RESULT_VALUE_IMPL(entry, getfn, var_type, var_name, relationship, value, eps_factor)
 
#define CHECK_RESULT_VALUE(entry, var_type, var_name, relationship, value)   CHECK_RESULT_VALUE_IMPL(entry, GetAs, var_type, var_name, relationship, value)
 
#define CHECK_RESULT_VALUE_IMPL(entry, getfn, var_type, var_name, relationship, value)
 
#define CONCAT(x, y)   CONCAT2(x, y)
 
#define CONCAT2(x, y)   x##y
 
#define SET_SUBSTITUTIONS(...)   int CONCAT(dummy, __LINE__) = ::SetSubstitutions(__VA_ARGS__)
 

Typedefs

typedef std::function< void(Results const &)> ResultsCheckFn
 

Enumerations

enum  MatchRules {
  MR_Default, MR_Next, MR_Not, MR_Default,
  MR_Next, MR_Not, MR_Default, MR_Next,
  MR_Not
}
 
enum  TestCaseID {
  TC_ConsoleOut, TC_ConsoleErr, TC_JSONOut, TC_JSONErr,
  TC_CSVOut, TC_CSVErr, TC_NumID, TC_ConsoleOut,
  TC_ConsoleErr, TC_JSONOut, TC_JSONErr, TC_CSVOut,
  TC_CSVErr, TC_NumID, TC_ConsoleOut, TC_ConsoleErr,
  TC_JSONOut, TC_JSONErr, TC_CSVOut, TC_CSVErr,
  TC_NumID
}
 

Functions

int AddCases (TestCaseID ID, std::initializer_list< TestCase > il)
 
size_t AddChecker (const char *bm_name_pattern, ResultsCheckFn fn)
 
std::string GetFileReporterOutput (int argc, char *argv[])
 
void RunOutputTests (int argc, char *argv[])
 
int SetSubstitutions (std::initializer_list< std::pair< std::string, std::string >> il)
 
int SubstrCnt (const std::string &haystack, const std::string &pat)
 

Macro Definition Documentation

◆ ADD_CASES

#define ADD_CASES (   ...)    int CONCAT(dummy, __LINE__) = ::AddCases(__VA_ARGS__)

Definition at line 19 of file benchmark/test/output_test.h.

◆ CHECK_BENCHMARK_RESULTS

#define CHECK_BENCHMARK_RESULTS (   bm_name_pattern,
  checker_function 
)    size_t CONCAT(dummy, __LINE__) = AddChecker(bm_name_pattern, checker_function)

Definition at line 82 of file benchmark/test/output_test.h.

◆ CHECK_COUNTER_VALUE

#define CHECK_COUNTER_VALUE (   entry,
  var_type,
  var_name,
  relationship,
  value 
)    CHECK_RESULT_VALUE_IMPL(entry, GetCounterAs, var_type, var_name, relationship, value)

Definition at line 192 of file benchmark/test/output_test.h.

◆ CHECK_FLOAT_COUNTER_VALUE

#define CHECK_FLOAT_COUNTER_VALUE (   entry,
  var_name,
  relationship,
  value,
  eps_factor 
)    CHECK_FLOAT_RESULT_VALUE_IMPL(entry, GetCounterAs, double, var_name, relationship, value, eps_factor)

Definition at line 198 of file benchmark/test/output_test.h.

◆ CHECK_FLOAT_RESULT_VALUE

#define CHECK_FLOAT_RESULT_VALUE (   entry,
  var_name,
  relationship,
  value,
  eps_factor 
)    CHECK_FLOAT_RESULT_VALUE_IMPL(entry, GetAs, double, var_name, relationship, value, eps_factor)

Definition at line 195 of file benchmark/test/output_test.h.

◆ CHECK_FLOAT_RESULT_VALUE_IMPL

#define CHECK_FLOAT_RESULT_VALUE_IMPL (   entry,
  getfn,
  var_type,
  var_name,
  relationship,
  value,
  eps_factor 
)
Value:
CONCAT(BM_CHECK_FLOAT_, relationship) \
(entry.getfn< var_type >(var_name), (value), (eps_factor) * (value)) << "\n" \
<< __FILE__ << ":" << __LINE__ << ": " << (entry).name << ":\n" \
<< __FILE__ << ":" << __LINE__ << ": " \
<< "expected (" << #var_type << ")" << (var_name) \
<< "=" << (entry).getfn< var_type >(var_name) \
<< " to be " #relationship " to " << (value) << "\n" \
<< __FILE__ << ":" << __LINE__ << ": " \
<< "with tolerance of " << (eps_factor) * (value) \
<< " (" << (eps_factor)*100. << "%), " \
<< "but delta was " << ((entry).getfn< var_type >(var_name) - (value)) \
<< " (" << (((entry).getfn< var_type >(var_name) - (value)) \
/ \
((value) > 1.e-5 || value < -1.e-5 ? value : 1.e-5)*100.) \
<< "%)"

Definition at line 172 of file benchmark/test/output_test.h.

◆ CHECK_RESULT_VALUE

#define CHECK_RESULT_VALUE (   entry,
  var_type,
  var_name,
  relationship,
  value 
)    CHECK_RESULT_VALUE_IMPL(entry, GetAs, var_type, var_name, relationship, value)

Definition at line 189 of file benchmark/test/output_test.h.

◆ CHECK_RESULT_VALUE_IMPL

#define CHECK_RESULT_VALUE_IMPL (   entry,
  getfn,
  var_type,
  var_name,
  relationship,
  value 
)
Value:
CONCAT(BM_CHECK_, relationship) \
(entry.getfn< var_type >(var_name), (value)) << "\n" \
<< __FILE__ << ":" << __LINE__ << ": " << (entry).name << ":\n" \
<< __FILE__ << ":" << __LINE__ << ": " \
<< "expected (" << #var_type << ")" << (var_name) \
<< "=" << (entry).getfn< var_type >(var_name) \
<< " to be " #relationship " to " << (value) << "\n"

Definition at line 161 of file benchmark/test/output_test.h.

◆ CONCAT

#define CONCAT (   x,
  y 
)    CONCAT2(x, y)

Definition at line 17 of file benchmark/test/output_test.h.

◆ CONCAT2

#define CONCAT2 (   x,
  y 
)    x##y

Definition at line 16 of file benchmark/test/output_test.h.

◆ SET_SUBSTITUTIONS

#define SET_SUBSTITUTIONS (   ...)    int CONCAT(dummy, __LINE__) = ::SetSubstitutions(__VA_ARGS__)

Definition at line 21 of file benchmark/test/output_test.h.

Typedef Documentation

◆ ResultsCheckFn

Definition at line 85 of file benchmark/test/output_test.h.

Enumeration Type Documentation

◆ MatchRules

enum MatchRules
Enumerator
MR_Default 
MR_Next 
MR_Not 
MR_Default 
MR_Next 
MR_Not 
MR_Default 
MR_Next 
MR_Not 

Definition at line 24 of file benchmark/test/output_test.h.

◆ TestCaseID

enum TestCaseID
Enumerator
TC_ConsoleOut 
TC_ConsoleErr 
TC_JSONOut 
TC_JSONErr 
TC_CSVOut 
TC_CSVErr 
TC_NumID 
TC_ConsoleOut 
TC_ConsoleErr 
TC_JSONOut 
TC_JSONErr 
TC_CSVOut 
TC_CSVErr 
TC_NumID 
TC_ConsoleOut 
TC_ConsoleErr 
TC_JSONOut 
TC_JSONErr 
TC_CSVOut 
TC_CSVErr 
TC_NumID 

Definition at line 40 of file benchmark/test/output_test.h.

Function Documentation

◆ AddCases()

int AddCases ( TestCaseID  ID,
std::initializer_list< TestCase il 
)

Definition at line 361 of file benchmark/test/output_test_helper.cc.

◆ AddChecker()

size_t AddChecker ( const char *  bm_name_pattern,
ResultsCheckFn  fn 
)

Definition at line 302 of file benchmark/test/output_test_helper.cc.

◆ GetFileReporterOutput()

std::string GetFileReporterOutput ( int  argc,
char *  argv[] 
)

Definition at line 501 of file benchmark/test/output_test_helper.cc.

◆ RunOutputTests()

void RunOutputTests ( int  argc,
char *  argv[] 
)

Definition at line 391 of file benchmark/test/output_test_helper.cc.

◆ SetSubstitutions()

int SetSubstitutions ( std::initializer_list< std::pair< std::string, std::string >>  il)

Definition at line 367 of file benchmark/test/output_test_helper.cc.

◆ SubstrCnt()

int SubstrCnt ( const std::string &  haystack,
const std::string &  pat 
)

Definition at line 453 of file benchmark/test/output_test_helper.cc.

CONCAT
#define CONCAT(x, y)
Definition: benchmark/test/output_test.h:17
value
const char * value
Definition: hpack_parser_table.cc:165


grpc
Author(s):
autogenerated on Fri May 16 2025 03:01:25