distortos  v0.5.0
object-oriented C++ RTOS for microcontrollers
distortos::test::anonymous_namespace{SignalsCatchingTestCase.cpp}::TestStep Class Reference

single test step More...

Collaboration diagram for distortos::test::anonymous_namespace{SignalsCatchingTestCase.cpp}::TestStep:
[legend]

Public Types

enum  Type : uint8_t {
  Type::basicHandler, Type::generateQueueSignal, Type::threadPriority, Type::signalMask,
  Type::softwareTimer
}
 type of test step More...
 

Public Member Functions

constexpr TestStep (const unsigned int firstSequencePoint, const unsigned int lastSequencePoint, const bool more, const BasicHandlerStep basicHandlerStep)
 TestStep's constructor for BasicHandler type. More...
 
constexpr TestStep (const unsigned int firstSequencePoint, const unsigned int lastSequencePoint, const bool more, const GenerateQueueSignalStep generateQueueSignalStep)
 TestStep's constructor for GenerateQueueSignal type. More...
 
constexpr TestStep (const unsigned int firstSequencePoint, const unsigned int lastSequencePoint, const bool more, const ThreadPriorityStep threadPriorityStep)
 TestStep's constructor for ThreadPriority type. More...
 
constexpr TestStep (const unsigned int firstSequencePoint, const unsigned int lastSequencePoint, const bool more, const SignalMaskStep signalMaskStep)
 TestStep's constructor for SignalMask type. More...
 
constexpr TestStep (const unsigned int firstSequencePoint, const unsigned int lastSequencePoint, const bool more, const SoftwareTimerStep softwareTimerStep)
 TestStep's constructor for SoftwareTimer type. More...
 
int operator() (SequenceAsserter &sequenceAsserter, TestStepsRange &testStepsRange, Thread &thread, const SignalInformation *signalInformation) const
 TestStep's function call operator. More...
 
bool shouldExecuteMore () const
 

Private Attributes

union distortos::test::anonymous_namespace{SignalsCatchingTestCase.cpp}::TestStep:: { ... }  
 internal test step that will be executed More...
 
SequencePoints sequencePoints_
 sequence points of test step More...
 
bool more_
 selects whether another available TestStep should be executed in the same iteration (true) or not (false) More...
 
Type type_
 type of test step More...
 

Detailed Description

single test step

Member Enumeration Documentation

◆ Type

enum distortos::test::anonymous_namespace{SignalsCatchingTestCase.cpp}::TestStep::Type : uint8_t
strong

type of test step

Enumerator
basicHandler 

BasicHandlerStep.

generateQueueSignal 

GenerateQueueSignalStep.

threadPriority 

ThreadPriorityStep.

signalMask 

SignalMaskStep.

softwareTimer 

SoftwareTimerStep.

Constructor & Destructor Documentation

◆ TestStep() [1/5]

constexpr distortos::test::anonymous_namespace{SignalsCatchingTestCase.cpp}::TestStep::TestStep ( const unsigned int  firstSequencePoint,
const unsigned int  lastSequencePoint,
const bool  more,
const BasicHandlerStep  basicHandlerStep 
)
inline

TestStep's constructor for BasicHandler type.

Parameters
[in]firstSequencePointis the first sequence point of test step
[in]lastSequencePointis the last sequence point of test step
[in]moreselects whether another available TestStep should be executed in the same iteration (true) or not (false)
[in]basicHandlerStepis the BasicHandlerStep that will be executed in test step

◆ TestStep() [2/5]

constexpr distortos::test::anonymous_namespace{SignalsCatchingTestCase.cpp}::TestStep::TestStep ( const unsigned int  firstSequencePoint,
const unsigned int  lastSequencePoint,
const bool  more,
const GenerateQueueSignalStep  generateQueueSignalStep 
)
inline

TestStep's constructor for GenerateQueueSignal type.

Parameters
[in]firstSequencePointis the first sequence point of test step
[in]lastSequencePointis the last sequence point of test step
[in]moreselects whether another available TestStep should be executed in the same iteration (true) or not (false)
[in]generateQueueSignalStepis the GenerateQueueSignalStep that will be executed in test step

◆ TestStep() [3/5]

constexpr distortos::test::anonymous_namespace{SignalsCatchingTestCase.cpp}::TestStep::TestStep ( const unsigned int  firstSequencePoint,
const unsigned int  lastSequencePoint,
const bool  more,
const ThreadPriorityStep  threadPriorityStep 
)
inline

TestStep's constructor for ThreadPriority type.

Parameters
[in]firstSequencePointis the first sequence point of test step
[in]lastSequencePointis the last sequence point of test step
[in]moreselects whether another available TestStep should be executed in the same iteration (true) or not (false)
[in]threadPriorityStepis the ThreadPriorityStep that will be executed in test step

◆ TestStep() [4/5]

constexpr distortos::test::anonymous_namespace{SignalsCatchingTestCase.cpp}::TestStep::TestStep ( const unsigned int  firstSequencePoint,
const unsigned int  lastSequencePoint,
const bool  more,
const SignalMaskStep  signalMaskStep 
)
inline

TestStep's constructor for SignalMask type.

Parameters
[in]firstSequencePointis the first sequence point of test step
[in]lastSequencePointis the last sequence point of test step
[in]moreselects whether another available TestStep should be executed in the same iteration (true) or not (false)
[in]signalMaskStepis the SignalMaskStep that will be executed in test step

◆ TestStep() [5/5]

constexpr distortos::test::anonymous_namespace{SignalsCatchingTestCase.cpp}::TestStep::TestStep ( const unsigned int  firstSequencePoint,
const unsigned int  lastSequencePoint,
const bool  more,
const SoftwareTimerStep  softwareTimerStep 
)
inline

TestStep's constructor for SoftwareTimer type.

Parameters
[in]firstSequencePointis the first sequence point of test step
[in]lastSequencePointis the last sequence point of test step
[in]moreselects whether another available TestStep should be executed in the same iteration (true) or not (false)
[in]softwareTimerStepis the SoftwareTimerStep that will be executed in test step
Here is the call graph for this function:

Member Function Documentation

◆ operator()()

int distortos::test::anonymous_namespace{SignalsCatchingTestCase.cpp}::TestStep::operator() ( SequenceAsserter sequenceAsserter,
TestStepsRange testStepsRange,
Thread thread,
const SignalInformation signalInformation 
) const

TestStep's function call operator.

Marks first sequence point, executes internal test step and marks last sequence point.

Parameters
[in]sequenceAsserteris a reference to shared SequenceAsserter object
[in]testStepsRangeis a reference to range of test steps
[in]threadis a reference to Thread passed to internal test step
[in]signalInformationis a pointer to received SignalInformation object, required only for BasicHandlerStep
Returns
0 on success, error code otherwise
Here is the call graph for this function:

◆ shouldExecuteMore()

bool distortos::test::anonymous_namespace{SignalsCatchingTestCase.cpp}::TestStep::shouldExecuteMore ( ) const
inline
Returns
true if another available TestStep should be executed in the same iteration, false otherwise

Member Data Documentation

◆ @11

union { ... }

internal test step that will be executed

◆ basicHandlerStep_

BasicHandlerStep distortos::test::anonymous_namespace{SignalsCatchingTestCase.cpp}::TestStep::basicHandlerStep_

BasicHandlerStep test step - valid only if type_ == Type::basicHandler.

◆ generateQueueSignalStep_

GenerateQueueSignalStep distortos::test::anonymous_namespace{SignalsCatchingTestCase.cpp}::TestStep::generateQueueSignalStep_

GenerateQueueSignalStep test step - valid only if type_ == Type::generateQueueSignal.

◆ more_

bool distortos::test::anonymous_namespace{SignalsCatchingTestCase.cpp}::TestStep::more_
private

selects whether another available TestStep should be executed in the same iteration (true) or not (false)

◆ sequencePoints_

SequencePoints distortos::test::anonymous_namespace{SignalsCatchingTestCase.cpp}::TestStep::sequencePoints_
private

sequence points of test step

◆ signalMaskStep_

SignalMaskStep distortos::test::anonymous_namespace{SignalsCatchingTestCase.cpp}::TestStep::signalMaskStep_

SignalMaskStep test step - valid only if type_ == Type::signalMask.

◆ softwareTimerStep_

SoftwareTimerStep distortos::test::anonymous_namespace{SignalsCatchingTestCase.cpp}::TestStep::softwareTimerStep_

SoftwareTimerStep test step - valid only if type_ == Type::softwareTimer.

◆ threadPriorityStep_

ThreadPriorityStep distortos::test::anonymous_namespace{SignalsCatchingTestCase.cpp}::TestStep::threadPriorityStep_

ThreadPriorityStep test step - valid only if type_ == Type::threadPriority.

◆ type_

Type distortos::test::anonymous_namespace{SignalsCatchingTestCase.cpp}::TestStep::type_
private

type of test step


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