| Index: base/debug/activity_analyzer_unittest.cc
|
| diff --git a/base/debug/activity_analyzer_unittest.cc b/base/debug/activity_analyzer_unittest.cc
|
| index 08ed85c66db3ca274751ebc1b9c02fe0cbb9b779..2ecb811f85e87c070d10ef841069fff412ec9e55 100644
|
| --- a/base/debug/activity_analyzer_unittest.cc
|
| +++ b/base/debug/activity_analyzer_unittest.cc
|
| @@ -321,6 +321,77 @@ TEST_F(ActivityAnalyzerTest, GlobalUserDataTest) {
|
| EXPECT_EQ(strlen(string2), snapshot.at("sref").GetStringReference().size());
|
| }
|
|
|
| +TEST_F(ActivityAnalyzerTest, GlobalModulesTest) {
|
| + GlobalActivityTracker::CreateWithLocalMemory(kMemorySize, 0, "", 3);
|
| +
|
| + PersistentMemoryAllocator* allocator =
|
| + GlobalActivityTracker::Get()->allocator();
|
| + GlobalActivityAnalyzer global_analyzer(MakeUnique<PersistentMemoryAllocator>(
|
| + const_cast<void*>(allocator->data()), allocator->size(), 0, 0, "", true));
|
| +
|
| + GlobalActivityTracker::ModuleInfo info1;
|
| + info1.is_loaded = true;
|
| + info1.file = "anything";
|
| + info1.address = 0x12345678;
|
| + info1.size = 0xABCDEF;
|
| + info1.version = "1.2.3";
|
| + info1.identifier = "foo/bar";
|
| + info1.debug_file = "elsewhere";
|
| + info1.debug_identifier = "foo/baz";
|
| +
|
| + GlobalActivityTracker::Get()->RecordModuleInfo(info1);
|
| + std::vector<GlobalActivityTracker::ModuleInfo> modules1;
|
| + modules1 = global_analyzer.GetModules();
|
| + ASSERT_EQ(1U, modules1.size());
|
| + GlobalActivityTracker::ModuleInfo& stored1a = modules1[0];
|
| + EXPECT_EQ(info1.is_loaded, stored1a.is_loaded);
|
| + EXPECT_EQ(info1.file, stored1a.file);
|
| + EXPECT_EQ(info1.address, stored1a.address);
|
| + EXPECT_EQ(info1.version, stored1a.version);
|
| + EXPECT_EQ(info1.size, stored1a.size);
|
| + EXPECT_EQ(info1.identifier, stored1a.identifier);
|
| + EXPECT_EQ(info1.debug_file, stored1a.debug_file);
|
| + EXPECT_EQ(info1.debug_identifier, stored1a.debug_identifier);
|
| +
|
| + info1.is_loaded = false;
|
| + GlobalActivityTracker::Get()->RecordModuleInfo(info1);
|
| + modules1 = global_analyzer.GetModules();
|
| + ASSERT_EQ(1U, modules1.size());
|
| + GlobalActivityTracker::ModuleInfo& stored1b = modules1[0];
|
| + EXPECT_EQ(info1.is_loaded, stored1b.is_loaded);
|
| + EXPECT_EQ(info1.file, stored1b.file);
|
| + EXPECT_EQ(info1.address, stored1b.address);
|
| + EXPECT_EQ(info1.version, stored1b.version);
|
| + EXPECT_EQ(info1.size, stored1b.size);
|
| + EXPECT_EQ(info1.identifier, stored1b.identifier);
|
| + EXPECT_EQ(info1.debug_file, stored1b.debug_file);
|
| + EXPECT_EQ(info1.debug_identifier, stored1b.debug_identifier);
|
| +
|
| + GlobalActivityTracker::ModuleInfo info2;
|
| + info2.is_loaded = true;
|
| + info2.file = "nothing";
|
| + info2.address = 0x87654321;
|
| + info2.size = 0xFEDCBA;
|
| + info2.version = "3.2.1";
|
| + info2.identifier = "fuar";
|
| + info2.debug_file = "farewell";
|
| + info2.debug_identifier = "fu/baz";
|
| +
|
| + GlobalActivityTracker::Get()->RecordModuleInfo(info2);
|
| + std::vector<GlobalActivityTracker::ModuleInfo> modules2;
|
| + modules2 = global_analyzer.GetModules();
|
| + ASSERT_EQ(2U, modules2.size());
|
| + GlobalActivityTracker::ModuleInfo& stored2 = modules2[1];
|
| + EXPECT_EQ(info2.is_loaded, stored2.is_loaded);
|
| + EXPECT_EQ(info2.file, stored2.file);
|
| + EXPECT_EQ(info2.address, stored2.address);
|
| + EXPECT_EQ(info2.version, stored2.version);
|
| + EXPECT_EQ(info2.size, stored2.size);
|
| + EXPECT_EQ(info2.identifier, stored2.identifier);
|
| + EXPECT_EQ(info2.debug_file, stored2.debug_file);
|
| + EXPECT_EQ(info2.debug_identifier, stored2.debug_identifier);
|
| +}
|
| +
|
| TEST_F(ActivityAnalyzerTest, GlobalLogMessages) {
|
| GlobalActivityTracker::CreateWithLocalMemory(kMemorySize, 0, "", 3);
|
|
|
|
|