From 4c9a3bb62bf3ba1f1010bf96f9c8ed767b363774 Mon Sep 17 00:00:00 2001 From: Dino Radakovic Date: Mon, 8 Aug 2022 11:47:36 -0700 Subject: [PATCH] gtest_unittest: Call FAIL() in lambda, fix incorrect fatality expectation FAIL() evaluates into a return statement: https://github.com/google/googletest/blob/5b909beeec178f338be997830b6c31a80cda7a93/googletest/include/gtest/internal/gtest-internal.h#L1347 Calling it from the body of the test case turns all subsequent expectations into no-ops. Fixes #3941 PiperOrigin-RevId: 466104977 Change-Id: Ic15f43acb734295a5c9690a2b5eec6f65e8c0814 --- googletest/test/gtest_unittest.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/googletest/test/gtest_unittest.cc b/googletest/test/gtest_unittest.cc index b579e81e..329ca546 100644 --- a/googletest/test/gtest_unittest.cc +++ b/googletest/test/gtest_unittest.cc @@ -3454,10 +3454,10 @@ TEST_F(NoFatalFailureTest, MessageIsStreamable) { TestPartResultArray gtest_failures; { ScopedFakeTestPartResultReporter gtest_reporter(>est_failures); - EXPECT_NO_FATAL_FAILURE(FAIL() << "foo") << "my message"; + EXPECT_NO_FATAL_FAILURE([] { FAIL() << "foo"; }()) << "my message"; } ASSERT_EQ(2, gtest_failures.size()); - EXPECT_EQ(TestPartResult::kNonFatalFailure, + EXPECT_EQ(TestPartResult::kFatalFailure, gtest_failures.GetTestPartResult(0).type()); EXPECT_EQ(TestPartResult::kNonFatalFailure, gtest_failures.GetTestPartResult(1).type());