Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(247)

Side by Side Diff: sandbox/mac/xpc_message_server_unittest.cc

Issue 843113003: MultiProcessTest: Update SpawnChild* to return a Process. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « sandbox/mac/bootstrap_sandbox_unittest.mm ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "sandbox/mac/xpc_message_server.h" 5 #include "sandbox/mac/xpc_message_server.h"
6 6
7 #include <Block.h> 7 #include <Block.h>
8 #include <mach/mach.h> 8 #include <mach/mach.h>
9 #include <servers/bootstrap.h> 9 #include <servers/bootstrap.h>
10 10
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 child_pid = xpc_dictionary_get_int64(request.xpc, "child_pid"); 142 child_pid = xpc_dictionary_get_int64(request.xpc, "child_pid");
143 })); 143 }));
144 144
145 #pragma GCC diagnostic push 145 #pragma GCC diagnostic push
146 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 146 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
147 kern_return_t kr = bootstrap_register(bootstrap_port, kGetSenderPID, 147 kern_return_t kr = bootstrap_register(bootstrap_port, kGetSenderPID,
148 server->GetServerPort()); 148 server->GetServerPort());
149 #pragma GCC diagnostic pop 149 #pragma GCC diagnostic pop
150 ASSERT_EQ(KERN_SUCCESS, kr); 150 ASSERT_EQ(KERN_SUCCESS, kr);
151 151
152 base::ProcessHandle child_handle = base::SpawnMultiProcessTestChild( 152 base::Process child = base::SpawnMultiProcessTestChild(
153 "GetSenderPID", 153 "GetSenderPID",
154 base::GetMultiProcessTestChildBaseCommandLine(), 154 base::GetMultiProcessTestChildBaseCommandLine(),
155 base::LaunchOptions()); 155 base::LaunchOptions());
156 ASSERT_NE(base::kNullProcessHandle, child_handle); 156 ASSERT_TRUE(child.IsValid());
157 157
158 int exit_code = -1; 158 int exit_code = -1;
159 ASSERT_TRUE(base::WaitForExitCode(child_handle, &exit_code)); 159 ASSERT_TRUE(child.WaitForExit(&exit_code));
160 EXPECT_EQ(0, exit_code); 160 EXPECT_EQ(0, exit_code);
161 161
162 EXPECT_EQ(base::GetProcId(child_handle), sender_pid); 162 EXPECT_EQ(child.pid(), sender_pid);
163 EXPECT_EQ(base::GetProcId(child_handle), child_pid); 163 EXPECT_EQ(child.pid(), child_pid);
164 EXPECT_EQ(sender_pid, child_pid); 164 EXPECT_EQ(sender_pid, child_pid);
165
166 base::CloseProcessHandle(child_handle);
167 } 165 }
168 166
169 MULTIPROCESS_TEST_MAIN(GetSenderPID) { 167 MULTIPROCESS_TEST_MAIN(GetSenderPID) {
170 CHECK(sandbox::InitializeXPC()); 168 CHECK(sandbox::InitializeXPC());
171 169
172 mach_port_t port = MACH_PORT_NULL; 170 mach_port_t port = MACH_PORT_NULL;
173 CHECK_EQ(KERN_SUCCESS, bootstrap_look_up(bootstrap_port, kGetSenderPID, 171 CHECK_EQ(KERN_SUCCESS, bootstrap_look_up(bootstrap_port, kGetSenderPID,
174 &port)); 172 &port));
175 base::mac::ScopedMachSendRight scoped_port(port); 173 base::mac::ScopedMachSendRight scoped_port(port);
176 174
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 ASSERT_EQ(0, xpc_pipe_routine(first.pipe(), request, &reply)); 208 ASSERT_EQ(0, xpc_pipe_routine(first.pipe(), request, &reply));
211 209
212 EXPECT_EQ(1, xpc_dictionary_get_int64(reply, "seen_by_first")); 210 EXPECT_EQ(1, xpc_dictionary_get_int64(reply, "seen_by_first"));
213 EXPECT_EQ(2, xpc_dictionary_get_int64(reply, "seen_by_second")); 211 EXPECT_EQ(2, xpc_dictionary_get_int64(reply, "seen_by_second"));
214 212
215 xpc_release(request); 213 xpc_release(request);
216 xpc_release(reply); 214 xpc_release(reply);
217 } 215 }
218 216
219 } // namespace sandbox 217 } // namespace sandbox
OLDNEW
« no previous file with comments | « sandbox/mac/bootstrap_sandbox_unittest.mm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698