From e1d21d3faf5a0748c77639830c2beb1e4ca0e5a5 Mon Sep 17 00:00:00 2001 From: Jason Rhinelander Date: Wed, 4 Aug 2021 17:48:53 -0300 Subject: [PATCH] Tweak test timers to deal with Apple's shitty thread scheduling --- tests/test_timer.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/test_timer.cpp b/tests/test_timer.cpp index 93df350..9cc90fe 100644 --- a/tests/test_timer.cpp +++ b/tests/test_timer.cpp @@ -15,9 +15,10 @@ TEST_CASE("timer test", "[timer][basic]") { auto start = std::chrono::steady_clock::now(); wait_for([&] { return ticks.load() > 3; }); { + auto elapsed_ms = std::chrono::duration_cast(std::chrono::steady_clock::now() - start).count(); auto lock = catch_lock(); REQUIRE( ticks.load() > 3 ); - REQUIRE( std::chrono::steady_clock::now() - start < 40ms ); + REQUIRE( elapsed_ms < 50 ); } } @@ -58,7 +59,7 @@ TEST_CASE("timer squelch", "[timer][squelch]") { std::atomic ticks2 = 0; auto timer2 = omq.add_timer([&] { if (first2.exchange(false)) { - std::this_thread::sleep_for(30ms); + std::this_thread::sleep_for(40ms); done2 = true; } else if (!done2) { ticks2++;