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

Side by Side Diff: chrome/browser/safe_browsing/safe_browsing_store_file_unittest.cc

Issue 196073002: Move ScopedFILE to base namespace and scoped_file.h (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/safe_browsing/safe_browsing_store_file.h" 5 #include "chrome/browser/safe_browsing/safe_browsing_store_file.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/file_util.h"
9 #include "base/files/scoped_file.h"
8 #include "base/files/scoped_temp_dir.h" 10 #include "base/files/scoped_temp_dir.h"
9 #include "base/md5.h" 11 #include "base/md5.h"
10 #include "testing/gtest/include/gtest/gtest.h" 12 #include "testing/gtest/include/gtest/gtest.h"
11 #include "testing/platform_test.h" 13 #include "testing/platform_test.h"
12 14
13 namespace { 15 namespace {
14 16
15 const int kAddChunk1 = 1; 17 const int kAddChunk1 = 1;
16 const int kAddChunk2 = 3; 18 const int kAddChunk2 = 3;
17 const int kAddChunk3 = 5; 19 const int kAddChunk3 = 5;
(...skipping 388 matching lines...) Expand 10 before | Expand all | Expand 10 after
406 std::vector<SBAddFullHash> pending_adds; 408 std::vector<SBAddFullHash> pending_adds;
407 SBAddPrefixes orig_prefixes; 409 SBAddPrefixes orig_prefixes;
408 std::vector<SBAddFullHash> orig_hashes; 410 std::vector<SBAddFullHash> orig_hashes;
409 EXPECT_TRUE(store_->BeginUpdate()); 411 EXPECT_TRUE(store_->BeginUpdate());
410 EXPECT_TRUE(store_->FinishUpdate(pending_adds, &orig_prefixes, &orig_hashes)); 412 EXPECT_TRUE(store_->FinishUpdate(pending_adds, &orig_prefixes, &orig_hashes));
411 EXPECT_GT(orig_prefixes.size(), 0U); 413 EXPECT_GT(orig_prefixes.size(), 0U);
412 EXPECT_GT(orig_hashes.size(), 0U); 414 EXPECT_GT(orig_hashes.size(), 0U);
413 EXPECT_FALSE(corruption_detected_); 415 EXPECT_FALSE(corruption_detected_);
414 416
415 // Corrupt the store. 417 // Corrupt the store.
416 file_util::ScopedFILE file(base::OpenFile(filename_, "rb+")); 418 base::ScopedFILE file(base::OpenFile(filename_, "rb+"));
417 const long kOffset = 60; 419 const long kOffset = 60;
418 EXPECT_EQ(fseek(file.get(), kOffset, SEEK_SET), 0); 420 EXPECT_EQ(fseek(file.get(), kOffset, SEEK_SET), 0);
419 const uint32 kZero = 0; 421 const uint32 kZero = 0;
420 uint32 previous = kZero; 422 uint32 previous = kZero;
421 EXPECT_EQ(fread(&previous, sizeof(previous), 1, file.get()), 1U); 423 EXPECT_EQ(fread(&previous, sizeof(previous), 1, file.get()), 1U);
422 EXPECT_NE(previous, kZero); 424 EXPECT_NE(previous, kZero);
423 EXPECT_EQ(fseek(file.get(), kOffset, SEEK_SET), 0); 425 EXPECT_EQ(fseek(file.get(), kOffset, SEEK_SET), 0);
424 EXPECT_EQ(fwrite(&kZero, sizeof(kZero), 1, file.get()), 1U); 426 EXPECT_EQ(fwrite(&kZero, sizeof(kZero), 1, file.get()), 1U);
425 file.reset(); 427 file.reset();
426 428
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
472 TEST_F(SafeBrowsingStoreFileTest, CheckValidityPayload) { 474 TEST_F(SafeBrowsingStoreFileTest, CheckValidityPayload) {
473 PopulateStore(base::Time::Now()); 475 PopulateStore(base::Time::Now());
474 EXPECT_TRUE(base::PathExists(filename_)); 476 EXPECT_TRUE(base::PathExists(filename_));
475 477
476 // 37 is the most random prime number. It's also past the header, 478 // 37 is the most random prime number. It's also past the header,
477 // as corrupting the header would fail BeginUpdate() in which case 479 // as corrupting the header would fail BeginUpdate() in which case
478 // CheckValidity() cannot be called. 480 // CheckValidity() cannot be called.
479 const size_t kOffset = 37; 481 const size_t kOffset = 37;
480 482
481 { 483 {
482 file_util::ScopedFILE file(base::OpenFile(filename_, "rb+")); 484 base::ScopedFILE file(base::OpenFile(filename_, "rb+"));
483 EXPECT_EQ(0, fseek(file.get(), kOffset, SEEK_SET)); 485 EXPECT_EQ(0, fseek(file.get(), kOffset, SEEK_SET));
484 EXPECT_GE(fputs("hello", file.get()), 0); 486 EXPECT_GE(fputs("hello", file.get()), 0);
485 } 487 }
486 ASSERT_TRUE(store_->BeginUpdate()); 488 ASSERT_TRUE(store_->BeginUpdate());
487 EXPECT_FALSE(corruption_detected_); 489 EXPECT_FALSE(corruption_detected_);
488 EXPECT_FALSE(store_->CheckValidity()); 490 EXPECT_FALSE(store_->CheckValidity());
489 EXPECT_TRUE(corruption_detected_); 491 EXPECT_TRUE(corruption_detected_);
490 EXPECT_TRUE(store_->CancelUpdate()); 492 EXPECT_TRUE(store_->CancelUpdate());
491 } 493 }
492 494
493 // Corrupt the checksum. 495 // Corrupt the checksum.
494 TEST_F(SafeBrowsingStoreFileTest, CheckValidityChecksum) { 496 TEST_F(SafeBrowsingStoreFileTest, CheckValidityChecksum) {
495 PopulateStore(base::Time::Now()); 497 PopulateStore(base::Time::Now());
496 EXPECT_TRUE(base::PathExists(filename_)); 498 EXPECT_TRUE(base::PathExists(filename_));
497 499
498 // An offset from the end of the file which is in the checksum. 500 // An offset from the end of the file which is in the checksum.
499 const int kOffset = -static_cast<int>(sizeof(base::MD5Digest)); 501 const int kOffset = -static_cast<int>(sizeof(base::MD5Digest));
500 502
501 { 503 {
502 file_util::ScopedFILE file(base::OpenFile(filename_, "rb+")); 504 base::ScopedFILE file(base::OpenFile(filename_, "rb+"));
503 EXPECT_EQ(0, fseek(file.get(), kOffset, SEEK_END)); 505 EXPECT_EQ(0, fseek(file.get(), kOffset, SEEK_END));
504 EXPECT_GE(fputs("hello", file.get()), 0); 506 EXPECT_GE(fputs("hello", file.get()), 0);
505 } 507 }
506 ASSERT_TRUE(store_->BeginUpdate()); 508 ASSERT_TRUE(store_->BeginUpdate());
507 EXPECT_FALSE(corruption_detected_); 509 EXPECT_FALSE(corruption_detected_);
508 EXPECT_FALSE(store_->CheckValidity()); 510 EXPECT_FALSE(store_->CheckValidity());
509 EXPECT_TRUE(corruption_detected_); 511 EXPECT_TRUE(corruption_detected_);
510 EXPECT_TRUE(store_->CancelUpdate()); 512 EXPECT_TRUE(store_->CancelUpdate());
511 } 513 }
512 514
513 } // namespace 515 } // namespace
OLDNEW
« no previous file with comments | « chrome/browser/safe_browsing/safe_browsing_store_file.cc ('k') | components/visitedlink/browser/visitedlink_master.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698