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

Unified Diff: net/http/http_cache_unittest.cc

Issue 2661333002: Track SimpleCache memory usage in net/ MemoryDumpProvider (Closed)
Patch Set: Address comments Created 3 years, 10 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
Index: net/http/http_cache_unittest.cc
diff --git a/net/http/http_cache_unittest.cc b/net/http/http_cache_unittest.cc
index 635c15ca98b101b35f2087019bb9f5f31303ac18..92d9d75a85e6e6fb2e2953abc4f37284a5f2c11b 100644
--- a/net/http/http_cache_unittest.cc
+++ b/net/http/http_cache_unittest.cc
@@ -21,6 +21,8 @@
#include "base/strings/string_util.h"
#include "base/strings/stringprintf.h"
#include "base/test/simple_test_clock.h"
+#include "base/trace_event/memory_allocator_dump.h"
+#include "base/trace_event/process_memory_dump.h"
#include "net/base/cache_type.h"
#include "net/base/elements_upload_data_stream.h"
#include "net/base/host_port_pair.h"
@@ -8328,4 +8330,41 @@ TEST(HttpCache, CacheEntryStatusCantConditionalize) {
response_info.cache_entry_status);
}
+// Basic test to make sure HttpCache::DumpMemoryStats doesn't crash.
+TEST(HttpCache, DumpMemoryStats) {
+ MockHttpCache cache;
+ cache.FailConditionalizations();
+ RunTransactionTest(cache.http_cache(), kTypicalGET_Transaction);
+
+ HttpResponseInfo response_info;
+ RunTransactionTestWithResponseInfo(cache.http_cache(),
+ kTypicalGET_Transaction, &response_info);
+
+ EXPECT_FALSE(response_info.was_cached);
+ EXPECT_TRUE(response_info.network_accessed);
+ EXPECT_EQ(CacheEntryStatus::ENTRY_CANT_CONDITIONALIZE,
+ response_info.cache_entry_status);
+
+ base::trace_event::MemoryDumpArgs dump_args = {
+ base::trace_event::MemoryDumpLevelOfDetail::DETAILED};
+ std::unique_ptr<base::trace_event::ProcessMemoryDump> process_memory_dump(
+ new base::trace_event::ProcessMemoryDump(nullptr, dump_args));
+ base::trace_event::MemoryAllocatorDump* parent_dump =
+ process_memory_dump->CreateAllocatorDump("parent");
+ cache.http_cache()->DumpMemoryStats(process_memory_dump.get(),
+ parent_dump->absolute_name());
+
+ // Whether HttpCache::DumpMemoryStats() is invoked.
+ bool did_dump = false;
+ const base::trace_event::ProcessMemoryDump::AllocatorDumpsMap&
+ allocator_dumps = process_memory_dump->allocator_dumps();
+ for (const auto& pair : allocator_dumps) {
+ const std::string& dump_name = pair.first;
+ if (dump_name.find("http_cache") == std::string::npos)
+ continue;
+ did_dump = true;
+ }
+ EXPECT_TRUE(did_dump);
+}
+
} // namespace net

Powered by Google App Engine
This is Rietveld 408576698