rippled
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
ripple::NodeStore::Timing_test Class Reference
Inheritance diagram for ripple::NodeStore::Timing_test:
Inheritance graph
[legend]
Collaboration diagram for ripple::NodeStore::Timing_test:
Collaboration graph
[legend]

Classes

class  parallel_for_lambda
 
struct  Params
 

Public Types

enum  { missingNodePercent = 20 }
 
using clock_type = std::chrono::steady_clock
 
using duration_type = std::chrono::milliseconds
 
using test_func = void(Timing_test::*)(Section const &, Params const &, beast::Journal)
 
using test_list = std::vector< std::pair< std::string, test_func > >
 

Public Member Functions

template<class Body , class... Args>
void parallel_for (std::size_t const n, std::size_t number_of_threads, Args const &... args)
 
template<class Body , class... Args>
void parallel_for_id (std::size_t const n, std::size_t number_of_threads, Args const &... args)
 
void do_insert (Section const &config, Params const &params, beast::Journal journal)
 
void do_fetch (Section const &config, Params const &params, beast::Journal journal)
 
void do_missing (Section const &config, Params const &params, beast::Journal journal)
 
void do_mixed (Section const &config, Params const &params, beast::Journal journal)
 
void do_work (Section const &config, Params const &params, beast::Journal journal)
 
duration_type do_test (test_func f, Section const &config, Params const &params, beast::Journal journal)
 
void do_tests (std::size_t threads, test_list const &tests, std::vector< std::string > const &config_strings)
 
void run () override
 Runs the suite. More...
 
template<class = void>
void operator() (runner &r)
 Invokes the test using the specified runner. More...
 
template<class = void>
void pass ()
 Record a successful test condition. More...
 
template<class F , class String >
bool except (F &&f, String const &reason)
 
template<class F >
bool except (F &&f)
 
template<class E , class F , class String >
bool except (F &&f, String const &reason)
 
template<class E , class F >
bool except (F &&f)
 
template<class F , class String >
bool unexcept (F &&f, String const &reason)
 
template<class F >
bool unexcept (F &&f)
 
std::string const & arg () const
 Return the argument associated with the runner. More...
 
template<class Condition , class String >
bool unexpected (Condition shouldBeFalse, String const &reason)
 
template<class Condition >
bool unexpected (Condition shouldBeFalse)
 
template<class String >
void fail (String const &reason, char const *file, int line)
 Record a failure. More...
 
template<class = void>
void fail (std::string const &reason="")
 
template<class Condition >
bool expect (Condition const &shouldBeTrue)
 Evaluate a test condition. More...
 
template<class Condition , class String >
bool expect (Condition const &shouldBeTrue, String const &reason)
 
template<class Condition >
bool expect (Condition const &shouldBeTrue, char const *file, int line)
 
template<class Condition , class String >
bool expect (Condition const &shouldBeTrue, String const &reason, char const *file, int line)
 

Static Public Member Functions

static std::string to_string (Section const &config)
 
static std::string to_string (duration_type const &d)
 
static Section parse (std::string s)
 
static suitethis_suite ()
 Returns the "current" running suite. More...
 

Public Attributes

std::size_t const default_repeat = 3
 
std::size_t const default_items = 10000
 
log_os< char > log
 Logging output stream. More...
 
testcase_t testcase
 Memberspace for declaring test cases. More...
 

Private Member Functions

void propagate_abort ()
 

Static Private Member Functions

static suite ** p_this_suite ()
 

Private Attributes

bool abort_ = false
 
bool aborted_ = false
 
runner * runner_ = nullptr
 

Detailed Description

Definition at line 143 of file Timing_test.cpp.

Member Typedef Documentation

◆ clock_type

Definition at line 158 of file Timing_test.cpp.

◆ duration_type

Definition at line 159 of file Timing_test.cpp.

◆ test_func

using ripple::NodeStore::Timing_test::test_func = void (Timing_test::*)(Section const&, Params const&, beast::Journal)

Definition at line 672 of file Timing_test.cpp.

◆ test_list

Definition at line 674 of file Timing_test.cpp.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
missingNodePercent 

Definition at line 146 of file Timing_test.cpp.

Member Function Documentation

◆ to_string() [1/2]

static std::string ripple::NodeStore::Timing_test::to_string ( Section const &  config)
static

Definition at line 168 of file Timing_test.cpp.

◆ to_string() [2/2]

static std::string ripple::NodeStore::Timing_test::to_string ( duration_type const &  d)
static

Definition at line 178 of file Timing_test.cpp.

◆ parse()

static Section ripple::NodeStore::Timing_test::parse ( std::string  s)
static

Definition at line 186 of file Timing_test.cpp.

◆ parallel_for()

template<class Body , class... Args>
void ripple::NodeStore::Timing_test::parallel_for ( std::size_t const  n,
std::size_t  number_of_threads,
Args const &...  args 
)

Definition at line 235 of file Timing_test.cpp.

◆ parallel_for_id()

template<class Body , class... Args>
void ripple::NodeStore::Timing_test::parallel_for_id ( std::size_t const  n,
std::size_t  number_of_threads,
Args const &...  args 
)

Definition at line 251 of file Timing_test.cpp.

◆ do_insert()

void ripple::NodeStore::Timing_test::do_insert ( Section const &  config,
Params const &  params,
beast::Journal  journal 
)

Definition at line 269 of file Timing_test.cpp.

◆ do_fetch()

void ripple::NodeStore::Timing_test::do_fetch ( Section const &  config,
Params const &  params,
beast::Journal  journal 
)

Definition at line 326 of file Timing_test.cpp.

◆ do_missing()

void ripple::NodeStore::Timing_test::do_missing ( Section const &  config,
Params const &  params,
beast::Journal  journal 
)

Definition at line 397 of file Timing_test.cpp.

◆ do_mixed()

void ripple::NodeStore::Timing_test::do_mixed ( Section const &  config,
Params const &  params,
beast::Journal  journal 
)

Definition at line 470 of file Timing_test.cpp.

◆ do_work()

void ripple::NodeStore::Timing_test::do_work ( Section const &  config,
Params const &  params,
beast::Journal  journal 
)

Definition at line 562 of file Timing_test.cpp.

◆ do_test()

duration_type ripple::NodeStore::Timing_test::do_test ( test_func  f,
Section const &  config,
Params const &  params,
beast::Journal  journal 
)

Definition at line 677 of file Timing_test.cpp.

◆ do_tests()

void ripple::NodeStore::Timing_test::do_tests ( std::size_t  threads,
test_list const &  tests,
std::vector< std::string > const &  config_strings 
)

Definition at line 690 of file Timing_test.cpp.

◆ run()

void ripple::NodeStore::Timing_test::run ( )
overridevirtual

Runs the suite.

Implements beast::unit_test::suite.

Definition at line 737 of file Timing_test.cpp.

◆ this_suite()

static suite * beast::unit_test::suite::this_suite ( )
staticinherited

Returns the "current" running suite.

If no suite is running, nullptr is returned.

Definition at line 159 of file suite.h.

◆ operator()()

template<class >
void beast::unit_test::suite::operator() ( runner r)
inherited

Invokes the test using the specified runner.

Data members are set up here instead of the constructor as a convenience to writing the derived class to avoid repetition of forwarded constructor arguments to the base. Normally this is called by the framework for you.

Definition at line 397 of file suite.h.

◆ pass()

template<class >
void beast::unit_test::suite::pass
inherited

Record a successful test condition.

Definition at line 509 of file suite.h.

◆ fail() [1/2]

template<class String >
void beast::unit_test::suite::fail ( String const &  reason,
char const *  file,
int  line 
)
inherited

Record a failure.

Parameters
reasonOptional text added to the output on a failure.
fileThe source code file where the test failed.
lineThe source code line number where the test failed.

Definition at line 531 of file suite.h.

◆ fail() [2/2]

template<class >
void beast::unit_test::suite::fail ( std::string const &  reason = "")
inherited

Definition at line 518 of file suite.h.

◆ expect() [1/4]

template<class Condition >
bool beast::unit_test::suite::expect ( Condition const &  shouldBeTrue)
inherited

Evaluate a test condition.

This function provides improved logging by incorporating the file name and line number into the reported output on failure, as well as additional text specified by the caller.

Parameters
shouldBeTrueThe condition to test. The condition is evaluated in a boolean context.
reasonOptional added text to output on a failure.
fileThe source code file where the test failed.
lineThe source code line number where the test failed.
Returns
true if the test condition indicates success.

Definition at line 227 of file suite.h.

◆ expect() [2/4]

template<class Condition , class String >
bool beast::unit_test::suite::expect ( Condition const &  shouldBeTrue,
String const &  reason 
)
inherited

Definition at line 414 of file suite.h.

◆ expect() [3/4]

template<class Condition >
bool beast::unit_test::suite::expect ( Condition const &  shouldBeTrue,
char const *  file,
int  line 
)
inherited

Definition at line 238 of file suite.h.

◆ expect() [4/4]

template<class Condition , class String >
bool beast::unit_test::suite::expect ( Condition const &  shouldBeTrue,
String const &  reason,
char const *  file,
int  line 
)
inherited

Definition at line 427 of file suite.h.

◆ except() [1/4]

template<class F , class String >
bool beast::unit_test::suite::except ( F &&  f,
String const &  reason 
)
inherited

Definition at line 446 of file suite.h.

◆ except() [2/4]

template<class F >
bool beast::unit_test::suite::except ( F &&  f)
inherited

Definition at line 261 of file suite.h.

◆ except() [3/4]

template<class E , class F , class String >
bool beast::unit_test::suite::except ( F &&  f,
String const &  reason 
)
inherited

Definition at line 463 of file suite.h.

◆ except() [4/4]

template<class E , class F >
bool beast::unit_test::suite::except ( F &&  f)
inherited

Definition at line 270 of file suite.h.

◆ unexcept() [1/2]

template<class F , class String >
bool beast::unit_test::suite::unexcept ( F &&  f,
String const &  reason 
)
inherited

Definition at line 480 of file suite.h.

◆ unexcept() [2/2]

template<class F >
bool beast::unit_test::suite::unexcept ( F &&  f)
inherited

Definition at line 279 of file suite.h.

◆ arg()

std::string const & beast::unit_test::suite::arg ( ) const
inherited

Return the argument associated with the runner.

Definition at line 286 of file suite.h.

◆ unexpected() [1/2]

template<class Condition , class String >
bool beast::unit_test::suite::unexpected ( Condition  shouldBeFalse,
String const &  reason 
)
inherited

Definition at line 497 of file suite.h.

◆ unexpected() [2/2]

template<class Condition >
bool beast::unit_test::suite::unexpected ( Condition  shouldBeFalse)
inherited

Definition at line 299 of file suite.h.

◆ p_this_suite()

static suite ** beast::unit_test::suite::p_this_suite ( )
staticprivateinherited

Definition at line 308 of file suite.h.

◆ propagate_abort()

void beast::unit_test::suite::propagate_abort ( )
privateinherited

Definition at line 537 of file suite.h.

Member Data Documentation

◆ default_repeat

std::size_t const ripple::NodeStore::Timing_test::default_repeat = 3

Definition at line 151 of file Timing_test.cpp.

◆ default_items

std::size_t const ripple::NodeStore::Timing_test::default_items = 10000

Definition at line 153 of file Timing_test.cpp.

◆ abort_

bool beast::unit_test::suite::abort_ = false
privateinherited

Definition at line 55 of file suite.h.

◆ aborted_

bool beast::unit_test::suite::aborted_ = false
privateinherited

Definition at line 56 of file suite.h.

◆ runner_

runner* beast::unit_test::suite::runner_ = nullptr
privateinherited

Definition at line 57 of file suite.h.

◆ log

log_os<char> beast::unit_test::suite::log
inherited

Logging output stream.

Text sent to the log output stream will be forwarded to the output stream associated with the runner.

Definition at line 150 of file suite.h.

◆ testcase

testcase_t beast::unit_test::suite::testcase
inherited

Memberspace for declaring test cases.

Definition at line 153 of file suite.h.