| Index: base/memory/discardable_memory_unittest.cc
|
| diff --git a/base/memory/discardable_memory_unittest.cc b/base/memory/discardable_memory_unittest.cc
|
| deleted file mode 100644
|
| index a769e173260a87a996d605da8c888959615d61d8..0000000000000000000000000000000000000000
|
| --- a/base/memory/discardable_memory_unittest.cc
|
| +++ /dev/null
|
| @@ -1,125 +0,0 @@
|
| -// Copyright (c) 2013 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "base/memory/discardable_memory.h"
|
| -
|
| -#include <algorithm>
|
| -
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -
|
| -#if defined(OS_ANDROID)
|
| -#include <limits>
|
| -#endif
|
| -
|
| -namespace base {
|
| -namespace {
|
| -
|
| -class DiscardableMemoryTest
|
| - : public testing::TestWithParam<DiscardableMemoryType> {
|
| - public:
|
| - DiscardableMemoryTest() {}
|
| - virtual ~DiscardableMemoryTest() {
|
| - }
|
| -
|
| - protected:
|
| - scoped_ptr<DiscardableMemory> CreateLockedMemory(size_t size) {
|
| - return DiscardableMemory::CreateLockedMemoryWithType(
|
| - GetParam(), size).Pass();
|
| - }
|
| -};
|
| -
|
| -const size_t kSize = 1024;
|
| -
|
| -TEST_P(DiscardableMemoryTest, IsNamed) {
|
| - std::string type_name(DiscardableMemory::GetTypeName(GetParam()));
|
| - EXPECT_NE("unknown", type_name);
|
| - EXPECT_EQ(GetParam(), DiscardableMemory::GetNamedType(type_name));
|
| -}
|
| -
|
| -bool IsNativeType(DiscardableMemoryType type) {
|
| -#if defined(OS_ANDROID)
|
| - // SHMEM is backed by native discardable memory on Android.
|
| - return type == DISCARDABLE_MEMORY_TYPE_SHMEM;
|
| -#else
|
| - return false;
|
| -#endif
|
| -}
|
| -
|
| -TEST_P(DiscardableMemoryTest, SupportedNatively) {
|
| - std::vector<DiscardableMemoryType> supported_types;
|
| - DiscardableMemory::GetSupportedTypes(&supported_types);
|
| -#if defined(DISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY)
|
| - EXPECT_NE(0, std::count_if(supported_types.begin(),
|
| - supported_types.end(),
|
| - IsNativeType));
|
| -#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.
|
| - EXPECT_EQ(0, std::count_if(supported_types.begin(),
|
| - supported_types.end(),
|
| - IsNativeType));
|
| -#endif
|
| -}
|
| -
|
| -// Test Lock() and Unlock() functionalities.
|
| -TEST_P(DiscardableMemoryTest, LockAndUnLock) {
|
| - const scoped_ptr<DiscardableMemory> memory(CreateLockedMemory(kSize));
|
| - ASSERT_TRUE(memory);
|
| - void* addr = memory->Memory();
|
| - EXPECT_NE(nullptr, addr);
|
| - memory->Unlock();
|
| -}
|
| -
|
| -// Test delete a discardable memory while it is locked.
|
| -TEST_P(DiscardableMemoryTest, DeleteWhileLocked) {
|
| - const scoped_ptr<DiscardableMemory> memory(CreateLockedMemory(kSize));
|
| - ASSERT_TRUE(memory);
|
| -}
|
| -
|
| -#if !defined(NDEBUG) && !defined(OS_ANDROID)
|
| -// Death tests are not supported with Android APKs.
|
| -TEST_P(DiscardableMemoryTest, UnlockedMemoryAccessCrashesInDebugMode) {
|
| - const scoped_ptr<DiscardableMemory> memory(CreateLockedMemory(kSize));
|
| - ASSERT_TRUE(memory);
|
| - memory->Unlock();
|
| - ASSERT_DEATH_IF_SUPPORTED(
|
| - { *static_cast<int*>(memory->Memory()) = 0xdeadbeef; }, ".*");
|
| -}
|
| -#endif
|
| -
|
| -// Test behavior when creating enough instances that could use up a 32-bit
|
| -// address space.
|
| -// This is disabled under AddressSanitizer on Windows as it crashes (by design)
|
| -// on OOM. See http://llvm.org/PR22026 for the details.
|
| -#if !defined(ADDRESS_SANITIZER) || !defined(OS_WIN)
|
| -TEST_P(DiscardableMemoryTest, AddressSpace) {
|
| - const size_t kLargeSize = 4 * 1024 * 1024; // 4MiB.
|
| - const size_t kNumberOfInstances = 1024 + 1; // >4GiB total.
|
| -
|
| - scoped_ptr<DiscardableMemory> instances[kNumberOfInstances];
|
| - for (auto& memory : instances) {
|
| - memory = CreateLockedMemory(kLargeSize);
|
| - ASSERT_TRUE(memory);
|
| - void* addr = memory->Memory();
|
| - EXPECT_NE(nullptr, addr);
|
| - memory->Unlock();
|
| - }
|
| -}
|
| -#endif
|
| -
|
| -std::vector<DiscardableMemoryType> GetSupportedDiscardableMemoryTypes() {
|
| - std::vector<DiscardableMemoryType> supported_types;
|
| - DiscardableMemory::GetSupportedTypes(&supported_types);
|
| - return supported_types;
|
| -}
|
| -
|
| -INSTANTIATE_TEST_CASE_P(
|
| - DiscardableMemoryTests,
|
| - DiscardableMemoryTest,
|
| - ::testing::ValuesIn(GetSupportedDiscardableMemoryTypes()));
|
| -
|
| -} // namespace
|
| -} // namespace base
|
|
|