1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "base/memory/memory_pressure_monitor_mac.h"
7 #include "testing/gtest/include/gtest/gtest.h"
12 class TestMemoryPressureMonitor
: public MemoryPressureMonitor
{
14 using MemoryPressureMonitor::MemoryPressureLevelForMacMemoryPressure
;
16 TestMemoryPressureMonitor() { }
19 DISALLOW_COPY_AND_ASSIGN(TestMemoryPressureMonitor
);
22 TEST(MacMemoryPressureMonitorTest
, MemoryPressureFromMacMemoryPressure
) {
23 EXPECT_EQ(MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE
,
24 TestMemoryPressureMonitor::
25 MemoryPressureLevelForMacMemoryPressure(
26 DISPATCH_MEMORYPRESSURE_NORMAL
));
27 EXPECT_EQ(MemoryPressureListener::MEMORY_PRESSURE_LEVEL_MODERATE
,
28 TestMemoryPressureMonitor::
29 MemoryPressureLevelForMacMemoryPressure(
30 DISPATCH_MEMORYPRESSURE_WARN
));
31 EXPECT_EQ(MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL
,
32 TestMemoryPressureMonitor::
33 MemoryPressureLevelForMacMemoryPressure(
34 DISPATCH_MEMORYPRESSURE_CRITICAL
));
35 EXPECT_EQ(MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE
,
36 TestMemoryPressureMonitor::
37 MemoryPressureLevelForMacMemoryPressure(0));
38 EXPECT_EQ(MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE
,
39 TestMemoryPressureMonitor::
40 MemoryPressureLevelForMacMemoryPressure(3));
41 EXPECT_EQ(MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE
,
42 TestMemoryPressureMonitor::
43 MemoryPressureLevelForMacMemoryPressure(5));
44 EXPECT_EQ(MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE
,
45 TestMemoryPressureMonitor::
46 MemoryPressureLevelForMacMemoryPressure(-1));
49 TEST(MacMemoryPressureMonitorTest
, CurrentMemoryPressure
) {
50 TestMemoryPressureMonitor monitor
;
51 MemoryPressureListener::MemoryPressureLevel memory_pressure
=
52 monitor
.GetCurrentPressureLevel();
53 EXPECT_TRUE(memory_pressure
==
54 MemoryPressureListener::MEMORY_PRESSURE_LEVEL_NONE
||
56 MemoryPressureListener::MEMORY_PRESSURE_LEVEL_MODERATE
||
58 MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL
);