Chromium Code Reviews| Index: base/sys_info_unittest.cc |
| diff --git a/base/sys_info_unittest.cc b/base/sys_info_unittest.cc |
| index c3b85077071a8ead6a263947fc109e374516a761..f5ef3974b640b4c79f9643327c7353c8de2ce167 100644 |
| --- a/base/sys_info_unittest.cc |
| +++ b/base/sys_info_unittest.cc |
| @@ -6,6 +6,7 @@ |
| #include "base/environment.h" |
| #include "base/files/file_util.h" |
| +#include "base/process/process_metrics.h" |
| #include "base/sys_info.h" |
| #include "base/threading/platform_thread.h" |
| #include "base/time/time.h" |
| @@ -29,6 +30,32 @@ TEST_F(SysInfoTest, AmountOfMem) { |
| EXPECT_GE(base::SysInfo::AmountOfVirtualMemory(), 0); |
| } |
| +#if defined(OS_LINUX) || defined(OS_ANDROID) |
| +TEST_F(SysInfoTest, AmountOfAvailablePhysicalMemory) { |
| + // Note: info is in _K_bytes. |
| + base::SystemMemoryInfoKB info; |
| + ASSERT_TRUE(base::GetSystemMemoryInfo(&info)); |
| + EXPECT_GT(info.free, 0); |
| + |
| + if (info.available != 0) { |
| + // If there is MemAvailable from kernel. |
| + EXPECT_LT(info.available, info.total); |
| + const int64_t amount = base::SysInfo::AmountOfAvailablePhysicalMemory(info); |
| + // We aren't actually testing that it's correct, just that it's sane. |
| + EXPECT_GT(amount, info.free * 1024); |
| + EXPECT_LT(amount, info.available * 1024); |
|
Primiano Tucci (use gerrit)
2017/03/08 12:36:41
shouldn't this be s/LT/LE/ ?
Michael K. (Yandex Team)
2017/03/09 07:21:15
Only when active file-backed memory is zero (what
Primiano Tucci (use gerrit)
2017/03/09 10:24:03
Ah you are right, forgot about the -active_file pa
|
| + // Simulate as if there is no MemAvailable. |
| + info.available = 0; |
| + } |
| + |
| + // There is no MemAvailable. Check the fallback logic. |
| + const int64_t amount = base::SysInfo::AmountOfAvailablePhysicalMemory(info); |
| + // We aren't actually testing that it's correct, just that it's sane. |
| + EXPECT_GT(amount, info.free * 1024); |
| + EXPECT_LT(amount, info.total * 1024); |
| +} |
| +#endif // defined(OS_LINUX) || defined(OS_ANDROID) |
| + |
| TEST_F(SysInfoTest, AmountOfFreeDiskSpace) { |
| // We aren't actually testing that it's correct, just that it's sane. |
| FilePath tmp_path; |