distortos  v0.4.0
object-oriented C++ RTOS for microcontrollers
distortos::test::SignalsInterruptionTestCase Class Reference

Tests interruption of various "blocking" functions by an unmasked, caught signal. More...

#include <SignalsInterruptionTestCase.hpp>

Inheritance diagram for distortos::test::SignalsInterruptionTestCase:
[legend]
Collaboration diagram for distortos::test::SignalsInterruptionTestCase:
[legend]

Public Member Functions

constexpr SignalsInterruptionTestCase ()
 SignalsInterruptionTestCase's constructor. More...
 
- Public Member Functions inherited from distortos::test::SignalsTestCaseCommon
constexpr SignalsTestCaseCommon (const uint8_t priority, const SignalSet signalMask, const SignalAction signalAction)
 SignalsTestCaseCommon's constructor. More...
 
- Public Member Functions inherited from distortos::test::PrioritizedTestCase
constexpr PrioritizedTestCase (const uint8_t priority)
 PrioritizedTestCase's constructor. More...
 
- Public Member Functions inherited from distortos::test::TestCase
bool run () const
 Public function to start the test case. More...
 

Static Public Member Functions

static constexpr uint8_t getTestCasePriority ()
 

Private Member Functions

bool run_ () const override
 Runs the test case. More...
 

Static Private Member Functions

static void signalHandler (const SignalInformation &signalInformation)
 Signal handler. More...
 

Static Private Attributes

static constexpr uint8_t testCasePriority_ {UINT8_MAX / 2}
 priority at which this test case should be executed More...
 

Additional Inherited Members

- Protected Member Functions inherited from distortos::test::SignalsTestCaseCommon
bool finalize () const override
 Finalizes the test case. More...
 
bool initialize () const override
 Initializes the test case. More...
 
- Protected Member Functions inherited from distortos::test::TestCaseCommon
bool finalize () const override
 Finalizes the test case. More...
 
bool initialize () const override
 Initializes the test case. More...
 

Detailed Description

Tests interruption of various "blocking" functions by an unmasked, caught signal.

Functions like ConditionVariable::wait(), Mutex::lock(), Semaphore::wait(), ThisThread::sleepFor(), ThisThread::Signals::wait() and Thread::join() (including the variants with timeout) are tested.

Constructor & Destructor Documentation

◆ SignalsInterruptionTestCase()

constexpr distortos::test::SignalsInterruptionTestCase::SignalsInterruptionTestCase ( )
inline

SignalsInterruptionTestCase's constructor.

Here is the call graph for this function:

Member Function Documentation

◆ getTestCasePriority()

static constexpr uint8_t distortos::test::SignalsInterruptionTestCase::getTestCasePriority ( )
inlinestatic
Returns
priority at which this test case should be executed

◆ run_()

bool distortos::test::SignalsInterruptionTestCase::run_ ( ) const
overrideprivatevirtual

Runs the test case.

Returns
true if the test case succeeded, false otherwise

Implements distortos::test::TestCase.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ signalHandler()

void distortos::test::SignalsInterruptionTestCase::signalHandler ( const SignalInformation signalInformation)
staticprivate

Signal handler.

Marks sequence point (signal number) in shared SequenceAsserter (address from sigval).

Parameters
[in]signalInformationis a reference to received SignalInformation object
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ testCasePriority_

constexpr uint8_t distortos::test::SignalsInterruptionTestCase::testCasePriority_ {UINT8_MAX / 2}
staticprivate

priority at which this test case should be executed


The documentation for this class was generated from the following files: