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

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

Issue 2316043002: //content: Change ScopedTempDir::path() to GetPath() (Closed)
Patch Set: Just rebased Created 4 years, 3 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
« no previous file with comments | « no previous file | content/browser/appcache/appcache_disk_cache_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 <stdint.h> 5 #include <stdint.h>
6 6
7 #include <limits> 7 #include <limits>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/files/file_util.h" 10 #include "base/files/file_util.h"
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 51
52 std::set<GURL> origins; 52 std::set<GURL> origins;
53 EXPECT_TRUE(db.FindOriginsWithGroups(&origins)); 53 EXPECT_TRUE(db.FindOriginsWithGroups(&origins));
54 EXPECT_TRUE(origins.empty()); 54 EXPECT_TRUE(origins.empty());
55 } 55 }
56 56
57 TEST(AppCacheDatabaseTest, ReCreate) { 57 TEST(AppCacheDatabaseTest, ReCreate) {
58 // Real files on disk for this test. 58 // Real files on disk for this test.
59 base::ScopedTempDir temp_dir; 59 base::ScopedTempDir temp_dir;
60 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); 60 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
61 const base::FilePath kDbFile = temp_dir.path().AppendASCII("appcache.db"); 61 const base::FilePath kDbFile = temp_dir.GetPath().AppendASCII("appcache.db");
62 const base::FilePath kNestedDir = temp_dir.path().AppendASCII("nested"); 62 const base::FilePath kNestedDir = temp_dir.GetPath().AppendASCII("nested");
63 const base::FilePath kOtherFile = kNestedDir.AppendASCII("other_file"); 63 const base::FilePath kOtherFile = kNestedDir.AppendASCII("other_file");
64 EXPECT_TRUE(base::CreateDirectory(kNestedDir)); 64 EXPECT_TRUE(base::CreateDirectory(kNestedDir));
65 EXPECT_EQ(3, base::WriteFile(kOtherFile, "foo", 3)); 65 EXPECT_EQ(3, base::WriteFile(kOtherFile, "foo", 3));
66 66
67 AppCacheDatabase db(kDbFile); 67 AppCacheDatabase db(kDbFile);
68 EXPECT_FALSE(db.LazyOpen(false)); 68 EXPECT_FALSE(db.LazyOpen(false));
69 EXPECT_TRUE(db.LazyOpen(true)); 69 EXPECT_TRUE(db.LazyOpen(true));
70 70
71 EXPECT_TRUE(base::PathExists(kDbFile)); 71 EXPECT_TRUE(base::PathExists(kDbFile));
72 EXPECT_TRUE(base::DirectoryExists(kNestedDir)); 72 EXPECT_TRUE(base::DirectoryExists(kNestedDir));
(...skipping 10 matching lines...) Expand all
83 // Only run in release builds because sql::Connection and familiy 83 // Only run in release builds because sql::Connection and familiy
84 // crank up DLOG(FATAL)'ness and this test presents it with 84 // crank up DLOG(FATAL)'ness and this test presents it with
85 // intentionally bad data which causes debug builds to exit instead 85 // intentionally bad data which causes debug builds to exit instead
86 // of run to completion. In release builds, errors the are delivered 86 // of run to completion. In release builds, errors the are delivered
87 // to the consumer so we can test the error handling of the consumer. 87 // to the consumer so we can test the error handling of the consumer.
88 // TODO: crbug/328576 88 // TODO: crbug/328576
89 TEST(AppCacheDatabaseTest, QuickIntegrityCheck) { 89 TEST(AppCacheDatabaseTest, QuickIntegrityCheck) {
90 // Real files on disk for this test too, a corrupt database file. 90 // Real files on disk for this test too, a corrupt database file.
91 base::ScopedTempDir temp_dir; 91 base::ScopedTempDir temp_dir;
92 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); 92 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
93 base::FilePath mock_dir = temp_dir.path().AppendASCII("mock"); 93 base::FilePath mock_dir = temp_dir.GetPath().AppendASCII("mock");
94 ASSERT_TRUE(base::CreateDirectory(mock_dir)); 94 ASSERT_TRUE(base::CreateDirectory(mock_dir));
95 95
96 const base::FilePath kDbFile = mock_dir.AppendASCII("appcache.db"); 96 const base::FilePath kDbFile = mock_dir.AppendASCII("appcache.db");
97 const base::FilePath kOtherFile = mock_dir.AppendASCII("other_file"); 97 const base::FilePath kOtherFile = mock_dir.AppendASCII("other_file");
98 EXPECT_EQ(3, base::WriteFile(kOtherFile, "foo", 3)); 98 EXPECT_EQ(3, base::WriteFile(kOtherFile, "foo", 3));
99 99
100 // First create a valid db file. 100 // First create a valid db file.
101 { 101 {
102 AppCacheDatabase db(kDbFile); 102 AppCacheDatabase db(kDbFile);
103 EXPECT_TRUE(db.LazyOpen(true)); 103 EXPECT_TRUE(db.LazyOpen(true));
(...skipping 14 matching lines...) Expand all
118 EXPECT_TRUE(base::PathExists(kDbFile)); 118 EXPECT_TRUE(base::PathExists(kDbFile));
119 EXPECT_TRUE(expecter.SawExpectedErrors()); 119 EXPECT_TRUE(expecter.SawExpectedErrors());
120 } 120 }
121 } 121 }
122 #endif // NDEBUG 122 #endif // NDEBUG
123 123
124 TEST(AppCacheDatabaseTest, WasCorrutionDetected) { 124 TEST(AppCacheDatabaseTest, WasCorrutionDetected) {
125 // Real files on disk for this test too, a corrupt database file. 125 // Real files on disk for this test too, a corrupt database file.
126 base::ScopedTempDir temp_dir; 126 base::ScopedTempDir temp_dir;
127 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); 127 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
128 const base::FilePath kDbFile = temp_dir.path().AppendASCII("appcache.db"); 128 const base::FilePath kDbFile = temp_dir.GetPath().AppendASCII("appcache.db");
129 129
130 // First create a valid db file. 130 // First create a valid db file.
131 AppCacheDatabase db(kDbFile); 131 AppCacheDatabase db(kDbFile);
132 EXPECT_TRUE(db.LazyOpen(true)); 132 EXPECT_TRUE(db.LazyOpen(true));
133 EXPECT_TRUE(base::PathExists(kDbFile)); 133 EXPECT_TRUE(base::PathExists(kDbFile));
134 EXPECT_FALSE(db.was_corruption_detected()); 134 EXPECT_FALSE(db.was_corruption_detected());
135 135
136 // Break it. 136 // Break it.
137 ASSERT_TRUE(sql::test::CorruptSizeInHeader(kDbFile)); 137 ASSERT_TRUE(sql::test::CorruptSizeInHeader(kDbFile));
138 138
139 // See the the corruption is detected and reported. 139 // See the the corruption is detected and reported.
140 { 140 {
141 sql::test::ScopedErrorExpecter expecter; 141 sql::test::ScopedErrorExpecter expecter;
142 expecter.ExpectError(SQLITE_CORRUPT); 142 expecter.ExpectError(SQLITE_CORRUPT);
143 std::map<GURL, int64_t> usage_map; 143 std::map<GURL, int64_t> usage_map;
144 EXPECT_FALSE(db.GetAllOriginUsage(&usage_map)); 144 EXPECT_FALSE(db.GetAllOriginUsage(&usage_map));
145 EXPECT_TRUE(db.was_corruption_detected()); 145 EXPECT_TRUE(db.was_corruption_detected());
146 EXPECT_TRUE(base::PathExists(kDbFile)); 146 EXPECT_TRUE(base::PathExists(kDbFile));
147 EXPECT_TRUE(expecter.SawExpectedErrors()); 147 EXPECT_TRUE(expecter.SawExpectedErrors());
148 } 148 }
149 } 149 }
150 150
151 TEST(AppCacheDatabaseTest, ExperimentalFlags) { 151 TEST(AppCacheDatabaseTest, ExperimentalFlags) {
152 const char kExperimentFlagsKey[] = "ExperimentFlags"; 152 const char kExperimentFlagsKey[] = "ExperimentFlags";
153 std::string kInjectedFlags("exp1,exp2"); 153 std::string kInjectedFlags("exp1,exp2");
154 154
155 // Real files on disk for this test. 155 // Real files on disk for this test.
156 base::ScopedTempDir temp_dir; 156 base::ScopedTempDir temp_dir;
157 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); 157 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
158 const base::FilePath kDbFile = temp_dir.path().AppendASCII("appcache.db"); 158 const base::FilePath kDbFile = temp_dir.GetPath().AppendASCII("appcache.db");
159 const base::FilePath kOtherFile = temp_dir.path().AppendASCII("other_file"); 159 const base::FilePath kOtherFile =
160 temp_dir.GetPath().AppendASCII("other_file");
160 EXPECT_EQ(3, base::WriteFile(kOtherFile, "foo", 3)); 161 EXPECT_EQ(3, base::WriteFile(kOtherFile, "foo", 3));
161 EXPECT_TRUE(base::PathExists(kOtherFile)); 162 EXPECT_TRUE(base::PathExists(kOtherFile));
162 163
163 // Inject a non empty flags value, and verify it got there. 164 // Inject a non empty flags value, and verify it got there.
164 { 165 {
165 AppCacheDatabase db(kDbFile); 166 AppCacheDatabase db(kDbFile);
166 EXPECT_TRUE(db.LazyOpen(true)); 167 EXPECT_TRUE(db.LazyOpen(true));
167 EXPECT_TRUE(db.meta_table_->SetValue(kExperimentFlagsKey, kInjectedFlags)); 168 EXPECT_TRUE(db.meta_table_->SetValue(kExperimentFlagsKey, kInjectedFlags));
168 std::string flags; 169 std::string flags;
169 EXPECT_TRUE(db.meta_table_->GetValue(kExperimentFlagsKey, &flags)); 170 EXPECT_TRUE(db.meta_table_->GetValue(kExperimentFlagsKey, &flags));
(...skipping 655 matching lines...) Expand 10 before | Expand all | Expand 10 after
825 EXPECT_EQ(5000, usage_map[kOtherOrigin]); 826 EXPECT_EQ(5000, usage_map[kOtherOrigin]);
826 } 827 }
827 828
828 #if defined(APPCACHE_USE_SIMPLE_CACHE) 829 #if defined(APPCACHE_USE_SIMPLE_CACHE)
829 // There is no such upgrade path in this case. 830 // There is no such upgrade path in this case.
830 #else 831 #else
831 TEST(AppCacheDatabaseTest, UpgradeSchema4to7) { 832 TEST(AppCacheDatabaseTest, UpgradeSchema4to7) {
832 // Real file on disk for this test. 833 // Real file on disk for this test.
833 base::ScopedTempDir temp_dir; 834 base::ScopedTempDir temp_dir;
834 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); 835 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
835 const base::FilePath kDbFile = temp_dir.path().AppendASCII("upgrade4.db"); 836 const base::FilePath kDbFile = temp_dir.GetPath().AppendASCII("upgrade4.db");
836 837
837 const GURL kMockOrigin("http://mockorigin/"); 838 const GURL kMockOrigin("http://mockorigin/");
838 const char kNamespaceUrlFormat[] = "namespace%d"; 839 const char kNamespaceUrlFormat[] = "namespace%d";
839 const char kWhitelistUrlFormat[] = "whitelist%d"; 840 const char kWhitelistUrlFormat[] = "whitelist%d";
840 const char kTargetUrlFormat[] = "target%d"; 841 const char kTargetUrlFormat[] = "target%d";
841 const int kNumNamespaces = 10; 842 const int kNumNamespaces = 10;
842 const int kWhitelistCacheId = 1; 843 const int kWhitelistCacheId = 1;
843 844
844 // Create a v4 schema based database containing some fallback records. 845 // Create a v4 schema based database containing some fallback records.
845 { 846 {
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
1070 } 1071 }
1071 } 1072 }
1072 #endif // !APPCACHE_USE_SIMPLE_CACHE 1073 #endif // !APPCACHE_USE_SIMPLE_CACHE
1073 1074
1074 // Verify last_full_update_check_time and first_evictable_error_time. 1075 // Verify last_full_update_check_time and first_evictable_error_time.
1075 TEST(AppCacheDatabaseTest, UpgradeSchema5or6to7) { 1076 TEST(AppCacheDatabaseTest, UpgradeSchema5or6to7) {
1076 // Real file on disk for this test. 1077 // Real file on disk for this test.
1077 base::ScopedTempDir temp_dir; 1078 base::ScopedTempDir temp_dir;
1078 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); 1079 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
1079 const base::FilePath kDbFile = 1080 const base::FilePath kDbFile =
1080 temp_dir.path().AppendASCII("upgrade5or6to7.db"); 1081 temp_dir.GetPath().AppendASCII("upgrade5or6to7.db");
1081 1082
1082 const GURL kMockOrigin("http://mockorigin/"); 1083 const GURL kMockOrigin("http://mockorigin/");
1083 const base::Time kMockTime = base::Time::Now(); 1084 const base::Time kMockTime = base::Time::Now();
1084 1085
1085 // Create a v5or6 schema based database containing two groups, one 1086 // Create a v5or6 schema based database containing two groups, one
1086 // that has an associated cache as expected, and one which erroneously 1087 // that has an associated cache as expected, and one which erroneously
1087 // is missing its cache record. 1088 // is missing its cache record.
1088 { 1089 {
1089 // The SQL schema is the same in these two cases. 1090 // The SQL schema is the same in these two cases.
1090 #if defined(APPCACHE_USE_SIMPLE_CACHE) 1091 #if defined(APPCACHE_USE_SIMPLE_CACHE)
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
1296 AppCacheDatabase::GroupRecord group; 1297 AppCacheDatabase::GroupRecord group;
1297 EXPECT_TRUE(db.FindGroup(1, &group)); 1298 EXPECT_TRUE(db.FindGroup(1, &group));
1298 EXPECT_EQ(kMockTime, group.last_full_update_check_time); 1299 EXPECT_EQ(kMockTime, group.last_full_update_check_time);
1299 EXPECT_EQ(kZeroTime, group.first_evictable_error_time); 1300 EXPECT_EQ(kZeroTime, group.first_evictable_error_time);
1300 EXPECT_TRUE(db.FindGroup(2, &group)); 1301 EXPECT_TRUE(db.FindGroup(2, &group));
1301 EXPECT_EQ(kZeroTime, group.last_full_update_check_time); 1302 EXPECT_EQ(kZeroTime, group.last_full_update_check_time);
1302 EXPECT_EQ(kZeroTime, group.first_evictable_error_time); 1303 EXPECT_EQ(kZeroTime, group.first_evictable_error_time);
1303 } 1304 }
1304 1305
1305 } // namespace content 1306 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | content/browser/appcache/appcache_disk_cache_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698