From: Yitzhak Mandelbaum Date: Wed, 25 Sep 2019 20:04:25 +0000 (+0000) Subject: [libTooling][NFC] Switch StencilTest.cpp to use EXPECT_THAT_EXPECTED X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=135af9b01b370a941da35aa6fa07f26438b55f91;p=clang [libTooling][NFC] Switch StencilTest.cpp to use EXPECT_THAT_EXPECTED Summary: Currently, some tests use homegrown matchers to handle `llvm::Expected` values. This revision standardizes on EXPECT_THAT_EXPECTED and `HasValue`. Reviewers: ilya-biryukov Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D67973 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@372918 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/unittests/Tooling/StencilTest.cpp b/unittests/Tooling/StencilTest.cpp index 18ebd0f01f..cc0e8facca 100644 --- a/unittests/Tooling/StencilTest.cpp +++ b/unittests/Tooling/StencilTest.cpp @@ -31,23 +31,6 @@ using stencil::dPrint; using stencil::ifBound; using stencil::text; -// In tests, we can't directly match on llvm::Expected since its accessors -// mutate the object. So, we collapse it to an Optional. -static llvm::Optional toOptional(llvm::Expected V) { - if (V) - return *V; - ADD_FAILURE() << "Losing error in conversion to IsSomething: " - << llvm::toString(V.takeError()); - return llvm::None; -} - -// A very simple matcher for llvm::Optional values. -MATCHER_P(IsSomething, ValueMatcher, "") { - if (!arg) - return false; - return ::testing::ExplainMatchResult(ValueMatcher, *arg, result_listener); -} - // Create a valid translation-unit from a statement. static std::string wrapSnippet(StringRef StatementCode) { return ("struct S { int field; }; auto stencil_test_snippet = []{" + @@ -151,8 +134,8 @@ TEST_F(StencilTest, SingleStatement) { // Invert the if-then-else. auto Stencil = cat("if (!", node(Condition), ") ", statement(Else), " else ", statement(Then)); - EXPECT_THAT(toOptional(Stencil.eval(StmtMatch->Result)), - IsSomething(Eq("if (!true) return 0; else return 1;"))); + EXPECT_THAT_EXPECTED(Stencil.eval(StmtMatch->Result), + HasValue("if (!true) return 0; else return 1;")); } TEST_F(StencilTest, SingleStatementCallOperator) { @@ -170,8 +153,8 @@ TEST_F(StencilTest, SingleStatementCallOperator) { // Invert the if-then-else. Stencil S = cat("if (!", node(Condition), ") ", statement(Else), " else ", statement(Then)); - EXPECT_THAT(toOptional(S(StmtMatch->Result)), - IsSomething(Eq("if (!true) return 0; else return 1;"))); + EXPECT_THAT_EXPECTED(S(StmtMatch->Result), + HasValue("if (!true) return 0; else return 1;")); } TEST_F(StencilTest, UnboundNode) {