xrpld
Loading...
Searching...
No Matches
xrpl::NodeStore::Timing_test Class Reference
Inheritance diagram for xrpl::NodeStore::Timing_test:
Collaboration diagram for xrpl::NodeStore::Timing_test:

Classes

struct  Params
class  ParallelForLambda

Public Types

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 parallelFor (std::size_t const n, std::size_t numberOfThreads, Args const &... args)
template<class Body, class... Args>
void parallelForId (std::size_t const n, std::size_t numberOfThreads, Args const &... args)
void doInsert (Section const &config, Params const &params, beast::Journal journal)
void doFetch (Section const &config, Params const &params, beast::Journal journal)
void doMissing (Section const &config, Params const &params, beast::Journal journal)
void doMixed (Section const &config, Params const &params, beast::Journal journal)
void doWork (Section const &config, Params const &params, beast::Journal journal)
duration_type doTest (test_func f, Section const &config, Params const &params, beast::Journal journal)
void doTests (std::size_t threads, test_list const &tests, std::vector< std::string > const &configStrings)
void run () override
 Runs the suite.
template<class = void>
void operator() (Runner &r)
 Invokes the test using the specified runner.
template<class = void>
void pass ()
 Record a successful test condition.
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.
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.
template<class = void>
void fail (std::string const &reason="")
template<class Condition>
bool expect (Condition const &shouldBeTrue)
 Evaluate a test condition.
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 toString (Section const &config)
static std::string toString (duration_type const &d)
static Section parse (std::string s)
static SuitethisSuite ()
 Returns the "current" running suite.

Public Attributes

std::size_t const defaultRepeat = 3
std::size_t const defaultItems = 10000
LogOs< char > log
 Logging output stream.
TestcaseT testcase
 Memberspace for declaring test cases.

Static Public Attributes

static constexpr auto kMissingNodePercent = 20

Private Member Functions

void propagateAbort () const

Static Private Member Functions

static Suite ** pThisSuite ()

Private Attributes

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

Detailed Description

Definition at line 139 of file Timing_test.cpp.

Member Typedef Documentation

◆ clock_type

◆ duration_type

◆ test_func

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

Definition at line 620 of file Timing_test.cpp.

◆ test_list

Member Function Documentation

◆ toString() [1/2]

std::string xrpl::NodeStore::Timing_test::toString ( Section const & config)
static

Definition at line 161 of file Timing_test.cpp.

◆ toString() [2/2]

std::string xrpl::NodeStore::Timing_test::toString ( duration_type const & d)
static

Definition at line 170 of file Timing_test.cpp.

◆ parse()

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

Definition at line 178 of file Timing_test.cpp.

◆ parallelFor()

template<class Body, class... Args>
void xrpl::NodeStore::Timing_test::parallelFor ( std::size_t const n,
std::size_t numberOfThreads,
Args const &... args )

Definition at line 226 of file Timing_test.cpp.

◆ parallelForId()

template<class Body, class... Args>
void xrpl::NodeStore::Timing_test::parallelForId ( std::size_t const n,
std::size_t numberOfThreads,
Args const &... args )

Definition at line 239 of file Timing_test.cpp.

◆ doInsert()

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

Definition at line 254 of file Timing_test.cpp.

◆ doFetch()

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

Definition at line 303 of file Timing_test.cpp.

◆ doMissing()

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

Definition at line 363 of file Timing_test.cpp.

◆ doMixed()

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

Definition at line 429 of file Timing_test.cpp.

◆ doWork()

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

Definition at line 514 of file Timing_test.cpp.

◆ doTest()

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

Definition at line 624 of file Timing_test.cpp.

◆ doTests()

void xrpl::NodeStore::Timing_test::doTests ( std::size_t threads,
test_list const & tests,
std::vector< std::string > const & configStrings )

Definition at line 632 of file Timing_test.cpp.

◆ run()

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

Runs the suite.

Implements beast::unit_test::Suite.

Definition at line 680 of file Timing_test.cpp.

◆ thisSuite()

Suite * beast::unit_test::Suite::thisSuite ( )
staticinherited

Returns the "current" running suite.

If no suite is running, nullptr is returned.

Definition at line 155 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 388 of file suite.h.

◆ pass()

template<class>
void beast::unit_test::Suite::pass ( )
inherited

Record a successful test condition.

Definition at line 500 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 522 of file suite.h.

◆ fail() [2/2]

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

Definition at line 509 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 223 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 405 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 234 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 418 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 433 of file suite.h.

◆ except() [2/4]

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

Definition at line 253 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 450 of file suite.h.

◆ except() [4/4]

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

Definition at line 262 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 467 of file suite.h.

◆ unexcept() [2/2]

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

Definition at line 271 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 278 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 484 of file suite.h.

◆ unexpected() [2/2]

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

Definition at line 291 of file suite.h.

◆ pThisSuite()

Suite ** beast::unit_test::Suite::pThisSuite ( )
staticprivateinherited

Definition at line 300 of file suite.h.

◆ propagateAbort()

void beast::unit_test::Suite::propagateAbort ( ) const
privateinherited

Definition at line 528 of file suite.h.

Member Data Documentation

◆ kMissingNodePercent

auto xrpl::NodeStore::Timing_test::kMissingNodePercent = 20
staticconstexpr

Definition at line 142 of file Timing_test.cpp.

◆ defaultRepeat

std::size_t const xrpl::NodeStore::Timing_test::defaultRepeat = 3

Definition at line 144 of file Timing_test.cpp.

◆ defaultItems

std::size_t const xrpl::NodeStore::Timing_test::defaultItems = 10000

Definition at line 146 of file Timing_test.cpp.

◆ abort_

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

Definition at line 52 of file suite.h.

◆ aborted_

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

Definition at line 53 of file suite.h.

◆ runner_

Runner* beast::unit_test::Suite::runner_ = nullptr
privateinherited

Definition at line 54 of file suite.h.

◆ log

LogOs<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 146 of file suite.h.

◆ testcase

TestcaseT beast::unit_test::Suite::testcase
inherited

Memberspace for declaring test cases.

Definition at line 149 of file suite.h.