diff options
Diffstat (limited to 'llvm/unittests')
| -rw-r--r-- | llvm/unittests/DebugInfo/PDB/ErrorChecking.h | 12 | ||||
| -rw-r--r-- | llvm/unittests/DebugInfo/PDB/StringTableBuilderTest.cpp | 19 |
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")); } |

