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

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

Issue 15650016: [Not for review] Discardable memory emulation (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 7 years, 6 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/memory/discardable_memory.h" 5 #include "base/memory/discardable_memory.h"
6 #include "base/memory/scoped_ptr.h"
6 #include "testing/gtest/include/gtest/gtest.h" 7 #include "testing/gtest/include/gtest/gtest.h"
7 8
8 namespace base { 9 namespace base {
9 10
10 #if defined(OS_ANDROID) || defined(OS_MACOSX) 11 #if defined(OS_ANDROID) || defined(OS_MACOSX)
Avi (use Gerrit) 2013/06/07 14:46:53 #if defined(DISCARDABLE_MEMORY_SUPPORTED_NATIVELY)
11 // Test Lock() and Unlock() functionalities. 12 // Test Lock() and Unlock() functionalities.
12 TEST(DiscardableMemoryTest, LockAndUnLock) { 13 TEST(DiscardableMemoryTest, LockAndUnLock) {
13 ASSERT_TRUE(DiscardableMemory::Supported()); 14 ASSERT_TRUE(DiscardableMemoryProvider::GetInstance());
14 15
15 const size_t size = 1024; 16 const size_t size = 1024;
16 17
17 DiscardableMemory memory; 18 scoped_ptr<DiscardableMemory> memory(
18 ASSERT_TRUE(memory.InitializeAndLock(size)); 19 DiscardableMemoryProvider::GetInstance()->CreateDiscardableMemory());
19 void* addr = memory.Memory(); 20 ASSERT_TRUE(memory->InitializeAndLock(size));
21 void* addr = memory->Memory();
20 ASSERT_NE(static_cast<void*>(NULL), addr); 22 ASSERT_NE(static_cast<void*>(NULL), addr);
21 23
22 memory.Unlock(); 24 memory->Unlock();
23 // The system should have no reason to purge discardable blocks in this brief 25 // The system should have no reason to purge discardable blocks in this brief
24 // interval, though technically speaking this might flake. 26 // interval, though technically speaking this might flake.
25 EXPECT_EQ(DISCARDABLE_MEMORY_SUCCESS, memory.Lock()); 27 EXPECT_EQ(DISCARDABLE_MEMORY_SUCCESS, memory->Lock());
26 addr = memory.Memory(); 28 addr = memory->Memory();
27 ASSERT_NE(static_cast<void*>(NULL), addr); 29 ASSERT_NE(static_cast<void*>(NULL), addr);
28 30
29 memory.Unlock(); 31 memory->Unlock();
30 } 32 }
31 33
32 // Test delete a discardable memory while it is locked. 34 // Test delete a discardable memory while it is locked.
33 TEST(DiscardableMemoryTest, DeleteWhileLocked) { 35 TEST(DiscardableMemoryTest, DeleteWhileLocked) {
34 ASSERT_TRUE(DiscardableMemory::Supported()); 36 ASSERT_TRUE(DiscardableMemoryProvider::GetInstance());
35 37
36 const size_t size = 1024; 38 const size_t size = 1024;
37 39
38 DiscardableMemory memory; 40 scoped_ptr<DiscardableMemory> memory(
39 ASSERT_TRUE(memory.InitializeAndLock(size)); 41 DiscardableMemoryProvider::GetInstance()->CreateDiscardableMemory());
42 ASSERT_TRUE(memory->InitializeAndLock(size));
40 } 43 }
41 44
42 #if defined(OS_MACOSX) 45 #if defined(OS_MACOSX)
43 // Test forced purging. 46 // Test forced purging.
44 TEST(DiscardableMemoryTest, Purge) { 47 TEST(DiscardableMemoryTest, Purge) {
45 ASSERT_TRUE(DiscardableMemory::Supported()); 48 ASSERT_TRUE(DiscardableMemoryProvider::GetInstance());
46 ASSERT_TRUE(DiscardableMemory::PurgeForTestingSupported()); 49 ASSERT_TRUE(
50 DiscardableMemoryProvider::GetInstance()->PurgeForTestingSupported());
47 51
48 const size_t size = 1024; 52 const size_t size = 1024;
49 53
50 DiscardableMemory memory; 54 scoped_ptr<DiscardableMemory> memory(
51 ASSERT_TRUE(memory.InitializeAndLock(size)); 55 DiscardableMemoryProvider::GetInstance()->CreateDiscardableMemory());
52 memory.Unlock(); 56 ASSERT_TRUE(memory->InitializeAndLock(size));
57 memory->Unlock();
53 58
54 DiscardableMemory::PurgeForTesting(); 59 DiscardableMemoryProvider::GetInstance()->PurgeForTesting();
55 EXPECT_EQ(DISCARDABLE_MEMORY_PURGED, memory.Lock()); 60 EXPECT_EQ(DISCARDABLE_MEMORY_PURGED, memory->Lock());
56 } 61 }
57 #endif // OS_MACOSX 62 #endif // OS_MACOSX
58 63
59 #endif // OS_* 64 #endif // OS_*
60 65
61 } 66 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698