56 enum { PERIOD = 100 };
64TEST(PeriodicTrigger, MustBeArmed)
73 CHECK_FALSE(trigger.
Poll());
83TEST(PeriodicTrigger, DoesNotFireBeforePeriod)
88 CHECK_FALSE(trigger.
Poll());
91TEST(PeriodicTrigger, FiresAtExactPeriod)
96 CHECK_TRUE(trigger.
Poll());
99TEST(PeriodicTrigger, PreservesRemainderAfterFire)
107 CHECK_TRUE(trigger.
Poll());
113 CHECK_FALSE(trigger.
Poll());
119 CHECK_TRUE(trigger.
Poll());
122TEST(PeriodicTrigger, AccumulatesAcrossMultiplePolls)
127 CHECK_FALSE(trigger.
Poll());
130 CHECK_FALSE(trigger.
Poll());
133 CHECK_TRUE(trigger.
Poll());
136TEST(PeriodicTrigger, ManualResetSyncsToCurrentTime)
141 CHECK_FALSE(trigger.
Poll());
149 CHECK_FALSE(trigger.
Poll());
Namespace of STK package.
int64_t Ticks
Ticks value.
int32_t Timeout
Timeout time (ticks).
Ticks GetTicksFromMs(int64_t ms, int32_t resolution)
Convert milliseconds to ticks.
Namespace of the test inventory.
TestContext g_TestContext
Global instance of the TestContext.
IKernelService * g_KernelService
stk::test::stk::KernelServiceMock s_KernelServiceMock
void SetTimeNowMsec(int64_t now)
Interface for mutex synchronization primitive.
Interface for the kernel services exposed to the user processes during run-time when Kernel started s...
Lightweight periodic trigger: returns true once per configured period when polled.
bool Poll()
Check whether the scheduled trigger time has been reached.
void SleepUntil(Ticks timestamp)
Put calling process into a sleep state until the specified timestamp.
void Sleep(Timeout ticks)
Put calling process into a sleep state.
int32_t GetTickResolution() const
Get number of microseconds in one tick.
Ticks GetTicks() const
Get number of ticks elapsed since kernel start.
TId GetTid() const
Get thread Id of the currently running task.
void Delay(Timeout ticks)
Delay calling process.
static IKernelService * GetInstance()
IWaitObject * Wait(ISyncObject *sobj, IMutex *mutex, Timeout timeout)
Put calling process into a waiting state until synchronization object is signaled or timeout occurs.
void SwitchToNext()
Notify scheduler to switch to the next task (yield).
Throwable class for catching assertions from STK_ASSERT_HANDLER().