Add ICU message format support
[chromium-blink-merge.git] / base / trace_event / process_memory_totals_dump_provider_unittest.cc
blobf32a322cc3aedd031e9fd948049ae2a56a9d7268
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "base/trace_event/process_memory_totals_dump_provider.h"
7 #include "base/trace_event/process_memory_dump.h"
8 #include "base/trace_event/process_memory_totals.h"
9 #include "testing/gtest/include/gtest/gtest.h"
11 namespace base {
12 namespace trace_event {
14 TEST(ProcessMemoryTotalsDumpProviderTest, DumpRSS) {
15 const MemoryDumpArgs high_detail_args = {
16 MemoryDumpArgs::LEVEL_OF_DETAIL_HIGH};
17 auto pmtdp = ProcessMemoryTotalsDumpProvider::GetInstance();
18 scoped_ptr<ProcessMemoryDump> pmd_before(new ProcessMemoryDump(nullptr));
19 scoped_ptr<ProcessMemoryDump> pmd_after(new ProcessMemoryDump(nullptr));
21 ProcessMemoryTotalsDumpProvider::rss_bytes_for_testing = 1024;
22 pmtdp->OnMemoryDump(high_detail_args, pmd_before.get());
24 // Pretend that the RSS of the process increased of +1M.
25 const size_t kAllocSize = 1048576;
26 ProcessMemoryTotalsDumpProvider::rss_bytes_for_testing += kAllocSize;
28 pmtdp->OnMemoryDump(high_detail_args, pmd_after.get());
30 ProcessMemoryTotalsDumpProvider::rss_bytes_for_testing = 0;
32 ASSERT_TRUE(pmd_before->has_process_totals());
33 ASSERT_TRUE(pmd_after->has_process_totals());
35 const uint64 rss_before = pmd_before->process_totals()->resident_set_bytes();
36 const uint64 rss_after = pmd_after->process_totals()->resident_set_bytes();
38 EXPECT_NE(0U, rss_before);
39 EXPECT_NE(0U, rss_after);
41 EXPECT_EQ(rss_after - rss_before, kAllocSize);
44 } // namespace trace_event
45 } // namespace base