Index: util/win/process_info_test.cc |
diff --git a/util/win/process_info_test.cc b/util/win/process_info_test.cc |
index d3d674dd875ad10131145d151731abde57776915..be205cdcd49a828bd94db5a5621e3f9677359031 100644 |
--- a/util/win/process_info_test.cc |
+++ b/util/win/process_info_test.cc |
@@ -279,6 +279,29 @@ TEST(ProcessInfo, AccessibleRangesOneMovedStart) { |
EXPECT_EQ(5, result[0].size()); |
} |
+TEST(ProcessInfo, ReserveIsInaccessible) { |
+ std::vector<ProcessInfo::MemoryInfo> memory_info; |
+ MEMORY_BASIC_INFORMATION mbi = {0}; |
+ |
+ mbi.BaseAddress = 0; |
+ mbi.RegionSize = 10; |
+ mbi.State = MEM_RESERVE; |
+ memory_info.push_back(ProcessInfo::MemoryInfo(mbi)); |
+ |
+ mbi.BaseAddress = reinterpret_cast<void*>(10); |
+ mbi.RegionSize = 20; |
+ mbi.State = MEM_COMMIT; |
+ memory_info.push_back(ProcessInfo::MemoryInfo(mbi)); |
+ |
+ std::vector<CheckedRange<WinVMAddress, WinVMSize>> result = |
+ GetReadableRangesOfMemoryMap(CheckedRange<WinVMAddress, WinVMSize>(5, 10), |
+ memory_info); |
+ |
+ ASSERT_EQ(result.size(), 1u); |
+ EXPECT_EQ(10, result[0].base()); |
+ EXPECT_EQ(5, result[0].size()); |
+} |
+ |
TEST(ProcessInfo, AccessibleRangesCoalesced) { |
std::vector<ProcessInfo::MemoryInfo> memory_info; |
MEMORY_BASIC_INFORMATION mbi = {0}; |
@@ -295,7 +318,7 @@ TEST(ProcessInfo, AccessibleRangesCoalesced) { |
mbi.BaseAddress = reinterpret_cast<void*>(12); |
mbi.RegionSize = 5; |
- mbi.State = MEM_RESERVE; |
+ mbi.State = MEM_COMMIT; |
memory_info.push_back(ProcessInfo::MemoryInfo(mbi)); |
std::vector<CheckedRange<WinVMAddress, WinVMSize>> result = |