Index: mojo/common/test/multiprocess_test_base.cc |
diff --git a/mojo/common/test/multiprocess_test_base.cc b/mojo/common/test/multiprocess_test_base.cc |
index 85aaa76514d23ccd6ced4e47b87e1664b8dfebb3..e637e695e20dbb023453bdb168d2ea11f07e3a40 100644 |
--- a/mojo/common/test/multiprocess_test_base.cc |
+++ b/mojo/common/test/multiprocess_test_base.cc |
@@ -8,6 +8,7 @@ |
#include "base/logging.h" |
#include "base/process/kill.h" |
#include "base/process/process_handle.h" |
+// TODO(vtl): Remove build_config.h include when fully implemented on Windows. |
#include "build/build_config.h" |
namespace mojo { |
@@ -28,7 +29,7 @@ void MultiprocessTestBase::SetUp() { |
// TODO(vtl): Not implemented on Windows yet. |
#if defined(OS_POSIX) |
- platform_server_channel_ = |
+ platform_server_channel = |
system::PlatformServerChannel::Create("TestChannel"); |
#endif |
} |
@@ -36,13 +37,13 @@ void MultiprocessTestBase::SetUp() { |
void MultiprocessTestBase::TearDown() { |
CHECK_EQ(test_child_handle_, base::kNullProcessHandle); |
- platform_server_channel_.reset(); |
+ platform_server_channel.reset(); |
MultiProcessTest::TearDown(); |
} |
void MultiprocessTestBase::StartChild(const std::string& test_child_name) { |
- CHECK(platform_server_channel_.get()); |
+ CHECK(platform_server_channel.get()); |
CHECK(!test_child_name.empty()); |
CHECK_EQ(test_child_handle_, base::kNullProcessHandle); |
@@ -51,7 +52,7 @@ void MultiprocessTestBase::StartChild(const std::string& test_child_name) { |
#if defined(OS_POSIX) |
CommandLine unused(CommandLine::NO_PROGRAM); |
base::FileHandleMappingVector fds_to_map; |
- platform_server_channel_->GetDataNeededToPassClientChannelToChildProcess( |
+ platform_server_channel->GetDataNeededToPassClientChannelToChildProcess( |
&unused, &fds_to_map); |
test_child_handle_ = SpawnChild(test_child_main, fds_to_map, false); |
#elif defined(OS_WIN) |
@@ -61,7 +62,7 @@ void MultiprocessTestBase::StartChild(const std::string& test_child_name) { |
#endif |
// TODO(vtl): Not implemented on Windows yet. |
#if defined(OS_POSIX) |
- platform_server_channel_->ChildProcessLaunched(); |
+ platform_server_channel->ChildProcessLaunched(); |
#endif |
CHECK_NE(test_child_handle_, base::kNullProcessHandle); |
@@ -81,14 +82,14 @@ int MultiprocessTestBase::WaitForChildShutdown() { |
CommandLine MultiprocessTestBase::MakeCmdLine(const std::string& procname, |
bool debug_on_start) { |
- CHECK(platform_server_channel_.get()); |
+ CHECK(platform_server_channel.get()); |
CommandLine command_line = |
base::MultiProcessTest::MakeCmdLine(procname, debug_on_start); |
// TODO(vtl): Not implemented on Windows yet. |
#if defined(OS_POSIX) |
base::FileHandleMappingVector unused; |
- platform_server_channel_->GetDataNeededToPassClientChannelToChildProcess( |
+ platform_server_channel->GetDataNeededToPassClientChannelToChildProcess( |
&command_line, &unused); |
#endif |
return command_line; |
@@ -96,9 +97,19 @@ CommandLine MultiprocessTestBase::MakeCmdLine(const std::string& procname, |
// static |
void MultiprocessTestBase::ChildSetup() { |
- // TODO(vtl) |
- NOTIMPLEMENTED(); |
+ CHECK(CommandLine::InitializedForCurrentProcess()); |
+// TODO(vtl): Not implemented on Windows yet. |
+#if defined(OS_POSIX) |
+ platform_client_channel = |
+ system::PlatformClientChannel::CreateFromParentProcess( |
+ *CommandLine::ForCurrentProcess()); |
+ CHECK(platform_client_channel.get()); |
+#endif |
} |
+// static |
+scoped_ptr<system::PlatformClientChannel> |
+ MultiprocessTestBase::platform_client_channel; |
+ |
} // namespace test |
} // namespace mojo |