Lumiera
0.pre.03
»edit your freedom«
|
Definition at line 81 of file scheduler-commutator-test.cpp.
Private Types | |
using | Launch = ThreadHookable::Launch |
Private Member Functions | |
void | blockGroomingToken (SchedulerCommutator &sched) |
void | demonstrateSimpleUsage () |
void | integratedWorkCycle () |
virtual void | run (Arg) |
void | torture_GroomingToken () |
void | unblockGroomingToken () |
void | verify_dispatch () |
void | verify_findWork () |
void | verify_GroomingGuard () |
void | verify_GroomingToken () |
void | verify_postChain () |
void | verify_Significance () |
Static Private Member Functions | |
static void | ___ensureGroomingTokenReleased (SchedulerCommutator &sched) |
Private Attributes | |
unique_ptr< ThreadHookable > | groomingHog_ |
atomic_bool | stopTheHog_ {false} |
Additional Inherited Members | |
Public Member Functions inherited from Test | |
virtual | ~Test ()=default |
this is an interface | |
lib::Random | makeRandGen () |
build a dedicated new RandomGen, seeded from the default-Gen | |
virtual void | run (Arg arg)=0 |
void | seedRand () |
draw a new random seed from a common nucleus, and re-seed the default-Gen. | |
Static Public Member Functions inherited from Test | |
static string | firstTok (Arg) |
conveniently pick the first token from the argument line | |
static uint | firstVal (Arg, uint=1) |
conveniently use some number given as argument, with optional default | |
|
inlineprivate |
Definition at line 103 of file scheduler-commutator-test.cpp.
References ActivityMatch::arg(), ActivityLang::dispatchChain(), SchedulerCommutator::findWork(), and MARK_TEST_FUN.
|
inlineprivate |
Definition at line 134 of file scheduler-commutator-test.cpp.
References SchedulerCommutator_test::___ensureGroomingTokenReleased(), and MARK_TEST_FUN.
|
inlinestaticprivate |
helper to ensure consistent Grooming-Token state
Definition at line 152 of file scheduler-commutator-test.cpp.
References SchedulerCommutator::acquireGoomingToken(), SchedulerCommutator::dropGroomingToken(), and SchedulerCommutator::holdsGroomingToken().
Referenced by SchedulerCommutator_test::integratedWorkCycle(), SchedulerCommutator_test::verify_GroomingGuard(), SchedulerCommutator_test::verify_GroomingToken(), and SchedulerCommutator_test::verify_postChain().
|
inlineprivate |
Definition at line 167 of file scheduler-commutator-test.cpp.
References SchedulerCommutator_test::___ensureGroomingTokenReleased(), MARK_TEST_FUN, SchedulerCommutator::requireGroomingTokenHere(), and vault::gear::anonymous_namespace{scheduler-commutator.hpp}::thisThread().
|
inlineprivate |
Definition at line 201 of file scheduler-commutator-test.cpp.
References MARK_TEST_FUN.
|
inlineprivate |
Helper to block the GroomingToken from another thread
Definition at line 243 of file scheduler-commutator-test.cpp.
References SchedulerCommutator::acquireGoomingToken(), ThreadWrapper::detach_thread_from_wrapper(), SchedulerCommutator::dropGroomingToken(), and SchedulerCommutator::holdsGroomingToken().
Referenced by SchedulerCommutator_test::verify_dispatch(), SchedulerCommutator_test::verify_findWork(), and SchedulerCommutator_test::verify_postChain().
|
inlineprivate |
stop the background thread to unblock the GrooingToken
Definition at line 269 of file scheduler-commutator-test.cpp.
Referenced by SchedulerCommutator_test::verify_dispatch(), SchedulerCommutator_test::verify_findWork(), and SchedulerCommutator_test::verify_postChain().
|
inlineprivate |
Definition at line 281 of file scheduler-commutator-test.cpp.
References SchedulerCommutator_test::blockGroomingToken(), SchedulerCommutator::findWork(), MARK_TEST_FUN, and SchedulerCommutator_test::unblockGroomingToken().
|
inlineprivate |
Definition at line 346 of file scheduler-commutator-test.cpp.
References Activity::activate(), SchedulerCommutator::findWork(), and MARK_TEST_FUN.
|
inlineprivate |
Definition at line 421 of file scheduler-commutator-test.cpp.
References SchedulerCommutator_test::___ensureGroomingTokenReleased(), SchedulerCommutator::acquireGoomingToken(), SchedulerCommutator_test::blockGroomingToken(), SchedulerCommutator::dropGroomingToken(), SchedulerInvocation::feedPrioritisation(), SchedulerCommutator::findWork(), SchedulerInvocation::headTime(), SchedulerCommutator::holdsGroomingToken(), SchedulerInvocation::isDue(), MARK_TEST_FUN, SchedulerInvocation::peekHead(), SchedulerCommutator::postChain(), SchedulerInvocation::pullHead(), and SchedulerCommutator_test::unblockGroomingToken().
|
inlineprivate |
Definition at line 501 of file scheduler-commutator-test.cpp.
References SchedulerCommutator_test::blockGroomingToken(), SchedulerCommutator::dispatchCapacity(), ActivityLang::dispatchChain(), SchedulerInvocation::feedPrioritisation(), SchedulerInvocation::headTime(), SchedulerCommutator::holdsGroomingToken(), SchedulerInvocation::instruct(), MARK_TEST_FUN, Time::NEVER, and SchedulerCommutator_test::unblockGroomingToken().
|
inlineprivate |
Definition at line 570 of file scheduler-commutator-test.cpp.
References SchedulerCommutator_test::___ensureGroomingTokenReleased(), ActivityMatch::arg(), ActivityLang::dispatchChain(), SchedulerCommutator::dropGroomingToken(), SchedulerCommutator::findWork(), SchedulerCommutator::holdsGroomingToken(), ActivityDetector::incrementSeq(), MARK_TEST_FUN, Activity::next, and SchedulerCommutator::postChain().