diff --git a/util/env_test.cc b/util/env_test.cc index 123dab07dc40059673e946b8dbf0ce76cc38a115..23c3726d91e7d2d010175464e38bddba3040f978 100644 --- a/util/env_test.cc +++ b/util/env_test.cc @@ -120,8 +120,15 @@ TEST_F(EnvPosixTest, UnSchedule) { /* Schedule another task */ env_->Schedule(&SetBool, &called); - Env::Default()->SleepForMicroseconds(kDelayMicros); + for (int i = 0; i < kDelayMicros; i++) { + if (called.load(std::memory_order_relaxed)) { + break; + } + Env::Default()->SleepForMicroseconds(1); + } ASSERT_TRUE(called.load(std::memory_order_relaxed)); + + ASSERT_TRUE(!sleeping_task.IsSleeping() && !sleeping_task1.IsSleeping()); } TEST_F(EnvPosixTest, RunMany) {