From 5512eb2f8f09efe730ab2f997af7e7130d1e90f5 Mon Sep 17 00:00:00 2001 From: Carbenium Date: Sat, 25 Jul 2020 16:51:58 +0200 Subject: tests/EventMap: Test for event past it's execution time With the switch to std::chrono return type of GetTimeUntilEvent we don't run into an overflow condition which happend with the previous uint32 return value if the events scheduled execution time is in the past. Test for this case. (cherry picked from commit e877f988d1c4e1361612f3d5c4ebe915f746aee5) --- tests/common/test-EventMap.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tests/common/test-EventMap.cpp b/tests/common/test-EventMap.cpp index 563fd9b4873..89d3c4d2bb2 100644 --- a/tests/common/test-EventMap.cpp +++ b/tests/common/test-EventMap.cpp @@ -66,6 +66,13 @@ TEST_CASE("Schedule an event", "[EventMap]") REQUIRE(eventMap.Empty()); REQUIRE(eventMap.GetTimeUntilEvent(EVENT_1) == Milliseconds::max()); } + + SECTION("Event is past it's execution time") + { + eventMap.Update(2000); + + REQUIRE(eventMap.GetTimeUntilEvent(EVENT_1) == -1s); + } } // TODO: The semantics of this case are not well defined. -- cgit v1.2.3