| 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 f676c7f3d94aa43e42859226b0f982698dbfa1ca..6f653d9bcec38dab895aea75df056566b732cbd0 100644
|
| --- a/mojo/edk/system/remote_message_pipe_unittest.cc
|
| +++ b/mojo/edk/system/remote_message_pipe_unittest.cc
|
| @@ -479,73 +479,6 @@
|
| mp3->Close(0);
|
| }
|
|
|
| -TEST_F(RemoteMessagePipeTest, CloseBeforeAttachAndRun) {
|
| - static const char kHello[] = "hello";
|
| - char buffer[100] = {0};
|
| - uint32_t buffer_size = static_cast<uint32_t>(sizeof(buffer));
|
| - Waiter waiter;
|
| - HandleSignalsState hss;
|
| - uint32_t context = 0;
|
| -
|
| - // Connect message pipes. MP 0, port 1 will be attached to channel 0 and
|
| - // connected to MP 1, port 0, which will be attached to channel 1. This leaves
|
| - // MP 0, port 0 and MP 1, port 1 as the "user-facing" endpoints.
|
| -
|
| - scoped_refptr<ChannelEndpoint> ep0;
|
| - scoped_refptr<MessagePipe> mp0(MessagePipe::CreateLocalProxy(&ep0));
|
| -
|
| - // Write to MP 0, port 0.
|
| - EXPECT_EQ(MOJO_RESULT_OK,
|
| - mp0->WriteMessage(0,
|
| - UserPointer<const void>(kHello),
|
| - sizeof(kHello),
|
| - nullptr,
|
| - MOJO_WRITE_MESSAGE_FLAG_NONE));
|
| -
|
| - // Close MP 0, port 0 before it's even been attached to the channel and run.
|
| - mp0->Close(0);
|
| -
|
| - BootstrapChannelEndpointNoWait(0, ep0);
|
| -
|
| - scoped_refptr<ChannelEndpoint> ep1;
|
| - scoped_refptr<MessagePipe> mp1(MessagePipe::CreateProxyLocal(&ep1));
|
| -
|
| - // Prepare to wait on MP 1, port 1. (Add the waiter now. Otherwise, if we do
|
| - // it later, it might already be readable.)
|
| - waiter.Init();
|
| - ASSERT_EQ(
|
| - MOJO_RESULT_OK,
|
| - mp1->AddWaiter(1, &waiter, MOJO_HANDLE_SIGNAL_READABLE, 123, nullptr));
|
| -
|
| - BootstrapChannelEndpointNoWait(1, ep1);
|
| -
|
| - // Wait.
|
| - EXPECT_EQ(MOJO_RESULT_OK, waiter.Wait(MOJO_DEADLINE_INDEFINITE, &context));
|
| - EXPECT_EQ(123u, context);
|
| - hss = HandleSignalsState();
|
| - // Note: MP 1, port 1 should definitely should be readable, but it may or may
|
| - // not appear as writable (there's a race, and it may not have noticed that
|
| - // the other side was closed yet -- e.g., inserting a sleep here would make it
|
| - // much more likely to notice that it's no longer writable).
|
| - mp1->RemoveWaiter(1, &waiter, &hss);
|
| - EXPECT_TRUE((hss.satisfied_signals & MOJO_HANDLE_SIGNAL_READABLE));
|
| - EXPECT_TRUE((hss.satisfiable_signals & MOJO_HANDLE_SIGNAL_READABLE));
|
| -
|
| - // Read from MP 1, port 1.
|
| - EXPECT_EQ(MOJO_RESULT_OK,
|
| - mp1->ReadMessage(1,
|
| - UserPointer<void>(buffer),
|
| - MakeUserPointer(&buffer_size),
|
| - nullptr,
|
| - nullptr,
|
| - MOJO_READ_MESSAGE_FLAG_NONE));
|
| - EXPECT_EQ(sizeof(kHello), static_cast<size_t>(buffer_size));
|
| - EXPECT_STREQ(kHello, buffer);
|
| -
|
| - // And MP 1, port 1.
|
| - mp1->Close(1);
|
| -}
|
| -
|
| TEST_F(RemoteMessagePipeTest, CloseBeforeConnect) {
|
| static const char kHello[] = "hello";
|
| char buffer[100] = {0};
|
|
|