Index: ipc/ipc_channel_unittest.cc |
diff --git a/ipc/ipc_channel_unittest.cc b/ipc/ipc_channel_unittest.cc |
deleted file mode 100644 |
index 9bcc34e88d1478489a1ca734ca392f34d0e06363..0000000000000000000000000000000000000000 |
--- a/ipc/ipc_channel_unittest.cc |
+++ /dev/null |
@@ -1,175 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "base/run_loop.h" |
-#include "build/build_config.h" |
- |
-#if defined(OS_WIN) |
-#include <windows.h> |
-#endif |
- |
-#include <stdint.h> |
- |
-#include <memory> |
-#include <string> |
- |
-#include "base/pickle.h" |
-#include "base/run_loop.h" |
-#include "base/strings/string16.h" |
-#include "base/strings/utf_string_conversions.h" |
-#include "base/threading/thread.h" |
-#include "ipc/ipc_test_base.h" |
-#include "ipc/ipc_test_channel_listener.h" |
- |
-namespace { |
- |
-class IPCChannelTest : public IPCTestBase { |
-}; |
- |
-TEST_F(IPCChannelTest, ChannelTest) { |
- Init("GenericClient"); |
- |
- // Set up IPC channel and start client. |
- IPC::TestChannelListener listener; |
- CreateChannel(&listener); |
- listener.Init(sender()); |
- ASSERT_TRUE(ConnectChannel()); |
- ASSERT_TRUE(StartClient()); |
- |
- IPC::TestChannelListener::SendOneMessage(sender(), "hello from parent"); |
- |
- // Run message loop. |
- base::RunLoop().Run(); |
- |
- // Close the channel so the client's OnChannelError() gets fired. |
- channel()->Close(); |
- |
- EXPECT_TRUE(WaitForClientShutdown()); |
- DestroyChannel(); |
-} |
- |
-// TODO(viettrungluu): Move to a separate IPCChannelWinTest. |
-#if defined(OS_WIN) |
-TEST_F(IPCChannelTest, ChannelTestExistingPipe) { |
- Init("GenericClient"); |
- |
- // Create pipe manually using the standard Chromium name and set up IPC |
- // channel. |
- IPC::TestChannelListener listener; |
- std::string name("\\\\.\\pipe\\chrome."); |
- name.append(GetChannelName("GenericClient")); |
- HANDLE pipe = CreateNamedPipeA(name.c_str(), |
- PIPE_ACCESS_DUPLEX | FILE_FLAG_OVERLAPPED | |
- FILE_FLAG_FIRST_PIPE_INSTANCE, |
- PIPE_TYPE_BYTE | PIPE_READMODE_BYTE, |
- 1, |
- 4096, |
- 4096, |
- 5000, |
- NULL); |
- CreateChannelFromChannelHandle(IPC::ChannelHandle(pipe), &listener); |
- CloseHandle(pipe); // The channel duplicates the handle. |
- listener.Init(sender()); |
- |
- // Connect to channel and start client. |
- ASSERT_TRUE(ConnectChannel()); |
- ASSERT_TRUE(StartClient()); |
- |
- IPC::TestChannelListener::SendOneMessage(sender(), "hello from parent"); |
- |
- // Run message loop. |
- base::RunLoop().Run(); |
- |
- // Close the channel so the client's OnChannelError() gets fired. |
- channel()->Close(); |
- |
- EXPECT_TRUE(WaitForClientShutdown()); |
- DestroyChannel(); |
-} |
-#endif // defined (OS_WIN) |
- |
-TEST_F(IPCChannelTest, ChannelProxyTest) { |
- Init("GenericClient"); |
- |
- base::Thread thread("ChannelProxyTestServer"); |
- base::Thread::Options options; |
- options.message_loop_type = base::MessageLoop::TYPE_IO; |
- thread.StartWithOptions(options); |
- |
- // Set up IPC channel proxy. |
- IPC::TestChannelListener listener; |
- CreateChannelProxy(&listener, thread.task_runner().get()); |
- listener.Init(sender()); |
- |
- ASSERT_TRUE(StartClient()); |
- |
- IPC::TestChannelListener::SendOneMessage(sender(), "hello from parent"); |
- |
- // Run message loop. |
- base::RunLoop().Run(); |
- |
- EXPECT_TRUE(WaitForClientShutdown()); |
- |
- // Destroy the channel proxy before shutting down the thread. |
- DestroyChannelProxy(); |
- thread.Stop(); |
-} |
- |
-class ChannelListenerWithOnConnectedSend : public IPC::TestChannelListener { |
- public: |
- ChannelListenerWithOnConnectedSend() {} |
- ~ChannelListenerWithOnConnectedSend() override {} |
- |
- void OnChannelConnected(int32_t peer_pid) override { |
- SendNextMessage(); |
- } |
-}; |
- |
-#if defined(OS_WIN) |
-// Acting flakey in Windows. http://crbug.com/129595 |
-#define MAYBE_SendMessageInChannelConnected DISABLED_SendMessageInChannelConnected |
-#else |
-#define MAYBE_SendMessageInChannelConnected SendMessageInChannelConnected |
-#endif |
-// This tests the case of a listener sending back an event in its |
-// OnChannelConnected handler. |
-TEST_F(IPCChannelTest, MAYBE_SendMessageInChannelConnected) { |
- Init("GenericClient"); |
- |
- // Set up IPC channel and start client. |
- ChannelListenerWithOnConnectedSend listener; |
- CreateChannel(&listener); |
- listener.Init(sender()); |
- ASSERT_TRUE(ConnectChannel()); |
- ASSERT_TRUE(StartClient()); |
- |
- IPC::TestChannelListener::SendOneMessage(sender(), "hello from parent"); |
- |
- // Run message loop. |
- base::RunLoop().Run(); |
- |
- // Close the channel so the client's OnChannelError() gets fired. |
- channel()->Close(); |
- |
- EXPECT_TRUE(WaitForClientShutdown()); |
- DestroyChannel(); |
-} |
- |
-MULTIPROCESS_IPC_TEST_CLIENT_MAIN(GenericClient) { |
- base::MessageLoopForIO main_message_loop; |
- IPC::TestChannelListener listener; |
- |
- // Set up IPC channel. |
- std::unique_ptr<IPC::Channel> channel(IPC::Channel::CreateClient( |
- IPCTestBase::GetChannelName("GenericClient"), &listener, |
- main_message_loop.task_runner())); |
- CHECK(channel->Connect()); |
- listener.Init(channel.get()); |
- IPC::TestChannelListener::SendOneMessage(channel.get(), "hello from child"); |
- |
- base::RunLoop().Run(); |
- return 0; |
-} |
- |
-} // namespace |