rippled
Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
ripple::test::multi_runner_child Class Reference

A class to run a subset of unit tests. More...

Inheritance diagram for ripple::test::multi_runner_child:
Inheritance graph
[legend]
Collaboration diagram for ripple::test::multi_runner_child:
Collaboration graph
[legend]

Public Member Functions

 multi_runner_child (multi_runner_child const &)=delete
 
multi_runner_childoperator= (multi_runner_child const &)=delete
 
 multi_runner_child (std::size_t num_jobs, bool quiet, bool print_log)
 
 ~multi_runner_child ()
 
std::size_t tests () const
 
std::size_t suites () const
 
void add_failures (std::size_t failures)
 
template<class Pred >
bool run_multi (Pred pred)
 

Private Types

enum  MessageType
 

Private Member Functions

virtual void on_suite_begin (beast::unit_test::suite_info const &info) override
 
virtual void on_suite_end () override
 
virtual void on_case_begin (std::string const &name) override
 
virtual void on_case_end () override
 
virtual void on_pass () override
 
virtual void on_fail (std::string const &reason) override
 
virtual void on_log (std::string const &s) override
 
void message_queue_send (MessageType mt, std::string const &s)
 
std::size_t checkout_test_index ()
 
std::size_t checkout_job_index ()
 
void any_failed (bool v)
 
bool any_failed () const
 
void add (results const &r)
 
void inc_keep_alive_count ()
 
std::size_t get_keep_alive_count ()
 
void print_results (S &s)
 
std::size_t tests () const
 
std::size_t suites () const
 

Private Attributes

std::size_t job_index_
 
detail::results results_
 
detail::suite_results suite_results_
 
detail::case_results case_results_
 
std::size_t num_jobs_ {0}
 
bool quiet_ {false}
 
bool print_log_ {true}
 
std::atomic< bool > continue_keep_alive_ {true}
 
std::thread keep_alive_thread_
 
inner * inner_
 
boost::interprocess::shared_memory_object shared_mem_
 
boost::interprocess::mapped_region region_
 
std::unique_ptr< boost::interprocess::message_queue > message_queue_
 

Static Private Attributes

static constexpr const char * shared_mem_name_
 
static constexpr const char * message_queue_name_
 

Detailed Description

A class to run a subset of unit tests.

Definition at line 254 of file multi_runner.h.

Member Enumeration Documentation

◆ MessageType

Definition at line 170 of file multi_runner.h.

Constructor & Destructor Documentation

◆ multi_runner_child() [1/2]

ripple::test::multi_runner_child::multi_runner_child ( multi_runner_child const &  )
delete

◆ multi_runner_child() [2/2]

ripple::test::multi_runner_child::multi_runner_child ( std::size_t  num_jobs,
bool  quiet,
bool  print_log 
)

Definition at line 504 of file multi_runner.cpp.

◆ ~multi_runner_child()

ripple::test::multi_runner_child::~multi_runner_child ( )

Definition at line 546 of file multi_runner.cpp.

Member Function Documentation

◆ operator=()

multi_runner_child& ripple::test::multi_runner_child::operator= ( multi_runner_child const &  )
delete

◆ tests() [1/2]

std::size_t ripple::test::multi_runner_child::tests ( ) const

Definition at line 558 of file multi_runner.cpp.

◆ suites() [1/2]

std::size_t ripple::test::multi_runner_child::suites ( ) const

Definition at line 564 of file multi_runner.cpp.

◆ add_failures()

void ripple::test::multi_runner_child::add_failures ( std::size_t  failures)

Definition at line 570 of file multi_runner.cpp.

◆ run_multi()

template<class Pred >
bool ripple::test::multi_runner_child::run_multi ( Pred  pred)

Definition at line 317 of file multi_runner.h.

◆ on_suite_begin()

void ripple::test::multi_runner_child::on_suite_begin ( beast::unit_test::suite_info const &  info)
overrideprivatevirtual

Definition at line 577 of file multi_runner.cpp.

◆ on_suite_end()

void ripple::test::multi_runner_child::on_suite_end ( )
overrideprivatevirtual

Definition at line 584 of file multi_runner.cpp.

◆ on_case_begin()

void ripple::test::multi_runner_child::on_case_begin ( std::string const &  name)
overrideprivatevirtual

Definition at line 591 of file multi_runner.cpp.

◆ on_case_end()

void ripple::test::multi_runner_child::on_case_end ( )
overrideprivatevirtual

Definition at line 607 of file multi_runner.cpp.

◆ on_pass()

void ripple::test::multi_runner_child::on_pass ( )
overrideprivatevirtual

Definition at line 613 of file multi_runner.cpp.

◆ on_fail()

void ripple::test::multi_runner_child::on_fail ( std::string const &  reason)
overrideprivatevirtual

Definition at line 619 of file multi_runner.cpp.

◆ on_log()

void ripple::test::multi_runner_child::on_log ( std::string const &  s)
overrideprivatevirtual

Definition at line 632 of file multi_runner.cpp.

◆ message_queue_send()

void ripple::test::detail::multi_runner_base< IsParent >::message_queue_send ( MessageType  mt,
std::string const &  s 
)
protectedinherited

Definition at line 358 of file multi_runner.cpp.

◆ checkout_test_index()

std::size_t ripple::test::detail::multi_runner_base< IsParent >::checkout_test_index
inherited

Definition at line 301 of file multi_runner.cpp.

◆ checkout_job_index()

std::size_t ripple::test::detail::multi_runner_base< IsParent >::checkout_job_index
inherited

Definition at line 308 of file multi_runner.cpp.

◆ any_failed() [1/2]

void ripple::test::detail::multi_runner_base< IsParent >::any_failed ( bool  v)
inherited

Definition at line 322 of file multi_runner.cpp.

◆ any_failed() [2/2]

bool ripple::test::detail::multi_runner_base< IsParent >::any_failed
inherited

Definition at line 315 of file multi_runner.cpp.

◆ add()

void ripple::test::detail::multi_runner_base< IsParent >::add ( results const &  r)
inherited

Definition at line 329 of file multi_runner.cpp.

◆ inc_keep_alive_count()

void ripple::test::detail::multi_runner_base< IsParent >::inc_keep_alive_count
inherited

Definition at line 336 of file multi_runner.cpp.

◆ get_keep_alive_count()

std::size_t ripple::test::detail::multi_runner_base< IsParent >::get_keep_alive_count
inherited

Definition at line 343 of file multi_runner.cpp.

◆ print_results()

void ripple::test::detail::multi_runner_base< IsParent >::print_results ( S &  s)
inherited

Definition at line 351 of file multi_runner.cpp.

◆ tests() [2/2]

Definition at line 370 of file multi_runner.cpp.

◆ suites() [2/2]

Definition at line 377 of file multi_runner.cpp.

Member Data Documentation

◆ job_index_

std::size_t ripple::test::multi_runner_child::job_index_
private

Definition at line 258 of file multi_runner.h.

◆ results_

detail::results ripple::test::multi_runner_child::results_
private

Definition at line 259 of file multi_runner.h.

◆ suite_results_

detail::suite_results ripple::test::multi_runner_child::suite_results_
private

Definition at line 260 of file multi_runner.h.

◆ case_results_

detail::case_results ripple::test::multi_runner_child::case_results_
private

Definition at line 261 of file multi_runner.h.

◆ num_jobs_

std::size_t ripple::test::multi_runner_child::num_jobs_ {0}
private

Definition at line 262 of file multi_runner.h.

◆ quiet_

bool ripple::test::multi_runner_child::quiet_ {false}
private

Definition at line 263 of file multi_runner.h.

◆ print_log_

bool ripple::test::multi_runner_child::print_log_ {true}
private

Definition at line 264 of file multi_runner.h.

◆ continue_keep_alive_

std::atomic<bool> ripple::test::multi_runner_child::continue_keep_alive_ {true}
private

Definition at line 266 of file multi_runner.h.

◆ keep_alive_thread_

std::thread ripple::test::multi_runner_child::keep_alive_thread_
private

Definition at line 267 of file multi_runner.h.

◆ shared_mem_name_

constexpr const char* ripple::test::detail::multi_runner_base< IsParent >::shared_mem_name_
staticconstexprprivateinherited

Definition at line 155 of file multi_runner.h.

◆ message_queue_name_

constexpr const char* ripple::test::detail::multi_runner_base< IsParent >::message_queue_name_
staticconstexprprivateinherited

Definition at line 158 of file multi_runner.h.

◆ inner_

inner* ripple::test::detail::multi_runner_base< IsParent >::inner_
privateinherited

Definition at line 162 of file multi_runner.h.

◆ shared_mem_

boost::interprocess::shared_memory_object ripple::test::detail::multi_runner_base< IsParent >::shared_mem_
privateinherited

Definition at line 164 of file multi_runner.h.

◆ region_

boost::interprocess::mapped_region ripple::test::detail::multi_runner_base< IsParent >::region_
privateinherited

Definition at line 165 of file multi_runner.h.

◆ message_queue_

std::unique_ptr<boost::interprocess::message_queue> ripple::test::detail::multi_runner_base< IsParent >::message_queue_
protectedinherited

Definition at line 168 of file multi_runner.h.