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

Side by Side Diff: content/browser/appcache/appcache_database_unittest.cc

Issue 1498003003: Remove kint64max. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: INT64_MAX Created 5 years 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <limits>
6
5 #include "base/bind.h" 7 #include "base/bind.h"
6 #include "base/files/file_util.h" 8 #include "base/files/file_util.h"
7 #include "base/files/scoped_temp_dir.h" 9 #include "base/files/scoped_temp_dir.h"
8 #include "base/strings/stringprintf.h" 10 #include "base/strings/stringprintf.h"
9 #include "content/browser/appcache/appcache_database.h" 11 #include "content/browser/appcache/appcache_database.h"
10 #include "content/browser/appcache/appcache_entry.h" 12 #include "content/browser/appcache/appcache_entry.h"
11 #include "sql/connection.h" 13 #include "sql/connection.h"
12 #include "sql/meta_table.h" 14 #include "sql/meta_table.h"
13 #include "sql/statement.h" 15 #include "sql/statement.h"
14 #include "sql/test/scoped_error_ignorer.h" 16 #include "sql/test/scoped_error_ignorer.h"
(...skipping 13 matching lines...) Expand all
28 class AppCacheDatabaseTest {}; 30 class AppCacheDatabaseTest {};
29 31
30 TEST(AppCacheDatabaseTest, LazyOpen) { 32 TEST(AppCacheDatabaseTest, LazyOpen) {
31 // Use an empty file path to use an in-memory sqlite database. 33 // Use an empty file path to use an in-memory sqlite database.
32 const base::FilePath kEmptyPath; 34 const base::FilePath kEmptyPath;
33 AppCacheDatabase db(kEmptyPath); 35 AppCacheDatabase db(kEmptyPath);
34 36
35 EXPECT_FALSE(db.LazyOpen(false)); 37 EXPECT_FALSE(db.LazyOpen(false));
36 EXPECT_TRUE(db.LazyOpen(true)); 38 EXPECT_TRUE(db.LazyOpen(true));
37 39
38 int64 group_id, cache_id, response_id, deleteable_response_rowid; 40 int64_t group_id, cache_id, response_id, deleteable_response_rowid;
39 group_id = cache_id = response_id = deleteable_response_rowid = 0; 41 group_id = cache_id = response_id = deleteable_response_rowid = 0;
40 EXPECT_TRUE(db.FindLastStorageIds(&group_id, &cache_id, &response_id, 42 EXPECT_TRUE(db.FindLastStorageIds(&group_id, &cache_id, &response_id,
41 &deleteable_response_rowid)); 43 &deleteable_response_rowid));
42 EXPECT_EQ(0, group_id); 44 EXPECT_EQ(0, group_id);
43 EXPECT_EQ(0, cache_id); 45 EXPECT_EQ(0, cache_id);
44 EXPECT_EQ(0, response_id); 46 EXPECT_EQ(0, response_id);
45 EXPECT_EQ(0, deleteable_response_rowid); 47 EXPECT_EQ(0, deleteable_response_rowid);
46 48
47 std::set<GURL> origins; 49 std::set<GURL> origins;
48 EXPECT_TRUE(db.FindOriginsWithGroups(&origins)); 50 EXPECT_TRUE(db.FindOriginsWithGroups(&origins));
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 EXPECT_TRUE(base::PathExists(kDbFile)); 130 EXPECT_TRUE(base::PathExists(kDbFile));
129 EXPECT_FALSE(db.was_corruption_detected()); 131 EXPECT_FALSE(db.was_corruption_detected());
130 132
131 // Break it. 133 // Break it.
132 ASSERT_TRUE(sql::test::CorruptSizeInHeader(kDbFile)); 134 ASSERT_TRUE(sql::test::CorruptSizeInHeader(kDbFile));
133 135
134 // See the the corruption is detected and reported. 136 // See the the corruption is detected and reported.
135 { 137 {
136 sql::ScopedErrorIgnorer ignore_errors; 138 sql::ScopedErrorIgnorer ignore_errors;
137 ignore_errors.IgnoreError(SQLITE_CORRUPT); 139 ignore_errors.IgnoreError(SQLITE_CORRUPT);
138 std::map<GURL, int64> usage_map; 140 std::map<GURL, int64_t> usage_map;
139 EXPECT_FALSE(db.GetAllOriginUsage(&usage_map)); 141 EXPECT_FALSE(db.GetAllOriginUsage(&usage_map));
140 EXPECT_TRUE(db.was_corruption_detected()); 142 EXPECT_TRUE(db.was_corruption_detected());
141 EXPECT_TRUE(base::PathExists(kDbFile)); 143 EXPECT_TRUE(base::PathExists(kDbFile));
142 EXPECT_TRUE(ignore_errors.CheckIgnoredErrors()); 144 EXPECT_TRUE(ignore_errors.CheckIgnoredErrors());
143 } 145 }
144 } 146 }
145 147
146 TEST(AppCacheDatabaseTest, ExperimentalFlags) { 148 TEST(AppCacheDatabaseTest, ExperimentalFlags) {
147 const char kExperimentFlagsKey[] = "ExperimentFlags"; 149 const char kExperimentFlagsKey[] = "ExperimentFlags";
148 std::string kInjectedFlags("exp1,exp2"); 150 std::string kInjectedFlags("exp1,exp2");
(...skipping 524 matching lines...) Expand 10 before | Expand all | Expand 10 after
673 675
674 TEST(AppCacheDatabaseTest, DeletableResponseIds) { 676 TEST(AppCacheDatabaseTest, DeletableResponseIds) {
675 const base::FilePath kEmptyPath; 677 const base::FilePath kEmptyPath;
676 AppCacheDatabase db(kEmptyPath); 678 AppCacheDatabase db(kEmptyPath);
677 EXPECT_TRUE(db.LazyOpen(true)); 679 EXPECT_TRUE(db.LazyOpen(true));
678 680
679 sql::ScopedErrorIgnorer ignore_errors; 681 sql::ScopedErrorIgnorer ignore_errors;
680 // TODO(shess): See EntryRecords test. 682 // TODO(shess): See EntryRecords test.
681 ignore_errors.IgnoreError(SQLITE_CONSTRAINT); 683 ignore_errors.IgnoreError(SQLITE_CONSTRAINT);
682 684
683 std::vector<int64> ids; 685 std::vector<int64_t> ids;
684 686
685 EXPECT_TRUE(db.GetDeletableResponseIds(&ids, kint64max, 100)); 687 EXPECT_TRUE(db.GetDeletableResponseIds(
688 &ids, std::numeric_limits<int64_t>::max(), 100));
686 EXPECT_TRUE(ids.empty()); 689 EXPECT_TRUE(ids.empty());
687 ids.push_back(0); 690 ids.push_back(0);
688 EXPECT_TRUE(db.DeleteDeletableResponseIds(ids)); 691 EXPECT_TRUE(db.DeleteDeletableResponseIds(ids));
689 EXPECT_TRUE(db.InsertDeletableResponseIds(ids)); 692 EXPECT_TRUE(db.InsertDeletableResponseIds(ids));
690 693
691 ids.clear(); 694 ids.clear();
692 EXPECT_TRUE(db.GetDeletableResponseIds(&ids, kint64max, 100)); 695 EXPECT_TRUE(db.GetDeletableResponseIds(
696 &ids, std::numeric_limits<int64_t>::max(), 100));
693 EXPECT_EQ(1U, ids.size()); 697 EXPECT_EQ(1U, ids.size());
694 EXPECT_EQ(0, ids[0]); 698 EXPECT_EQ(0, ids[0]);
695 699
696 int64 unused, deleteable_response_rowid; 700 int64_t unused, deleteable_response_rowid;
697 unused = deleteable_response_rowid = 0; 701 unused = deleteable_response_rowid = 0;
698 EXPECT_TRUE(db.FindLastStorageIds(&unused, &unused, &unused, 702 EXPECT_TRUE(db.FindLastStorageIds(&unused, &unused, &unused,
699 &deleteable_response_rowid)); 703 &deleteable_response_rowid));
700 EXPECT_EQ(1, deleteable_response_rowid); 704 EXPECT_EQ(1, deleteable_response_rowid);
701 705
702 706
703 // Expected to fail due to the duplicate id, 0 is already in the table. 707 // Expected to fail due to the duplicate id, 0 is already in the table.
704 ids.clear(); 708 ids.clear();
705 ids.push_back(0); 709 ids.push_back(0);
706 ids.push_back(1); 710 ids.push_back(1);
707 EXPECT_FALSE(db.InsertDeletableResponseIds(ids)); 711 EXPECT_FALSE(db.InsertDeletableResponseIds(ids));
708 712
709 ids.clear(); 713 ids.clear();
710 for (int i = 1; i < 10; ++i) 714 for (int i = 1; i < 10; ++i)
711 ids.push_back(i); 715 ids.push_back(i);
712 EXPECT_TRUE(db.InsertDeletableResponseIds(ids)); 716 EXPECT_TRUE(db.InsertDeletableResponseIds(ids));
713 EXPECT_TRUE(db.FindLastStorageIds(&unused, &unused, &unused, 717 EXPECT_TRUE(db.FindLastStorageIds(&unused, &unused, &unused,
714 &deleteable_response_rowid)); 718 &deleteable_response_rowid));
715 EXPECT_EQ(10, deleteable_response_rowid); 719 EXPECT_EQ(10, deleteable_response_rowid);
716 720
717 ids.clear(); 721 ids.clear();
718 EXPECT_TRUE(db.GetDeletableResponseIds(&ids, kint64max, 100)); 722 EXPECT_TRUE(db.GetDeletableResponseIds(
723 &ids, std::numeric_limits<int64_t>::max(), 100));
719 EXPECT_EQ(10U, ids.size()); 724 EXPECT_EQ(10U, ids.size());
720 for (int i = 0; i < 10; ++i) 725 for (int i = 0; i < 10; ++i)
721 EXPECT_EQ(i, ids[i]); 726 EXPECT_EQ(i, ids[i]);
722 727
723 // Ensure the limit is respected. 728 // Ensure the limit is respected.
724 ids.clear(); 729 ids.clear();
725 EXPECT_TRUE(db.GetDeletableResponseIds(&ids, kint64max, 5)); 730 EXPECT_TRUE(
731 db.GetDeletableResponseIds(&ids, std::numeric_limits<int64_t>::max(), 5));
726 EXPECT_EQ(5U, ids.size()); 732 EXPECT_EQ(5U, ids.size());
727 for (int i = 0; i < static_cast<int>(ids.size()); ++i) 733 for (int i = 0; i < static_cast<int>(ids.size()); ++i)
728 EXPECT_EQ(i, ids[i]); 734 EXPECT_EQ(i, ids[i]);
729 735
730 // Ensure the max_rowid is respected (the first rowid is 1). 736 // Ensure the max_rowid is respected (the first rowid is 1).
731 ids.clear(); 737 ids.clear();
732 EXPECT_TRUE(db.GetDeletableResponseIds(&ids, 5, 100)); 738 EXPECT_TRUE(db.GetDeletableResponseIds(&ids, 5, 100));
733 EXPECT_EQ(5U, ids.size()); 739 EXPECT_EQ(5U, ids.size());
734 for (int i = 0; i < static_cast<int>(ids.size()); ++i) 740 for (int i = 0; i < static_cast<int>(ids.size()); ++i)
735 EXPECT_EQ(i, ids[i]); 741 EXPECT_EQ(i, ids[i]);
736 742
737 // Ensure that we can delete from the table. 743 // Ensure that we can delete from the table.
738 EXPECT_TRUE(db.DeleteDeletableResponseIds(ids)); 744 EXPECT_TRUE(db.DeleteDeletableResponseIds(ids));
739 ids.clear(); 745 ids.clear();
740 EXPECT_TRUE(db.GetDeletableResponseIds(&ids, kint64max, 100)); 746 EXPECT_TRUE(db.GetDeletableResponseIds(
747 &ids, std::numeric_limits<int64_t>::max(), 100));
741 EXPECT_EQ(5U, ids.size()); 748 EXPECT_EQ(5U, ids.size());
742 for (int i = 0; i < static_cast<int>(ids.size()); ++i) 749 for (int i = 0; i < static_cast<int>(ids.size()); ++i)
743 EXPECT_EQ(i + 5, ids[i]); 750 EXPECT_EQ(i + 5, ids[i]);
744 751
745 ASSERT_TRUE(ignore_errors.CheckIgnoredErrors()); 752 ASSERT_TRUE(ignore_errors.CheckIgnoredErrors());
746 } 753 }
747 754
748 TEST(AppCacheDatabaseTest, OriginUsage) { 755 TEST(AppCacheDatabaseTest, OriginUsage) {
749 const GURL kManifestUrl("http://blah/manifest"); 756 const GURL kManifestUrl("http://blah/manifest");
750 const GURL kManifestUrl2("http://blah/manifest2"); 757 const GURL kManifestUrl2("http://blah/manifest2");
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
801 EXPECT_TRUE(db.InsertCache(&cache_record)); 808 EXPECT_TRUE(db.InsertCache(&cache_record));
802 809
803 EXPECT_EQ(5000, db.GetOriginUsage(kOtherOrigin)); 810 EXPECT_EQ(5000, db.GetOriginUsage(kOtherOrigin));
804 811
805 EXPECT_TRUE(db.FindCachesForOrigin(kOrigin, &cache_records)); 812 EXPECT_TRUE(db.FindCachesForOrigin(kOrigin, &cache_records));
806 EXPECT_EQ(2U, cache_records.size()); 813 EXPECT_EQ(2U, cache_records.size());
807 cache_records.clear(); 814 cache_records.clear();
808 EXPECT_TRUE(db.FindCachesForOrigin(kOtherOrigin, &cache_records)); 815 EXPECT_TRUE(db.FindCachesForOrigin(kOtherOrigin, &cache_records));
809 EXPECT_EQ(1U, cache_records.size()); 816 EXPECT_EQ(1U, cache_records.size());
810 817
811 std::map<GURL, int64> usage_map; 818 std::map<GURL, int64_t> usage_map;
812 EXPECT_TRUE(db.GetAllOriginUsage(&usage_map)); 819 EXPECT_TRUE(db.GetAllOriginUsage(&usage_map));
813 EXPECT_EQ(2U, usage_map.size()); 820 EXPECT_EQ(2U, usage_map.size());
814 EXPECT_EQ(1100, usage_map[kOrigin]); 821 EXPECT_EQ(1100, usage_map[kOrigin]);
815 EXPECT_EQ(5000, usage_map[kOtherOrigin]); 822 EXPECT_EQ(5000, usage_map[kOtherOrigin]);
816 } 823 }
817 824
818 #if defined(APPCACHE_USE_SIMPLE_CACHE) 825 #if defined(APPCACHE_USE_SIMPLE_CACHE)
819 // There is no such upgrade path in this case. 826 // There is no such upgrade path in this case.
820 #else 827 #else
821 TEST(AppCacheDatabaseTest, UpgradeSchema4to7) { 828 TEST(AppCacheDatabaseTest, UpgradeSchema4to7) {
(...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after
1286 AppCacheDatabase::GroupRecord group; 1293 AppCacheDatabase::GroupRecord group;
1287 EXPECT_TRUE(db.FindGroup(1, &group)); 1294 EXPECT_TRUE(db.FindGroup(1, &group));
1288 EXPECT_EQ(kMockTime, group.last_full_update_check_time); 1295 EXPECT_EQ(kMockTime, group.last_full_update_check_time);
1289 EXPECT_EQ(kZeroTime, group.first_evictable_error_time); 1296 EXPECT_EQ(kZeroTime, group.first_evictable_error_time);
1290 EXPECT_TRUE(db.FindGroup(2, &group)); 1297 EXPECT_TRUE(db.FindGroup(2, &group));
1291 EXPECT_EQ(kZeroTime, group.last_full_update_check_time); 1298 EXPECT_EQ(kZeroTime, group.last_full_update_check_time);
1292 EXPECT_EQ(kZeroTime, group.first_evictable_error_time); 1299 EXPECT_EQ(kZeroTime, group.first_evictable_error_time);
1293 } 1300 }
1294 1301
1295 } // namespace content 1302 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/appcache/appcache_database.cc ('k') | content/browser/appcache/appcache_storage.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698