HardFOC Core
API reference
Loading...
Searching...
No Matches
FakeClock.h
Go to the documentation of this file.
1
21#pragma once
22
23#include <cstdint>
24
25namespace hf::host {
26
27class FakeClock {
28public:
30 static uint64_t NowUs() noexcept;
31
33 static void AdvanceUs(uint64_t us) noexcept;
34
36 static void AdvanceMs(uint64_t ms) noexcept { AdvanceUs(ms * 1000U); }
37
39 static void SetAutoAdvanceUs(uint64_t us) noexcept;
40 static uint64_t AutoAdvanceUs() noexcept;
41
43 static uint64_t TotalDelayUs() noexcept;
44
46 static uint64_t DelayCount() noexcept;
47
49 static void Reset() noexcept;
50
51 static constexpr uint64_t kDefaultAutoAdvanceUs = 10U;
52};
53
54} // namespace hf::host
Definition FakeClock.h:27
static void Reset() noexcept
Time back to 0, counters cleared, auto-advance back to default.
Definition FakeClock.cpp:35
static uint64_t TotalDelayUs() noexcept
Sum of all delays requested by code under test, in microseconds.
Definition FakeClock.cpp:31
static constexpr uint64_t kDefaultAutoAdvanceUs
Definition FakeClock.h:51
static uint64_t NowUs() noexcept
Current time in microseconds (does not auto-advance).
Definition FakeClock.cpp:23
static uint64_t DelayCount() noexcept
Number of delay calls made by code under test.
Definition FakeClock.cpp:33
static void AdvanceMs(uint64_t ms) noexcept
Move time forward by ms milliseconds.
Definition FakeClock.h:36
static uint64_t AutoAdvanceUs() noexcept
Definition FakeClock.cpp:29
static void AdvanceUs(uint64_t us) noexcept
Move time forward by us microseconds.
Definition FakeClock.cpp:25
static void SetAutoAdvanceUs(uint64_t us) noexcept
Time added on every clock read from code under test.
Definition FakeClock.cpp:27
Definition FakeClock.cpp:21