Index: base/memory/discardable_memory_unittest.cc |
diff --git a/base/memory/discardable_memory_unittest.cc b/base/memory/discardable_memory_unittest.cc |
index 60d35820fbd489a2fea3c9d9af70eb6195a5df0a..6c327ae4f56fd470e62869d4e1985b937249076e 100644 |
--- a/base/memory/discardable_memory_unittest.cc |
+++ b/base/memory/discardable_memory_unittest.cc |
@@ -7,11 +7,20 @@ |
namespace base { |
-#if defined(OS_ANDROID) || defined(OS_MACOSX) |
+TEST(DiscardableMemoryTest, SupportedNatively) { |
+#if defined(DISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY) |
+ ASSERT_TRUE(DiscardableMemory::SupportedNatively()); |
+#else |
+ // If we ever have a platform that decides at runtime if it can support |
+ // discardable memory natively, then we'll have to add a 'never supported |
+ // natively' define for this case. At present, if it's not always supported |
+ // natively, it's never supported. |
+ ASSERT_FALSE(DiscardableMemory::SupportedNatively()); |
+#endif |
+} |
+ |
// Test Lock() and Unlock() functionalities. |
TEST(DiscardableMemoryTest, LockAndUnLock) { |
- ASSERT_TRUE(DiscardableMemory::Supported()); |
- |
const size_t size = 1024; |
DiscardableMemory memory; |
@@ -31,18 +40,15 @@ TEST(DiscardableMemoryTest, LockAndUnLock) { |
// Test delete a discardable memory while it is locked. |
TEST(DiscardableMemoryTest, DeleteWhileLocked) { |
- ASSERT_TRUE(DiscardableMemory::Supported()); |
- |
const size_t size = 1024; |
DiscardableMemory memory; |
ASSERT_TRUE(memory.InitializeAndLock(size)); |
} |
-#if defined(OS_MACOSX) |
+#if !defined(OS_ANDROID) |
// Test forced purging. |
TEST(DiscardableMemoryTest, Purge) { |
- ASSERT_TRUE(DiscardableMemory::Supported()); |
ASSERT_TRUE(DiscardableMemory::PurgeForTestingSupported()); |
const size_t size = 1024; |
@@ -54,8 +60,6 @@ TEST(DiscardableMemoryTest, Purge) { |
DiscardableMemory::PurgeForTesting(); |
EXPECT_EQ(DISCARDABLE_MEMORY_PURGED, memory.Lock()); |
} |
-#endif // OS_MACOSX |
- |
-#endif // OS_* |
+#endif // !OS_ANDROID |
} |