distortos  v0.5.0
object-oriented C++ RTOS for microcontrollers
SignalsInterruptionTestCase.cpp File Reference

SignalsInterruptionTestCase class implementation. More...

Include dependency graph for SignalsInterruptionTestCase.cpp:

Classes

class  distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::TestStep
 base of test steps More...
 
class  distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::ConditionVariableTestStep
 test step for condition variables More...
 
class  distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::JoinTestStep
 test step for thread join More...
 
class  distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::MutexTestStep
 test step for mutexes More...
 
class  distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::SemaphoreTestStep
 test step for semaphores More...
 
class  distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::SignalsTestStep
 test step for waiting for signals More...
 
class  distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::SleepTestStep
 test step for thread sleep More...
 
union  distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::TestStepStorage
 uninitialized storage for any of test steps More...
 

Namespaces

 distortos
 Top-level namespace of distortos project.
 
 distortos::test
 Functional tests of distortos project.
 

Macros

#define SIGNALS_INTERRUPTION_TEST_CASE_ENABLED
 configuration required by SignalsInterruptionTestCase More...
 

Enumerations

enum  distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::TestStepType : uint8_t {
  distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::TestStepType::conditionVariableWait, distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::TestStepType::conditionVariableWaitFor, distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::TestStepType::conditionVariableWaitUntil, distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::TestStepType::join,
  distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::TestStepType::mutexLock, distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::TestStepType::mutexTryLockFor, distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::TestStepType::mutexTryLockUntil, distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::TestStepType::semaphoreWait,
  distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::TestStepType::semaphoreTryWaitFor, distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::TestStepType::semaphoreTryWaitUntil, distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::TestStepType::signalsWait, distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::TestStepType::signalsTryWaitFor,
  distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::TestStepType::signalsTryWaitUntil, distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::TestStepType::sleepFor, distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::TestStepType::sleepUntil
}
 type of test step More...
 

Functions

TestStep & distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::makeTestStep (const TestStepType testStepType, TestStepStorage &testStepStorage, SequenceAsserter &sequenceAsserter)
 Builder of TestStep objects. More...
 

Variables

constexpr auto distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::longDuration = TickClock::duration{10}
 long duration used in tests More...
 
constexpr size_t distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::testThreadStackSize {512}
 size of stack for test threads, bytes More...
 
constexpr auto distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::mainTestThreadPriority = SignalsInterruptionTestCase::getTestCasePriority()
 original priority of main test thread More...
 
decltype(mainTestThreadPriority) constexpr distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::highPriority {mainTestThreadPriority + 1}
 priority just above mainTestThreadPriority More...
 
decltype(mainTestThreadPriority) constexpr distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::lowPriority {mainTestThreadPriority - 1}
 priority just below mainTestThreadPriority More...
 
decltype(mainTestThreadPriority) constexpr distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::veryLowPriority {lowPriority - 1}
 priority just below lowPriority More...
 
const TestStepType distortos::test::anonymous_namespace{SignalsInterruptionTestCase.cpp}::testStepTypes []
 array with all test step types More...
 

Detailed Description

SignalsInterruptionTestCase class implementation.

Author
Copyright (C) 2015-2017 Kamil Szczygiel http://www.distortec.com http://www.freddiechopin.info
License
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

Macro Definition Documentation

◆ SIGNALS_INTERRUPTION_TEST_CASE_ENABLED

#define SIGNALS_INTERRUPTION_TEST_CASE_ENABLED
Value:
CONFIG_SIGNALS_ENABLE == 1 && CONFIG_MAIN_THREAD_QUEUED_SIGNALS > 0 && \
CONFIG_MAIN_THREAD_SIGNAL_ACTIONS > 0

configuration required by SignalsInterruptionTestCase