Chromium Code Reviews| Index: components/tracing/common/process_metrics_memory_dump_provider_unittest.cc |
| diff --git a/components/tracing/common/process_metrics_memory_dump_provider_unittest.cc b/components/tracing/common/process_metrics_memory_dump_provider_unittest.cc |
| index d05c3a736217d93e93bf179b66b25db8389f6261..490815509e1a292e1cba5a52f4aadcc1812236a4 100644 |
| --- a/components/tracing/common/process_metrics_memory_dump_provider_unittest.cc |
| +++ b/components/tracing/common/process_metrics_memory_dump_provider_unittest.cc |
| @@ -22,6 +22,10 @@ |
| #include <mach-o/dyld.h> |
| #endif |
| +#if defined(OS_WIN) |
| +#include <base/strings/sys_string_conversions.h> |
| +#endif |
| + |
| namespace tracing { |
| #if defined(OS_LINUX) || defined(OS_ANDROID) |
| @@ -274,6 +278,31 @@ TEST(ProcessMetricsMemoryDumpProviderTest, TestPollFastMemoryTotal) { |
| #endif |
| } |
| +TEST(ProcessMetricsMemoryDumpProviderTest, TestWinModuleReading) { |
| + using VMRegion = base::trace_event::ProcessMemoryMaps::VMRegion; |
| + |
| + ProcessMetricsMemoryDumpProvider mdp(base::kNullProcessId); |
| + base::trace_event::MemoryDumpArgs args; |
| + base::trace_event::ProcessMemoryDump dump(nullptr, args); |
| + ASSERT_TRUE(mdp.DumpProcessMemoryMaps(args, &dump)); |
| + ASSERT_TRUE(dump.has_process_mmaps()); |
| + |
| + TCHAR module_name[MAX_PATH]; |
|
Wez
2017/02/23 04:15:11
wchar_t
erikchen
2017/02/23 21:00:14
Done.
|
| + DWORD result = GetModuleFileName(nullptr, module_name, MAX_PATH); |
| + ASSERT_TRUE(result); |
| + std::string executable_name = base::SysWideToNativeMB(module_name); |
| + |
| + bool found_components_unittests = false; |
|
Wez
2017/02/23 04:15:11
For extra credit:
Use GetModuleHandleEx(GET_MODUL
erikchen
2017/02/23 21:00:14
Done.
|
| + for (const VMRegion& region : dump.process_mmaps()->vm_regions()) { |
| + EXPECT_NE(0u, region.start_address); |
| + EXPECT_NE(0u, region.size_in_bytes); |
| + |
| + if (region.mapped_file.find(executable_name) != std::string::npos) |
| + found_components_unittests = true; |
| + } |
| + EXPECT_TRUE(found_components_unittests); |
| +} |
| + |
| #if defined(OS_MACOSX) |
| TEST(ProcessMetricsMemoryDumpProviderTest, TestMachOReading) { |
| using VMRegion = base::trace_event::ProcessMemoryMaps::VMRegion; |