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

Unified Diff: base/memory/discardable_memory_unittest.cc

Issue 1013463003: Update from https://crrev.com/320931 (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/memory/discardable_memory_shmem_allocator.cc ('k') | base/memory/discardable_memory_win.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « base/memory/discardable_memory_shmem_allocator.cc ('k') | base/memory/discardable_memory_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698