OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "mojo/edk/test/multiprocess_test_helper.h" | 5 #include "mojo/edk/test/multiprocess_test_helper.h" |
6 | 6 |
7 #include <functional> | 7 #include <functional> |
8 #include <set> | 8 #include <set> |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
109 #elif defined(OS_WIN) | 109 #elif defined(OS_WIN) |
110 options.start_hidden = true; | 110 options.start_hidden = true; |
111 if (base::win::GetVersion() >= base::win::VERSION_VISTA) | 111 if (base::win::GetVersion() >= base::win::VERSION_VISTA) |
112 options.handles_to_inherit = &handle_passing_info; | 112 options.handles_to_inherit = &handle_passing_info; |
113 else | 113 else |
114 options.inherit_handles = true; | 114 options.inherit_handles = true; |
115 #else | 115 #else |
116 #error "Not supported yet." | 116 #error "Not supported yet." |
117 #endif | 117 #endif |
118 | 118 |
119 ScopedMessagePipeHandle pipe = CreateParentMessagePipe(pipe_token); | 119 std::string child_token = mojo::edk::GenerateRandomToken(); |
| 120 ScopedMessagePipeHandle pipe = CreateParentMessagePipe(pipe_token, |
| 121 child_token); |
120 | 122 |
121 test_child_ = | 123 test_child_ = |
122 base::SpawnMultiProcessTestChild(test_child_main, command_line, options); | 124 base::SpawnMultiProcessTestChild(test_child_main, command_line, options); |
123 channel.ChildProcessLaunched(); | 125 channel.ChildProcessLaunched(); |
124 | 126 |
125 ChildProcessLaunched(test_child_.Handle(), channel.PassServerHandle()); | 127 ChildProcessLaunched(test_child_.Handle(), channel.PassServerHandle(), |
| 128 child_token); |
126 CHECK(test_child_.IsValid()); | 129 CHECK(test_child_.IsValid()); |
127 | 130 |
128 return pipe; | 131 return pipe; |
129 } | 132 } |
130 | 133 |
131 int MultiprocessTestHelper::WaitForChildShutdown() { | 134 int MultiprocessTestHelper::WaitForChildShutdown() { |
132 CHECK(test_child_.IsValid()); | 135 CHECK(test_child_.IsValid()); |
133 | 136 |
134 int rv = -1; | 137 int rv = -1; |
135 #if defined(OS_ANDROID) | 138 #if defined(OS_ANDROID) |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
182 ::testing::Test::HasNonfatalFailure()) ? 1 : 0; | 185 ::testing::Test::HasNonfatalFailure()) ? 1 : 0; |
183 }); | 186 }); |
184 } | 187 } |
185 | 188 |
186 // static | 189 // static |
187 std::string MultiprocessTestHelper::primordial_pipe_token; | 190 std::string MultiprocessTestHelper::primordial_pipe_token; |
188 | 191 |
189 } // namespace test | 192 } // namespace test |
190 } // namespace edk | 193 } // namespace edk |
191 } // namespace mojo | 194 } // namespace mojo |
OLD | NEW |