diff --git a/llvm/include/llvm/Testing/Support/Error.h b/llvm/include/llvm/Testing/Support/Error.h --- a/llvm/include/llvm/Testing/Support/Error.h +++ b/llvm/include/llvm/Testing/Support/Error.h @@ -165,26 +165,24 @@ #define ASSERT_THAT_ERROR(Err, Matcher) \ ASSERT_THAT(llvm::detail::TakeError(Err), Matcher) -/// Helper marcro for checking the result of an 'Expected' +/// Helper macro for checking the result of an 'Expected' /// /// @code{.cpp} /// // function to be tested /// Expected myDivide(int A, int B); /// /// TEST(myDivideTests, GoodAndBad) { -/// // test the good care -/// auto D1 = myDivide(10, 5); -/// // ensure the Error gets consumed in case the function fails by -/// // calling 'toString()'. This also helps in debugging failing tests. -/// EXPECT_THAT_EXPECTED(D1, Succeeded()) << toString(D1.takeError()) << -/// "\n"; -/// EXPECT_THAT(*D1, Eq(2)); +/// // test good case +/// // if you only care about successor failure: +/// EXPECT_THAT_EXPECTED(myDivide(10, 5), Succeeded()); +/// // if you also care about the value: +/// EXPECT_THAT_EXPECTED(myDivide(10, 5), HasValue(2)); /// /// // test the error case -/// auto D2 = myDivide(10, 0); -/// EXPECT_THAT_EXPECTED(D2, Failed()); -/// // In the error case we need to consume the error. -/// consumeError(D2.takeError()); +/// EXPECT_THAT_EXPECTED(myDivide(10, 0), Failed()); +/// // also check the error message +/// EXPECT_THAT_EXPECTED(myDivide(10, 0), +/// FailedWithMessage("B must not be zero!")); /// } /// @endcode