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

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

Issue 20794003: Fix a bug where packing an extension with bad private key causes crash. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Slight wording change to the pack_extension_unittest. Created 7 years, 4 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
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 2184 matching lines...) Expand 10 before | Expand all | Expand 10 after
2195 base::FilePath(), ExtensionCreator::kOverwriteCRX)); 2195 base::FilePath(), ExtensionCreator::kOverwriteCRX));
2196 2196
2197 // Try packing with an invalid manifest. 2197 // Try packing with an invalid manifest.
2198 std::string invalid_manifest_content = "I am not a manifest."; 2198 std::string invalid_manifest_content = "I am not a manifest.";
2199 ASSERT_TRUE(file_util::WriteFile( 2199 ASSERT_TRUE(file_util::WriteFile(
2200 temp_dir2.path().Append(extensions::kManifestFilename), 2200 temp_dir2.path().Append(extensions::kManifestFilename),
2201 invalid_manifest_content.c_str(), invalid_manifest_content.size())); 2201 invalid_manifest_content.c_str(), invalid_manifest_content.size()));
2202 creator.reset(new ExtensionCreator()); 2202 creator.reset(new ExtensionCreator());
2203 ASSERT_FALSE(creator->Run(temp_dir2.path(), crx_path, privkey_path, 2203 ASSERT_FALSE(creator->Run(temp_dir2.path(), crx_path, privkey_path,
2204 base::FilePath(), ExtensionCreator::kOverwriteCRX)); 2204 base::FilePath(), ExtensionCreator::kOverwriteCRX));
2205
2206 // Try packing with a private key that is a valid key, but invalid for the
2207 // extension.
2208 base::FilePath bad_private_key_dir = data_dir_.AppendASCII("bad_private_key");
2209 crx_path = output_directory.AppendASCII("bad_private_key.crx");
2210 privkey_path = data_dir_.AppendASCII("bad_private_key.pem");
2211 ASSERT_FALSE(creator->Run(bad_private_key_dir, crx_path, base::FilePath(),
2212 privkey_path, ExtensionCreator::kOverwriteCRX));
2205 } 2213 }
2206 2214
2207 // Test Packaging and installing an extension whose name contains punctuation. 2215 // Test Packaging and installing an extension whose name contains punctuation.
2208 TEST_F(ExtensionServiceTest, PackPunctuatedExtension) { 2216 TEST_F(ExtensionServiceTest, PackPunctuatedExtension) {
2209 InitializeEmptyExtensionService(); 2217 InitializeEmptyExtensionService();
2210 base::FilePath input_directory = data_dir_ 2218 base::FilePath input_directory = data_dir_
2211 .AppendASCII("good") 2219 .AppendASCII("good")
2212 .AppendASCII("Extensions") 2220 .AppendASCII("Extensions")
2213 .AppendASCII(good0) 2221 .AppendASCII(good0)
2214 .AppendASCII("1.0.0.0"); 2222 .AppendASCII("1.0.0.0");
(...skipping 4117 matching lines...) Expand 10 before | Expand all | Expand 10 after
6332 provider->UpdateOrAddExtension(updates_from_webstore, "1", crx_path); 6340 provider->UpdateOrAddExtension(updates_from_webstore, "1", crx_path);
6333 6341
6334 service_->CheckForExternalUpdates(); 6342 service_->CheckForExternalUpdates();
6335 content::WindowedNotificationObserver( 6343 content::WindowedNotificationObserver(
6336 chrome::NOTIFICATION_CRX_INSTALLER_DONE, 6344 chrome::NOTIFICATION_CRX_INSTALLER_DONE,
6337 content::NotificationService::AllSources()).Wait(); 6345 content::NotificationService::AllSources()).Wait();
6338 EXPECT_TRUE(extensions::HasExternalInstallError(service_)); 6346 EXPECT_TRUE(extensions::HasExternalInstallError(service_));
6339 EXPECT_FALSE(extensions::HasExternalInstallBubble(service_)); 6347 EXPECT_FALSE(extensions::HasExternalInstallBubble(service_));
6340 EXPECT_FALSE(service_->IsExtensionEnabled(updates_from_webstore)); 6348 EXPECT_FALSE(service_->IsExtensionEnabled(updates_from_webstore));
6341 } 6349 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_creator.cc ('k') | chrome/browser/extensions/pack_extension_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698