| Index: mojo/system/waiter_list_unittest.cc
|
| diff --git a/mojo/system/waiter_list_unittest.cc b/mojo/system/waiter_list_unittest.cc
|
| index 9eeb4e71a5811ae30fa93f42be620c5eec5a63b7..eb776811976670294751f6e860ba1c2f45004af0 100644
|
| --- a/mojo/system/waiter_list_unittest.cc
|
| +++ b/mojo/system/waiter_list_unittest.cc
|
| @@ -12,6 +12,7 @@
|
| #include "base/threading/platform_thread.h" // For |Sleep()|.
|
| #include "base/time/time.h"
|
| #include "mojo/system/test_utils.h"
|
| +#include "mojo/system/wait_flags_state.h"
|
| #include "mojo/system/waiter.h"
|
| #include "mojo/system/waiter_test_utils.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| @@ -65,9 +66,9 @@ TEST(WaiterListTest, BasicAwakeSatisfied) {
|
| test::SimpleWaiterThread thread(&result);
|
| waiter_list.AddWaiter(thread.waiter(), MOJO_WAIT_FLAG_READABLE, 0);
|
| thread.Start();
|
| - waiter_list.AwakeWaitersForStateChange(MOJO_WAIT_FLAG_READABLE,
|
| - MOJO_WAIT_FLAG_READABLE |
|
| - MOJO_WAIT_FLAG_WRITABLE);
|
| + waiter_list.AwakeWaitersForStateChange(
|
| + WaitFlagsState(MOJO_WAIT_FLAG_READABLE,
|
| + MOJO_WAIT_FLAG_READABLE | MOJO_WAIT_FLAG_WRITABLE));
|
| waiter_list.RemoveWaiter(thread.waiter());
|
| } // Join |thread|.
|
| EXPECT_EQ(0, result);
|
| @@ -77,9 +78,9 @@ TEST(WaiterListTest, BasicAwakeSatisfied) {
|
| WaiterList waiter_list;
|
| test::SimpleWaiterThread thread(&result);
|
| waiter_list.AddWaiter(thread.waiter(), MOJO_WAIT_FLAG_WRITABLE, 1);
|
| - waiter_list.AwakeWaitersForStateChange(MOJO_WAIT_FLAG_WRITABLE,
|
| - MOJO_WAIT_FLAG_READABLE |
|
| - MOJO_WAIT_FLAG_WRITABLE);
|
| + waiter_list.AwakeWaitersForStateChange(
|
| + WaitFlagsState(MOJO_WAIT_FLAG_WRITABLE,
|
| + MOJO_WAIT_FLAG_READABLE | MOJO_WAIT_FLAG_WRITABLE));
|
| waiter_list.RemoveWaiter(thread.waiter());
|
| waiter_list.RemoveWaiter(thread.waiter()); // Double-remove okay.
|
| thread.Start();
|
| @@ -93,9 +94,9 @@ TEST(WaiterListTest, BasicAwakeSatisfied) {
|
| waiter_list.AddWaiter(thread.waiter(), MOJO_WAIT_FLAG_READABLE, 2);
|
| thread.Start();
|
| base::PlatformThread::Sleep(2 * test::EpsilonTimeout());
|
| - waiter_list.AwakeWaitersForStateChange(MOJO_WAIT_FLAG_READABLE,
|
| - MOJO_WAIT_FLAG_READABLE |
|
| - MOJO_WAIT_FLAG_WRITABLE);
|
| + waiter_list.AwakeWaitersForStateChange(
|
| + WaitFlagsState(MOJO_WAIT_FLAG_READABLE,
|
| + MOJO_WAIT_FLAG_READABLE | MOJO_WAIT_FLAG_WRITABLE));
|
| waiter_list.RemoveWaiter(thread.waiter());
|
| } // Join |thread|.
|
| EXPECT_EQ(2, result);
|
| @@ -110,7 +111,8 @@ TEST(WaiterListTest, BasicAwakeUnsatisfiable) {
|
| test::SimpleWaiterThread thread(&result);
|
| waiter_list.AddWaiter(thread.waiter(), MOJO_WAIT_FLAG_READABLE, 0);
|
| thread.Start();
|
| - waiter_list.AwakeWaitersForStateChange(0, MOJO_WAIT_FLAG_WRITABLE);
|
| + waiter_list.AwakeWaitersForStateChange(
|
| + WaitFlagsState(MOJO_WAIT_FLAG_NONE, MOJO_WAIT_FLAG_WRITABLE));
|
| waiter_list.RemoveWaiter(thread.waiter());
|
| } // Join |thread|.
|
| EXPECT_EQ(MOJO_RESULT_FAILED_PRECONDITION, result);
|
| @@ -120,8 +122,8 @@ TEST(WaiterListTest, BasicAwakeUnsatisfiable) {
|
| WaiterList waiter_list;
|
| test::SimpleWaiterThread thread(&result);
|
| waiter_list.AddWaiter(thread.waiter(), MOJO_WAIT_FLAG_WRITABLE, 1);
|
| - waiter_list.AwakeWaitersForStateChange(MOJO_WAIT_FLAG_READABLE,
|
| - MOJO_WAIT_FLAG_READABLE);
|
| + waiter_list.AwakeWaitersForStateChange(
|
| + WaitFlagsState(MOJO_WAIT_FLAG_READABLE, MOJO_WAIT_FLAG_READABLE));
|
| waiter_list.RemoveWaiter(thread.waiter());
|
| thread.Start();
|
| } // Join |thread|.
|
| @@ -134,7 +136,8 @@ TEST(WaiterListTest, BasicAwakeUnsatisfiable) {
|
| waiter_list.AddWaiter(thread.waiter(), MOJO_WAIT_FLAG_READABLE, 2);
|
| thread.Start();
|
| base::PlatformThread::Sleep(2 * test::EpsilonTimeout());
|
| - waiter_list.AwakeWaitersForStateChange(0, MOJO_WAIT_FLAG_WRITABLE);
|
| + waiter_list.AwakeWaitersForStateChange(
|
| + WaitFlagsState(MOJO_WAIT_FLAG_NONE, MOJO_WAIT_FLAG_WRITABLE));
|
| waiter_list.RemoveWaiter(thread.waiter());
|
| waiter_list.RemoveWaiter(thread.waiter()); // Double-remove okay.
|
| } // Join |thread|.
|
| @@ -172,9 +175,9 @@ TEST(WaiterListTest, MultipleWaiters) {
|
| waiter_list.AddWaiter(thread2.waiter(), MOJO_WAIT_FLAG_WRITABLE, 3);
|
| thread2.Start();
|
| base::PlatformThread::Sleep(2 * test::EpsilonTimeout());
|
| - waiter_list.AwakeWaitersForStateChange(MOJO_WAIT_FLAG_READABLE,
|
| - MOJO_WAIT_FLAG_READABLE |
|
| - MOJO_WAIT_FLAG_WRITABLE);
|
| + waiter_list.AwakeWaitersForStateChange(
|
| + WaitFlagsState(MOJO_WAIT_FLAG_READABLE,
|
| + MOJO_WAIT_FLAG_READABLE | MOJO_WAIT_FLAG_WRITABLE));
|
| waiter_list.RemoveWaiter(thread1.waiter());
|
| waiter_list.CancelAllWaiters();
|
| } // Join threads.
|
| @@ -191,7 +194,8 @@ TEST(WaiterListTest, MultipleWaiters) {
|
| waiter_list.AddWaiter(thread2.waiter(), MOJO_WAIT_FLAG_WRITABLE, 5);
|
| thread2.Start();
|
| base::PlatformThread::Sleep(2 * test::EpsilonTimeout());
|
| - waiter_list.AwakeWaitersForStateChange(0, MOJO_WAIT_FLAG_READABLE);
|
| + waiter_list.AwakeWaitersForStateChange(
|
| + WaitFlagsState(MOJO_WAIT_FLAG_NONE, MOJO_WAIT_FLAG_READABLE));
|
| waiter_list.RemoveWaiter(thread2.waiter());
|
| waiter_list.CancelAllWaiters();
|
| } // Join threads.
|
| @@ -208,9 +212,9 @@ TEST(WaiterListTest, MultipleWaiters) {
|
| base::PlatformThread::Sleep(1 * test::EpsilonTimeout());
|
|
|
| // Should do nothing.
|
| - waiter_list.AwakeWaitersForStateChange(0,
|
| - MOJO_WAIT_FLAG_READABLE |
|
| - MOJO_WAIT_FLAG_WRITABLE);
|
| + waiter_list.AwakeWaitersForStateChange(
|
| + WaitFlagsState(MOJO_WAIT_FLAG_NONE,
|
| + MOJO_WAIT_FLAG_READABLE | MOJO_WAIT_FLAG_WRITABLE));
|
|
|
| test::SimpleWaiterThread thread2(&result2);
|
| waiter_list.AddWaiter(thread2.waiter(), MOJO_WAIT_FLAG_WRITABLE, 7);
|
| @@ -219,9 +223,9 @@ TEST(WaiterListTest, MultipleWaiters) {
|
| base::PlatformThread::Sleep(1 * test::EpsilonTimeout());
|
|
|
| // Awake #1.
|
| - waiter_list.AwakeWaitersForStateChange(MOJO_WAIT_FLAG_READABLE,
|
| - MOJO_WAIT_FLAG_READABLE |
|
| - MOJO_WAIT_FLAG_WRITABLE);
|
| + waiter_list.AwakeWaitersForStateChange(
|
| + WaitFlagsState(MOJO_WAIT_FLAG_READABLE,
|
| + MOJO_WAIT_FLAG_READABLE | MOJO_WAIT_FLAG_WRITABLE));
|
| waiter_list.RemoveWaiter(thread1.waiter());
|
|
|
| base::PlatformThread::Sleep(1 * test::EpsilonTimeout());
|
| @@ -237,7 +241,8 @@ TEST(WaiterListTest, MultipleWaiters) {
|
| base::PlatformThread::Sleep(1 * test::EpsilonTimeout());
|
|
|
| // Awake #2 and #3 for unsatisfiability.
|
| - waiter_list.AwakeWaitersForStateChange(0, MOJO_WAIT_FLAG_READABLE);
|
| + waiter_list.AwakeWaitersForStateChange(
|
| + WaitFlagsState(MOJO_WAIT_FLAG_NONE, MOJO_WAIT_FLAG_READABLE));
|
| waiter_list.RemoveWaiter(thread2.waiter());
|
| waiter_list.RemoveWaiter(thread3.waiter());
|
|
|
|
|