| Index: components/tracing/core/trace_ring_buffer_unittest.cc
|
| diff --git a/components/tracing/core/trace_ring_buffer_unittest.cc b/components/tracing/core/trace_ring_buffer_unittest.cc
|
| index 0738f82516dbdbb12e464f255e26fd1aa3465825..0881635beca1d9fdf274e8f9d5f5d1fab3534377 100644
|
| --- a/components/tracing/core/trace_ring_buffer_unittest.cc
|
| +++ b/components/tracing/core/trace_ring_buffer_unittest.cc
|
| @@ -26,14 +26,16 @@ TEST(TraceRingBufferTest, BasicChunkWrapping) {
|
| uint8_t* last_chunk_end = nullptr;
|
| // Fill the buffer twice to test wrapping logic.
|
| for (uint32_t i = 0; i < kNumChunks * 2; ++i) {
|
| - TraceRingBuffer::Chunk* chunk = ring_buffer.TakeChunk();
|
| + TraceRingBuffer::Chunk* chunk = ring_buffer.TakeChunk(42 /* owner */);
|
| ASSERT_NE(nullptr, chunk);
|
| + EXPECT_EQ(42u, chunk->owner());
|
| const uint32_t chunk_idx = i % kNumChunks;
|
| EXPECT_EQ(chunk_idx == 0 ? storage.get() : last_chunk_end, chunk->begin());
|
| const uint32_t kPayloadSize = (chunk_idx + 1) * 8;
|
| memset(chunk->payload(), static_cast<int>(chunk_idx + 1), kPayloadSize);
|
| last_chunk_end = chunk->end();
|
| - ring_buffer.ReturnChunk(chunk, /* used_size = */ kPayloadSize);
|
| + chunk->set_used_size(kPayloadSize);
|
| + ring_buffer.ReturnChunk(chunk);
|
| }
|
|
|
| // Now scrape the |storage| buffer and check its contents.
|
| @@ -52,14 +54,14 @@ TEST(TraceRingBufferTest, ChunkBankrupcyDoesNotCrash) {
|
| std::unique_ptr<uint8_t[]> storage(new uint8_t[kBufferSize]);
|
| TraceRingBuffer ring_buffer(storage.get(), kBufferSize);
|
|
|
| - TraceRingBuffer::Chunk* chunk1 = ring_buffer.TakeChunk();
|
| + TraceRingBuffer::Chunk* chunk1 = ring_buffer.TakeChunk(1);
|
| ASSERT_NE(nullptr, chunk1);
|
|
|
| - TraceRingBuffer::Chunk* chunk2 = ring_buffer.TakeChunk();
|
| + TraceRingBuffer::Chunk* chunk2 = ring_buffer.TakeChunk(1);
|
| ASSERT_NE(nullptr, chunk2);
|
|
|
| for (int i = 0; i < 3; ++i) {
|
| - TraceRingBuffer::Chunk* bankrupcy_chunk = ring_buffer.TakeChunk();
|
| + TraceRingBuffer::Chunk* bankrupcy_chunk = ring_buffer.TakeChunk(1);
|
| ASSERT_NE(nullptr, bankrupcy_chunk);
|
| ASSERT_FALSE(overlap(bankrupcy_chunk->begin(), bankrupcy_chunk->end(),
|
| storage.get(), storage.get() + kBufferSize));
|
| @@ -69,8 +71,9 @@ TEST(TraceRingBufferTest, ChunkBankrupcyDoesNotCrash) {
|
| }
|
|
|
| // Return a chunk and check that the ring buffer is not bankrupt anymore.
|
| - ring_buffer.ReturnChunk(chunk2, 42);
|
| - TraceRingBuffer::Chunk* chunk = ring_buffer.TakeChunk();
|
| + chunk2->set_used_size(42);
|
| + ring_buffer.ReturnChunk(chunk2);
|
| + TraceRingBuffer::Chunk* chunk = ring_buffer.TakeChunk(1);
|
| ASSERT_NE(nullptr, chunk);
|
| ASSERT_TRUE(overlap(chunk->begin(), chunk->end(), storage.get(),
|
| storage.get() + kBufferSize));
|
|
|