From f394379fc142b2eeea7cfd2f3381fa25f7161480 Mon Sep 17 00:00:00 2001 From: Guogang Li Date: Mon, 5 Aug 2024 19:34:28 -0700 Subject: [PATCH] Internal flaky fix PiperOrigin-RevId: 659763609 --- internal/platform/condition_variable_test.cc | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/internal/platform/condition_variable_test.cc b/internal/platform/condition_variable_test.cc index 9a743a4c..cf262c49 100644 --- a/internal/platform/condition_variable_test.cc +++ b/internal/platform/condition_variable_test.cc @@ -14,8 +14,8 @@ #include "internal/platform/condition_variable.h" -#include "gmock/gmock.h" -#include "protobuf-matchers/protocol-buffer-matchers.h" +#include + #include "gtest/gtest.h" #include "absl/time/time.h" #include "internal/platform/logging.h" @@ -25,6 +25,7 @@ namespace nearby { namespace { +constexpr absl::Duration kWaitTime = absl::Milliseconds(500); TEST(ConditionVariableTest, CanCreate) { Mutex mutex; @@ -70,11 +71,13 @@ TEST(ConditionVariableTest, WaitTerminatesOnTimeoutWithoutNotify) { ConditionVariable cond{&mutex}; MutexLock lock(&mutex); - const absl::Duration kWaitTime = absl::Milliseconds(100); absl::Time start = SystemClock::ElapsedRealtime(); cond.Wait(kWaitTime); - absl::Duration duration = SystemClock::ElapsedRealtime() - start; - EXPECT_GE(duration, kWaitTime); + int64_t bias = absl::ToInt64Milliseconds(SystemClock::ElapsedRealtime() - + start - kWaitTime); + + // Windows cannot guarantee the exact time of the timeout. + EXPECT_GE(bias, -15); } } // namespace