summaryrefslogtreecommitdiff
path: root/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2018-08-02 17:32:43 +0000
committerDimitry Andric <dim@FreeBSD.org>2018-08-02 17:32:43 +0000
commitb7eb8e35e481a74962664b63dfb09483b200209a (patch)
tree1937fb4a348458ce2d02ade03ac3bb0aa18d2fcd /unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp
parenteb11fae6d08f479c0799db45860a98af528fa6e7 (diff)
Diffstat (limited to 'unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp')
-rw-r--r--unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp71
1 files changed, 51 insertions, 20 deletions
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) {