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

Unified Diff: chrome/browser/extensions/extension_updater_unittest.cc

Issue 6627060: ImportantFileWriter: check return value of PostTask... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/extension_updater_unittest.cc
===================================================================
--- chrome/browser/extensions/extension_updater_unittest.cc (revision 77440)
+++ chrome/browser/extensions/extension_updater_unittest.cc (working copy)
@@ -315,6 +315,11 @@
}
static void TestExtensionUpdateCheckRequests(bool pending) {
+ MessageLoop message_loop;
+ BrowserThread file_thread(BrowserThread::FILE, &message_loop);
+ BrowserThread io_thread(BrowserThread::IO);
+ io_thread.Start();
+
// Create an extension with an update_url.
ServiceForManifestTests service;
std::string update_url("http://foo.com/bar");
@@ -329,11 +334,7 @@
service.set_extensions(extensions);
}
- // Setup and start the updater.
- MessageLoop message_loop;
- BrowserThread io_thread(BrowserThread::IO);
- io_thread.Start();
-
+ // Set up and start the updater.
TestURLFetcherFactory factory;
URLFetcher::set_factory(&factory);
scoped_refptr<ExtensionUpdater> updater(
@@ -493,13 +494,15 @@
}
static void TestDetermineUpdates() {
+ MessageLoop message_loop;
+ BrowserThread file_thread(BrowserThread::FILE, &message_loop);
+
// Create a set of test extensions
ServiceForManifestTests service;
ExtensionList tmp;
service.CreateTestExtensions(1, 3, &tmp, NULL, Extension::INTERNAL);
service.set_extensions(tmp);
- MessageLoop message_loop;
scoped_refptr<ExtensionUpdater> updater(
new ExtensionUpdater(&service, service.pref_service(),
kUpdateFrequencySecs));
@@ -575,9 +578,9 @@
TestURLFetcherFactory factory;
TestURLFetcher* fetcher = NULL;
URLFetcher::set_factory(&factory);
- ServiceForDownloadTests service;
+ scoped_ptr<ServiceForDownloadTests> service(new ServiceForDownloadTests);
scoped_refptr<ExtensionUpdater> updater(
- new ExtensionUpdater(&service, service.pref_service(),
+ new ExtensionUpdater(service.get(), service->pref_service(),
kUpdateFrequencySecs));
updater->Start();
@@ -627,8 +630,13 @@
file_thread.Stop();
io_thread.Stop();
ui_loop.RunAllPending();
- EXPECT_EQ("12345", service.last_inquired_extension_id());
+ EXPECT_EQ("12345", service->last_inquired_extension_id());
xmlCleanupGlobals();
+
+ // The FILE thread is needed for |service|'s cleanup,
+ // because of ImportantFileWriter.
+ file_thread.Start();
+ service.reset();
}
static void TestSingleExtensionDownloading(bool pending) {
@@ -642,9 +650,9 @@
TestURLFetcherFactory factory;
TestURLFetcher* fetcher = NULL;
URLFetcher::set_factory(&factory);
- ServiceForDownloadTests service;
+ scoped_ptr<ServiceForDownloadTests> service(new ServiceForDownloadTests);
scoped_refptr<ExtensionUpdater> updater(
- new ExtensionUpdater(&service, service.pref_service(),
+ new ExtensionUpdater(service.get(), service->pref_service(),
kUpdateFrequencySecs));
updater->Start();
@@ -666,7 +674,7 @@
PendingExtensionInfo(test_url, &ShouldAlwaysInstall, kIsFromSync,
kInstallSilently, kInitialState,
kInitialIncognitoEnabled, Extension::INTERNAL);
- service.set_pending_extensions(pending_extensions);
+ service->set_pending_extensions(pending_extensions);
}
// Call back the ExtensionUpdater with a 200 response and some test data
@@ -683,14 +691,19 @@
// Expect that ExtensionUpdater asked the mock extensions service to install
// a file with the test data for the right id.
- EXPECT_EQ(id, service.extension_id());
- FilePath tmpfile_path = service.install_path();
+ EXPECT_EQ(id, service->extension_id());
+ FilePath tmpfile_path = service->install_path();
EXPECT_FALSE(tmpfile_path.empty());
- EXPECT_EQ(test_url, service.download_url());
+ EXPECT_EQ(test_url, service->download_url());
std::string file_contents;
EXPECT_TRUE(file_util::ReadFileToString(tmpfile_path, &file_contents));
EXPECT_TRUE(extension_data == file_contents);
+ // The FILE thread is needed for |service|'s cleanup,
+ // because of ImportantFileWriter.
+ file_thread.Start();
+ service.reset();
+
file_util::Delete(tmpfile_path, false);
URLFetcher::set_factory(NULL);
}
@@ -698,6 +711,7 @@
static void TestBlacklistDownloading() {
MessageLoop message_loop;
BrowserThread ui_thread(BrowserThread::UI, &message_loop);
+ BrowserThread file_thread(BrowserThread::FILE, &message_loop);
BrowserThread io_thread(BrowserThread::IO);
io_thread.Start();
@@ -820,6 +834,9 @@
static void TestGalleryRequests(int rollcall_ping_days,
int active_ping_days,
bool active_bit) {
+ MessageLoop message_loop;
+ BrowserThread file_thread(BrowserThread::FILE, &message_loop);
+
TestURLFetcherFactory factory;
URLFetcher::set_factory(&factory);
@@ -860,7 +877,6 @@
if (active_bit)
prefs->SetActiveBit(id, true);
- MessageLoop message_loop;
scoped_refptr<ExtensionUpdater> updater(
new ExtensionUpdater(&service, service.pref_service(),
kUpdateFrequencySecs));
@@ -972,6 +988,9 @@
}
TEST(ExtensionUpdaterTest, TestUpdateUrlData) {
+ MessageLoop message_loop;
+ BrowserThread file_thread(BrowserThread::FILE, &message_loop);
+
ExtensionUpdaterTest::TestUpdateUrlDataEmpty();
ExtensionUpdaterTest::TestUpdateUrlDataSimple();
ExtensionUpdaterTest::TestUpdateUrlDataCompound();
@@ -1044,6 +1063,9 @@
}
TEST(ExtensionUpdaterTest, TestManifestFetchesBuilderAddExtension) {
+ MessageLoop message_loop;
+ BrowserThread file_thread(BrowserThread::FILE, &message_loop);
+
MockService service;
ManifestFetchesBuilder builder(&service);
@@ -1091,6 +1113,8 @@
TEST(ExtensionUpdaterTest, TestStartUpdateCheckMemory) {
MessageLoop message_loop;
+ BrowserThread file_thread(BrowserThread::FILE, &message_loop);
+
ServiceForManifestTests service;
TestURLFetcherFactory factory;
URLFetcher::set_factory(&factory);
@@ -1110,6 +1134,8 @@
TEST(ExtensionUpdaterTest, TestAfterStopBehavior) {
MessageLoop message_loop;
+ BrowserThread file_thread(BrowserThread::FILE, &message_loop);
+
ServiceForManifestTests service;
scoped_refptr<ExtensionUpdater> updater(
new ExtensionUpdater(&service, service.pref_service(),
« no previous file with comments | « chrome/browser/extensions/extension_prefs_unittest.cc ('k') | chrome/browser/extensions/test_extension_prefs.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698