aboutsummaryrefslogtreecommitdiff
path: root/unittests/DebugInfo
diff options
context:
space:
mode:
Diffstat (limited to 'unittests/DebugInfo')
-rw-r--r--unittests/DebugInfo/CodeView/TypeIndexDiscoveryTest.cpp9
-rw-r--r--unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp71
2 files changed, 59 insertions, 21 deletions
diff --git a/unittests/DebugInfo/CodeView/TypeIndexDiscoveryTest.cpp b/unittests/DebugInfo/CodeView/TypeIndexDiscoveryTest.cpp
index 60ca56b0d143..7ee56042f4be 100644
--- a/unittests/DebugInfo/CodeView/TypeIndexDiscoveryTest.cpp
+++ b/unittests/DebugInfo/CodeView/TypeIndexDiscoveryTest.cpp
@@ -600,4 +600,11 @@ TEST_F(TypeIndexIteratorTest, VariableSizeIntegers) {
BaseClassRecord BaseClass2(MemberAccess::Public, TypeIndex(48), 1);
writeFieldList(BaseClass1, BaseClass2);
checkTypeReferences(0, TypeIndex(47), TypeIndex(48));
-} \ No newline at end of file
+}
+
+TEST_F(TypeIndexIteratorTest, UsingNamespace) {
+ UsingNamespaceSym UN(SymbolRecordKind::UsingNamespaceSym);
+ UN.Name = "std";
+ writeSymbolRecords(UN);
+ checkTypeReferences(0);
+}
diff --git a/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp b/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp
index 442dea3c52f7..273809fcbd32 100644
--- a/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp
+++ b/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp
@@ -1122,26 +1122,57 @@ TEST(DWARFDebugInfo, TestRelations) {
EXPECT_EQ(C1.getParent(), C);
EXPECT_EQ(C2.getParent(), C);
- // Make sure bidirectional iterator works as expected.
- auto Begin = A.begin();
- auto End = A.end();
- auto It = A.begin();
-
- EXPECT_EQ(It, Begin);
- EXPECT_EQ(*It, B);
- ++It;
- EXPECT_EQ(*It, C);
- ++It;
- EXPECT_EQ(*It, D);
- ++It;
- EXPECT_EQ(It, End);
- --It;
- EXPECT_EQ(*It, D);
- --It;
- EXPECT_EQ(*It, C);
- --It;
- EXPECT_EQ(*It, B);
- EXPECT_EQ(It, Begin);
+ // Make sure iterators work as expected.
+ EXPECT_THAT(std::vector<DWARFDie>(A.begin(), A.end()),
+ testing::ElementsAre(B, C, D));
+ EXPECT_THAT(std::vector<DWARFDie>(A.rbegin(), A.rend()),
+ testing::ElementsAre(D, C, B));
+
+ // Make sure iterator is bidirectional.
+ {
+ auto Begin = A.begin();
+ auto End = A.end();
+ auto It = A.begin();
+
+ EXPECT_EQ(It, Begin);
+ EXPECT_EQ(*It, B);
+ ++It;
+ EXPECT_EQ(*It, C);
+ ++It;
+ EXPECT_EQ(*It, D);
+ ++It;
+ EXPECT_EQ(It, End);
+ --It;
+ EXPECT_EQ(*It, D);
+ --It;
+ EXPECT_EQ(*It, C);
+ --It;
+ EXPECT_EQ(*It, B);
+ EXPECT_EQ(It, Begin);
+ }
+
+ // Make sure reverse iterator is bidirectional.
+ {
+ auto Begin = A.rbegin();
+ auto End = A.rend();
+ auto It = A.rbegin();
+
+ EXPECT_EQ(It, Begin);
+ EXPECT_EQ(*It, D);
+ ++It;
+ EXPECT_EQ(*It, C);
+ ++It;
+ EXPECT_EQ(*It, B);
+ ++It;
+ EXPECT_EQ(It, End);
+ --It;
+ EXPECT_EQ(*It, B);
+ --It;
+ EXPECT_EQ(*It, C);
+ --It;
+ EXPECT_EQ(*It, D);
+ EXPECT_EQ(It, Begin);
+ }
}
TEST(DWARFDebugInfo, TestDWARFDie) {