Index: ipc/mojo/ipc_channel_mojo_unittest.cc |
diff --git a/ipc/mojo/ipc_channel_mojo_unittest.cc b/ipc/mojo/ipc_channel_mojo_unittest.cc |
index 6375e2b75ec025ab4442091965a601cadef378a1..662e75829694e0358e206cfaa01be2983c40321a 100644 |
--- a/ipc/mojo/ipc_channel_mojo_unittest.cc |
+++ b/ipc/mojo/ipc_channel_mojo_unittest.cc |
@@ -18,7 +18,6 @@ |
#include "ipc/mojo/ipc_channel_mojo_host.h" |
#include "ipc/mojo/ipc_mojo_handle_attachment.h" |
#include "ipc/mojo/ipc_mojo_message_helper.h" |
-#include "ipc/mojo/ipc_mojo_param_traits.h" |
#include "ipc/mojo/scoped_ipc_support.h" |
#if defined(OS_POSIX) |
@@ -443,119 +442,6 @@ |
return 0; |
} |
-void ReadOK(mojo::MessagePipeHandle pipe) { |
- std::string should_be_ok("xx"); |
- uint32_t num_bytes = static_cast<uint32_t>(should_be_ok.size()); |
- CHECK_EQ(MOJO_RESULT_OK, |
- mojo::ReadMessageRaw(pipe, &should_be_ok[0], &num_bytes, nullptr, |
- nullptr, 0)); |
- EXPECT_EQ(should_be_ok, std::string("OK")); |
-} |
- |
-void WriteOK(mojo::MessagePipeHandle pipe) { |
- std::string ok("OK"); |
- CHECK_EQ(MOJO_RESULT_OK, |
- mojo::WriteMessageRaw(pipe, &ok[0], static_cast<uint32_t>(ok.size()), |
- nullptr, 0, 0)); |
-} |
- |
-class ListenerThatExpectsMessagePipeUsingParamTrait : public IPC::Listener { |
- public: |
- explicit ListenerThatExpectsMessagePipeUsingParamTrait(bool receiving_valid) |
- : sender_(NULL), receiving_valid_(receiving_valid) {} |
- |
- ~ListenerThatExpectsMessagePipeUsingParamTrait() override {} |
- |
- bool OnMessageReceived(const IPC::Message& message) override { |
- PickleIterator iter(message); |
- mojo::MessagePipeHandle handle; |
- EXPECT_TRUE(IPC::ParamTraits<mojo::MessagePipeHandle>::Read(&message, &iter, |
- &handle)); |
- EXPECT_EQ(handle.is_valid(), receiving_valid_); |
- if (receiving_valid_) { |
- ReadOK(handle); |
- MojoClose(handle.value()); |
- } |
- |
- base::MessageLoop::current()->Quit(); |
- ListenerThatExpectsOK::SendOK(sender_); |
- return true; |
- } |
- |
- void OnChannelError() override { NOTREACHED(); } |
- void set_sender(IPC::Sender* sender) { sender_ = sender; } |
- |
- private: |
- IPC::Sender* sender_; |
- bool receiving_valid_; |
-}; |
- |
-void ParamTraitMesssagePipeClient(bool receiving_valid_handle) { |
- ListenerThatExpectsMessagePipeUsingParamTrait listener( |
- receiving_valid_handle); |
- ChannelClient client(&listener, "ParamTraitValidMesssagePipeClient"); |
- client.Connect(); |
- listener.set_sender(client.channel()); |
- |
- base::MessageLoop::current()->Run(); |
- |
- client.Close(); |
-} |
- |
-TEST_F(IPCChannelMojoTest, ParamTraitValidMesssagePipe) { |
- InitWithMojo("ParamTraitValidMesssagePipeClient"); |
- |
- ListenerThatExpectsOK listener; |
- CreateChannel(&listener); |
- ASSERT_TRUE(ConnectChannel()); |
- ASSERT_TRUE(StartClient()); |
- |
- TestingMessagePipe pipe; |
- |
- scoped_ptr<IPC::Message> message(new IPC::Message()); |
- IPC::ParamTraits<mojo::MessagePipeHandle>::Write(message.get(), |
- pipe.peer.release()); |
- WriteOK(pipe.self.get()); |
- |
- this->channel()->Send(message.release()); |
- base::MessageLoop::current()->Run(); |
- this->channel()->Close(); |
- |
- EXPECT_TRUE(WaitForClientShutdown()); |
- DestroyChannel(); |
-} |
- |
-MULTIPROCESS_IPC_TEST_CLIENT_MAIN(ParamTraitValidMesssagePipeClient) { |
- ParamTraitMesssagePipeClient(true); |
- return 0; |
-} |
- |
-TEST_F(IPCChannelMojoTest, ParamTraitInvalidMesssagePipe) { |
- InitWithMojo("ParamTraitInvalidMesssagePipeClient"); |
- |
- ListenerThatExpectsOK listener; |
- CreateChannel(&listener); |
- ASSERT_TRUE(ConnectChannel()); |
- ASSERT_TRUE(StartClient()); |
- |
- mojo::MessagePipeHandle invalid_handle; |
- scoped_ptr<IPC::Message> message(new IPC::Message()); |
- IPC::ParamTraits<mojo::MessagePipeHandle>::Write(message.get(), |
- invalid_handle); |
- |
- this->channel()->Send(message.release()); |
- base::MessageLoop::current()->Run(); |
- this->channel()->Close(); |
- |
- EXPECT_TRUE(WaitForClientShutdown()); |
- DestroyChannel(); |
-} |
- |
-MULTIPROCESS_IPC_TEST_CLIENT_MAIN(ParamTraitInvalidMesssagePipeClient) { |
- ParamTraitMesssagePipeClient(false); |
- return 0; |
-} |
- |
#if defined(OS_WIN) |
class IPCChannelMojoDeadHandleTest : public IPCChannelMojoTestBase { |
protected: |