| 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
|
|
|