![]() |
SuperTinyKernel™ RTOS 1.05.3
Lightweight, high-performance, deterministic, bare-metal C++ RTOS for resource-constrained embedded systems. MIT Open Source License.
|
#include <stk_config.h>#include <stk.h>#include <sync/stk_sync_eventflags.h>#include <assert.h>#include <string.h>#include "stktest_context.h"Go to the source code of this file.
Classes | |
| class | stk::test::eventflags::SetWaitAnyTask< _AccessMode > |
| Tests WAIT_ANY (OR) semantics: a single flag unblocks a waiting task. More... | |
| class | stk::test::eventflags::SetWaitAllTask< _AccessMode > |
| Tests WAIT_ALL (AND) semantics: all requested flags must be set before unblocking. More... | |
| class | stk::test::eventflags::ClearTask< _AccessMode > |
| Tests Clear() return value and effect on subsequent Wait() calls. More... | |
| class | stk::test::eventflags::NoClearTask< _AccessMode > |
| Tests NO_CLEAR option: matched flags are not consumed after a successful Wait(). More... | |
| class | stk::test::eventflags::TimeoutTask< _AccessMode > |
| Tests Wait() timeout when the required flags are never set. More... | |
| class | stk::test::eventflags::TryWaitTask< _AccessMode > |
| Tests TryWait() non-blocking poll. More... | |
| class | stk::test::eventflags::GetTask< _AccessMode > |
| Tests Get() returns a non-destructive snapshot of the flags word. More... | |
| class | stk::test::eventflags::MultiWaiterAnyTask< _AccessMode > |
| Tests WAIT_ANY with multiple concurrent waiters watching different flag subsets. More... | |
| class | stk::test::eventflags::MultiWaiterAllTask< _AccessMode > |
| Tests WAIT_ALL with multiple concurrent waiters, each requiring the full flag set. More... | |
| class | stk::test::eventflags::InitialFlagsTask< _AccessMode > |
| Tests EventFlags constructed with a non-zero initial flags word. More... | |
Namespaces | |
| namespace | stk |
| Namespace of STK package. | |
| namespace | stk::test |
| Namespace of the test inventory. | |
| namespace | stk::test::eventflags |
| Namespace of EventFlags test. | |
Macros | |
| #define | _STK_EF_TEST_TASKS_MAX 5 |
| #define | _STK_EF_TEST_TIMEOUT 300 |
| #define | _STK_EF_TEST_SHORT_SLEEP 10 |
| #define | _STK_EF_TEST_LONG_SLEEP 100 |
| #define | _STK_EF_STACK_SIZE 256 |
| #define | STK_TASK static |
Functions | |
| void * | operator new (std::size_t, void *ptr) noexcept |
| void | operator delete (void *, void *) noexcept |
| static void | stk::test::eventflags::ResetTestState (uint32_t initial_flags=0U) |
| static bool | NeedsExtendedTasks (const char *test_name) |
| template<class TaskType> | |
| static int32_t | RunTest (const char *test_name, int32_t param=0, uint32_t initial_flags=0U) |
| int | main (int argc, char **argv) |
Variables | |
| STK_TEST_DECL_ASSERT | |
| static const uint32_t | FLAG_A = (1U << 0) |
| static const uint32_t | FLAG_B = (1U << 1) |
| static const uint32_t | FLAG_C = (1U << 2) |
| static const uint32_t | FLAG_D = (1U << 3) |
| static volatile int32_t | stk::test::eventflags::g_TestResult = 0 |
| static volatile int32_t | stk::test::eventflags::g_SharedCounter = 0 |
| static volatile bool | stk::test::eventflags::g_TestComplete = false |
| static Kernel< KERNEL_DYNAMIC|KERNEL_SYNC, 5, SwitchStrategyRR, PlatformDefault > | stk::test::eventflags::g_Kernel |
| static sync::EventFlags | stk::test::eventflags::g_Flags |
| #define _STK_EF_STACK_SIZE 256 |
Definition at line 31 of file test_eventflags.cpp.
| #define _STK_EF_TEST_LONG_SLEEP 100 |
Definition at line 26 of file test_eventflags.cpp.
Referenced by stk::test::eventflags::ClearTask< _AccessMode >::Run(), stk::test::eventflags::GetTask< _AccessMode >::Run(), stk::test::eventflags::InitialFlagsTask< _AccessMode >::Run(), stk::test::eventflags::MultiWaiterAllTask< _AccessMode >::Run(), stk::test::eventflags::MultiWaiterAnyTask< _AccessMode >::Run(), stk::test::eventflags::NoClearTask< _AccessMode >::Run(), stk::test::eventflags::SetWaitAllTask< _AccessMode >::Run(), stk::test::eventflags::SetWaitAnyTask< _AccessMode >::Run(), and stk::test::eventflags::TryWaitTask< _AccessMode >::Run().
| #define _STK_EF_TEST_SHORT_SLEEP 10 |
Definition at line 25 of file test_eventflags.cpp.
Referenced by stk::test::eventflags::ClearTask< _AccessMode >::Run(), stk::test::eventflags::GetTask< _AccessMode >::Run(), stk::test::eventflags::InitialFlagsTask< _AccessMode >::Run(), stk::test::eventflags::MultiWaiterAllTask< _AccessMode >::Run(), stk::test::eventflags::MultiWaiterAnyTask< _AccessMode >::Run(), stk::test::eventflags::NoClearTask< _AccessMode >::Run(), stk::test::eventflags::SetWaitAllTask< _AccessMode >::Run(), stk::test::eventflags::SetWaitAnyTask< _AccessMode >::Run(), stk::test::eventflags::TimeoutTask< _AccessMode >::Run(), and stk::test::eventflags::TryWaitTask< _AccessMode >::Run().
| #define _STK_EF_TEST_TASKS_MAX 5 |
Definition at line 23 of file test_eventflags.cpp.
Referenced by main(), and stk::test::eventflags::MultiWaiterAnyTask< _AccessMode >::Run().
| #define _STK_EF_TEST_TIMEOUT 300 |
Definition at line 24 of file test_eventflags.cpp.
Referenced by stk::test::eventflags::ClearTask< _AccessMode >::Run(), stk::test::eventflags::GetTask< _AccessMode >::Run(), stk::test::eventflags::MultiWaiterAllTask< _AccessMode >::Run(), stk::test::eventflags::MultiWaiterAnyTask< _AccessMode >::Run(), stk::test::eventflags::NoClearTask< _AccessMode >::Run(), stk::test::eventflags::SetWaitAllTask< _AccessMode >::Run(), and stk::test::eventflags::SetWaitAnyTask< _AccessMode >::Run().
| #define STK_TASK static |
Definition at line 32 of file test_eventflags.cpp.
| int main | ( | int | argc, |
| char ** | argv ) |
Definition at line 711 of file test_eventflags.cpp.
References _STK_EF_TEST_TASKS_MAX, stk::test::TestContext::DEFAULT_FAILURE_EXIT_CODE, FLAG_A, stk::test::eventflags::g_Kernel, RunTest(), stk::test::TestContext::ShowTestSuiteEpilogue(), stk::test::TestContext::ShowTestSuitePrologue(), and stk::test::TestContext::SUCCESS_EXIT_CODE.
|
static |
Definition at line 653 of file test_eventflags.cpp.
Referenced by RunTest().
|
inlinenoexcept |
Definition at line 37 of file test_eventflags.cpp.
|
inlinenoexcept |
Definition at line 36 of file test_eventflags.cpp.
|
static |
Definition at line 668 of file test_eventflags.cpp.
References stk::test::TestContext::DEFAULT_FAILURE_EXIT_CODE, stk::test::eventflags::g_Kernel, stk::test::eventflags::g_TestResult, NeedsExtendedTasks(), stk::test::eventflags::ResetTestState(), STK_TASK, and stk::test::TestContext::SUCCESS_EXIT_CODE.
|
static |
Definition at line 41 of file test_eventflags.cpp.
Referenced by main(), stk::test::eventflags::ClearTask< _AccessMode >::Run(), stk::test::eventflags::GetTask< _AccessMode >::Run(), stk::test::eventflags::InitialFlagsTask< _AccessMode >::Run(), stk::test::eventflags::MultiWaiterAllTask< _AccessMode >::Run(), stk::test::eventflags::MultiWaiterAnyTask< _AccessMode >::Run(), stk::test::eventflags::NoClearTask< _AccessMode >::Run(), stk::test::eventflags::SetWaitAllTask< _AccessMode >::Run(), stk::test::eventflags::SetWaitAnyTask< _AccessMode >::Run(), stk::test::eventflags::TimeoutTask< _AccessMode >::Run(), and stk::test::eventflags::TryWaitTask< _AccessMode >::Run().
|
static |
Definition at line 42 of file test_eventflags.cpp.
Referenced by stk::test::eventflags::ClearTask< _AccessMode >::Run(), stk::test::eventflags::MultiWaiterAllTask< _AccessMode >::Run(), stk::test::eventflags::MultiWaiterAnyTask< _AccessMode >::Run(), stk::test::eventflags::SetWaitAllTask< _AccessMode >::Run(), and stk::test::eventflags::SetWaitAnyTask< _AccessMode >::Run().
|
static |
Definition at line 43 of file test_eventflags.cpp.
Referenced by stk::test::eventflags::GetTask< _AccessMode >::Run(), stk::test::eventflags::MultiWaiterAnyTask< _AccessMode >::Run(), stk::test::eventflags::SetWaitAllTask< _AccessMode >::Run(), and stk::test::eventflags::SetWaitAnyTask< _AccessMode >::Run().
|
static |
Definition at line 44 of file test_eventflags.cpp.
Referenced by stk::test::eventflags::MultiWaiterAnyTask< _AccessMode >::Run(), and stk::test::eventflags::SetWaitAnyTask< _AccessMode >::Run().
| STK_TEST_DECL_ASSERT |
Definition at line 21 of file test_eventflags.cpp.