| Index: mojo/edk/system/message_pipe_unittest.cc
|
| diff --git a/mojo/edk/system/message_pipe_unittest.cc b/mojo/edk/system/message_pipe_unittest.cc
|
| index e6f1ff643793fce31bcc145ba3e8a8fd6e8a5471..8f489508e924663e47bcf63a72f831f2e980dc3d 100644
|
| --- a/mojo/edk/system/message_pipe_unittest.cc
|
| +++ b/mojo/edk/system/message_pipe_unittest.cc
|
| @@ -100,8 +100,8 @@
|
| ASSERT_EQ(MOJO_RESULT_OK, WriteMessage(pipe1_, buffer, sizeof(buffer[0])));
|
|
|
| MojoHandleSignalsState state;
|
| - ASSERT_EQ(MOJO_RESULT_OK,
|
| - WaitForSignals(pipe0_, MOJO_HANDLE_SIGNAL_READABLE, &state));
|
| + ASSERT_EQ(MOJO_RESULT_OK, MojoWait(pipe0_, MOJO_HANDLE_SIGNAL_READABLE,
|
| + MOJO_DEADLINE_INDEFINITE, &state));
|
|
|
| // Read from port 0.
|
| buffer[0] = 123;
|
| @@ -124,8 +124,8 @@
|
| buffer[1] = 0;
|
| ASSERT_EQ(MOJO_RESULT_OK, WriteMessage(pipe0_, buffer, sizeof(buffer[0])));
|
|
|
| - ASSERT_EQ(MOJO_RESULT_OK,
|
| - WaitForSignals(pipe1_, MOJO_HANDLE_SIGNAL_READABLE, &state));
|
| + ASSERT_EQ(MOJO_RESULT_OK, MojoWait(pipe1_, MOJO_HANDLE_SIGNAL_READABLE,
|
| + MOJO_DEADLINE_INDEFINITE, &state));
|
|
|
| // Read from port 1 with buffer size 0 (should get the size of next message).
|
| // Also test that giving a null buffer is okay when the buffer size is 0.
|
| @@ -154,8 +154,8 @@
|
| ASSERT_EQ(123456789, buffer[0]);
|
| ASSERT_EQ(456, buffer[1]);
|
|
|
| - ASSERT_EQ(MOJO_RESULT_OK,
|
| - WaitForSignals(pipe1_, MOJO_HANDLE_SIGNAL_READABLE, &state));
|
| + ASSERT_EQ(MOJO_RESULT_OK, MojoWait(pipe1_, MOJO_HANDLE_SIGNAL_READABLE,
|
| + MOJO_DEADLINE_INDEFINITE, &state));
|
|
|
| // Read again from port 1.
|
| buffer[0] = 123;
|
| @@ -179,8 +179,8 @@
|
| MojoClose(pipe0_);
|
| pipe0_ = MOJO_HANDLE_INVALID;
|
|
|
| - ASSERT_EQ(MOJO_RESULT_OK,
|
| - WaitForSignals(pipe1_, MOJO_HANDLE_SIGNAL_PEER_CLOSED, &state));
|
| + ASSERT_EQ(MOJO_RESULT_OK, MojoWait(pipe1_, MOJO_HANDLE_SIGNAL_PEER_CLOSED,
|
| + MOJO_DEADLINE_INDEFINITE, &state));
|
|
|
| // Try to write from port 1 (to port 0).
|
| buffer[0] = 456789012;
|
| @@ -215,8 +215,8 @@
|
| }
|
|
|
| MojoHandleSignalsState state;
|
| - ASSERT_EQ(MOJO_RESULT_OK,
|
| - WaitForSignals(pipe0_, MOJO_HANDLE_SIGNAL_READABLE, &state));
|
| + ASSERT_EQ(MOJO_RESULT_OK, MojoWait(pipe0_, MOJO_HANDLE_SIGNAL_READABLE,
|
| + MOJO_DEADLINE_INDEFINITE, &state));
|
|
|
| // Port 0 shouldn't be empty.
|
| buffer_size = 0;
|
| @@ -241,8 +241,8 @@
|
| ASSERT_EQ(MOJO_RESULT_OK, WriteMessage(pipe1_, buffer, sizeof(buffer[0])));
|
|
|
| MojoHandleSignalsState state;
|
| - ASSERT_EQ(MOJO_RESULT_OK,
|
| - WaitForSignals(pipe0_, MOJO_HANDLE_SIGNAL_READABLE, &state));
|
| + ASSERT_EQ(MOJO_RESULT_OK, MojoWait(pipe0_, MOJO_HANDLE_SIGNAL_READABLE,
|
| + MOJO_DEADLINE_INDEFINITE, &state));
|
|
|
| // Read/discard from port 0 (no buffer); get size.
|
| buffer_size = 0;
|
| @@ -261,8 +261,8 @@
|
| ASSERT_EQ(MOJO_RESULT_OK,
|
| WriteMessage(pipe1_, buffer, sizeof(buffer[0])));
|
|
|
| - ASSERT_EQ(MOJO_RESULT_OK,
|
| - WaitForSignals(pipe0_, MOJO_HANDLE_SIGNAL_READABLE, &state));
|
| + ASSERT_EQ(MOJO_RESULT_OK, MojoWait(pipe0_, MOJO_HANDLE_SIGNAL_READABLE,
|
| + MOJO_DEADLINE_INDEFINITE, &state));
|
|
|
| // Read from port 0 (buffer big enough).
|
| buffer[0] = 123;
|
| @@ -283,8 +283,8 @@
|
| buffer[1] = 0;
|
| ASSERT_EQ(MOJO_RESULT_OK, WriteMessage(pipe1_, buffer, sizeof(buffer[0])));
|
|
|
| - ASSERT_EQ(MOJO_RESULT_OK,
|
| - WaitForSignals(pipe0_, MOJO_HANDLE_SIGNAL_READABLE, &state));
|
| + ASSERT_EQ(MOJO_RESULT_OK, MojoWait(pipe0_, MOJO_HANDLE_SIGNAL_READABLE,
|
| + MOJO_DEADLINE_INDEFINITE, &state));
|
|
|
| // Read/discard from port 0 (buffer too small); get size.
|
| buffer_size = 1;
|
| @@ -302,8 +302,8 @@
|
| buffer[1] = 0;
|
| ASSERT_EQ(MOJO_RESULT_OK, WriteMessage(pipe1_, buffer, sizeof(buffer[0])));
|
|
|
| - ASSERT_EQ(MOJO_RESULT_OK,
|
| - WaitForSignals(pipe0_, MOJO_HANDLE_SIGNAL_READABLE, &state));
|
| + ASSERT_EQ(MOJO_RESULT_OK, MojoWait(pipe0_, MOJO_HANDLE_SIGNAL_READABLE,
|
| + MOJO_DEADLINE_INDEFINITE, &state));
|
|
|
| // Discard from port 0.
|
| buffer_size = 1;
|
| @@ -323,27 +323,41 @@
|
| const uint32_t kBufferSize = static_cast<uint32_t>(sizeof(buffer));
|
| uint32_t buffer_size;
|
|
|
| - // Always writable (until the other port is closed). Not yet readable. Peer
|
| - // not closed.
|
| - hss = GetSignalsState(pipe0_);
|
| + // Always writable (until the other port is closed).
|
| + hss = MojoHandleSignalsState();
|
| + ASSERT_EQ(MOJO_RESULT_OK, MojoWait(pipe0_, MOJO_HANDLE_SIGNAL_WRITABLE, 0,
|
| + &hss));
|
| ASSERT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE, hss.satisfied_signals);
|
| ASSERT_EQ(kAllSignals, hss.satisfiable_signals);
|
| hss = MojoHandleSignalsState();
|
|
|
| + // Not yet readable.
|
| + ASSERT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED,
|
| + MojoWait(pipe0_, MOJO_HANDLE_SIGNAL_READABLE, 0, &hss));
|
| + ASSERT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE, hss.satisfied_signals);
|
| + ASSERT_EQ(kAllSignals, hss.satisfiable_signals);
|
| +
|
| + // The peer is not closed.
|
| + hss = MojoHandleSignalsState();
|
| + ASSERT_EQ(MOJO_RESULT_DEADLINE_EXCEEDED,
|
| + MojoWait(pipe0_, MOJO_HANDLE_SIGNAL_PEER_CLOSED, 0, &hss));
|
| + ASSERT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE, hss.satisfied_signals);
|
| + ASSERT_EQ(kAllSignals, hss.satisfiable_signals);
|
| +
|
| // Write from port 0 (to port 1), to make port 1 readable.
|
| buffer[0] = 123456789;
|
| ASSERT_EQ(MOJO_RESULT_OK, WriteMessage(pipe0_, buffer, kBufferSize));
|
|
|
| // Port 1 should already be readable now.
|
| - ASSERT_EQ(MOJO_RESULT_OK,
|
| - WaitForSignals(pipe1_, MOJO_HANDLE_SIGNAL_READABLE, &hss));
|
| + ASSERT_EQ(MOJO_RESULT_OK, MojoWait(pipe1_, MOJO_HANDLE_SIGNAL_READABLE,
|
| + MOJO_DEADLINE_INDEFINITE, &hss));
|
| ASSERT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| hss.satisfied_signals);
|
| ASSERT_EQ(kAllSignals, hss.satisfiable_signals);
|
| // ... and still writable.
|
| hss = MojoHandleSignalsState();
|
| - ASSERT_EQ(MOJO_RESULT_OK,
|
| - WaitForSignals(pipe1_, MOJO_HANDLE_SIGNAL_WRITABLE, &hss));
|
| + ASSERT_EQ(MOJO_RESULT_OK, MojoWait(pipe1_, MOJO_HANDLE_SIGNAL_WRITABLE,
|
| + MOJO_DEADLINE_INDEFINITE, &hss));
|
| ASSERT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| hss.satisfied_signals);
|
| ASSERT_EQ(kAllSignals, hss.satisfiable_signals);
|
| @@ -354,8 +368,8 @@
|
|
|
| // Port 1 should be signaled with peer closed.
|
| hss = MojoHandleSignalsState();
|
| - ASSERT_EQ(MOJO_RESULT_OK,
|
| - WaitForSignals(pipe1_, MOJO_HANDLE_SIGNAL_PEER_CLOSED, &hss));
|
| + ASSERT_EQ(MOJO_RESULT_OK, MojoWait(pipe1_, MOJO_HANDLE_SIGNAL_PEER_CLOSED,
|
| + MOJO_DEADLINE_INDEFINITE, &hss));
|
| ASSERT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED,
|
| hss.satisfied_signals);
|
| ASSERT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED,
|
| @@ -365,7 +379,8 @@
|
| hss = MojoHandleSignalsState();
|
|
|
| ASSERT_EQ(MOJO_RESULT_FAILED_PRECONDITION,
|
| - WaitForSignals(pipe1_, MOJO_HANDLE_SIGNAL_WRITABLE, &hss));
|
| + MojoWait(pipe1_, MOJO_HANDLE_SIGNAL_WRITABLE,
|
| + MOJO_DEADLINE_INDEFINITE, &hss));
|
| ASSERT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED,
|
| hss.satisfied_signals);
|
| ASSERT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED,
|
| @@ -373,8 +388,8 @@
|
|
|
| // But it should still be readable.
|
| hss = MojoHandleSignalsState();
|
| - ASSERT_EQ(MOJO_RESULT_OK,
|
| - WaitForSignals(pipe1_, MOJO_HANDLE_SIGNAL_READABLE, &hss));
|
| + ASSERT_EQ(MOJO_RESULT_OK, MojoWait(pipe1_, MOJO_HANDLE_SIGNAL_READABLE,
|
| + MOJO_DEADLINE_INDEFINITE, &hss));
|
| ASSERT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED,
|
| hss.satisfied_signals);
|
| ASSERT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED,
|
| @@ -389,7 +404,8 @@
|
| // Now port 1 should no longer be readable.
|
| hss = MojoHandleSignalsState();
|
| ASSERT_EQ(MOJO_RESULT_FAILED_PRECONDITION,
|
| - WaitForSignals(pipe1_, MOJO_HANDLE_SIGNAL_READABLE, &hss));
|
| + MojoWait(pipe1_, 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);
|
| }
|
| @@ -437,7 +453,9 @@
|
| EXPECT_EQ(MOJO_RESULT_OK,
|
| MojoWriteMessageNew(a, message, MOJO_WRITE_MESSAGE_FLAG_NONE));
|
|
|
| - EXPECT_EQ(MOJO_RESULT_OK, WaitForSignals(b, MOJO_HANDLE_SIGNAL_READABLE));
|
| + EXPECT_EQ(MOJO_RESULT_OK,
|
| + MojoWait(b, MOJO_HANDLE_SIGNAL_READABLE, MOJO_DEADLINE_INDEFINITE,
|
| + nullptr));
|
| uint32_t num_bytes = 0;
|
| uint32_t num_handles = 0;
|
| EXPECT_EQ(MOJO_RESULT_OK,
|
| @@ -471,7 +489,8 @@
|
| WriteMessageWithHandles(h, "", handles, kPingPongHandlesPerIteration);
|
| }
|
|
|
| - EXPECT_EQ(MOJO_RESULT_OK, WaitForSignals(h, MOJO_HANDLE_SIGNAL_READABLE));
|
| + EXPECT_EQ(MOJO_RESULT_OK, MojoWait(h, MOJO_HANDLE_SIGNAL_READABLE,
|
| + MOJO_DEADLINE_INDEFINITE, nullptr));
|
| char msg[4];
|
| uint32_t num_bytes = 4;
|
| EXPECT_EQ(MOJO_RESULT_OK, ReadMessage(h, msg, &num_bytes));
|
| @@ -656,7 +675,9 @@
|
| EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, MojoClose(b));
|
| EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, MojoClose(c));
|
|
|
| - EXPECT_EQ(MOJO_RESULT_OK, WaitForSignals(d, MOJO_HANDLE_SIGNAL_PEER_CLOSED));
|
| + EXPECT_EQ(MOJO_RESULT_OK, MojoWait(d, MOJO_HANDLE_SIGNAL_PEER_CLOSED,
|
| + MOJO_DEADLINE_INDEFINITE, nullptr));
|
| +
|
| EXPECT_EQ(MOJO_RESULT_OK, MojoClose(d));
|
| }
|
|
|
| @@ -679,7 +700,9 @@
|
| EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, MojoClose(c));
|
|
|
| EXPECT_EQ(kTestMessage, ReadMessage(d));
|
| - EXPECT_EQ(MOJO_RESULT_OK, WaitForSignals(d, MOJO_HANDLE_SIGNAL_PEER_CLOSED));
|
| + EXPECT_EQ(MOJO_RESULT_OK, MojoWait(d, MOJO_HANDLE_SIGNAL_PEER_CLOSED,
|
| + MOJO_DEADLINE_INDEFINITE, nullptr));
|
| +
|
| EXPECT_EQ(MOJO_RESULT_OK, MojoClose(d));
|
| }
|
|
|
|
|