OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/sync/test/integration/sync_test.h" | 5 #include "chrome/browser/sync/test/integration/sync_test.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
224 | 224 |
225 // static | 225 // static |
226 Profile* SyncTest::MakeProfile(const FilePath::StringType name) { | 226 Profile* SyncTest::MakeProfile(const FilePath::StringType name) { |
227 FilePath path; | 227 FilePath path; |
228 PathService::Get(chrome::DIR_USER_DATA, &path); | 228 PathService::Get(chrome::DIR_USER_DATA, &path); |
229 path = path.Append(name); | 229 path = path.Append(name); |
230 | 230 |
231 if (!file_util::PathExists(path)) | 231 if (!file_util::PathExists(path)) |
232 CHECK(file_util::CreateDirectory(path)); | 232 CHECK(file_util::CreateDirectory(path)); |
233 | 233 |
234 return Profile::CreateProfile(path); | 234 Profile* profile = Profile::CreateProfile(path); |
| 235 g_browser_process->profile_manager()->RegisterTestingProfile(profile, true); |
| 236 return profile; |
235 } | 237 } |
236 | 238 |
237 Profile* SyncTest::GetProfile(int index) { | 239 Profile* SyncTest::GetProfile(int index) { |
238 if (profiles_.empty()) | 240 if (profiles_.empty()) |
239 LOG(FATAL) << "SetupClients() has not yet been called."; | 241 LOG(FATAL) << "SetupClients() has not yet been called."; |
240 if (index < 0 || index >= static_cast<int>(profiles_.size())) | 242 if (index < 0 || index >= static_cast<int>(profiles_.size())) |
241 LOG(FATAL) << "GetProfile(): Index is out of bounds."; | 243 LOG(FATAL) << "GetProfile(): Index is out of bounds."; |
242 return profiles_[index]; | 244 return profiles_[index]; |
243 } | 245 } |
244 | 246 |
245 Browser* SyncTest::GetBrowser(int index) { | 247 Browser* SyncTest::GetBrowser(int index) { |
246 if (browsers_.empty()) | 248 if (browsers_.empty()) |
247 LOG(FATAL) << "SetupClients() has not yet been called."; | 249 LOG(FATAL) << "SetupClients() has not yet been called."; |
248 if (index < 0 || index >= static_cast<int>(browsers_.size())) | 250 if (index < 0 || index >= static_cast<int>(browsers_.size())) |
249 LOG(FATAL) << "GetBrowser(): Index is out of bounds."; | 251 LOG(FATAL) << "GetBrowser(): Index is out of bounds."; |
250 return browsers_[index]; | 252 return browsers_[index]; |
251 } | 253 } |
252 | 254 |
253 ProfileSyncServiceHarness* SyncTest::GetClient(int index) { | 255 ProfileSyncServiceHarness* SyncTest::GetClient(int index) { |
254 if (clients_.empty()) | 256 if (clients_.empty()) |
255 LOG(FATAL) << "SetupClients() has not yet been called."; | 257 LOG(FATAL) << "SetupClients() has not yet been called."; |
256 if (index < 0 || index >= static_cast<int>(clients_.size())) | 258 if (index < 0 || index >= static_cast<int>(clients_.size())) |
257 LOG(FATAL) << "GetClient(): Index is out of bounds."; | 259 LOG(FATAL) << "GetClient(): Index is out of bounds."; |
258 return clients_[index]; | 260 return clients_[index]; |
259 } | 261 } |
260 | 262 |
261 Profile* SyncTest::verifier() { | 263 Profile* SyncTest::verifier() { |
262 if (verifier_.get() == NULL) | 264 if (verifier_ == NULL) |
263 LOG(FATAL) << "SetupClients() has not yet been called."; | 265 LOG(FATAL) << "SetupClients() has not yet been called."; |
264 return verifier_.get(); | 266 return verifier_; |
265 } | 267 } |
266 | 268 |
267 void SyncTest::DisableVerifier() { | 269 void SyncTest::DisableVerifier() { |
268 use_verifier_ = false; | 270 use_verifier_ = false; |
269 } | 271 } |
270 | 272 |
271 bool SyncTest::SetupClients() { | 273 bool SyncTest::SetupClients() { |
272 if (num_clients_ <= 0) | 274 if (num_clients_ <= 0) |
273 LOG(FATAL) << "num_clients_ incorrectly initialized."; | 275 LOG(FATAL) << "num_clients_ incorrectly initialized."; |
274 if (!profiles_.empty() || !browsers_.empty() || !clients_.empty()) | 276 if (!profiles_.empty() || !browsers_.empty() || !clients_.empty()) |
(...skipping 13 matching lines...) Expand all Loading... |
288 | 290 |
289 clients_.push_back( | 291 clients_.push_back( |
290 new ProfileSyncServiceHarness(GetProfile(i), username_, password_)); | 292 new ProfileSyncServiceHarness(GetProfile(i), username_, password_)); |
291 EXPECT_FALSE(GetClient(i) == NULL) << "GetClient(" << i << ") failed."; | 293 EXPECT_FALSE(GetClient(i) == NULL) << "GetClient(" << i << ") failed."; |
292 | 294 |
293 ui_test_utils::WaitForBookmarkModelToLoad( | 295 ui_test_utils::WaitForBookmarkModelToLoad( |
294 GetProfile(i)->GetBookmarkModel()); | 296 GetProfile(i)->GetBookmarkModel()); |
295 } | 297 } |
296 | 298 |
297 // Create the verifier profile. | 299 // Create the verifier profile. |
298 verifier_.reset(MakeProfile(FILE_PATH_LITERAL("Verifier"))); | 300 verifier_ = MakeProfile(FILE_PATH_LITERAL("Verifier")); |
299 ui_test_utils::WaitForBookmarkModelToLoad(verifier()->GetBookmarkModel()); | 301 ui_test_utils::WaitForBookmarkModelToLoad(verifier()->GetBookmarkModel()); |
300 return (verifier_.get() != NULL); | 302 return (verifier_ != NULL); |
301 } | 303 } |
302 | 304 |
303 bool SyncTest::SetupSync() { | 305 bool SyncTest::SetupSync() { |
304 // Create sync profiles and clients if they haven't already been created. | 306 // Create sync profiles and clients if they haven't already been created. |
305 if (profiles_.empty()) { | 307 if (profiles_.empty()) { |
306 if (!SetupClients()) | 308 if (!SetupClients()) |
307 LOG(FATAL) << "SetupClients() failed."; | 309 LOG(FATAL) << "SetupClients() failed."; |
308 } | 310 } |
309 | 311 |
310 // Sync each of the profiles. | 312 // Sync each of the profiles. |
311 for (int i = 0; i < num_clients_; ++i) { | 313 for (int i = 0; i < num_clients_; ++i) { |
312 if (!GetClient(i)->SetupSync()) | 314 if (!GetClient(i)->SetupSync()) |
313 LOG(FATAL) << "SetupSync() failed."; | 315 LOG(FATAL) << "SetupSync() failed."; |
314 } | 316 } |
315 | 317 |
316 return true; | 318 return true; |
317 } | 319 } |
318 | 320 |
319 void SyncTest::CleanUpOnMainThread() { | 321 void SyncTest::CleanUpOnMainThread() { |
320 // Close all browser windows. | 322 // Close all browser windows. |
321 BrowserList::CloseAllBrowsers(); | 323 BrowserList::CloseAllBrowsers(); |
322 ui_test_utils::RunAllPendingInMessageLoop(); | 324 ui_test_utils::RunAllPendingInMessageLoop(); |
323 | 325 |
324 // All browsers should be closed at this point, or else we could see memory | 326 // All browsers should be closed at this point, or else we could see memory |
325 // corruption in QuitBrowser(). | 327 // corruption in QuitBrowser(). |
326 CHECK_EQ(0U, BrowserList::size()); | 328 CHECK_EQ(0U, BrowserList::size()); |
327 | |
328 profiles_.reset(); | |
329 clients_.reset(); | 329 clients_.reset(); |
330 verifier_.reset(NULL); | |
331 } | 330 } |
332 | 331 |
333 void SyncTest::SetUpInProcessBrowserTestFixture() { | 332 void SyncTest::SetUpInProcessBrowserTestFixture() { |
334 // We don't take a reference to |resolver|, but mock_host_resolver_override_ | 333 // We don't take a reference to |resolver|, but mock_host_resolver_override_ |
335 // does, so effectively assumes ownership. | 334 // does, so effectively assumes ownership. |
336 net::RuleBasedHostResolverProc* resolver = | 335 net::RuleBasedHostResolverProc* resolver = |
337 new net::RuleBasedHostResolverProc(host_resolver()); | 336 new net::RuleBasedHostResolverProc(host_resolver()); |
338 resolver->AllowDirectLookup("*.google.com"); | 337 resolver->AllowDirectLookup("*.google.com"); |
339 // On Linux, we use Chromium's NSS implementation which uses the following | 338 // On Linux, we use Chromium's NSS implementation which uses the following |
340 // hosts for certificate verification. Without these overrides, running the | 339 // hosts for certificate verification. Without these overrides, running the |
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
623 const net::ProxyConfig& proxy_config) { | 622 const net::ProxyConfig& proxy_config) { |
624 base::WaitableEvent done(false, false); | 623 base::WaitableEvent done(false, false); |
625 BrowserThread::PostTask( | 624 BrowserThread::PostTask( |
626 BrowserThread::IO, | 625 BrowserThread::IO, |
627 FROM_HERE, | 626 FROM_HERE, |
628 new SetProxyConfigTask(&done, | 627 new SetProxyConfigTask(&done, |
629 context_getter, | 628 context_getter, |
630 proxy_config)); | 629 proxy_config)); |
631 done.Wait(); | 630 done.Wait(); |
632 } | 631 } |
OLD | NEW |