| Index: mojo/edk/system/remote_message_pipe_unittest.cc
|
| diff --git a/mojo/edk/system/remote_message_pipe_unittest.cc b/mojo/edk/system/remote_message_pipe_unittest.cc
|
| index e3a320e159749c5d8ea876e78676431d84ca507f..98bcf716ad280d70313fae808fdaab59cd85b469 100644
|
| --- a/mojo/edk/system/remote_message_pipe_unittest.cc
|
| +++ b/mojo/edk/system/remote_message_pipe_unittest.cc
|
| @@ -41,6 +41,10 @@ namespace mojo {
|
| namespace system {
|
| namespace {
|
|
|
| +const MojoHandleSignals kAllSignals = MOJO_HANDLE_SIGNAL_READABLE |
|
| + MOJO_HANDLE_SIGNAL_WRITABLE |
|
| + MOJO_HANDLE_SIGNAL_CLOSED;
|
| +
|
| class RemoteMessagePipeTest : public testing::Test {
|
| public:
|
| RemoteMessagePipeTest() : io_thread_(base::TestIOThread::kAutoStart) {}
|
| @@ -204,8 +208,7 @@ TEST_F(RemoteMessagePipeTest, Basic) {
|
| mp1->RemoveWaiter(1, &waiter, &hss);
|
| EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| hss.satisfied_signals);
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| - hss.satisfiable_signals);
|
| + EXPECT_EQ(kAllSignals, hss.satisfiable_signals);
|
|
|
| // Read from MP 1, port 1.
|
| EXPECT_EQ(MOJO_RESULT_OK,
|
| @@ -233,8 +236,7 @@ TEST_F(RemoteMessagePipeTest, Basic) {
|
| mp0->RemoveWaiter(0, &waiter, &hss);
|
| EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| hss.satisfied_signals);
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| - hss.satisfiable_signals);
|
| + EXPECT_EQ(kAllSignals, hss.satisfiable_signals);
|
|
|
| buffer_size = static_cast<uint32_t>(sizeof(buffer));
|
| EXPECT_EQ(MOJO_RESULT_OK,
|
| @@ -261,8 +263,8 @@ TEST_F(RemoteMessagePipeTest, Basic) {
|
| hss = HandleSignalsState();
|
| mp1->RemoveWaiter(1, &waiter, &hss);
|
| }
|
| - EXPECT_EQ(0u, hss.satisfied_signals);
|
| - EXPECT_EQ(0u, hss.satisfiable_signals);
|
| + EXPECT_EQ(MOJO_HANDLE_SIGNAL_CLOSED, hss.satisfied_signals);
|
| + EXPECT_EQ(MOJO_HANDLE_SIGNAL_CLOSED, hss.satisfiable_signals);
|
|
|
| // And MP 1, port 1.
|
| mp1->Close(1);
|
| @@ -314,8 +316,7 @@ TEST_F(RemoteMessagePipeTest, Multiplex) {
|
| mp1->RemoveWaiter(1, &waiter, &hss);
|
| EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| hss.satisfied_signals);
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| - hss.satisfiable_signals);
|
| + EXPECT_EQ(kAllSignals, hss.satisfiable_signals);
|
|
|
| ChannelEndpointId received_id;
|
| buffer_size = static_cast<uint32_t>(sizeof(received_id));
|
| @@ -349,8 +350,7 @@ TEST_F(RemoteMessagePipeTest, Multiplex) {
|
| mp3->RemoveWaiter(0, &waiter, &hss);
|
| EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| hss.satisfied_signals);
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| - hss.satisfiable_signals);
|
| + EXPECT_EQ(kAllSignals, hss.satisfiable_signals);
|
|
|
| // Make sure there's nothing on MP 0, port 0 or MP 1, port 1 or MP 2, port 0.
|
| buffer_size = static_cast<uint32_t>(sizeof(buffer));
|
| @@ -396,8 +396,7 @@ TEST_F(RemoteMessagePipeTest, Multiplex) {
|
| mp1->RemoveWaiter(1, &waiter, &hss);
|
| EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| hss.satisfied_signals);
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| - hss.satisfiable_signals);
|
| + EXPECT_EQ(kAllSignals | MOJO_HANDLE_SIGNAL_CLOSED, hss.satisfiable_signals);
|
|
|
| // Make sure there's nothing on the other ports.
|
| buffer_size = static_cast<uint32_t>(sizeof(buffer));
|
| @@ -606,8 +605,7 @@ TEST_F(RemoteMessagePipeTest, HandlePassing) {
|
| mp1->RemoveWaiter(1, &waiter, &hss);
|
| EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| hss.satisfied_signals);
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| - hss.satisfiable_signals);
|
| + EXPECT_EQ(kAllSignals, hss.satisfiable_signals);
|
|
|
| // Read from MP 1, port 1.
|
| char read_buffer[100] = {0};
|
| @@ -651,8 +649,7 @@ TEST_F(RemoteMessagePipeTest, HandlePassing) {
|
| dispatcher->RemoveWaiter(&waiter, &hss);
|
| EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| hss.satisfied_signals);
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| - hss.satisfiable_signals);
|
| + EXPECT_EQ(kAllSignals, hss.satisfiable_signals);
|
|
|
| // Read from the dispatcher.
|
| memset(read_buffer, 0, sizeof(read_buffer));
|
| @@ -682,8 +679,7 @@ TEST_F(RemoteMessagePipeTest, HandlePassing) {
|
| local_mp->RemoveWaiter(1, &waiter, &hss);
|
| EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| hss.satisfied_signals);
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| - hss.satisfiable_signals);
|
| + EXPECT_EQ(kAllSignals, hss.satisfiable_signals);
|
|
|
| // Read from "local_mp", port 1.
|
| memset(read_buffer, 0, sizeof(read_buffer));
|
| @@ -721,8 +717,7 @@ TEST_F(RemoteMessagePipeTest, HandlePassingHalfClosed) {
|
|
|
| hss = local_mp->GetHandleSignalsState(0);
|
| EXPECT_EQ(MOJO_HANDLE_SIGNAL_WRITABLE, hss.satisfied_signals);
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| - hss.satisfiable_signals);
|
| + EXPECT_EQ(kAllSignals, hss.satisfiable_signals);
|
| // Write to the other end (|local_mp|, port 1), and then close it.
|
| EXPECT_EQ(
|
| MOJO_RESULT_OK,
|
| @@ -731,8 +726,7 @@ TEST_F(RemoteMessagePipeTest, HandlePassingHalfClosed) {
|
| hss = local_mp->GetHandleSignalsState(0);
|
| EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| hss.satisfied_signals);
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| - hss.satisfiable_signals);
|
| + EXPECT_EQ(kAllSignals, hss.satisfiable_signals);
|
| // Then the second message....
|
| EXPECT_EQ(
|
| MOJO_RESULT_OK,
|
| @@ -741,8 +735,7 @@ TEST_F(RemoteMessagePipeTest, HandlePassingHalfClosed) {
|
| hss = local_mp->GetHandleSignalsState(0);
|
| EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| hss.satisfied_signals);
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| - hss.satisfiable_signals);
|
| + EXPECT_EQ(kAllSignals, hss.satisfiable_signals);
|
| // Then close it.
|
| local_mp->Close(1);
|
|
|
| @@ -786,8 +779,7 @@ TEST_F(RemoteMessagePipeTest, HandlePassingHalfClosed) {
|
| mp1->RemoveWaiter(1, &waiter, &hss);
|
| EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| hss.satisfied_signals);
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| - hss.satisfiable_signals);
|
| + EXPECT_EQ(kAllSignals, hss.satisfiable_signals);
|
|
|
| // Read from MP 1, port 1.
|
| char read_buffer[100] = {0};
|
| @@ -811,8 +803,10 @@ TEST_F(RemoteMessagePipeTest, HandlePassingHalfClosed) {
|
|
|
| // |dispatcher| should already be readable and not writable.
|
| hss = dispatcher->GetHandleSignalsState();
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE, hss.satisfied_signals);
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE, hss.satisfiable_signals);
|
| + EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_CLOSED,
|
| + hss.satisfied_signals);
|
| + EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_CLOSED,
|
| + hss.satisfiable_signals);
|
| // So read from it.
|
| memset(read_buffer, 0, sizeof(read_buffer));
|
| read_buffer_size = static_cast<uint32_t>(sizeof(read_buffer));
|
| @@ -824,8 +818,10 @@ TEST_F(RemoteMessagePipeTest, HandlePassingHalfClosed) {
|
| EXPECT_STREQ(kHello, read_buffer);
|
| // It should still be readable.
|
| hss = dispatcher->GetHandleSignalsState();
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE, hss.satisfied_signals);
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE, hss.satisfiable_signals);
|
| + EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_CLOSED,
|
| + hss.satisfied_signals);
|
| + EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_CLOSED,
|
| + hss.satisfiable_signals);
|
| // So read from it.
|
| memset(read_buffer, 0, sizeof(read_buffer));
|
| read_buffer_size = static_cast<uint32_t>(sizeof(read_buffer));
|
| @@ -837,8 +833,8 @@ TEST_F(RemoteMessagePipeTest, HandlePassingHalfClosed) {
|
| EXPECT_STREQ(kWorld, read_buffer);
|
| // Now it should no longer be readable.
|
| hss = dispatcher->GetHandleSignalsState();
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_NONE, hss.satisfied_signals);
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_NONE, hss.satisfiable_signals);
|
| + EXPECT_EQ(MOJO_HANDLE_SIGNAL_CLOSED, hss.satisfied_signals);
|
| + EXPECT_EQ(MOJO_HANDLE_SIGNAL_CLOSED, hss.satisfiable_signals);
|
|
|
| // Close everything that belongs to us.
|
| mp0->Close(0);
|
| @@ -917,8 +913,7 @@ TEST_F(RemoteMessagePipeTest, MAYBE_SharedBufferPassing) {
|
| mp1->RemoveWaiter(1, &waiter, &hss);
|
| EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| hss.satisfied_signals);
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| - hss.satisfiable_signals);
|
| + EXPECT_EQ(kAllSignals, hss.satisfiable_signals);
|
|
|
| // Read from MP 1, port 1.
|
| char read_buffer[100] = {0};
|
| @@ -1037,8 +1032,7 @@ TEST_F(RemoteMessagePipeTest, MAYBE_PlatformHandlePassing) {
|
| mp1->RemoveWaiter(1, &waiter, &hss);
|
| EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| hss.satisfied_signals);
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| - hss.satisfiable_signals);
|
| + EXPECT_EQ(kAllSignals, hss.satisfiable_signals);
|
|
|
| // Read from MP 1, port 1.
|
| char read_buffer[100] = {0};
|
| @@ -1175,8 +1169,7 @@ TEST_F(RemoteMessagePipeTest, PassMessagePipeHandleAcrossAndBack) {
|
| mp1->RemoveWaiter(1, &waiter, &hss);
|
| EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| hss.satisfied_signals);
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| - hss.satisfiable_signals);
|
| + EXPECT_EQ(kAllSignals, hss.satisfiable_signals);
|
|
|
| // Read from MP 1, port 1.
|
| char read_buffer[100] = {0};
|
| @@ -1235,8 +1228,7 @@ TEST_F(RemoteMessagePipeTest, PassMessagePipeHandleAcrossAndBack) {
|
| mp0->RemoveWaiter(0, &waiter, &hss);
|
| EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| hss.satisfied_signals);
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| - hss.satisfiable_signals);
|
| + EXPECT_EQ(kAllSignals, hss.satisfiable_signals);
|
|
|
| // Read from MP 0, port 0.
|
| read_buffer_size = static_cast<uint32_t>(sizeof(read_buffer));
|
| @@ -1276,8 +1268,7 @@ TEST_F(RemoteMessagePipeTest, PassMessagePipeHandleAcrossAndBack) {
|
| dispatcher->RemoveWaiter(&waiter, &hss);
|
| EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| hss.satisfied_signals);
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| - hss.satisfiable_signals);
|
| + EXPECT_EQ(kAllSignals, hss.satisfiable_signals);
|
|
|
| // Read from the dispatcher.
|
| memset(read_buffer, 0, sizeof(read_buffer));
|
| @@ -1307,8 +1298,7 @@ TEST_F(RemoteMessagePipeTest, PassMessagePipeHandleAcrossAndBack) {
|
| local_mp->RemoveWaiter(1, &waiter, &hss);
|
| EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| hss.satisfied_signals);
|
| - EXPECT_EQ(MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE,
|
| - hss.satisfiable_signals);
|
| + EXPECT_EQ(kAllSignals, hss.satisfiable_signals);
|
|
|
| // Read from "local_mp", port 1.
|
| memset(read_buffer, 0, sizeof(read_buffer));
|
|
|