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

Unified Diff: chrome/browser/profiles/profile_manager_unittest.cc

Issue 8565032: Fixing ProfileManagerTest to use the TestingProfile instead of a real profile. This will allow ea... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/profiles/profile_manager_unittest.cc
===================================================================
--- chrome/browser/profiles/profile_manager_unittest.cc (revision 110703)
+++ chrome/browser/profiles/profile_manager_unittest.cc (working copy)
@@ -5,6 +5,7 @@
#include <string>
#include "base/command_line.h"
+#include "base/file_util.h"
#include "base/message_loop.h"
#include "base/path_service.h"
#include "base/scoped_temp_dir.h"
@@ -44,6 +45,35 @@
} // namespace
+namespace testing {
+
+class ProfileManager : public ::ProfileManagerWithoutInit {
+ public:
+ explicit ProfileManager(const FilePath& user_data_dir)
+ : ::ProfileManagerWithoutInit(user_data_dir) {}
+
+ protected:
+ virtual Profile* CreateProfile(const FilePath& file_path) {
+ if (!file_util::PathExists(file_path)) {
+ if (!file_util::CreateDirectory(file_path))
+ return NULL;
+ }
+ return new TestingProfile(file_path, NULL);
+ }
+
+ virtual Profile* CreateAsyncProfile(const FilePath& path,
+ Delegate* delegate) {
+ // This is safe while all file operations are done on the FILE thread.
+ BrowserThread::PostTask(BrowserThread::FILE,
+ FROM_HERE,
+ NewRunnableFunction(&file_util::CreateDirectory,
+ path));
+ return new TestingProfile(path, this);
Miranda Callahan 2011/11/21 15:31:31 Could there be any race conditions with immediatel
rpetterson 2011/11/21 22:59:30 Currently in the ProfileManager we call ProfileInf
+ }
+};
+
+} // namespace testing
+
class ProfileManagerTest : public testing::Test {
protected:
ProfileManagerTest()
@@ -65,7 +95,7 @@
virtual void SetUp() {
// Create a new temporary directory, and store the path
ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
- profile_manager_.reset(new ProfileManagerWithoutInit(temp_dir_.path()));
+ profile_manager_.reset(new testing::ProfileManager(temp_dir_.path()));
}
virtual void TearDown() {
@@ -95,6 +125,7 @@
content::TestBrowserThread ui_thread_;
content::TestBrowserThread db_thread_;
content::TestBrowserThread file_thread_;
+ // IOThread is necessary for the creation of some services below.
IOThread io_thread_;
scoped_ptr<base::SystemMonitor> system_monitor_dummy_;
@@ -162,15 +193,16 @@
FilePath dest_path2 = temp_dir_.path();
dest_path2 = dest_path2.Append(FILE_PATH_LITERAL("New Profile 2"));
- Profile* profile1;
- Profile* profile2;
-
// Successfully create the profiles.
- profile1 = profile_manager_->GetProfile(dest_path1);
+ TestingProfile* profile1 =
+ static_cast<TestingProfile*>(profile_manager_->GetProfile(dest_path1));
ASSERT_TRUE(profile1);
+ profile1->set_enable_lazy_service_initialization(true);
- profile2 = profile_manager_->GetProfile(dest_path2);
+ TestingProfile* profile2 =
+ static_cast<TestingProfile*>(profile_manager_->GetProfile(dest_path2));
ASSERT_TRUE(profile2);
+ profile2->set_enable_lazy_service_initialization(true);
// Force lazy-init of some profile services to simulate use.
EXPECT_TRUE(profile1->GetHistoryService(Profile::EXPLICIT_ACCESS));

Powered by Google App Engine
This is Rietveld 408576698