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

Side by Side Diff: base/memory/discardable_shared_memory_unittest.cc

Issue 1386333003: Revert of [tracing] Display the locked size of discardable memory segment. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 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 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 15 matching lines...) Expand all
26 Time now_; 26 Time now_;
27 }; 27 };
28 28
29 TEST(DiscardableSharedMemoryTest, CreateAndMap) { 29 TEST(DiscardableSharedMemoryTest, CreateAndMap) {
30 const uint32 kDataSize = 1024; 30 const uint32 kDataSize = 1024;
31 31
32 TestDiscardableSharedMemory memory; 32 TestDiscardableSharedMemory memory;
33 bool rv = memory.CreateAndMap(kDataSize); 33 bool rv = memory.CreateAndMap(kDataSize);
34 ASSERT_TRUE(rv); 34 ASSERT_TRUE(rv);
35 EXPECT_GE(memory.mapped_size(), kDataSize); 35 EXPECT_GE(memory.mapped_size(), kDataSize);
36 EXPECT_TRUE(memory.IsMemoryLocked());
37 } 36 }
38 37
39 TEST(DiscardableSharedMemoryTest, CreateFromHandle) { 38 TEST(DiscardableSharedMemoryTest, CreateFromHandle) {
40 const uint32 kDataSize = 1024; 39 const uint32 kDataSize = 1024;
41 40
42 TestDiscardableSharedMemory memory1; 41 TestDiscardableSharedMemory memory1;
43 bool rv = memory1.CreateAndMap(kDataSize); 42 bool rv = memory1.CreateAndMap(kDataSize);
44 ASSERT_TRUE(rv); 43 ASSERT_TRUE(rv);
45 44
46 SharedMemoryHandle shared_handle; 45 SharedMemoryHandle shared_handle;
47 ASSERT_TRUE( 46 ASSERT_TRUE(
48 memory1.ShareToProcess(GetCurrentProcessHandle(), &shared_handle)); 47 memory1.ShareToProcess(GetCurrentProcessHandle(), &shared_handle));
49 ASSERT_TRUE(SharedMemory::IsHandleValid(shared_handle)); 48 ASSERT_TRUE(SharedMemory::IsHandleValid(shared_handle));
50 49
51 TestDiscardableSharedMemory memory2(shared_handle); 50 TestDiscardableSharedMemory memory2(shared_handle);
52 rv = memory2.Map(kDataSize); 51 rv = memory2.Map(kDataSize);
53 ASSERT_TRUE(rv); 52 ASSERT_TRUE(rv);
54 EXPECT_TRUE(memory2.IsMemoryLocked());
55 } 53 }
56 54
57 TEST(DiscardableSharedMemoryTest, LockAndUnlock) { 55 TEST(DiscardableSharedMemoryTest, LockAndUnlock) {
58 const uint32 kDataSize = 1024; 56 const uint32 kDataSize = 1024;
59 57
60 TestDiscardableSharedMemory memory1; 58 TestDiscardableSharedMemory memory1;
61 bool rv = memory1.CreateAndMap(kDataSize); 59 bool rv = memory1.CreateAndMap(kDataSize);
62 ASSERT_TRUE(rv); 60 ASSERT_TRUE(rv);
63 61
64 // Memory is initially locked. Unlock it. 62 // Memory is initially locked. Unlock it.
65 memory1.SetNow(Time::FromDoubleT(1)); 63 memory1.SetNow(Time::FromDoubleT(1));
66 memory1.Unlock(0, 0); 64 memory1.Unlock(0, 0);
67 EXPECT_FALSE(memory1.IsMemoryLocked());
68 65
69 // Lock and unlock memory. 66 // Lock and unlock memory.
70 auto lock_rv = memory1.Lock(0, 0); 67 auto lock_rv = memory1.Lock(0, 0);
71 EXPECT_EQ(DiscardableSharedMemory::SUCCESS, lock_rv); 68 EXPECT_EQ(DiscardableSharedMemory::SUCCESS, lock_rv);
72 memory1.SetNow(Time::FromDoubleT(2)); 69 memory1.SetNow(Time::FromDoubleT(2));
73 memory1.Unlock(0, 0); 70 memory1.Unlock(0, 0);
74 71
75 // Lock again before duplicating and passing ownership to new instance. 72 // Lock again before duplicating and passing ownership to new instance.
76 lock_rv = memory1.Lock(0, 0); 73 lock_rv = memory1.Lock(0, 0);
77 EXPECT_EQ(DiscardableSharedMemory::SUCCESS, lock_rv); 74 EXPECT_EQ(DiscardableSharedMemory::SUCCESS, lock_rv);
78 EXPECT_TRUE(memory1.IsMemoryLocked());
79 75
80 SharedMemoryHandle shared_handle; 76 SharedMemoryHandle shared_handle;
81 ASSERT_TRUE( 77 ASSERT_TRUE(
82 memory1.ShareToProcess(GetCurrentProcessHandle(), &shared_handle)); 78 memory1.ShareToProcess(GetCurrentProcessHandle(), &shared_handle));
83 ASSERT_TRUE(SharedMemory::IsHandleValid(shared_handle)); 79 ASSERT_TRUE(SharedMemory::IsHandleValid(shared_handle));
84 80
85 TestDiscardableSharedMemory memory2(shared_handle); 81 TestDiscardableSharedMemory memory2(shared_handle);
86 rv = memory2.Map(kDataSize); 82 rv = memory2.Map(kDataSize);
87 ASSERT_TRUE(rv); 83 ASSERT_TRUE(rv);
88 84
89 // Unlock second instance. 85 // Unlock second instance.
90 memory2.SetNow(Time::FromDoubleT(3)); 86 memory2.SetNow(Time::FromDoubleT(3));
91 memory2.Unlock(0, 0); 87 memory2.Unlock(0, 0);
92 88
93 // Both memory instances should be unlocked now.
94 EXPECT_FALSE(memory2.IsMemoryLocked());
95 EXPECT_FALSE(memory1.IsMemoryLocked());
96
97 // Lock second instance before passing ownership back to first instance. 89 // Lock second instance before passing ownership back to first instance.
98 lock_rv = memory2.Lock(0, 0); 90 lock_rv = memory2.Lock(0, 0);
99 EXPECT_EQ(DiscardableSharedMemory::SUCCESS, lock_rv); 91 EXPECT_EQ(DiscardableSharedMemory::SUCCESS, lock_rv);
100 92
101 // Memory should still be resident and locked. 93 // Memory should still be resident.
102 rv = memory1.IsMemoryResident(); 94 rv = memory1.IsMemoryResident();
103 EXPECT_TRUE(rv); 95 EXPECT_TRUE(rv);
104 EXPECT_TRUE(memory1.IsMemoryLocked());
105 96
106 // Unlock first instance. 97 // Unlock first instance.
107 memory1.SetNow(Time::FromDoubleT(4)); 98 memory1.SetNow(Time::FromDoubleT(4));
108 memory1.Unlock(0, 0); 99 memory1.Unlock(0, 0);
109 } 100 }
110 101
111 TEST(DiscardableSharedMemoryTest, Purge) { 102 TEST(DiscardableSharedMemoryTest, Purge) {
112 const uint32 kDataSize = 1024; 103 const uint32 kDataSize = 1024;
113 104
114 TestDiscardableSharedMemory memory1; 105 TestDiscardableSharedMemory memory1;
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 EXPECT_NE(0u, memory.mapped_size()); 345 EXPECT_NE(0u, memory.mapped_size());
355 346
356 // Mapped size should be 0 after shrinking memory segment. 347 // Mapped size should be 0 after shrinking memory segment.
357 memory.Shrink(); 348 memory.Shrink();
358 EXPECT_EQ(0u, memory.mapped_size()); 349 EXPECT_EQ(0u, memory.mapped_size());
359 } 350 }
360 #endif 351 #endif
361 352
362 } // namespace 353 } // namespace
363 } // namespace base 354 } // namespace base
OLDNEW
« no previous file with comments | « base/memory/discardable_shared_memory.cc ('k') | content/child/child_discardable_shared_memory_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698