X-Git-Url: http://plrg.eecs.uci.edu/git/?p=folly.git;a=blobdiff_plain;f=folly%2Ftest%2FMemoryIdlerTest.cpp;h=6945f22e87a4f360be7700b89c9383133fb3946e;hp=538dbf0e97f0968d6462ffca2a6b161ebbd91f04;hb=e229101b0e2fc1d9ccfbcb10be991cb62e19d32d;hpb=8bfee85eb0e54a346a8c2fe1ac8b474303b754b0 diff --git a/folly/test/MemoryIdlerTest.cpp b/folly/test/MemoryIdlerTest.cpp index 538dbf0e..6945f22e 100644 --- a/folly/test/MemoryIdlerTest.cpp +++ b/folly/test/MemoryIdlerTest.cpp @@ -95,7 +95,7 @@ namespace folly { namespace detail { /// used type template <> struct Futex { - MOCK_METHOD2(futexWait, bool(uint32_t, uint32_t)); + MOCK_METHOD2(futexWait, FutexResult(uint32_t, uint32_t)); MOCK_METHOD3(futexWaitUntil, FutexResult(uint32_t, const MockClock::time_point&, uint32_t)); }; @@ -114,7 +114,9 @@ TEST(MemoryIdler, futexWaitValueChangedEarly) { EXPECT_CALL(fut, futexWaitUntil(1, AllOf(Ge(begin + idleTimeout), Lt(begin + 2 * idleTimeout)), -1)) .WillOnce(Return(FutexResult::VALUE_CHANGED)); - EXPECT_FALSE((MemoryIdler::futexWait(fut, 1))); + EXPECT_EQ( + FutexResult::VALUE_CHANGED, + (MemoryIdler::futexWait(fut, 1))); } TEST(MemoryIdler, futexWaitValueChangedLate) { @@ -129,8 +131,10 @@ TEST(MemoryIdler, futexWaitValueChangedLate) { Lt(begin + 2 * idleTimeout)), -1)) .WillOnce(Return(FutexResult::TIMEDOUT)); EXPECT_CALL(fut, futexWait(1, -1)) - .WillOnce(Return(false)); - EXPECT_FALSE((MemoryIdler::futexWait(fut, 1))); + .WillOnce(Return(FutexResult::VALUE_CHANGED)); + EXPECT_EQ( + FutexResult::VALUE_CHANGED, + (MemoryIdler::futexWait(fut, 1))); } TEST(MemoryIdler, futexWaitAwokenEarly) { @@ -143,7 +147,9 @@ TEST(MemoryIdler, futexWaitAwokenEarly) { .WillOnce(Return(begin)); EXPECT_CALL(fut, futexWaitUntil(1, Ge(begin + idleTimeout), -1)) .WillOnce(Return(FutexResult::AWOKEN)); - EXPECT_TRUE((MemoryIdler::futexWait(fut, 1))); + EXPECT_EQ( + FutexResult::AWOKEN, + (MemoryIdler::futexWait(fut, 1))); } TEST(MemoryIdler, futexWaitAwokenLate) { @@ -156,28 +162,31 @@ TEST(MemoryIdler, futexWaitAwokenLate) { .WillOnce(Return(begin)); EXPECT_CALL(fut, futexWaitUntil(1, begin + idleTimeout, -1)) .WillOnce(Return(FutexResult::TIMEDOUT)); - EXPECT_CALL(fut, futexWait(1, -1)) - .WillOnce(Return(true)); - EXPECT_TRUE((MemoryIdler::futexWait( - fut, 1, -1, idleTimeout, 100, 0.0f))); + EXPECT_CALL(fut, futexWait(1, -1)).WillOnce(Return(FutexResult::AWOKEN)); + EXPECT_EQ( + FutexResult::AWOKEN, + (MemoryIdler::futexWait( + fut, 1, -1, idleTimeout, 100, 0.0f))); } TEST(MemoryIdler, futexWaitImmediateFlush) { StrictMock> fut; auto clock = MockClock::setup(); - EXPECT_CALL(fut, futexWait(2, 0xff)) - .WillOnce(Return(true)); - EXPECT_TRUE((MemoryIdler::futexWait( - fut, 2, 0xff, std::chrono::seconds(0)))); + EXPECT_CALL(fut, futexWait(2, 0xff)).WillOnce(Return(FutexResult::AWOKEN)); + EXPECT_EQ( + FutexResult::AWOKEN, + (MemoryIdler::futexWait( + fut, 2, 0xff, std::chrono::seconds(0)))); } TEST(MemoryIdler, futexWaitNeverFlush) { StrictMock> fut; auto clock = MockClock::setup(); - EXPECT_CALL(fut, futexWait(1, -1)) - .WillOnce(Return(true)); - EXPECT_TRUE((MemoryIdler::futexWait( - fut, 1, -1, MockClock::duration::max()))); + EXPECT_CALL(fut, futexWait(1, -1)).WillOnce(Return(FutexResult::AWOKEN)); + EXPECT_EQ( + FutexResult::AWOKEN, + (MemoryIdler::futexWait( + fut, 1, -1, MockClock::duration::max()))); }