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

Side by Side Diff: chrome/test/in_process_browser_test.cc

Issue 1094009: Ensure that data doesn't leak between users on cros chrome crash. (Closed)
Patch Set: Make tests not use OTR Profile Created 10 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
« no previous file with comments | « chrome/common/chrome_switches.cc ('k') | chrome/test/ui/ui_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/test/in_process_browser_test.h" 5 #include "chrome/test/in_process_browser_test.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/file_path.h" 8 #include "base/file_path.h"
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "base/path_service.h" 10 #include "base/path_service.h"
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 ~LinuxHostInit() {} 56 ~LinuxHostInit() {}
57 }; 57 };
58 58
59 } // namespace 59 } // namespace
60 #endif 60 #endif
61 61
62 extern int BrowserMain(const MainFunctionParams&); 62 extern int BrowserMain(const MainFunctionParams&);
63 63
64 const wchar_t kUnitTestShowWindows[] = L"show-windows"; 64 const wchar_t kUnitTestShowWindows[] = L"show-windows";
65 65
66 // Passed as value of kTestType.
67 static const char kBrowserTestType[] = "browser";
68
66 // Default delay for the time-out at which we stop the 69 // Default delay for the time-out at which we stop the
67 // inner-message loop the first time. 70 // inner-message loop the first time.
68 const int kInitialTimeoutInMS = 30000; 71 const int kInitialTimeoutInMS = 30000;
69 72
70 // Delay for sub-sequent time-outs once the initial time-out happened. 73 // Delay for sub-sequent time-outs once the initial time-out happened.
71 const int kSubsequentTimeoutInMS = 5000; 74 const int kSubsequentTimeoutInMS = 5000;
72 75
73 InProcessBrowserTest::InProcessBrowserTest() 76 InProcessBrowserTest::InProcessBrowserTest()
74 : browser_(NULL), 77 : browser_(NULL),
75 show_window_(false), 78 show_window_(false),
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 command_line->AppendSwitchWithValue(switches::kUserDataDir, 128 command_line->AppendSwitchWithValue(switches::kUserDataDir,
126 user_data_dir.ToWStringHack()); 129 user_data_dir.ToWStringHack());
127 130
128 // For some reason the sandbox wasn't happy running in test mode. These 131 // For some reason the sandbox wasn't happy running in test mode. These
129 // tests aren't intended to test the sandbox, so we turn it off. 132 // tests aren't intended to test the sandbox, so we turn it off.
130 command_line->AppendSwitch(switches::kNoSandbox); 133 command_line->AppendSwitch(switches::kNoSandbox);
131 134
132 // Don't show the first run ui. 135 // Don't show the first run ui.
133 command_line->AppendSwitch(switches::kNoFirstRun); 136 command_line->AppendSwitch(switches::kNoFirstRun);
134 137
138 // This is a Browser test.
139 command_line->AppendSwitchWithValue(switches::kTestType,
140 ASCIIToWide(kBrowserTestType));
141
135 // Single-process mode is not set in BrowserMain so it needs to be processed 142 // Single-process mode is not set in BrowserMain so it needs to be processed
136 // explicitlty. 143 // explicitlty.
137 original_single_process_ = RenderProcessHost::run_renderer_in_process(); 144 original_single_process_ = RenderProcessHost::run_renderer_in_process();
138 if (command_line->HasSwitch(switches::kSingleProcess)) 145 if (command_line->HasSwitch(switches::kSingleProcess))
139 RenderProcessHost::set_run_renderer_in_process(true); 146 RenderProcessHost::set_run_renderer_in_process(true);
140 147
141 // Explicitly set the path of the exe used for the renderer and plugin, 148 // Explicitly set the path of the exe used for the renderer and plugin,
142 // otherwise they'll try to use unit_test.exe. 149 // otherwise they'll try to use unit_test.exe.
143 FilePath subprocess_path; 150 FilePath subprocess_path;
144 PathService::Get(base::FILE_EXE, &subprocess_path); 151 PathService::Get(base::FILE_EXE, &subprocess_path);
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
237 244
238 browser->window()->Show(); 245 browser->window()->Show();
239 246
240 return browser; 247 return browser;
241 } 248 }
242 249
243 void InProcessBrowserTest::RunTestOnMainThreadLoop() { 250 void InProcessBrowserTest::RunTestOnMainThreadLoop() {
244 // In the long term it would be great if we could use a TestingProfile 251 // In the long term it would be great if we could use a TestingProfile
245 // here and only enable services you want tested, but that requires all 252 // here and only enable services you want tested, but that requires all
246 // consumers of Profile to handle NULL services. 253 // consumers of Profile to handle NULL services.
247 FilePath user_data_dir; 254 Profile* profile = ProfileManager::GetDefaultProfile();
248 PathService::Get(chrome::DIR_USER_DATA, &user_data_dir);
249 ProfileManager* profile_manager = g_browser_process->profile_manager();
250 Profile* profile = profile_manager->GetDefaultProfile(user_data_dir);
251 if (!profile) { 255 if (!profile) {
252 // We should only be able to get here if the profile already exists and 256 // We should only be able to get here if the profile already exists and
253 // has been created. 257 // has been created.
254 NOTREACHED(); 258 NOTREACHED();
255 MessageLoopForUI::current()->Quit(); 259 MessageLoopForUI::current()->Quit();
256 return; 260 return;
257 } 261 }
258 262
259 ChromeThread::PostTask( 263 ChromeThread::PostTask(
260 ChromeThread::IO, FROM_HERE, 264 ChromeThread::IO, FROM_HERE,
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
304 NewRunnableMethod(this, &InProcessBrowserTest::TimedOut), 308 NewRunnableMethod(this, &InProcessBrowserTest::TimedOut),
305 kSubsequentTimeoutInMS); 309 kSubsequentTimeoutInMS);
306 310
307 MessageLoopForUI::current()->Quit(); 311 MessageLoopForUI::current()->Quit();
308 } 312 }
309 313
310 void InProcessBrowserTest::SetInitialTimeoutInMS(int timeout_value) { 314 void InProcessBrowserTest::SetInitialTimeoutInMS(int timeout_value) {
311 DCHECK_GT(timeout_value, 0); 315 DCHECK_GT(timeout_value, 0);
312 initial_timeout_ = timeout_value; 316 initial_timeout_ = timeout_value;
313 } 317 }
OLDNEW
« no previous file with comments | « chrome/common/chrome_switches.cc ('k') | chrome/test/ui/ui_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698