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

Unified Diff: net/disk_cache/backend_unittest.cc

Issue 2626173003: Calculate the size of all cache entries between two points in time. (Closed)
Patch Set: revert cache_storage_cache_unittest.cc Created 3 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | net/disk_cache/cache_creator.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/disk_cache/backend_unittest.cc
diff --git a/net/disk_cache/backend_unittest.cc b/net/disk_cache/backend_unittest.cc
index e92dd9b2f59ce8d07ee293ce6e536c16402ec1ce..2f401c8cfcbdea79b56826fce07108a5d9ea1f12 100644
--- a/net/disk_cache/backend_unittest.cc
+++ b/net/disk_cache/backend_unittest.cc
@@ -126,6 +126,7 @@ class DiskCacheBackendTest : public DiskCacheTestWithCache {
void BackendDoomRecent();
void BackendDoomBetween();
void BackendCalculateSizeOfAllEntries();
+ void BackendCalculateSizeOfEntriesBetween();
void BackendTransaction(const std::string& name, int num_entries, bool load);
void BackendRecoverInsert();
void BackendRecoverRemove();
@@ -1872,6 +1873,70 @@ TEST_F(DiskCacheBackendTest, SimpleCacheCalculateSizeOfAllEntries) {
BackendCalculateSizeOfAllEntries();
}
+void DiskCacheBackendTest::BackendCalculateSizeOfEntriesBetween() {
+ InitCache();
+
+ EXPECT_EQ(0, CalculateSizeOfEntriesBetween(base::Time(), base::Time::Max()));
+
+ Time start = Time::Now();
+
+ disk_cache::Entry* entry;
+ ASSERT_THAT(CreateEntry("first", &entry), IsOk());
+ entry->Close();
+ FlushQueueForTest();
+
+ AddDelay();
+ Time middle = Time::Now();
+ AddDelay();
+
+ ASSERT_THAT(CreateEntry("second", &entry), IsOk());
+ entry->Close();
+ ASSERT_THAT(CreateEntry("third_entry", &entry), IsOk());
+ entry->Close();
+ FlushQueueForTest();
+
+ AddDelay();
+ Time end = Time::Now();
+
+ int size_1 = GetEntryMetadataSize("first");
+ int size_2 = GetEntryMetadataSize("second");
+ int size_3 = GetEntryMetadataSize("third_entry");
+
+ ASSERT_EQ(3, cache_->GetEntryCount());
+ ASSERT_EQ(CalculateSizeOfAllEntries(),
+ CalculateSizeOfEntriesBetween(base::Time(), base::Time::Max()));
+
+ int start_end = CalculateSizeOfEntriesBetween(start, end);
+ ASSERT_EQ(CalculateSizeOfAllEntries(), start_end);
+ ASSERT_EQ(size_1 + size_2 + size_3, start_end);
+
+ ASSERT_EQ(size_1, CalculateSizeOfEntriesBetween(start, middle));
+ ASSERT_EQ(size_2 + size_3, CalculateSizeOfEntriesBetween(middle, end));
+
+ // After dooming the entries, the size should be back to zero.
+ ASSERT_THAT(DoomAllEntries(), IsOk());
+ EXPECT_EQ(0, CalculateSizeOfEntriesBetween(base::Time(), base::Time::Max()));
+}
+
+TEST_F(DiskCacheBackendTest, CalculateSizeOfEntriesBetween) {
+ InitCache();
+ ASSERT_EQ(net::ERR_NOT_IMPLEMENTED,
+ CalculateSizeOfEntriesBetween(base::Time(), base::Time::Max()));
+}
+
+TEST_F(DiskCacheBackendTest, MemoryOnlyCalculateSizeOfEntriesBetween) {
+ SetMemoryOnlyMode();
+ BackendCalculateSizeOfEntriesBetween();
+}
+
+TEST_F(DiskCacheBackendTest, SimpleCacheCalculateSizeOfEntriesBetween) {
+ // Use net::APP_CACHE to make size estimations deterministic via
+ // non-optimistic writes.
+ SetCacheType(net::APP_CACHE);
+ SetSimpleCacheMode();
+ BackendCalculateSizeOfEntriesBetween();
+}
+
void DiskCacheBackendTest::BackendTransaction(const std::string& name,
int num_entries, bool load) {
success_ = false;
« no previous file with comments | « no previous file | net/disk_cache/cache_creator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698