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

Side by Side Diff: chrome/browser/extensions/extension_service_unittest.cc

Issue 8486019: Fix ExtensionServiceTest by moving base::ShadowingAtExitManager into the fixture. (Closed) Base URL: svn://svn.chromium.org/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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/extensions/extension_service_unittest.h" 5 #include "chrome/browser/extensions/extension_service_unittest.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <set> 8 #include <set>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 24 matching lines...) Expand all
35 #include "chrome/browser/extensions/extension_sync_data.h" 35 #include "chrome/browser/extensions/extension_sync_data.h"
36 #include "chrome/browser/extensions/extension_updater.h" 36 #include "chrome/browser/extensions/extension_updater.h"
37 #include "chrome/browser/extensions/external_extension_provider_impl.h" 37 #include "chrome/browser/extensions/external_extension_provider_impl.h"
38 #include "chrome/browser/extensions/external_extension_provider_interface.h" 38 #include "chrome/browser/extensions/external_extension_provider_interface.h"
39 #include "chrome/browser/extensions/external_pref_extension_loader.h" 39 #include "chrome/browser/extensions/external_pref_extension_loader.h"
40 #include "chrome/browser/extensions/installed_loader.h" 40 #include "chrome/browser/extensions/installed_loader.h"
41 #include "chrome/browser/extensions/pack_extension_job.cc" 41 #include "chrome/browser/extensions/pack_extension_job.cc"
42 #include "chrome/browser/extensions/pending_extension_info.h" 42 #include "chrome/browser/extensions/pending_extension_info.h"
43 #include "chrome/browser/extensions/pending_extension_manager.h" 43 #include "chrome/browser/extensions/pending_extension_manager.h"
44 #include "chrome/browser/extensions/unpacked_installer.h" 44 #include "chrome/browser/extensions/unpacked_installer.h"
45 #include "chrome/browser/plugin_prefs_factory.h"
45 #include "chrome/browser/prefs/browser_prefs.h" 46 #include "chrome/browser/prefs/browser_prefs.h"
46 #include "chrome/browser/prefs/pref_service_mock_builder.h" 47 #include "chrome/browser/prefs/pref_service_mock_builder.h"
47 #include "chrome/browser/prefs/scoped_user_pref_update.h" 48 #include "chrome/browser/prefs/scoped_user_pref_update.h"
48 #include "chrome/browser/sync/protocol/app_specifics.pb.h" 49 #include "chrome/browser/sync/protocol/app_specifics.pb.h"
49 #include "chrome/browser/sync/protocol/extension_specifics.pb.h" 50 #include "chrome/browser/sync/protocol/extension_specifics.pb.h"
50 #include "chrome/common/chrome_notification_types.h" 51 #include "chrome/common/chrome_notification_types.h"
51 #include "chrome/common/chrome_paths.h" 52 #include "chrome/common/chrome_paths.h"
52 #include "chrome/common/chrome_switches.h" 53 #include "chrome/common/chrome_switches.h"
53 #include "chrome/common/extensions/extension.h" 54 #include "chrome/common/extensions/extension.h"
54 #include "chrome/common/extensions/extension_constants.h" 55 #include "chrome/common/extensions/extension_constants.h"
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after
408 const FilePath& pref_file, const FilePath& extensions_install_dir, 409 const FilePath& pref_file, const FilePath& extensions_install_dir,
409 bool autoupdate_enabled) { 410 bool autoupdate_enabled) {
410 ExtensionTestingProfile* profile = new ExtensionTestingProfile(); 411 ExtensionTestingProfile* profile = new ExtensionTestingProfile();
411 // Create a PrefService that only contains user defined preference values. 412 // Create a PrefService that only contains user defined preference values.
412 PrefService* prefs = 413 PrefService* prefs =
413 PrefServiceMockBuilder().WithUserFilePrefs(pref_file).Create(); 414 PrefServiceMockBuilder().WithUserFilePrefs(pref_file).Create();
414 Profile::RegisterUserPrefs(prefs); 415 Profile::RegisterUserPrefs(prefs);
415 browser::RegisterUserPrefs(prefs); 416 browser::RegisterUserPrefs(prefs);
416 profile->SetPrefService(prefs); 417 profile->SetPrefService(prefs);
417 418
419 PluginPrefsFactory::GetInstance()->ForceRegisterPrefsForTest(prefs);
420
418 profile_.reset(profile); 421 profile_.reset(profile);
419 422
420 service_ = profile->CreateExtensionService( 423 service_ = profile->CreateExtensionService(
421 CommandLine::ForCurrentProcess(), 424 CommandLine::ForCurrentProcess(),
422 extensions_install_dir, 425 extensions_install_dir,
423 autoupdate_enabled); 426 autoupdate_enabled);
424 service_->set_extensions_enabled(true); 427 service_->set_extensions_enabled(true);
425 service_->set_show_extensions_prompts(false); 428 service_->set_show_extensions_prompts(false);
426 profile->set_extensions_service(service_); 429 profile->set_extensions_service(service_);
427 430
(...skipping 549 matching lines...) Expand 10 before | Expand all | Expand 10 after
977 ASSERT_TRUE(file_util::PathExists(private_key_path)); 980 ASSERT_TRUE(file_util::PathExists(private_key_path));
978 } 981 }
979 982
980 // The tests are designed so that we never expect to see a packing error. 983 // The tests are designed so that we never expect to see a packing error.
981 void PackExtensionTestClient::OnPackFailure(const std::string& error_message) { 984 void PackExtensionTestClient::OnPackFailure(const std::string& error_message) {
982 FAIL() << "Packing should not fail."; 985 FAIL() << "Packing should not fail.";
983 } 986 }
984 987
985 // Test loading good extensions from the profile directory. 988 // Test loading good extensions from the profile directory.
986 TEST_F(ExtensionServiceTest, LoadAllExtensionsFromDirectorySuccess) { 989 TEST_F(ExtensionServiceTest, LoadAllExtensionsFromDirectorySuccess) {
987 base::ShadowingAtExitManager at_exit_manager;
988 PluginService::GetInstance()->Init(); 990 PluginService::GetInstance()->Init();
989 991
990 // Initialize the test dir with a good Preferences/extensions. 992 // Initialize the test dir with a good Preferences/extensions.
991 FilePath source_install_dir = data_dir_ 993 FilePath source_install_dir = data_dir_
992 .AppendASCII("good") 994 .AppendASCII("good")
993 .AppendASCII("Extensions"); 995 .AppendASCII("Extensions");
994 FilePath pref_path = source_install_dir 996 FilePath pref_path = source_install_dir
995 .DirName() 997 .DirName()
996 .AppendASCII("Preferences"); 998 .AppendASCII("Preferences");
997 InitializeInstalledExtensionService(pref_path, source_install_dir); 999 InitializeInstalledExtensionService(pref_path, source_install_dir);
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
1117 extension_manifest_errors::kMissingFile)) << GetErrors()[2]; 1119 extension_manifest_errors::kMissingFile)) << GetErrors()[2];
1118 1120
1119 EXPECT_TRUE(MatchPattern(GetErrors()[3], 1121 EXPECT_TRUE(MatchPattern(GetErrors()[3],
1120 std::string("Could not load extension from '*'. ") + 1122 std::string("Could not load extension from '*'. ") +
1121 extension_manifest_errors::kManifestUnreadable)) << GetErrors()[3]; 1123 extension_manifest_errors::kManifestUnreadable)) << GetErrors()[3];
1122 }; 1124 };
1123 1125
1124 // Test that partially deleted extensions are cleaned up during startup 1126 // Test that partially deleted extensions are cleaned up during startup
1125 // Test loading bad extensions from the profile directory. 1127 // Test loading bad extensions from the profile directory.
1126 TEST_F(ExtensionServiceTest, CleanupOnStartup) { 1128 TEST_F(ExtensionServiceTest, CleanupOnStartup) {
1127 base::ShadowingAtExitManager at_exit_manager;
1128 PluginService::GetInstance()->Init(); 1129 PluginService::GetInstance()->Init();
1129 1130
1130 FilePath source_install_dir = data_dir_ 1131 FilePath source_install_dir = data_dir_
1131 .AppendASCII("good") 1132 .AppendASCII("good")
1132 .AppendASCII("Extensions"); 1133 .AppendASCII("Extensions");
1133 FilePath pref_path = source_install_dir 1134 FilePath pref_path = source_install_dir
1134 .DirName() 1135 .DirName()
1135 .AppendASCII("Preferences"); 1136 .AppendASCII("Preferences");
1136 1137
1137 InitializeInstalledExtensionService(pref_path, source_install_dir); 1138 InitializeInstalledExtensionService(pref_path, source_install_dir);
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after
1453 EXPECT_EQ(expected_api_perms, known_perms->apis()); 1454 EXPECT_EQ(expected_api_perms, known_perms->apis());
1454 EXPECT_FALSE(known_perms->HasEffectiveFullAccess()); 1455 EXPECT_FALSE(known_perms->HasEffectiveFullAccess());
1455 EXPECT_EQ(expected_host_perms, known_perms->effective_hosts()); 1456 EXPECT_EQ(expected_host_perms, known_perms->effective_hosts());
1456 } 1457 }
1457 1458
1458 #if !defined(OS_CHROMEOS) 1459 #if !defined(OS_CHROMEOS)
1459 // Tests that the granted permissions full_access bit gets set correctly when 1460 // Tests that the granted permissions full_access bit gets set correctly when
1460 // an extension contains an NPAPI plugin. Don't run this test on Chrome OS 1461 // an extension contains an NPAPI plugin. Don't run this test on Chrome OS
1461 // since they don't support plugins. 1462 // since they don't support plugins.
1462 TEST_F(ExtensionServiceTest, GrantedFullAccessPermissions) { 1463 TEST_F(ExtensionServiceTest, GrantedFullAccessPermissions) {
1463 base::ShadowingAtExitManager at_exit_manager;
1464 PluginService::GetInstance()->Init(); 1464 PluginService::GetInstance()->Init();
1465 1465
1466 InitializeEmptyExtensionService(); 1466 InitializeEmptyExtensionService();
1467 1467
1468 FilePath path = data_dir_ 1468 FilePath path = data_dir_
1469 .AppendASCII("good") 1469 .AppendASCII("good")
1470 .AppendASCII("Extensions") 1470 .AppendASCII("Extensions")
1471 .AppendASCII(good1) 1471 .AppendASCII(good1)
1472 .AppendASCII("2"); 1472 .AppendASCII("2");
1473 1473
(...skipping 2863 matching lines...) Expand 10 before | Expand all | Expand 10 after
4337 ASSERT_FALSE(AddPendingSyncInstall()); 4337 ASSERT_FALSE(AddPendingSyncInstall());
4338 4338
4339 // Wait for the external source to install. 4339 // Wait for the external source to install.
4340 WaitForCrxInstall(crx_path_, true); 4340 WaitForCrxInstall(crx_path_, true);
4341 ASSERT_TRUE(IsCrxInstalled()); 4341 ASSERT_TRUE(IsCrxInstalled());
4342 4342
4343 // Now that the extension is installed, sync request should fail 4343 // Now that the extension is installed, sync request should fail
4344 // because the extension is already installed. 4344 // because the extension is already installed.
4345 ASSERT_FALSE(AddPendingSyncInstall()); 4345 ASSERT_FALSE(AddPendingSyncInstall());
4346 } 4346 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_service_unittest.h ('k') | tools/valgrind/gtest_exclude/unit_tests.gtest_linux.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698