| Index: mojo/edk/system/multiprocess_message_pipe_unittest.cc
|
| diff --git a/mojo/edk/system/multiprocess_message_pipe_unittest.cc b/mojo/edk/system/multiprocess_message_pipe_unittest.cc
|
| index 3b521ccf8dfb442a5532e41e6df143363446d9ab..f8e29d633922aba9b730047a6750f21fd13d15c8 100644
|
| --- a/mojo/edk/system/multiprocess_message_pipe_unittest.cc
|
| +++ b/mojo/edk/system/multiprocess_message_pipe_unittest.cc
|
| @@ -91,7 +91,9 @@
|
| for (;; rv = (rv + 1) % 100) {
|
| // Wait for our end of the message pipe to be readable.
|
| HandleSignalsState hss;
|
| - MojoResult result = WaitForSignals(h, MOJO_HANDLE_SIGNAL_READABLE, &hss);
|
| + MojoResult result =
|
| + MojoWait(h, MOJO_HANDLE_SIGNAL_READABLE,
|
| + MOJO_DEADLINE_INDEFINITE, &hss);
|
| if (result != MOJO_RESULT_OK) {
|
| // It was closed, probably.
|
| CHECK_EQ(result, MOJO_RESULT_FAILED_PRECONDITION);
|
| @@ -137,7 +139,8 @@
|
|
|
| HandleSignalsState hss;
|
| ASSERT_EQ(MOJO_RESULT_OK,
|
| - WaitForSignals(h, MOJO_HANDLE_SIGNAL_READABLE, &hss));
|
| + MojoWait(h, MOJO_HANDLE_SIGNAL_READABLE,
|
| + MOJO_DEADLINE_INDEFINITE, &hss));
|
| // The child may or may not have closed its end of the message pipe and died
|
| // (and we may or may not know it yet), so our end may or may not appear as
|
| // writable.
|
| @@ -176,7 +179,8 @@
|
| for (size_t i = 0; i < kNumMessages; i++) {
|
| HandleSignalsState hss;
|
| ASSERT_EQ(MOJO_RESULT_OK,
|
| - WaitForSignals(h, MOJO_HANDLE_SIGNAL_READABLE, &hss));
|
| + MojoWait(h, MOJO_HANDLE_SIGNAL_READABLE,
|
| + MOJO_DEADLINE_INDEFINITE, &hss));
|
| // The child may or may not have closed its end of the message pipe and
|
| // died (and we may or may not know it yet), so our end may or may not
|
| // appear as writable.
|
| @@ -204,7 +208,8 @@
|
| // "quitquitquit").
|
| HandleSignalsState hss;
|
| ASSERT_EQ(MOJO_RESULT_FAILED_PRECONDITION,
|
| - WaitForSignals(h, MOJO_HANDLE_SIGNAL_READABLE, &hss));
|
| + MojoWait(h, MOJO_HANDLE_SIGNAL_READABLE,
|
| + MOJO_DEADLINE_INDEFINITE, &hss));
|
| ASSERT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, hss.satisfied_signals);
|
| ASSERT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, hss.satisfiable_signals);
|
| END_CHILD_AND_EXPECT_EXIT_CODE(static_cast<int>(kNumMessages % 100));
|
| @@ -214,7 +219,8 @@
|
| h) {
|
| // Wait for the first message from our parent.
|
| HandleSignalsState hss;
|
| - CHECK_EQ(WaitForSignals(h, MOJO_HANDLE_SIGNAL_READABLE, &hss),
|
| + CHECK_EQ(MojoWait(h, MOJO_HANDLE_SIGNAL_READABLE,
|
| + MOJO_DEADLINE_INDEFINITE, &hss),
|
| MOJO_RESULT_OK);
|
| // In this test, the parent definitely doesn't close its end of the message
|
| // pipe before we do.
|
| @@ -259,7 +265,8 @@
|
|
|
| // Now wait for our parent to send us a message.
|
| hss = HandleSignalsState();
|
| - CHECK_EQ(WaitForSignals(h, MOJO_HANDLE_SIGNAL_READABLE, &hss),
|
| + CHECK_EQ(MojoWait(h, MOJO_HANDLE_SIGNAL_READABLE,
|
| + MOJO_DEADLINE_INDEFINITE, &hss),
|
| MOJO_RESULT_OK);
|
| CHECK_EQ(hss.satisfied_signals,
|
| MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE);
|
| @@ -315,7 +322,8 @@
|
| // Wait for a message from the child.
|
| HandleSignalsState hss;
|
| ASSERT_EQ(MOJO_RESULT_OK,
|
| - WaitForSignals(h, MOJO_HANDLE_SIGNAL_READABLE, &hss));
|
| + MojoWait(h, MOJO_HANDLE_SIGNAL_READABLE,
|
| + MOJO_DEADLINE_INDEFINITE, &hss));
|
| EXPECT_TRUE((hss.satisfied_signals & MOJO_HANDLE_SIGNAL_READABLE));
|
| EXPECT_TRUE((hss.satisfiable_signals & MOJO_HANDLE_SIGNAL_READABLE));
|
|
|
| @@ -351,7 +359,8 @@
|
| // Wait for |h| to become readable, which should fail.
|
| hss = HandleSignalsState();
|
| ASSERT_EQ(MOJO_RESULT_FAILED_PRECONDITION,
|
| - WaitForSignals(h, MOJO_HANDLE_SIGNAL_READABLE, &hss));
|
| + MojoWait(h, MOJO_HANDLE_SIGNAL_READABLE,
|
| + MOJO_DEADLINE_INDEFINITE, &hss));
|
| ASSERT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, hss.satisfied_signals);
|
| ASSERT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, hss.satisfiable_signals);
|
| END_CHILD()
|
| @@ -360,7 +369,8 @@
|
| DEFINE_TEST_CLIENT_WITH_PIPE(CheckPlatformHandleFile,
|
| MultiprocessMessagePipeTest, h) {
|
| HandleSignalsState hss;
|
| - CHECK_EQ(WaitForSignals(h, MOJO_HANDLE_SIGNAL_READABLE, &hss),
|
| + CHECK_EQ(MojoWait(h, MOJO_HANDLE_SIGNAL_READABLE,
|
| + MOJO_DEADLINE_INDEFINITE, &hss),
|
| MOJO_RESULT_OK);
|
| CHECK_EQ(hss.satisfied_signals,
|
| MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE);
|
| @@ -445,7 +455,8 @@
|
| // Wait for it to become readable, which should fail.
|
| HandleSignalsState hss;
|
| ASSERT_EQ(MOJO_RESULT_FAILED_PRECONDITION,
|
| - WaitForSignals(h, MOJO_HANDLE_SIGNAL_READABLE, &hss));
|
| + MojoWait(h, MOJO_HANDLE_SIGNAL_READABLE,
|
| + MOJO_DEADLINE_INDEFINITE, &hss));
|
| ASSERT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, hss.satisfied_signals);
|
| ASSERT_EQ(MOJO_HANDLE_SIGNAL_PEER_CLOSED, hss.satisfiable_signals);
|
| END_CHILD()
|
| @@ -463,7 +474,8 @@
|
| DEFINE_TEST_CLIENT_WITH_PIPE(CheckMessagePipe, MultiprocessMessagePipeTest, h) {
|
| // Wait for the first message from our parent.
|
| HandleSignalsState hss;
|
| - CHECK_EQ(WaitForSignals(h, MOJO_HANDLE_SIGNAL_READABLE, &hss),
|
| + CHECK_EQ(MojoWait(h, MOJO_HANDLE_SIGNAL_READABLE,
|
| + MOJO_DEADLINE_INDEFINITE, &hss),
|
| MOJO_RESULT_OK);
|
| // In this test, the parent definitely doesn't close its end of the message
|
| // pipe before we do.
|
| @@ -483,7 +495,8 @@
|
| CHECK_EQ(num_handlers, 1u);
|
|
|
| // Read data from the received message pipe.
|
| - CHECK_EQ(WaitForSignals(handles[0], MOJO_HANDLE_SIGNAL_READABLE, &hss),
|
| + CHECK_EQ(MojoWait(handles[0], MOJO_HANDLE_SIGNAL_READABLE,
|
| + MOJO_DEADLINE_INDEFINITE, &hss),
|
| MOJO_RESULT_OK);
|
| CHECK_EQ(hss.satisfied_signals,
|
| MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE);
|
| @@ -534,7 +547,8 @@
|
| // Wait for a message from the child.
|
| HandleSignalsState hss;
|
| ASSERT_EQ(MOJO_RESULT_OK,
|
| - WaitForSignals(mp1, MOJO_HANDLE_SIGNAL_READABLE, &hss));
|
| + MojoWait(mp1, MOJO_HANDLE_SIGNAL_READABLE,
|
| + MOJO_DEADLINE_INDEFINITE, &hss));
|
| EXPECT_TRUE((hss.satisfied_signals & MOJO_HANDLE_SIGNAL_READABLE));
|
| EXPECT_TRUE((hss.satisfiable_signals & MOJO_HANDLE_SIGNAL_READABLE));
|
|
|
| @@ -571,7 +585,8 @@
|
| // Wait for a message from the child.
|
| HandleSignalsState hss;
|
| ASSERT_EQ(MOJO_RESULT_OK,
|
| - WaitForSignals(mp1, MOJO_HANDLE_SIGNAL_READABLE, &hss));
|
| + MojoWait(mp1, MOJO_HANDLE_SIGNAL_READABLE,
|
| + MOJO_DEADLINE_INDEFINITE, &hss));
|
| EXPECT_TRUE((hss.satisfied_signals & MOJO_HANDLE_SIGNAL_READABLE));
|
| EXPECT_TRUE((hss.satisfiable_signals & MOJO_HANDLE_SIGNAL_READABLE));
|
|
|
| @@ -589,7 +604,8 @@
|
| DEFINE_TEST_CLIENT_WITH_PIPE(DataPipeConsumer, MultiprocessMessagePipeTest, h) {
|
| // Wait for the first message from our parent.
|
| HandleSignalsState hss;
|
| - CHECK_EQ(WaitForSignals(h, MOJO_HANDLE_SIGNAL_READABLE, &hss),
|
| + CHECK_EQ(MojoWait(h, MOJO_HANDLE_SIGNAL_READABLE,
|
| + MOJO_DEADLINE_INDEFINITE, &hss),
|
| MOJO_RESULT_OK);
|
| // In this test, the parent definitely doesn't close its end of the message
|
| // pipe before we do.
|
| @@ -609,7 +625,8 @@
|
| CHECK_EQ(num_handlers, 1u);
|
|
|
| // Read data from the received message pipe.
|
| - CHECK_EQ(WaitForSignals(handles[0], MOJO_HANDLE_SIGNAL_READABLE, &hss),
|
| + CHECK_EQ(MojoWait(handles[0], MOJO_HANDLE_SIGNAL_READABLE,
|
| + MOJO_DEADLINE_INDEFINITE, &hss),
|
| MOJO_RESULT_OK);
|
| CHECK_EQ(hss.satisfied_signals,
|
| MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE);
|
| @@ -660,7 +677,8 @@
|
| // Wait for a message from the child.
|
| HandleSignalsState hss;
|
| ASSERT_EQ(MOJO_RESULT_OK,
|
| - WaitForSignals(mp1, MOJO_HANDLE_SIGNAL_READABLE, &hss));
|
| + MojoWait(mp1, MOJO_HANDLE_SIGNAL_READABLE,
|
| + MOJO_DEADLINE_INDEFINITE, &hss));
|
| EXPECT_TRUE((hss.satisfied_signals & MOJO_HANDLE_SIGNAL_READABLE));
|
| EXPECT_TRUE((hss.satisfiable_signals & MOJO_HANDLE_SIGNAL_READABLE));
|
|
|
| @@ -906,7 +924,9 @@
|
| EXPECT_EQ("bye", ReadMessage(p0));
|
|
|
| // We should still be able to observe peer closure from the other end.
|
| - EXPECT_EQ(MOJO_RESULT_OK, WaitForSignals(p0, MOJO_HANDLE_SIGNAL_PEER_CLOSED));
|
| + EXPECT_EQ(MOJO_RESULT_OK,
|
| + MojoWait(p0, MOJO_HANDLE_SIGNAL_PEER_CLOSED,
|
| + MOJO_DEADLINE_INDEFINITE, nullptr));
|
| }
|
|
|
| // Parses commands from the parent pipe and does whatever it's asked to do.
|
| @@ -1090,7 +1110,10 @@
|
| MultiprocessMessagePipeTest, h) {
|
| MojoHandle p;
|
| EXPECT_EQ("foo", ReadMessageWithHandles(h, &p, 1));
|
| - EXPECT_EQ(MOJO_RESULT_OK, WaitForSignals(p, MOJO_HANDLE_SIGNAL_PEER_CLOSED));
|
| +
|
| + auto result = MojoWait(p, MOJO_HANDLE_SIGNAL_PEER_CLOSED,
|
| + MOJO_DEADLINE_INDEFINITE, nullptr);
|
| + EXPECT_EQ(MOJO_RESULT_OK, result);
|
| }
|
|
|
| TEST_P(MultiprocessMessagePipeTestWithPeerSupport, SendPipeThenClosePeer) {
|
| @@ -1136,8 +1159,9 @@
|
| ReadMessageWithHandles(application_client, &service_client, 1));
|
|
|
| // Wait for the service client to signal closure.
|
| - EXPECT_EQ(MOJO_RESULT_OK,
|
| - WaitForSignals(service_client, MOJO_HANDLE_SIGNAL_PEER_CLOSED));
|
| + EXPECT_EQ(MOJO_RESULT_OK, MojoWait(service_client,
|
| + MOJO_HANDLE_SIGNAL_PEER_CLOSED,
|
| + MOJO_DEADLINE_INDEFINITE, nullptr));
|
|
|
| EXPECT_EQ(MOJO_RESULT_OK, MojoClose(service_client));
|
| EXPECT_EQ(MOJO_RESULT_OK, MojoClose(application_client));
|
| @@ -1183,7 +1207,8 @@
|
| EXPECT_EQ(MOJO_RESULT_OK, MojoClose(b));
|
|
|
| // We should be able to detect peer closure on |a|.
|
| - EXPECT_EQ(MOJO_RESULT_OK, WaitForSignals(a, MOJO_HANDLE_SIGNAL_PEER_CLOSED));
|
| + EXPECT_EQ(MOJO_RESULT_OK, MojoWait(a, MOJO_HANDLE_SIGNAL_PEER_CLOSED,
|
| + MOJO_DEADLINE_INDEFINITE, nullptr));
|
| }
|
|
|
| DEFINE_TEST_CLIENT_TEST_WITH_PIPE(WriteCloseSendPeerClient,
|
| @@ -1226,8 +1251,8 @@
|
| EXPECT_EQ("qux", ReadMessage(p));
|
|
|
| // Expect to have peer closure signaled.
|
| - EXPECT_EQ(MOJO_RESULT_OK,
|
| - WaitForSignals(p, MOJO_HANDLE_SIGNAL_PEER_CLOSED));
|
| + EXPECT_EQ(MOJO_RESULT_OK, MojoWait(p, MOJO_HANDLE_SIGNAL_PEER_CLOSED,
|
| + MOJO_DEADLINE_INDEFINITE, nullptr));
|
|
|
| WriteMessage(h, "quit");
|
| END_CHILD()
|
| @@ -1240,8 +1265,9 @@
|
| MojoHandle handles[4];
|
| EXPECT_EQ("o_O", ReadMessageWithHandles(parent, handles, 4));
|
|
|
| - EXPECT_EQ(MOJO_RESULT_OK,
|
| - WaitForSignals(handles[0], MOJO_HANDLE_SIGNAL_PEER_CLOSED));
|
| + // Wait on handle 0 using MojoWait.
|
| + EXPECT_EQ(MOJO_RESULT_OK, MojoWait(handles[0], MOJO_HANDLE_SIGNAL_PEER_CLOSED,
|
| + MOJO_DEADLINE_INDEFINITE, nullptr));
|
|
|
| base::MessageLoop message_loop;
|
|
|
| @@ -1323,7 +1349,8 @@
|
| WriteMessageWithHandles(child2, "hi", &d, 1);
|
|
|
| // Read a message from the pipe we sent to child1 and flag it as bad.
|
| - ASSERT_EQ(MOJO_RESULT_OK, WaitForSignals(a, MOJO_HANDLE_SIGNAL_READABLE));
|
| + ASSERT_EQ(MOJO_RESULT_OK, MojoWait(a, MOJO_HANDLE_SIGNAL_READABLE,
|
| + MOJO_DEADLINE_INDEFINITE, nullptr));
|
| uint32_t num_bytes = 0;
|
| MojoMessageHandle message;
|
| ASSERT_EQ(MOJO_RESULT_OK,
|
| @@ -1335,7 +1362,8 @@
|
| EXPECT_EQ(MOJO_RESULT_OK, MojoFreeMessage(message));
|
|
|
| // Read a message from the pipe we sent to child2 and flag it as bad.
|
| - ASSERT_EQ(MOJO_RESULT_OK, WaitForSignals(c, MOJO_HANDLE_SIGNAL_READABLE));
|
| + ASSERT_EQ(MOJO_RESULT_OK, MojoWait(c, MOJO_HANDLE_SIGNAL_READABLE,
|
| + MOJO_DEADLINE_INDEFINITE, nullptr));
|
| ASSERT_EQ(MOJO_RESULT_OK,
|
| MojoReadMessageNew(c, &message, &num_bytes, nullptr, 0,
|
| MOJO_READ_MESSAGE_FLAG_NONE));
|
|
|