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