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

Side by Side Diff: base/trace_event/heap_profiler_allocation_register_unittest.cc

Issue 1891543003: [tracing] Turn StackFrame into struct. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 8 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 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 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 "base/trace_event/heap_profiler_allocation_register.h" 5 #include "base/trace_event/heap_profiler_allocation_register.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include "base/process/process_metrics.h" 10 #include "base/process/process_metrics.h"
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 reg.Remove(reinterpret_cast<void*>(4)); // Remove never inserted address. 100 reg.Remove(reinterpret_cast<void*>(4)); // Remove never inserted address.
101 101
102 EXPECT_EQ(2u, OrAllAddresses(reg)); 102 EXPECT_EQ(2u, OrAllAddresses(reg));
103 } 103 }
104 104
105 TEST_F(AllocationRegisterTest, DoubleInsertOverwrites) { 105 TEST_F(AllocationRegisterTest, DoubleInsertOverwrites) {
106 // TODO(ruuda): Although double insert happens in practice, it should not. 106 // TODO(ruuda): Although double insert happens in practice, it should not.
107 // Find out the cause and ban double insert if possible. 107 // Find out the cause and ban double insert if possible.
108 AllocationRegister reg; 108 AllocationRegister reg;
109 AllocationContext ctx = AllocationContext::Empty(); 109 AllocationContext ctx = AllocationContext::Empty();
110 StackFrame frame1 = "Foo"; 110 StackFrame frame1 = StackFrame::FromTraceEventName("Foo");
111 StackFrame frame2 = "Bar"; 111 StackFrame frame2 = StackFrame::FromTraceEventName("Bar");
112
113 ctx.backtrace.frame_count = 1;
112 114
113 ctx.backtrace.frames[0] = frame1; 115 ctx.backtrace.frames[0] = frame1;
114 reg.Insert(reinterpret_cast<void*>(1), 11, ctx); 116 reg.Insert(reinterpret_cast<void*>(1), 11, ctx);
115 117
116 { 118 {
117 AllocationRegister::Allocation elem = *reg.begin(); 119 AllocationRegister::Allocation elem = *reg.begin();
118 120
119 EXPECT_EQ(frame1, elem.context.backtrace.frames[0]); 121 EXPECT_EQ(frame1, elem.context.backtrace.frames[0]);
120 EXPECT_EQ(11u, elem.size); 122 EXPECT_EQ(11u, elem.size);
121 EXPECT_EQ(reinterpret_cast<void*>(1), elem.address); 123 EXPECT_EQ(reinterpret_cast<void*>(1), elem.address);
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
280 const size_t cells_per_page = GetNumCellsPerPage(); 282 const size_t cells_per_page = GetNumCellsPerPage();
281 283
282 ASSERT_DEATH(for (size_t j = 0; j < cells_per_page; j++) { 284 ASSERT_DEATH(for (size_t j = 0; j < cells_per_page; j++) {
283 reg.Insert(reinterpret_cast<void*>(i + j), 1, ctx); 285 reg.Insert(reinterpret_cast<void*>(i + j), 1, ctx);
284 }, ""); 286 }, "");
285 } 287 }
286 #endif 288 #endif
287 289
288 } // namespace trace_event 290 } // namespace trace_event
289 } // namespace base 291 } // namespace base
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698