diff options
author | Fangrui Song <maskray@google.com> | 2019-06-28 08:58:05 +0000 |
---|---|---|
committer | Fangrui Song <maskray@google.com> | 2019-06-28 08:58:05 +0000 |
commit | e662b6985a8af483a4e7c541f8b67628452d147f (patch) | |
tree | 8c4118dd421a5eb65d44a5f64d6523f486c8ef50 /llvm/unittests/DebugInfo | |
parent | 07e53fee1453d1a48e4550fb9cdb0c042587b496 (diff) | |
download | bcm5719-llvm-e662b6985a8af483a4e7c541f8b67628452d147f.tar.gz bcm5719-llvm-e662b6985a8af483a4e7c541f8b67628452d147f.zip |
[DebugInfo] GSYM cleanups after D63104/r364427
llvm-svn: 364634
Diffstat (limited to 'llvm/unittests/DebugInfo')
-rw-r--r-- | llvm/unittests/DebugInfo/GSYM/CMakeLists.txt | 5 | ||||
-rw-r--r-- | llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp | 98 |
2 files changed, 47 insertions, 56 deletions
diff --git a/llvm/unittests/DebugInfo/GSYM/CMakeLists.txt b/llvm/unittests/DebugInfo/GSYM/CMakeLists.txt index 5fdf95c983a..fb9d5e564b3 100644 --- a/llvm/unittests/DebugInfo/GSYM/CMakeLists.txt +++ b/llvm/unittests/DebugInfo/GSYM/CMakeLists.txt @@ -1,10 +1,5 @@ set(LLVM_LINK_COMPONENTS - ${LLVM_TARGETS_TO_BUILD} - AsmPrinter DebugInfoGSYM - MC - Object - ObjectYAML Support ) diff --git a/llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp b/llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp index 499edefe6da..dad03f2204d 100644 --- a/llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp +++ b/llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp @@ -16,23 +16,22 @@ #include "llvm/Testing/Support/Error.h" #include "gtest/gtest.h" -#include <sstream> #include <string> using namespace llvm; using namespace gsym; TEST(GSYMTest, TestFileEntry) { - // Make sure default constructed GSYM FileEntry has zeroes in the + // Make sure default constructed GSYM FileEntry has zeroes in the // directory and basename string table indexes. FileEntry empty1; FileEntry empty2; EXPECT_EQ(empty1.Dir, 0u); EXPECT_EQ(empty1.Base, 0u); // Verify equality operator works - FileEntry a1(10,30); - FileEntry a2(10,30); - FileEntry b(10,40); + FileEntry a1(10, 30); + FileEntry a2(10, 30); + FileEntry b(10, 40); EXPECT_EQ(empty1, empty2); EXPECT_EQ(a1, a2); EXPECT_NE(a1, b); @@ -55,7 +54,6 @@ TEST(GSYMTest, TestFileEntry) { EXPECT_EQ(R.first->second, Index2); } - TEST(GSYMTest, TestFunctionInfo) { // Test GSYM FunctionInfo structs and functionality. FunctionInfo invalid; @@ -73,7 +71,7 @@ TEST(GSYMTest, TestFunctionInfo) { EXPECT_EQ(FI.size(), Size); const uint32_t FileIdx = 1; const uint32_t Line = 12; - FI.Lines.push_back(LineEntry(StartAddr,FileIdx,Line)); + FI.Lines.push_back(LineEntry(StartAddr, FileIdx, Line)); EXPECT_TRUE(FI.hasRichInfo()); FI.clear(); EXPECT_FALSE(FI.isValid()); @@ -101,20 +99,21 @@ TEST(GSYMTest, TestFunctionInfo) { B = A2; B.setStartAddress(A2.startAddress() + 0x1000); EXPECT_LT(A1, B); - + // We use the < operator to take a variety of different FunctionInfo // structs from a variety of sources: symtab, debug info, runtime info // and we sort them and want the sorting to allow us to quickly get the - // best version of a function info. + // best version of a function info. FunctionInfo FISymtab(StartAddr, Size, NameOffset); FunctionInfo FIWithLines(StartAddr, Size, NameOffset); - FIWithLines.Lines.push_back(LineEntry(StartAddr,FileIdx,Line)); + FIWithLines.Lines.push_back(LineEntry(StartAddr, FileIdx, Line)); // Test that a FunctionInfo with just a name and size is less than one // that has name, size and any number of line table entries EXPECT_LT(FISymtab, FIWithLines); FunctionInfo FIWithLinesAndInline = FIWithLines; - FIWithLinesAndInline.Inline.Ranges.insert(AddressRange(StartAddr, StartAddr + 0x10)); + FIWithLinesAndInline.Inline.Ranges.insert( + AddressRange(StartAddr, StartAddr + 0x10)); // Test that a FunctionInfo with name, size, and line entries is less than // the same one with valid inline info EXPECT_LT(FIWithLines, FIWithLinesAndInline); @@ -122,7 +121,7 @@ TEST(GSYMTest, TestFunctionInfo) { // Test if we have an entry with lines and one with more lines for the same // range, the ones with more lines is greater than the one with less. FunctionInfo FIWithMoreLines = FIWithLines; - FIWithMoreLines.Lines.push_back(LineEntry(StartAddr,FileIdx,Line+5)); + FIWithMoreLines.Lines.push_back(LineEntry(StartAddr, FileIdx, Line + 5)); EXPECT_LT(FIWithLines, FIWithMoreLines); // Test that if we have the same number of lines we compare the line entries @@ -136,7 +135,7 @@ TEST(GSYMTest, TestInlineInfo) { // Test InlineInfo structs. InlineInfo II; EXPECT_FALSE(II.isValid()); - II.Ranges.insert(AddressRange(0x1000,0x2000)); + II.Ranges.insert(AddressRange(0x1000, 0x2000)); // Make sure InlineInfo in valid with just an address range since // top level InlineInfo objects have ranges with no name, call file // or call line @@ -156,9 +155,9 @@ TEST(GSYMTest, TestInlineInfo) { // Inline1Sub1 [0x152-0x155) Name = 2, File = 2, Line = 22 // Inline1Sub2 [0x157-0x158) Name = 3, File = 3, Line = 33 InlineInfo Root; - Root.Ranges.insert(AddressRange(0x100,0x200)); + Root.Ranges.insert(AddressRange(0x100, 0x200)); InlineInfo Inline1; - Inline1.Ranges.insert(AddressRange(0x150,0x160)); + Inline1.Ranges.insert(AddressRange(0x150, 0x160)); Inline1.Name = 1; Inline1.CallFile = 1; Inline1.CallLine = 11; @@ -168,7 +167,7 @@ TEST(GSYMTest, TestInlineInfo) { Inline1Sub1.CallFile = 2; Inline1Sub1.CallLine = 22; InlineInfo Inline1Sub2; - Inline1Sub2.Ranges.insert(AddressRange(0x157,0x158)); + Inline1Sub2.Ranges.insert(AddressRange(0x157, 0x158)); Inline1Sub2.Name = 3; Inline1Sub2.CallFile = 3; Inline1Sub2.CallLine = 33; @@ -179,23 +178,22 @@ TEST(GSYMTest, TestInlineInfo) { // Make sure an address that is out of range won't match EXPECT_FALSE(Root.getInlineStack(0x50)); - // Verify that we get no inline stacks for addresses out of [0x100-0x200) - EXPECT_FALSE(Root.getInlineStack(Root.Ranges[0].startAddress()-1)); + // Verify that we get no inline stacks for addresses out of [0x100-0x200) + EXPECT_FALSE(Root.getInlineStack(Root.Ranges[0].startAddress() - 1)); EXPECT_FALSE(Root.getInlineStack(Root.Ranges[0].endAddress())); // Verify we get no inline stack entries for addresses that are in // [0x100-0x200) but not in [0x150-0x160) - EXPECT_FALSE(Root.getInlineStack(Inline1.Ranges[0].startAddress()-1)); + EXPECT_FALSE(Root.getInlineStack(Inline1.Ranges[0].startAddress() - 1)); EXPECT_FALSE(Root.getInlineStack(Inline1.Ranges[0].endAddress())); - // Verify we get one inline stack entry for addresses that are in // [[0x150-0x160)) but not in [0x152-0x155) or [0x157-0x158) auto InlineInfos = Root.getInlineStack(Inline1.Ranges[0].startAddress()); ASSERT_TRUE(InlineInfos); ASSERT_EQ(InlineInfos->size(), 1u); ASSERT_EQ(*InlineInfos->at(0), Inline1); - InlineInfos = Root.getInlineStack(Inline1.Ranges[0].endAddress()-1); + InlineInfos = Root.getInlineStack(Inline1.Ranges[0].endAddress() - 1); EXPECT_TRUE(InlineInfos); ASSERT_EQ(InlineInfos->size(), 1u); ASSERT_EQ(*InlineInfos->at(0), Inline1); @@ -207,7 +205,7 @@ TEST(GSYMTest, TestInlineInfo) { ASSERT_EQ(InlineInfos->size(), 2u); ASSERT_EQ(*InlineInfos->at(0), Inline1Sub1); ASSERT_EQ(*InlineInfos->at(1), Inline1); - InlineInfos = Root.getInlineStack(Inline1Sub1.Ranges[0].endAddress()-1); + InlineInfos = Root.getInlineStack(Inline1Sub1.Ranges[0].endAddress() - 1); EXPECT_TRUE(InlineInfos); ASSERT_EQ(InlineInfos->size(), 2u); ASSERT_EQ(*InlineInfos->at(0), Inline1Sub1); @@ -220,12 +218,12 @@ TEST(GSYMTest, TestInlineInfo) { ASSERT_EQ(InlineInfos->size(), 2u); ASSERT_EQ(*InlineInfos->at(0), Inline1Sub2); ASSERT_EQ(*InlineInfos->at(1), Inline1); - InlineInfos = Root.getInlineStack(Inline1Sub2.Ranges[0].endAddress()-1); + InlineInfos = Root.getInlineStack(Inline1Sub2.Ranges[0].endAddress() - 1); EXPECT_TRUE(InlineInfos); ASSERT_EQ(InlineInfos->size(), 2u); ASSERT_EQ(*InlineInfos->at(0), Inline1Sub2); ASSERT_EQ(*InlineInfos->at(1), Inline1); -} +} TEST(GSYMTest, TestLineEntry) { // test llvm::gsym::LineEntry structs. @@ -242,9 +240,9 @@ TEST(GSYMTest, TestLineEntry) { // Test operators LineEntry E1(ValidAddr, ValidFileIdx, ValidLine); LineEntry E2(ValidAddr, ValidFileIdx, ValidLine); - LineEntry DifferentAddr(ValidAddr+1, ValidFileIdx, ValidLine); - LineEntry DifferentFile(ValidAddr, ValidFileIdx+1, ValidLine); - LineEntry DifferentLine(ValidAddr, ValidFileIdx, ValidLine+1); + LineEntry DifferentAddr(ValidAddr + 1, ValidFileIdx, ValidLine); + LineEntry DifferentFile(ValidAddr, ValidFileIdx + 1, ValidLine); + LineEntry DifferentLine(ValidAddr, ValidFileIdx, ValidLine + 1); EXPECT_TRUE(E1.isValid()); EXPECT_EQ(E1, E2); EXPECT_NE(E1, DifferentAddr); @@ -261,20 +259,20 @@ TEST(GSYMTest, TestRanges) { const AddressRange Range(StartAddr, EndAddr); EXPECT_EQ(Range.startAddress(), StartAddr); EXPECT_EQ(Range.endAddress(), EndAddr); - EXPECT_EQ(Range.size(), EndAddr-StartAddr); + EXPECT_EQ(Range.size(), EndAddr - StartAddr); // Verify llvm::gsym::AddressRange::contains(). EXPECT_FALSE(Range.contains(0)); - EXPECT_FALSE(Range.contains(StartAddr-1)); + EXPECT_FALSE(Range.contains(StartAddr - 1)); EXPECT_TRUE(Range.contains(StartAddr)); - EXPECT_TRUE(Range.contains(EndAddr-1)); + EXPECT_TRUE(Range.contains(EndAddr - 1)); EXPECT_FALSE(Range.contains(EndAddr)); EXPECT_FALSE(Range.contains(UINT64_MAX)); const AddressRange RangeSame(StartAddr, EndAddr); - const AddressRange RangeDifferentStart(StartAddr+1, EndAddr); - const AddressRange RangeDifferentEnd(StartAddr, EndAddr+1); - const AddressRange RangeDifferentStartEnd(StartAddr+1, EndAddr+1); + const AddressRange RangeDifferentStart(StartAddr + 1, EndAddr); + const AddressRange RangeDifferentEnd(StartAddr, EndAddr + 1); + const AddressRange RangeDifferentStartEnd(StartAddr + 1, EndAddr + 1); // Test == and != with values that are the same EXPECT_EQ(Range, RangeSame); EXPECT_FALSE(Range != RangeSame); @@ -299,13 +297,13 @@ TEST(GSYMTest, TestRanges) { // Verify llvm::gsym::AddressRange::isContiguousWith() and // llvm::gsym::AddressRange::intersects(). - const AddressRange EndsBeforeRangeStart(0, StartAddr-1); + const AddressRange EndsBeforeRangeStart(0, StartAddr - 1); const AddressRange EndsAtRangeStart(0, StartAddr); - const AddressRange OverlapsRangeStart(StartAddr-1, StartAddr+1); - const AddressRange InsideRange(StartAddr+1, EndAddr-1); - const AddressRange OverlapsRangeEnd(EndAddr-1, EndAddr+1); - const AddressRange StartsAtRangeEnd(EndAddr, EndAddr+0x100); - const AddressRange StartsAfterRangeEnd(EndAddr+1, EndAddr+0x100); + const AddressRange OverlapsRangeStart(StartAddr - 1, StartAddr + 1); + const AddressRange InsideRange(StartAddr + 1, EndAddr - 1); + const AddressRange OverlapsRangeEnd(EndAddr - 1, EndAddr + 1); + const AddressRange StartsAtRangeEnd(EndAddr, EndAddr + 0x100); + const AddressRange StartsAfterRangeEnd(EndAddr + 1, EndAddr + 0x100); EXPECT_FALSE(Range.isContiguousWith(EndsBeforeRangeStart)); EXPECT_TRUE(Range.isContiguousWith(EndsAtRangeStart)); @@ -332,15 +330,15 @@ TEST(GSYMTest, TestRanges) { Ranges.insert(AddressRange(0x4000, 0x5000)); EXPECT_FALSE(Ranges.contains(0)); - EXPECT_FALSE(Ranges.contains(0x1000-1)); + EXPECT_FALSE(Ranges.contains(0x1000 - 1)); EXPECT_TRUE(Ranges.contains(0x1000)); EXPECT_TRUE(Ranges.contains(0x2000)); EXPECT_TRUE(Ranges.contains(0x4000)); - EXPECT_TRUE(Ranges.contains(0x2000-1)); - EXPECT_TRUE(Ranges.contains(0x3000-1)); - EXPECT_FALSE(Ranges.contains(0x3000+1)); - EXPECT_TRUE(Ranges.contains(0x5000-1)); - EXPECT_FALSE(Ranges.contains(0x5000+1)); + EXPECT_TRUE(Ranges.contains(0x2000 - 1)); + EXPECT_TRUE(Ranges.contains(0x3000 - 1)); + EXPECT_FALSE(Ranges.contains(0x3000 + 1)); + EXPECT_TRUE(Ranges.contains(0x5000 - 1)); + EXPECT_FALSE(Ranges.contains(0x5000 + 1)); EXPECT_FALSE(Ranges.contains(UINT64_MAX)); // Verify that intersecting ranges get combined @@ -352,12 +350,12 @@ TEST(GSYMTest, TestRanges) { EXPECT_EQ(Ranges[0], AddressRange(0x1100, 0x1F00)); // Verify a range that starts before and intersects gets combined. - Ranges.insert(AddressRange(0x1000, Ranges[0].startAddress()+1)); + Ranges.insert(AddressRange(0x1000, Ranges[0].startAddress() + 1)); EXPECT_EQ(Ranges.size(), 1u); EXPECT_EQ(Ranges[0], AddressRange(0x1000, 0x1F00)); // Verify a range that starts inside and extends ranges gets combined. - Ranges.insert(AddressRange(Ranges[0].endAddress()-1, 0x2000)); + Ranges.insert(AddressRange(Ranges[0].endAddress() - 1, 0x2000)); EXPECT_EQ(Ranges.size(), 1u); EXPECT_EQ(Ranges[0], AddressRange(0x1000, 0x2000)); @@ -368,12 +366,10 @@ TEST(GSYMTest, TestRanges) { EXPECT_EQ(Ranges[1], AddressRange(0x2000, 0x3000)); // Verify if we add an address range that intersects two ranges // that they get combined - Ranges.insert(AddressRange(Ranges[0].endAddress()-1, - Ranges[1].startAddress()+1)); + Ranges.insert( + AddressRange(Ranges[0].endAddress() - 1, Ranges[1].startAddress() + 1)); EXPECT_EQ(Ranges.size(), 1u); EXPECT_EQ(Ranges[0], AddressRange(0x1000, 0x3000)); - - } TEST(GSYMTest, TestStringTable) { |