[lldb] Update MemoryRegionInfo ctors in unit tests
This commit is contained in:
parent
b408bbbf5b
commit
b97afc9dc0
|
@ -91,6 +91,7 @@ INSTANTIATE_TEST_SUITE_P(
|
|||
MemoryRegionInfo::eYes, MemoryRegionInfo::eNo,
|
||||
MemoryRegionInfo::eYes, ConstString("[abc]"),
|
||||
MemoryRegionInfo::eDontKnow, 0,
|
||||
MemoryRegionInfo::eDontKnow,
|
||||
MemoryRegionInfo::eDontKnow),
|
||||
},
|
||||
"unexpected /proc/{pid}/maps exec permission char"),
|
||||
|
@ -98,12 +99,12 @@ INSTANTIATE_TEST_SUITE_P(
|
|||
std::make_tuple(
|
||||
"55a4512f7000-55a451b68000 rw-p 00000000 00:00 0 [heap]",
|
||||
MemoryRegionInfos{
|
||||
MemoryRegionInfo(make_range(0x55a4512f7000, 0x55a451b68000),
|
||||
MemoryRegionInfo::eYes, MemoryRegionInfo::eYes,
|
||||
MemoryRegionInfo::eNo, MemoryRegionInfo::eYes,
|
||||
ConstString("[heap]"),
|
||||
MemoryRegionInfo::eDontKnow, 0,
|
||||
MemoryRegionInfo::eDontKnow),
|
||||
MemoryRegionInfo(
|
||||
make_range(0x55a4512f7000, 0x55a451b68000),
|
||||
MemoryRegionInfo::eYes, MemoryRegionInfo::eYes,
|
||||
MemoryRegionInfo::eNo, MemoryRegionInfo::eYes,
|
||||
ConstString("[heap]"), MemoryRegionInfo::eDontKnow, 0,
|
||||
MemoryRegionInfo::eDontKnow, MemoryRegionInfo::eDontKnow),
|
||||
},
|
||||
""),
|
||||
// Multiple entries
|
||||
|
@ -112,18 +113,18 @@ INSTANTIATE_TEST_SUITE_P(
|
|||
"ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 "
|
||||
"[vsyscall]",
|
||||
MemoryRegionInfos{
|
||||
MemoryRegionInfo(make_range(0x7fc090021000, 0x7fc094000000),
|
||||
MemoryRegionInfo::eNo, MemoryRegionInfo::eNo,
|
||||
MemoryRegionInfo::eNo, MemoryRegionInfo::eYes,
|
||||
ConstString(nullptr),
|
||||
MemoryRegionInfo::eDontKnow, 0,
|
||||
MemoryRegionInfo::eDontKnow),
|
||||
MemoryRegionInfo(
|
||||
make_range(0x7fc090021000, 0x7fc094000000),
|
||||
MemoryRegionInfo::eNo, MemoryRegionInfo::eNo,
|
||||
MemoryRegionInfo::eNo, MemoryRegionInfo::eYes,
|
||||
ConstString(nullptr), MemoryRegionInfo::eDontKnow, 0,
|
||||
MemoryRegionInfo::eDontKnow, MemoryRegionInfo::eDontKnow),
|
||||
MemoryRegionInfo(
|
||||
make_range(0xffffffffff600000, 0xffffffffff601000),
|
||||
MemoryRegionInfo::eYes, MemoryRegionInfo::eNo,
|
||||
MemoryRegionInfo::eYes, MemoryRegionInfo::eYes,
|
||||
ConstString("[vsyscall]"), MemoryRegionInfo::eDontKnow, 0,
|
||||
MemoryRegionInfo::eDontKnow),
|
||||
MemoryRegionInfo::eDontKnow, MemoryRegionInfo::eDontKnow),
|
||||
},
|
||||
"")));
|
||||
|
||||
|
@ -144,12 +145,12 @@ INSTANTIATE_TEST_SUITE_P(
|
|||
"1111-2222 rw-p 00000000 00:00 0 [foo]\n"
|
||||
"0/0 rw-p 00000000 00:00 0",
|
||||
MemoryRegionInfos{
|
||||
MemoryRegionInfo(make_range(0x1111, 0x2222),
|
||||
MemoryRegionInfo::eYes, MemoryRegionInfo::eYes,
|
||||
MemoryRegionInfo::eNo, MemoryRegionInfo::eYes,
|
||||
ConstString("[foo]"),
|
||||
MemoryRegionInfo::eDontKnow, 0,
|
||||
MemoryRegionInfo::eDontKnow),
|
||||
MemoryRegionInfo(
|
||||
make_range(0x1111, 0x2222), MemoryRegionInfo::eYes,
|
||||
MemoryRegionInfo::eYes, MemoryRegionInfo::eNo,
|
||||
MemoryRegionInfo::eYes, ConstString("[foo]"),
|
||||
MemoryRegionInfo::eDontKnow, 0, MemoryRegionInfo::eDontKnow,
|
||||
MemoryRegionInfo::eDontKnow),
|
||||
},
|
||||
"malformed /proc/{pid}/smaps entry, missing dash between address "
|
||||
"range"),
|
||||
|
@ -164,12 +165,12 @@ INSTANTIATE_TEST_SUITE_P(
|
|||
std::make_tuple(
|
||||
"1111-2222 rw-p 00000000 00:00 0 [foo]",
|
||||
MemoryRegionInfos{
|
||||
MemoryRegionInfo(make_range(0x1111, 0x2222),
|
||||
MemoryRegionInfo::eYes, MemoryRegionInfo::eYes,
|
||||
MemoryRegionInfo::eNo, MemoryRegionInfo::eYes,
|
||||
ConstString("[foo]"),
|
||||
MemoryRegionInfo::eDontKnow, 0,
|
||||
MemoryRegionInfo::eDontKnow),
|
||||
MemoryRegionInfo(
|
||||
make_range(0x1111, 0x2222), MemoryRegionInfo::eYes,
|
||||
MemoryRegionInfo::eYes, MemoryRegionInfo::eNo,
|
||||
MemoryRegionInfo::eYes, ConstString("[foo]"),
|
||||
MemoryRegionInfo::eDontKnow, 0, MemoryRegionInfo::eDontKnow,
|
||||
MemoryRegionInfo::eDontKnow),
|
||||
},
|
||||
""),
|
||||
// Single region with flags, other lines ignored
|
||||
|
@ -183,7 +184,8 @@ INSTANTIATE_TEST_SUITE_P(
|
|||
make_range(0x1111, 0x2222), MemoryRegionInfo::eYes,
|
||||
MemoryRegionInfo::eYes, MemoryRegionInfo::eNo,
|
||||
MemoryRegionInfo::eYes, ConstString("[foo]"),
|
||||
MemoryRegionInfo::eDontKnow, 0, MemoryRegionInfo::eYes),
|
||||
MemoryRegionInfo::eDontKnow, 0, MemoryRegionInfo::eYes,
|
||||
MemoryRegionInfo::eDontKnow),
|
||||
},
|
||||
""),
|
||||
// Whitespace ignored
|
||||
|
@ -195,7 +197,8 @@ INSTANTIATE_TEST_SUITE_P(
|
|||
MemoryRegionInfo::eYes, MemoryRegionInfo::eNo,
|
||||
MemoryRegionInfo::eYes, ConstString(nullptr),
|
||||
MemoryRegionInfo::eDontKnow, 0,
|
||||
MemoryRegionInfo::eYes),
|
||||
MemoryRegionInfo::eYes,
|
||||
MemoryRegionInfo::eDontKnow),
|
||||
},
|
||||
""),
|
||||
// VmFlags line means it has flag info, but nothing is set
|
||||
|
@ -207,7 +210,8 @@ INSTANTIATE_TEST_SUITE_P(
|
|||
MemoryRegionInfo::eYes, MemoryRegionInfo::eNo,
|
||||
MemoryRegionInfo::eYes, ConstString(nullptr),
|
||||
MemoryRegionInfo::eDontKnow, 0,
|
||||
MemoryRegionInfo::eNo),
|
||||
MemoryRegionInfo::eNo,
|
||||
MemoryRegionInfo::eDontKnow),
|
||||
},
|
||||
""),
|
||||
// Handle some pages not having a flags line
|
||||
|
@ -218,17 +222,18 @@ INSTANTIATE_TEST_SUITE_P(
|
|||
"3333-4444 r-xp 00000000 00:00 0 [bar]\n"
|
||||
"VmFlags: mt",
|
||||
MemoryRegionInfos{
|
||||
MemoryRegionInfo(make_range(0x1111, 0x2222),
|
||||
MemoryRegionInfo::eYes, MemoryRegionInfo::eYes,
|
||||
MemoryRegionInfo::eNo, MemoryRegionInfo::eYes,
|
||||
ConstString("[foo]"),
|
||||
MemoryRegionInfo::eDontKnow, 0,
|
||||
MemoryRegionInfo::eDontKnow),
|
||||
MemoryRegionInfo(
|
||||
make_range(0x1111, 0x2222), MemoryRegionInfo::eYes,
|
||||
MemoryRegionInfo::eYes, MemoryRegionInfo::eNo,
|
||||
MemoryRegionInfo::eYes, ConstString("[foo]"),
|
||||
MemoryRegionInfo::eDontKnow, 0, MemoryRegionInfo::eDontKnow,
|
||||
MemoryRegionInfo::eDontKnow),
|
||||
MemoryRegionInfo(
|
||||
make_range(0x3333, 0x4444), MemoryRegionInfo::eYes,
|
||||
MemoryRegionInfo::eNo, MemoryRegionInfo::eYes,
|
||||
MemoryRegionInfo::eYes, ConstString("[bar]"),
|
||||
MemoryRegionInfo::eDontKnow, 0, MemoryRegionInfo::eYes),
|
||||
MemoryRegionInfo::eDontKnow, 0, MemoryRegionInfo::eYes,
|
||||
MemoryRegionInfo::eDontKnow),
|
||||
},
|
||||
""),
|
||||
// Handle no pages having a flags line (older kernels)
|
||||
|
@ -240,18 +245,18 @@ INSTANTIATE_TEST_SUITE_P(
|
|||
"KernelPageSize: 4 kB\n"
|
||||
"MMUPageSize: 4 kB\n",
|
||||
MemoryRegionInfos{
|
||||
MemoryRegionInfo(make_range(0x1111, 0x2222),
|
||||
MemoryRegionInfo::eYes, MemoryRegionInfo::eYes,
|
||||
MemoryRegionInfo::eNo, MemoryRegionInfo::eYes,
|
||||
ConstString(nullptr),
|
||||
MemoryRegionInfo::eDontKnow, 0,
|
||||
MemoryRegionInfo::eDontKnow),
|
||||
MemoryRegionInfo(make_range(0x3333, 0x4444),
|
||||
MemoryRegionInfo::eYes, MemoryRegionInfo::eNo,
|
||||
MemoryRegionInfo::eYes, MemoryRegionInfo::eYes,
|
||||
ConstString(nullptr),
|
||||
MemoryRegionInfo::eDontKnow, 0,
|
||||
MemoryRegionInfo::eDontKnow),
|
||||
MemoryRegionInfo(
|
||||
make_range(0x1111, 0x2222), MemoryRegionInfo::eYes,
|
||||
MemoryRegionInfo::eYes, MemoryRegionInfo::eNo,
|
||||
MemoryRegionInfo::eYes, ConstString(nullptr),
|
||||
MemoryRegionInfo::eDontKnow, 0, MemoryRegionInfo::eDontKnow,
|
||||
MemoryRegionInfo::eDontKnow),
|
||||
MemoryRegionInfo(
|
||||
make_range(0x3333, 0x4444), MemoryRegionInfo::eYes,
|
||||
MemoryRegionInfo::eNo, MemoryRegionInfo::eYes,
|
||||
MemoryRegionInfo::eYes, ConstString(nullptr),
|
||||
MemoryRegionInfo::eDontKnow, 0, MemoryRegionInfo::eDontKnow,
|
||||
MemoryRegionInfo::eDontKnow),
|
||||
},
|
||||
"")));
|
||||
|
||||
|
|
|
@ -138,7 +138,8 @@ static MemoryRegionInfo MakeRegionInfo(lldb::addr_t base, lldb::addr_t size,
|
|||
MemoryRegionInfo::eYes, MemoryRegionInfo::eYes, MemoryRegionInfo::eYes,
|
||||
ConstString(), MemoryRegionInfo::eNo, 0,
|
||||
/*memory_tagged=*/
|
||||
tagged ? MemoryRegionInfo::eYes : MemoryRegionInfo::eNo);
|
||||
tagged ? MemoryRegionInfo::eYes : MemoryRegionInfo::eNo,
|
||||
MemoryRegionInfo::eDontKnow);
|
||||
}
|
||||
|
||||
TEST(MemoryTagManagerAArch64MTETest, MakeTaggedRange) {
|
||||
|
|
|
@ -376,18 +376,19 @@ Streams:
|
|||
|
||||
EXPECT_THAT(
|
||||
parser->BuildMemoryRegions(),
|
||||
testing::Pair(testing::ElementsAre(
|
||||
MemoryRegionInfo({0x0, 0x10000}, no, no, no, no,
|
||||
ConstString(), unknown, 0, unknown),
|
||||
MemoryRegionInfo({0x10000, 0x21000}, yes, yes, no, yes,
|
||||
ConstString(), unknown, 0, unknown),
|
||||
MemoryRegionInfo({0x40000, 0x1000}, yes, no, no, yes,
|
||||
ConstString(), unknown, 0, unknown),
|
||||
MemoryRegionInfo({0x7ffe0000, 0x1000}, yes, no, no, yes,
|
||||
ConstString(), unknown, 0, unknown),
|
||||
MemoryRegionInfo({0x7ffe1000, 0xf000}, no, no, no, yes,
|
||||
ConstString(), unknown, 0, unknown)),
|
||||
true));
|
||||
testing::Pair(
|
||||
testing::ElementsAre(
|
||||
MemoryRegionInfo({0x0, 0x10000}, no, no, no, no, ConstString(),
|
||||
unknown, 0, unknown, unknown),
|
||||
MemoryRegionInfo({0x10000, 0x21000}, yes, yes, no, yes,
|
||||
ConstString(), unknown, 0, unknown, unknown),
|
||||
MemoryRegionInfo({0x40000, 0x1000}, yes, no, no, yes,
|
||||
ConstString(), unknown, 0, unknown, unknown),
|
||||
MemoryRegionInfo({0x7ffe0000, 0x1000}, yes, no, no, yes,
|
||||
ConstString(), unknown, 0, unknown, unknown),
|
||||
MemoryRegionInfo({0x7ffe1000, 0xf000}, no, no, no, yes,
|
||||
ConstString(), unknown, 0, unknown, unknown)),
|
||||
true));
|
||||
}
|
||||
|
||||
TEST_F(MinidumpParserTest, GetMemoryRegionInfoFromMemoryList) {
|
||||
|
@ -412,9 +413,9 @@ Streams:
|
|||
testing::Pair(
|
||||
testing::ElementsAre(
|
||||
MemoryRegionInfo({0x1000, 0x10}, yes, unknown, unknown, yes,
|
||||
ConstString(), unknown, 0, unknown),
|
||||
ConstString(), unknown, 0, unknown, unknown),
|
||||
MemoryRegionInfo({0x2000, 0x20}, yes, unknown, unknown, yes,
|
||||
ConstString(), unknown, 0, unknown)),
|
||||
ConstString(), unknown, 0, unknown, unknown)),
|
||||
false));
|
||||
}
|
||||
|
||||
|
@ -428,9 +429,9 @@ TEST_F(MinidumpParserTest, GetMemoryRegionInfoFromMemory64List) {
|
|||
testing::Pair(
|
||||
testing::ElementsAre(
|
||||
MemoryRegionInfo({0x1000, 0x10}, yes, unknown, unknown, yes,
|
||||
ConstString(), unknown, 0, unknown),
|
||||
ConstString(), unknown, 0, unknown, unknown),
|
||||
MemoryRegionInfo({0x2000, 0x20}, yes, unknown, unknown, yes,
|
||||
ConstString(), unknown, 0, unknown)),
|
||||
ConstString(), unknown, 0, unknown, unknown)),
|
||||
false));
|
||||
}
|
||||
|
||||
|
@ -455,22 +456,23 @@ Streams:
|
|||
ConstString app_process("/system/bin/app_process");
|
||||
ConstString linker("/system/bin/linker");
|
||||
ConstString liblog("/system/lib/liblog.so");
|
||||
EXPECT_THAT(parser->BuildMemoryRegions(),
|
||||
testing::Pair(
|
||||
testing::ElementsAre(
|
||||
MemoryRegionInfo({0x400d9000, 0x2000}, yes, no, yes, yes,
|
||||
app_process, unknown, 0, unknown),
|
||||
MemoryRegionInfo({0x400db000, 0x1000}, yes, no, no, yes,
|
||||
app_process, unknown, 0, unknown),
|
||||
MemoryRegionInfo({0x400dc000, 0x1000}, yes, yes, no, yes,
|
||||
ConstString(), unknown, 0, unknown),
|
||||
MemoryRegionInfo({0x400ec000, 0x1000}, yes, no, no, yes,
|
||||
ConstString(), unknown, 0, unknown),
|
||||
MemoryRegionInfo({0x400ee000, 0x1000}, yes, yes, no, yes,
|
||||
linker, unknown, 0, unknown),
|
||||
MemoryRegionInfo({0x400fc000, 0x1000}, yes, yes, yes, yes,
|
||||
liblog, unknown, 0, unknown)),
|
||||
true));
|
||||
EXPECT_THAT(
|
||||
parser->BuildMemoryRegions(),
|
||||
testing::Pair(
|
||||
testing::ElementsAre(
|
||||
MemoryRegionInfo({0x400d9000, 0x2000}, yes, no, yes, yes,
|
||||
app_process, unknown, 0, unknown, unknown),
|
||||
MemoryRegionInfo({0x400db000, 0x1000}, yes, no, no, yes,
|
||||
app_process, unknown, 0, unknown, unknown),
|
||||
MemoryRegionInfo({0x400dc000, 0x1000}, yes, yes, no, yes,
|
||||
ConstString(), unknown, 0, unknown, unknown),
|
||||
MemoryRegionInfo({0x400ec000, 0x1000}, yes, no, no, yes,
|
||||
ConstString(), unknown, 0, unknown, unknown),
|
||||
MemoryRegionInfo({0x400ee000, 0x1000}, yes, yes, no, yes, linker,
|
||||
unknown, 0, unknown, unknown),
|
||||
MemoryRegionInfo({0x400fc000, 0x1000}, yes, yes, yes, yes, liblog,
|
||||
unknown, 0, unknown, unknown)),
|
||||
true));
|
||||
}
|
||||
|
||||
TEST_F(MinidumpParserTest, GetMemoryRegionInfoLinuxMapsError) {
|
||||
|
@ -486,11 +488,12 @@ Streams:
|
|||
llvm::Succeeded());
|
||||
// Test that when a /proc/maps region fails to parse
|
||||
// we handle the error and continue with the rest.
|
||||
EXPECT_THAT(parser->BuildMemoryRegions(),
|
||||
testing::Pair(testing::ElementsAre(MemoryRegionInfo(
|
||||
{0x400fc000, 0x1000}, yes, yes, yes, yes,
|
||||
ConstString(nullptr), unknown, 0, unknown)),
|
||||
true));
|
||||
EXPECT_THAT(
|
||||
parser->BuildMemoryRegions(),
|
||||
testing::Pair(testing::ElementsAre(MemoryRegionInfo(
|
||||
{0x400fc000, 0x1000}, yes, yes, yes, yes,
|
||||
ConstString(nullptr), unknown, 0, unknown, unknown)),
|
||||
true));
|
||||
}
|
||||
|
||||
// Windows Minidump tests
|
||||
|
|
Loading…
Reference in New Issue