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

Side by Side Diff: extensions/browser/content_hash_fetcher_unittest.cc

Issue 2815243002: Fix two ContentHashFetcherTest.* tests' flakiness. (Closed)
Patch Set: REWORK Created 3 years, 8 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 <memory> 5 #include <memory>
6 6
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "base/callback_helpers.h" 8 #include "base/callback_helpers.h"
9 #include "base/files/file_path.h" 9 #include "base/files/file_path.h"
10 #include "base/files/file_util.h" 10 #include "base/files/file_util.h"
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 interceptor_->SetResponse(url, response_path); 179 interceptor_->SetResponse(url, response_path);
180 } 180 }
181 181
182 protected: 182 protected:
183 std::unique_ptr<content::TestBrowserThreadBundle> browser_threads_; 183 std::unique_ptr<content::TestBrowserThreadBundle> browser_threads_;
184 std::unique_ptr<net::TestURLRequestInterceptor> interceptor_; 184 std::unique_ptr<net::TestURLRequestInterceptor> interceptor_;
185 scoped_refptr<net::TestURLRequestContextGetter> request_context_; 185 scoped_refptr<net::TestURLRequestContextGetter> request_context_;
186 base::ScopedTempDir temp_dir_; 186 base::ScopedTempDir temp_dir_;
187 }; 187 };
188 188
189 // Flaky on Linux and ChromeOS. https://crbug.com/702300
190 #if defined(OS_LINUX) || defined(OS_CHROMEOS)
191 #define MAYBE_MissingVerifiedContents DISABLED_MissingVerifiedContents
192 #else
193 #define MAYBE_MissingVerifiedContents MissingVerifiedContents
194 #endif
195 // This tests our ability to successfully fetch, parse, and validate a missing 189 // This tests our ability to successfully fetch, parse, and validate a missing
196 // verified_contents.json file for an extension. 190 // verified_contents.json file for an extension.
197 TEST_F(ContentHashFetcherTest, MAYBE_MissingVerifiedContents) { 191 TEST_F(ContentHashFetcherTest, MissingVerifiedContents) {
198 // We unzip the extension source to a temp directory to simulate it being 192 // We unzip the extension source to a temp directory to simulate it being
199 // installed there, because the ContentHashFetcher will create the _metadata/ 193 // installed there, because the ContentHashFetcher will create the _metadata/
200 // directory within the extension install dir and write the fetched 194 // directory within the extension install dir and write the fetched
201 // verified_contents.json file there. 195 // verified_contents.json file there.
202 base::FilePath test_dir_base = GetTestPath( 196 base::FilePath test_dir_base = GetTestPath(
203 base::FilePath(FILE_PATH_LITERAL("missing_verified_contents"))); 197 base::FilePath(FILE_PATH_LITERAL("missing_verified_contents")));
204 scoped_refptr<Extension> extension = 198 scoped_refptr<Extension> extension =
205 UnzipToTempDirAndLoad(test_dir_base.AppendASCII("source.zip")); 199 UnzipToTempDirAndLoad(test_dir_base.AppendASCII("source.zip"));
206 200
207 // Make sure there isn't already a verified_contents.json file there. 201 // Make sure there isn't already a verified_contents.json file there.
(...skipping 18 matching lines...) Expand all
226 EXPECT_TRUE(result->success); 220 EXPECT_TRUE(result->success);
227 EXPECT_TRUE(result->force); 221 EXPECT_TRUE(result->force);
228 EXPECT_TRUE(result->mismatch_paths.empty()); 222 EXPECT_TRUE(result->mismatch_paths.empty());
229 223
230 // Make sure the verified_contents.json file was written into the extension's 224 // Make sure the verified_contents.json file was written into the extension's
231 // install dir. 225 // install dir.
232 EXPECT_TRUE( 226 EXPECT_TRUE(
233 base::PathExists(file_util::GetVerifiedContentsPath(extension->path()))); 227 base::PathExists(file_util::GetVerifiedContentsPath(extension->path())));
234 } 228 }
235 229
236 // Flaky on Linux and ChromeOS. https://crbug.com/702300
237 #if defined(OS_LINUX) || defined(OS_CHROMEOS)
238 #define MAYBE_MissingVerifiedContentsAndCorrupt \
239 DISABLED_MissingVerifiedContentsAndCorrupt
240 #else
241 #define MAYBE_MissingVerifiedContentsAndCorrupt \
242 MissingVerifiedContentsAndCorrupt
243 #endif
244 // Similar to MissingVerifiedContents, but tests the case where the extension 230 // Similar to MissingVerifiedContents, but tests the case where the extension
245 // actually has corruption. 231 // actually has corruption.
246 TEST_F(ContentHashFetcherTest, MAYBE_MissingVerifiedContentsAndCorrupt) { 232 TEST_F(ContentHashFetcherTest, MissingVerifiedContentsAndCorrupt) {
247 base::FilePath test_dir_base = 233 base::FilePath test_dir_base =
248 GetTestPath(base::FilePath()).AppendASCII("missing_verified_contents"); 234 GetTestPath(base::FilePath()).AppendASCII("missing_verified_contents");
249 scoped_refptr<Extension> extension = 235 scoped_refptr<Extension> extension =
250 UnzipToTempDirAndLoad(test_dir_base.AppendASCII("source.zip")); 236 UnzipToTempDirAndLoad(test_dir_base.AppendASCII("source.zip"));
251 237
252 // Tamper with a file in the extension. 238 // Tamper with a file in the extension.
253 base::FilePath script_path = extension->path().AppendASCII("script.js"); 239 base::FilePath script_path = extension->path().AppendASCII("script.js");
254 std::string addition = "//hello world"; 240 std::string addition = "//hello world";
255 ASSERT_TRUE( 241 ASSERT_TRUE(
256 base::AppendToFile(script_path, addition.c_str(), addition.size())); 242 base::AppendToFile(script_path, addition.c_str(), addition.size()));
(...skipping 17 matching lines...) Expand all
274 EXPECT_TRUE( 260 EXPECT_TRUE(
275 base::ContainsKey(result->mismatch_paths, script_path.BaseName())); 261 base::ContainsKey(result->mismatch_paths, script_path.BaseName()));
276 262
277 // Make sure the verified_contents.json file was written into the extension's 263 // Make sure the verified_contents.json file was written into the extension's
278 // install dir. 264 // install dir.
279 EXPECT_TRUE( 265 EXPECT_TRUE(
280 base::PathExists(file_util::GetVerifiedContentsPath(extension->path()))); 266 base::PathExists(file_util::GetVerifiedContentsPath(extension->path())));
281 } 267 }
282 268
283 } // namespace extensions 269 } // namespace extensions
OLDNEW
« extensions/browser/content_hash_fetcher.cc ('K') | « extensions/browser/content_hash_fetcher.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698