From a61291f75e2b2a02bddd42bb60b6d66e3ee84c85 Mon Sep 17 00:00:00 2001 From: rusEFI LLC Date: Sat, 27 Apr 2024 10:53:51 -0400 Subject: [PATCH] unit testing time API --- mock/lib-time-mocks.cpp | 10 +++++++++- util/include/rusefi/rusefi_time_math.h | 6 ++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/mock/lib-time-mocks.cpp b/mock/lib-time-mocks.cpp index 601012a..06b2ef0 100644 --- a/mock/lib-time-mocks.cpp +++ b/mock/lib-time-mocks.cpp @@ -1,6 +1,6 @@ #include -int timeNowUs = 0; +static int timeNowUs = 0; efitimeus_t getTimeNowUs() { return timeNowUs; @@ -13,3 +13,11 @@ efitimesec_t getTimeNowS() { efitick_t getTimeNowNt() { return getTimeNowUs() * US_TO_NT_MULTIPLIER; } + +void setTimeNowUs(int us) { + timeNowUs = us; +} + +void advanceTimeUs(int us) { + timeNowUs += us; +} diff --git a/util/include/rusefi/rusefi_time_math.h b/util/include/rusefi/rusefi_time_math.h index 64d5001..6fdbd34 100644 --- a/util/include/rusefi/rusefi_time_math.h +++ b/util/include/rusefi/rusefi_time_math.h @@ -13,3 +13,9 @@ #define NT2USF(x) (((float)(x)) / US_TO_NT_MULTIPLIER) #define NT_PER_SECOND (US2NT(US_PER_SECOND_LL)) + +#if EFI_UNIT_TEST +// In unit tests, we can time travel... +void setTimeNowUs(int us); +void advanceTimeUs(int us); +#endif