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

Side by Side Diff: chrome/browser/process_singleton_win_unittest.cc

Issue 2733323002: Changing multiprocess test SpawnChild to return a struct. (Closed)
Patch Set: Fixed bots. Created 3 years, 9 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "chrome/browser/process_singleton.h" 5 #include "chrome/browser/process_singleton.h"
6 6
7 #include <windows.h> 7 #include <windows.h>
8 8
9 #include <memory> 9 #include <memory>
10 10
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 continue_event_name_ = 184 continue_event_name_ =
185 base::StringPrintf(L"continue-event-%d", base::GetCurrentProcId()); 185 base::StringPrintf(L"continue-event-%d", base::GetCurrentProcId());
186 continue_event_.Set( 186 continue_event_.Set(
187 ::CreateEvent(NULL, TRUE, FALSE, continue_event_name_.c_str())); 187 ::CreateEvent(NULL, TRUE, FALSE, continue_event_name_.c_str()));
188 ASSERT_TRUE(continue_event_.IsValid()); 188 ASSERT_TRUE(continue_event_.IsValid());
189 189
190 window_option_ = window_option; 190 window_option_ = window_option;
191 191
192 base::LaunchOptions options; 192 base::LaunchOptions options;
193 options.start_hidden = true; 193 options.start_hidden = true;
194 browser_victim_ = 194 base::SpawnChildResult spawn_result =
195 SpawnChildWithOptions("ProcessSingletonTestProcessMain", options); 195 SpawnChildWithOptions("ProcessSingletonTestProcessMain", options);
196 browser_victim_ = std::move(spawn_result.process);
196 197
197 // Wait for the ready event (or process exit). 198 // Wait for the ready event (or process exit).
198 HANDLE handles[] = {ready_event.Get(), browser_victim_.Handle()}; 199 HANDLE handles[] = {ready_event.Get(), browser_victim_.Handle()};
199 // The wait should always return because either |ready_event| is signaled or 200 // The wait should always return because either |ready_event| is signaled or
200 // |browser_victim_| died unexpectedly or exited on error. 201 // |browser_victim_| died unexpectedly or exited on error.
201 DWORD result = 202 DWORD result =
202 ::WaitForMultipleObjects(arraysize(handles), handles, FALSE, INFINITE); 203 ::WaitForMultipleObjects(arraysize(handles), handles, FALSE, INFINITE);
203 ASSERT_EQ(WAIT_OBJECT_0, result); 204 ASSERT_EQ(WAIT_OBJECT_0, result);
204 } 205 }
205 206
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 // visible window. 319 // visible window.
319 EXPECT_TRUE(should_kill_called()); 320 EXPECT_TRUE(should_kill_called());
320 321
321 // Verify that the hung browser has been terminated with the 322 // Verify that the hung browser has been terminated with the
322 // RESULT_CODE_HUNG exit code. 323 // RESULT_CODE_HUNG exit code.
323 int exit_code = 0; 324 int exit_code = 0;
324 EXPECT_TRUE( 325 EXPECT_TRUE(
325 browser_victim()->WaitForExitWithTimeout(base::TimeDelta(), &exit_code)); 326 browser_victim()->WaitForExitWithTimeout(base::TimeDelta(), &exit_code));
326 EXPECT_EQ(content::RESULT_CODE_HUNG, exit_code); 327 EXPECT_EQ(content::RESULT_CODE_HUNG, exit_code);
327 } 328 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698