![]() |
ChimeraTK-ApplicationCore 04.06.00
|
Classes | |
| struct | BlockingReadTestModule |
| struct | PollingReadModule |
| struct | PollingThroughFanoutsModule |
| struct | ReadAnyTestModule |
| struct | TestBlockingReadApplication |
| struct | TestChaniedModulesApplication |
| struct | TestConvenienceReadApplication |
| struct | TestDeviceApplication |
| struct | TestInitialApplication |
| struct | TestNoDecoratorApplication |
| struct | TestPollingApplication |
| struct | TestPollingThroughFanOutsApplication |
| struct | TestReadAnyApplication |
| struct | TestWithTriggerApplication |
Functions | |
| BOOST_AUTO_TEST_CASE (testNoDecorator) | |
| BOOST_AUTO_TEST_CASE (testBlockingRead) | |
| BOOST_AUTO_TEST_CASE (testReadAny) | |
| BOOST_AUTO_TEST_CASE (testChainedModules) | |
| BOOST_AUTO_TEST_CASE (testWithTrigger) | |
| BOOST_AUTO_TEST_CASE (testConvenienceRead) | |
| BOOST_AUTO_TEST_CASE (testPolling) | |
| BOOST_AUTO_TEST_CASE (testPollingThroughFanOuts) | |
| BOOST_AUTO_TEST_CASE (testDevice) | |
| BOOST_AUTO_TEST_CASE (testInitialValues) | |
| BOOST_AUTO_TEST_CASE (TestableModeLockShared) | |
| Test that the testable mode lock is a shared lock and only the test thread acquires it in exclusive mode. | |
Variables | |
| constexpr std::string_view | dummySdm {"(dummy?map=test_readonly.map)"} |
| Tests::testTestFacilities::BOOST_AUTO_TEST_CASE | ( | TestableModeLockShared | ) |
Test that the testable mode lock is a shared lock and only the test thread acquires it in exclusive mode.
This test makes sure that a DeviceManager can execute an init handler as part of the recovery procedure (which takes place while holding the testable mode lock) in parallel with an ApplicationModule thread doing something.
The test was written to reproduce roughly a specific regression discovered after the introduction of recovery groups: A write() opreation issued from an ApplicationModule going to a Device in error state can dead lock with the device recovery in DeviceManager::RecoveryGroup::waitForRecoveryStage(), because the device recovery thread (holding the recovery lock) gives up the testable mode lock temporarily while arriving at the recovery stage barrier, but the ExceptionHandlingDecorator obtains the recovery lock while keeping the testable mode lock. This problem occured because the testable mode lock was at that time not yet a shared lock, which was then changed to fix the issue.
Definition at line 992 of file testTestFacilities.cc.
| Tests::testTestFacilities::BOOST_AUTO_TEST_CASE | ( | testBlockingRead | ) |
Definition at line 240 of file testTestFacilities.cc.
| Tests::testTestFacilities::BOOST_AUTO_TEST_CASE | ( | testChainedModules | ) |
Definition at line 422 of file testTestFacilities.cc.
| Tests::testTestFacilities::BOOST_AUTO_TEST_CASE | ( | testConvenienceRead | ) |
Definition at line 601 of file testTestFacilities.cc.
| Tests::testTestFacilities::BOOST_AUTO_TEST_CASE | ( | testDevice | ) |
Definition at line 888 of file testTestFacilities.cc.
| Tests::testTestFacilities::BOOST_AUTO_TEST_CASE | ( | testInitialValues | ) |
Definition at line 943 of file testTestFacilities.cc.
| Tests::testTestFacilities::BOOST_AUTO_TEST_CASE | ( | testNoDecorator | ) |
Definition at line 206 of file testTestFacilities.cc.
| Tests::testTestFacilities::BOOST_AUTO_TEST_CASE | ( | testPolling | ) |
Definition at line 639 of file testTestFacilities.cc.
| Tests::testTestFacilities::BOOST_AUTO_TEST_CASE | ( | testPollingThroughFanOuts | ) |
Definition at line 731 of file testTestFacilities.cc.
| Tests::testTestFacilities::BOOST_AUTO_TEST_CASE | ( | testReadAny | ) |
Definition at line 277 of file testTestFacilities.cc.
| Tests::testTestFacilities::BOOST_AUTO_TEST_CASE | ( | testWithTrigger | ) |
Definition at line 519 of file testTestFacilities.cc.
|
constexpr |
Definition at line 31 of file testTestFacilities.cc.