xrpld
Loading...
Searching...
No Matches
xrpl::test::MultiRunnerParent Class Reference

Manager for children running unit tests. More...

#include <multi_runner.h>

Inheritance diagram for xrpl::test::MultiRunnerParent:
Collaboration diagram for xrpl::test::MultiRunnerParent:

Public Member Functions

 MultiRunnerParent (MultiRunnerParent const &)=delete
MultiRunnerParentoperator= (MultiRunnerParent const &)=delete
 MultiRunnerParent ()
 ~MultiRunnerParent ()
bool anyFailed () const
std::size_t tests () const
std::size_t suites () const
void addFailures (std::size_t failures)

Private Types

enum  MessageType

Private Member Functions

void messageQueueSend (MessageType mt, std::string const &s)
std::size_t checkoutTestIndex ()
std::size_t checkoutJobIndex ()
void anyFailed (bool v)
void add (Results const &r)
void incKeepAliveCount ()
std::size_t getKeepAliveCount ()
void printResults (S &s)

Private Attributes

std::ostreamos_
std::atomic< bool > continueMessageQueue_ {true}
std::thread messageQueueThread_
std::set< std::stringrunningSuites_
Inner * inner_
boost::interprocess::shared_memory_object sharedMem_
boost::interprocess::mapped_region region_
std::unique_ptr< boost::interprocess::message_queue > messageQueue_

Static Private Attributes

static constexpr char const * kSharedMemName
static constexpr char const * kMessageQueueName

Detailed Description

Manager for children running unit tests.

Definition at line 199 of file multi_runner.h.

Member Enumeration Documentation

◆ MessageType

Definition at line 148 of file multi_runner.h.

Constructor & Destructor Documentation

◆ MultiRunnerParent() [1/2]

xrpl::test::MultiRunnerParent::MultiRunnerParent ( MultiRunnerParent const & )
delete

◆ MultiRunnerParent() [2/2]

xrpl::test::MultiRunnerParent::MultiRunnerParent ( )

Definition at line 375 of file multi_runner.cpp.

◆ ~MultiRunnerParent()

xrpl::test::MultiRunnerParent::~MultiRunnerParent ( )

Definition at line 437 of file multi_runner.cpp.

Member Function Documentation

◆ operator=()

MultiRunnerParent & xrpl::test::MultiRunnerParent::operator= ( MultiRunnerParent const & )
delete

◆ anyFailed() [1/2]

bool xrpl::test::MultiRunnerParent::anyFailed ( ) const
nodiscard

Definition at line 455 of file multi_runner.cpp.

◆ tests()

std::size_t xrpl::test::MultiRunnerParent::tests ( ) const
nodiscard

Definition at line 461 of file multi_runner.cpp.

◆ suites()

std::size_t xrpl::test::MultiRunnerParent::suites ( ) const
nodiscard

Definition at line 467 of file multi_runner.cpp.

◆ addFailures()

void xrpl::test::MultiRunnerParent::addFailures ( std::size_t failures)

Definition at line 473 of file multi_runner.cpp.

◆ messageQueueSend()

void xrpl::detail::MultiRunnerBase< IsParent >::messageQueueSend ( MessageType mt,
std::string const & s )
protectedinherited

Definition at line 150 of file multi_runner.cpp.

◆ checkoutTestIndex()

std::size_t xrpl::detail::MultiRunnerBase< IsParent >::checkoutTestIndex ( )
inherited

Definition at line 157 of file multi_runner.cpp.

◆ checkoutJobIndex()

std::size_t xrpl::detail::MultiRunnerBase< IsParent >::checkoutJobIndex ( )
inherited

Definition at line 160 of file multi_runner.cpp.

◆ anyFailed() [2/2]

void xrpl::detail::MultiRunnerBase< IsParent >::anyFailed ( bool v)
inherited

Definition at line 163 of file multi_runner.cpp.

◆ add()

void xrpl::detail::MultiRunnerBase< IsParent >::add ( Results const & r)
inherited

Definition at line 166 of file multi_runner.cpp.

◆ incKeepAliveCount()

void xrpl::detail::MultiRunnerBase< IsParent >::incKeepAliveCount ( )
inherited

Definition at line 169 of file multi_runner.cpp.

◆ getKeepAliveCount()

std::size_t xrpl::detail::MultiRunnerBase< IsParent >::getKeepAliveCount ( )
inherited

Definition at line 172 of file multi_runner.cpp.

◆ printResults()

void xrpl::detail::MultiRunnerBase< IsParent >::printResults ( S & s)
inherited

Definition at line 176 of file multi_runner.cpp.

Member Data Documentation

◆ os_

std::ostream& xrpl::test::MultiRunnerParent::os_
private

Definition at line 203 of file multi_runner.h.

◆ continueMessageQueue_

std::atomic<bool> xrpl::test::MultiRunnerParent::continueMessageQueue_ {true}
private

Definition at line 204 of file multi_runner.h.

◆ messageQueueThread_

std::thread xrpl::test::MultiRunnerParent::messageQueueThread_
private

Definition at line 205 of file multi_runner.h.

◆ runningSuites_

std::set<std::string> xrpl::test::MultiRunnerParent::runningSuites_
private

Definition at line 207 of file multi_runner.h.

◆ kSharedMemName

char const* xrpl::detail::MultiRunnerBase< IsParent >::kSharedMemName
staticconstexprprivateinherited

Definition at line 134 of file multi_runner.h.

◆ kMessageQueueName

char const* xrpl::detail::MultiRunnerBase< IsParent >::kMessageQueueName
staticconstexprprivateinherited

Definition at line 137 of file multi_runner.h.

◆ inner_

Inner* xrpl::detail::MultiRunnerBase< IsParent >::inner_
privateinherited

Definition at line 140 of file multi_runner.h.

◆ sharedMem_

boost::interprocess::shared_memory_object xrpl::detail::MultiRunnerBase< IsParent >::sharedMem_
privateinherited

Definition at line 142 of file multi_runner.h.

◆ region_

boost::interprocess::mapped_region xrpl::detail::MultiRunnerBase< IsParent >::region_
privateinherited

Definition at line 143 of file multi_runner.h.

◆ messageQueue_

std::unique_ptr<boost::interprocess::message_queue> xrpl::detail::MultiRunnerBase< IsParent >::messageQueue_
protectedinherited

Definition at line 146 of file multi_runner.h.