summaryrefslogtreecommitdiffstats
path: root/llvm/unittests
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/unittests')
-rw-r--r--llvm/unittests/DebugInfo/PDB/ErrorChecking.h12
-rw-r--r--llvm/unittests/DebugInfo/PDB/StringTableBuilderTest.cpp19
2 files changed, 25 insertions, 6 deletions
diff --git a/llvm/unittests/DebugInfo/PDB/ErrorChecking.h b/llvm/unittests/DebugInfo/PDB/ErrorChecking.h
index 6d4a7de7834..f284bfd8bb7 100644
--- a/llvm/unittests/DebugInfo/PDB/ErrorChecking.h
+++ b/llvm/unittests/DebugInfo/PDB/ErrorChecking.h
@@ -36,6 +36,18 @@
} \
}
+#define EXPECT_EXPECTED_EQ(Val, Exp) \
+ { \
+ auto Result = Exp; \
+ auto E = Result.takeError(); \
+ EXPECT_FALSE(static_cast<bool>(E)); \
+ if (E) { \
+ consumeError(std::move(E)); \
+ return; \
+ } \
+ EXPECT_EQ(Val, *Result); \
+ }
+
#define EXPECT_UNEXPECTED(Exp) \
{ \
auto E = Exp.takeError(); \
diff --git a/llvm/unittests/DebugInfo/PDB/StringTableBuilderTest.cpp b/llvm/unittests/DebugInfo/PDB/StringTableBuilderTest.cpp
index 44cc85d9e44..2cfac801141 100644
--- a/llvm/unittests/DebugInfo/PDB/StringTableBuilderTest.cpp
+++ b/llvm/unittests/DebugInfo/PDB/StringTableBuilderTest.cpp
@@ -25,6 +25,12 @@ namespace {
class StringTableBuilderTest : public ::testing::Test {};
}
+template <typename T>
+static void ExpectExpected(Expected<T> &&E, const T &Value) {
+ EXPECT_EXPECTED(E);
+ EXPECT_EQ(Value, *E);
+}
+
TEST_F(StringTableBuilderTest, Simple) {
// Create /names table contents.
PDBStringTableBuilder Builder;
@@ -46,10 +52,11 @@ TEST_F(StringTableBuilderTest, Simple) {
EXPECT_EQ(3U, Table.getNameCount());
EXPECT_EQ(1U, Table.getHashVersion());
- EXPECT_EQ("foo", Table.getStringForID(1));
- EXPECT_EQ("bar", Table.getStringForID(5));
- EXPECT_EQ("baz", Table.getStringForID(9));
- EXPECT_EQ(1U, Table.getIDForString("foo"));
- EXPECT_EQ(5U, Table.getIDForString("bar"));
- EXPECT_EQ(9U, Table.getIDForString("baz"));
+
+ EXPECT_EXPECTED_EQ("foo", Table.getStringForID(1));
+ EXPECT_EXPECTED_EQ("bar", Table.getStringForID(5));
+ EXPECT_EXPECTED_EQ("baz", Table.getStringForID(9));
+ EXPECT_EXPECTED_EQ(1U, Table.getIDForString("foo"));
+ EXPECT_EXPECTED_EQ(5U, Table.getIDForString("bar"));
+ EXPECT_EXPECTED_EQ(9U, Table.getIDForString("baz"));
}
OpenPOWER on IntegriCloud