![]() |
Lumiera 0.pre.04
»edit your freedom«
|
Definition at line 81 of file scheduler-commutator-test.cpp.
Private Types | |
| using | Launch = ThreadHookable::Launch |
Private Member Functions | |
| virtual void | run (Arg) |
| void | demonstrateSimpleUsage () |
| void | verify_GroomingToken () |
| void | verify_GroomingGuard () |
| void | torture_GroomingToken () |
| void | blockGroomingToken (SchedulerCommutator &sched) |
| void | unblockGroomingToken () |
| void | verify_findWork () |
| void | verify_Significance () |
| void | verify_postChain () |
| void | verify_dispatch () |
| void | integratedWorkCycle () |
Static Private Member Functions | |
| static void | ___ensureGroomingTokenReleased (SchedulerCommutator &sched) |
Private Attributes | |
| atomic_bool | stopTheHog_ {false} |
| unique_ptr< ThreadHookable > | groomingHog_ |
Additional Inherited Members | |
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 | |
Public Member Functions inherited from Test | |
| virtual | ~Test ()=default |
| this is an interface | |
| virtual void | run (Arg arg)=0 |
| void | seedRand () |
| draw a new random seed from a common nucleus, and re-seed the default-Gen. | |
| lib::Random | makeRandGen () |
| build a dedicated new RandomGen, seeded from the default-Gen | |
|
private |
Definition at line 239 of file scheduler-commutator-test.cpp.
|
inlineprivatevirtual |
Definition at line 85 of file scheduler-commutator-test.cpp.
References SchedulerCommutator_test::demonstrateSimpleUsage(), SchedulerCommutator_test::integratedWorkCycle(), Test::seedRand(), SchedulerCommutator_test::torture_GroomingToken(), SchedulerCommutator_test::verify_dispatch(), SchedulerCommutator_test::verify_findWork(), SchedulerCommutator_test::verify_GroomingGuard(), SchedulerCommutator_test::verify_GroomingToken(), SchedulerCommutator_test::verify_postChain(), and SchedulerCommutator_test::verify_Significance().
Here is the call graph for this function:
|
inlineprivate |
Definition at line 103 of file scheduler-commutator-test.cpp.
References ActivityMatch::arg(), ActivityLang::dispatchChain(), ActivityDetector::executionCtx, SchedulerCommutator::findWork(), ActivityDetector::FakeExecutionCtx::getSchedTime, MARK_TEST_FUN, and ActivityDetector::verifyInvocation().
Referenced by SchedulerCommutator_test::run().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 134 of file scheduler-commutator-test.cpp.
References SchedulerCommutator_test::___ensureGroomingTokenReleased(), and MARK_TEST_FUN.
Referenced by SchedulerCommutator_test::run().
Here is the call graph for this function:
Here is the caller graph for this function:
|
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::torture_GroomingToken(), SchedulerCommutator_test::verify_GroomingGuard(), SchedulerCommutator_test::verify_GroomingToken(), and SchedulerCommutator_test::verify_postChain().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 167 of file scheduler-commutator-test.cpp.
References SchedulerCommutator_test::___ensureGroomingTokenReleased(), and MARK_TEST_FUN.
Referenced by SchedulerCommutator_test::run().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 201 of file scheduler-commutator-test.cpp.
References SchedulerCommutator_test::___ensureGroomingTokenReleased(), and MARK_TEST_FUN.
Referenced by SchedulerCommutator_test::run().
Here is the call graph for this function:
Here is the caller graph for this function:
|
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(), SchedulerCommutator_test::groomingHog_, SchedulerCommutator::holdsGroomingToken(), and SchedulerCommutator_test::stopTheHog_.
Referenced by SchedulerCommutator_test::verify_dispatch(), SchedulerCommutator_test::verify_findWork(), and SchedulerCommutator_test::verify_postChain().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
stop the background thread to unblock the GrooingToken
Definition at line 269 of file scheduler-commutator-test.cpp.
References SchedulerCommutator_test::groomingHog_, and SchedulerCommutator_test::stopTheHog_.
Referenced by SchedulerCommutator_test::verify_dispatch(), SchedulerCommutator_test::verify_findWork(), and SchedulerCommutator_test::verify_postChain().
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 281 of file scheduler-commutator-test.cpp.
References SchedulerCommutator_test::blockGroomingToken(), SchedulerCommutator::findWork(), MARK_TEST_FUN, and SchedulerCommutator_test::unblockGroomingToken().
Referenced by SchedulerCommutator_test::run().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 346 of file scheduler-commutator-test.cpp.
References Activity::activate(), SchedulerCommutator::findWork(), and MARK_TEST_FUN.
Referenced by SchedulerCommutator_test::run().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 421 of file scheduler-commutator-test.cpp.
References SchedulerCommutator_test::___ensureGroomingTokenReleased(), SchedulerCommutator::acquireGoomingToken(), SchedulerCommutator_test::blockGroomingToken(), SchedulerCommutator::dropGroomingToken(), SchedulerInvocation::empty(), SchedulerInvocation::feedPrioritisation(), SchedulerCommutator::findWork(), SchedulerInvocation::headTime(), SchedulerCommutator::holdsGroomingToken(), SchedulerInvocation::isDue(), MARK_TEST_FUN, vault::gear::activity::PASS, SchedulerInvocation::peekHead(), SchedulerCommutator::postChain(), SchedulerInvocation::pullHead(), SchedulerCommutator_test::unblockGroomingToken(), and Time::ZERO.
Referenced by SchedulerCommutator_test::run().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 501 of file scheduler-commutator-test.cpp.
References SchedulerCommutator_test::blockGroomingToken(), SchedulerCommutator::dispatchCapacity(), ActivityLang::dispatchChain(), SchedulerInvocation::empty(), SchedulerInvocation::feedPrioritisation(), SchedulerInvocation::headTime(), SchedulerCommutator::holdsGroomingToken(), SchedulerInvocation::instruct(), vault::gear::activity::KICK, MARK_TEST_FUN, Time::NEVER, vault::gear::activity::PASS, and SchedulerCommutator_test::unblockGroomingToken().
Referenced by SchedulerCommutator_test::run().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 570 of file scheduler-commutator-test.cpp.
References SchedulerCommutator_test::___ensureGroomingTokenReleased(), ActivityMatch::arg(), ActivityMatch::beforeInvocation(), ActivityDetector::buildMockJob(), ActivityLang::dispatchChain(), SchedulerCommutator::dropGroomingToken(), SchedulerInvocation::empty(), ActivityDetector::ensureNoInvocation(), ActivityDetector::executionCtx, SchedulerCommutator::findWork(), ActivityDetector::FakeExecutionCtx::getSchedTime, SchedulerCommutator::holdsGroomingToken(), ActivityDetector::incrementSeq(), MARK_TEST_FUN, Activity::next, SchedulerCommutator::postChain(), ActivityDetector::verifySeqIncrement(), ActivityDetector::watchGate(), ActivityDetector::FakeExecutionCtx::work, and Time::ZERO.
Referenced by SchedulerCommutator_test::run().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 237 of file scheduler-commutator-test.cpp.
Referenced by SchedulerCommutator_test::blockGroomingToken(), and SchedulerCommutator_test::unblockGroomingToken().
|
private |
Definition at line 238 of file scheduler-commutator-test.cpp.
Referenced by SchedulerCommutator_test::blockGroomingToken(), and SchedulerCommutator_test::unblockGroomingToken().
Inheritance diagram for SchedulerCommutator_test:
Collaboration diagram for SchedulerCommutator_test: