================ @@ -336,3 +336,52 @@ TEST(MinidumpYAML, ExceptionStream_ExtraParameter) { 0xab, 0xad, 0xca, 0xfe}), *ExpectedContext); } + +TEST(MinidumpYAML, MemoryRegion_64bit) { + SmallString<0> Storage; + auto ExpectedFile = toBinary(Storage, R"( +--- !minidump +Streams: + - Type: Memory64List + Memory Ranges: + - Start of Memory Range: 0x7FFFFFCF0818283 + Content: '68656c6c6f' + - Start of Memory Range: 0x7FFFFFFF0818283 + Content: '776f726c64' + )"); + + ASSERT_THAT_EXPECTED(ExpectedFile, Succeeded()); + object::MinidumpFile &File = **ExpectedFile; + + ASSERT_EQ(1u, File.streams().size()); + + Expected<ArrayRef<minidump::MemoryDescriptor_64>> ExpectedMemoryList = + File.getMemory64List(); + + ASSERT_THAT_EXPECTED(ExpectedMemoryList, Succeeded()); + + ArrayRef<minidump::MemoryDescriptor_64> MemoryList = *ExpectedMemoryList; + ASSERT_EQ(2u, MemoryList.size()); + + const minidump::MemoryDescriptor_64 &DescOne = MemoryList[0]; + ASSERT_EQ(0x7FFFFFCF0818283u, DescOne.StartOfMemoryRange); + ASSERT_EQ(5u, DescOne.DataSize); + + const minidump::MemoryDescriptor_64 &DescTwo = MemoryList[1]; + ASSERT_EQ(0x7FFFFFFF0818283u, DescTwo.StartOfMemoryRange); + ASSERT_EQ(5u, DescTwo.DataSize); ---------------- labath wrote:
I'd try something like `ASSERT_THAT_EXPECTED(ExpectedMemoryList, HasValue(testing::ElementsAre(MemoryDescriptor_64{foo, bar}, MemoryDescriptor_64{baz, bazz})))` I'm not sure it will work with all of the c++ magic around these classes, but it'd look much nicer if it did. https://github.com/llvm/llvm-project/pull/101272 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits