| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/basictypes.h" | 5 #include "base/basictypes.h" |
| 6 #include "base/memory/discardable_shared_memory.h" | 6 #include "base/memory/discardable_shared_memory.h" |
| 7 #include "base/process/process_metrics.h" | 7 #include "base/process/process_metrics.h" |
| 8 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
| 9 | 9 |
| 10 namespace base { | 10 namespace base { |
| (...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 299 | 299 |
| 300 TEST(DiscardableSharedMemoryTest, MappedSize) { | 300 TEST(DiscardableSharedMemoryTest, MappedSize) { |
| 301 const uint32 kDataSize = 1024; | 301 const uint32 kDataSize = 1024; |
| 302 | 302 |
| 303 TestDiscardableSharedMemory memory; | 303 TestDiscardableSharedMemory memory; |
| 304 bool rv = memory.CreateAndMap(kDataSize); | 304 bool rv = memory.CreateAndMap(kDataSize); |
| 305 ASSERT_TRUE(rv); | 305 ASSERT_TRUE(rv); |
| 306 | 306 |
| 307 EXPECT_LE(kDataSize, memory.mapped_size()); | 307 EXPECT_LE(kDataSize, memory.mapped_size()); |
| 308 | 308 |
| 309 // Mapped size should be 0 after memory segment has been closed. | 309 // Mapped size should be 0 after memory segment has been unmapped. |
| 310 rv = memory.Unmap(); |
| 311 EXPECT_TRUE(rv); |
| 312 EXPECT_EQ(0u, memory.mapped_size()); |
| 313 } |
| 314 |
| 315 TEST(DiscardableSharedMemoryTest, Close) { |
| 316 const uint32 kDataSize = 1024; |
| 317 |
| 318 TestDiscardableSharedMemory memory; |
| 319 bool rv = memory.CreateAndMap(kDataSize); |
| 320 ASSERT_TRUE(rv); |
| 321 |
| 322 // Mapped size should be unchanged after memory segment has been closed. |
| 310 memory.Close(); | 323 memory.Close(); |
| 311 EXPECT_EQ(0u, memory.mapped_size()); | 324 EXPECT_LE(kDataSize, memory.mapped_size()); |
| 325 |
| 326 // Memory is initially locked. Unlock it. |
| 327 memory.SetNow(Time::FromDoubleT(1)); |
| 328 memory.Unlock(0, 0); |
| 329 |
| 330 // Lock and unlock memory. |
| 331 auto lock_rv = memory.Lock(0, 0); |
| 332 EXPECT_EQ(DiscardableSharedMemory::SUCCESS, lock_rv); |
| 333 memory.SetNow(Time::FromDoubleT(2)); |
| 334 memory.Unlock(0, 0); |
| 312 } | 335 } |
| 313 | 336 |
| 314 #if defined(DISCARDABLE_SHARED_MEMORY_SHRINKING) | 337 #if defined(DISCARDABLE_SHARED_MEMORY_SHRINKING) |
| 315 TEST(DiscardableSharedMemoryTest, Shrink) { | 338 TEST(DiscardableSharedMemoryTest, Shrink) { |
| 316 const uint32 kDataSize = 1024; | 339 const uint32 kDataSize = 1024; |
| 317 | 340 |
| 318 TestDiscardableSharedMemory memory; | 341 TestDiscardableSharedMemory memory; |
| 319 bool rv = memory.CreateAndMap(kDataSize); | 342 bool rv = memory.CreateAndMap(kDataSize); |
| 320 ASSERT_TRUE(rv); | 343 ASSERT_TRUE(rv); |
| 321 | 344 |
| 322 EXPECT_NE(0u, memory.mapped_size()); | 345 EXPECT_NE(0u, memory.mapped_size()); |
| 323 | 346 |
| 324 // Mapped size should be 0 after shrinking memory segment. | 347 // Mapped size should be 0 after shrinking memory segment. |
| 325 memory.Shrink(); | 348 memory.Shrink(); |
| 326 EXPECT_EQ(0u, memory.mapped_size()); | 349 EXPECT_EQ(0u, memory.mapped_size()); |
| 327 } | 350 } |
| 328 #endif | 351 #endif |
| 329 | 352 |
| 330 } // namespace | 353 } // namespace |
| 331 } // namespace base | 354 } // namespace base |
| OLD | NEW |