summaryrefslogtreecommitdiffstats
path: root/chrome/common/ipc_tests.cc
diff options
context:
space:
mode:
authorjeremy@chromium.org <jeremy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-12-22 22:43:41 +0000
committerjeremy@chromium.org <jeremy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-12-22 22:43:41 +0000
commite74488ce038ed78956cae3bd26daf61c722f9b39 (patch)
tree715dede1a6120e4b8e6ec845f8f336f0d4f792ae /chrome/common/ipc_tests.cc
parentbc2274f796a84892829b4dbdb7f57dde34ed6f21 (diff)
downloadchromium_src-e74488ce038ed78956cae3bd26daf61c722f9b39.zip
chromium_src-e74488ce038ed78956cae3bd26daf61c722f9b39.tar.gz
chromium_src-e74488ce038ed78956cae3bd26daf61c722f9b39.tar.bz2
Bring up IPC::ChannelProxy on POSIX.
Review URL: http://codereview.chromium.org/16426 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7385 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/ipc_tests.cc')
-rw-r--r--chrome/common/ipc_tests.cc18
1 files changed, 15 insertions, 3 deletions
diff --git a/chrome/common/ipc_tests.cc b/chrome/common/ipc_tests.cc
index 971f16b..ffa7109 100644
--- a/chrome/common/ipc_tests.cc
+++ b/chrome/common/ipc_tests.cc
@@ -212,8 +212,6 @@ TEST_F(IPCChannelTest, ChannelTest) {
EXPECT_TRUE(base::WaitForSingleProcess(process_handle, 5000));
}
-// TODO(playmobil): Implement
-#if defined(OS_WIN)
TEST_F(IPCChannelTest, ChannelProxyTest) {
// The thread needs to out-live the ChannelProxy.
base::Thread thread("ChannelProxyTestServer");
@@ -227,10 +225,25 @@ TEST_F(IPCChannelTest, ChannelProxyTest) {
channel_listener.Init(&chan);
+#if defined(OS_WIN)
+ base::ProcessHandle process_handle = SpawnChild(TEST_CLIENT, NULL);
+#elif defined(OS_POSIX)
bool debug_on_start = CommandLine().HasSwitch(switches::kDebugChildren);
+ base::file_handle_mapping_vector fds_to_map;
+ int src_fd;
+ int dest_fd;
+ chan.GetClientFileDescriptorMapping(&src_fd, &dest_fd);
+ if (src_fd > -1) {
+ fds_to_map.push_back(std::pair<int,int>(src_fd, dest_fd));
+ }
+
base::ProcessHandle process_handle = MultiProcessTest::SpawnChild(
L"RunTestClient",
+ fds_to_map,
debug_on_start);
+ chan.OnClientConnected();
+#endif // defined(OS_POXIX)
+
ASSERT_TRUE(process_handle);
Send(&chan, "hello from parent");
@@ -243,7 +256,6 @@ TEST_F(IPCChannelTest, ChannelProxyTest) {
}
thread.Stop();
}
-#endif // defined(OS_WIN)
MULTIPROCESS_TEST_MAIN(RunTestClient) {
MessageLoopForIO main_message_loop;