diff options
author | Abseil Team <absl-team@google.com> | 2019-04-22 22:23:35 (GMT) |
---|---|---|
committer | Matt Calabrese <calabrese@x.team> | 2019-04-24 13:34:40 (GMT) |
commit | 84d986531e8df9fb6ea4a7bae8fb130c05b3782c (patch) | |
tree | 0b8757a3724c3550765e5efbe34fc40354aa9f75 | |
parent | a53e931dcd00c2556ee181d832e699c9f3c29036 (diff) | |
download | googletest-84d986531e8df9fb6ea4a7bae8fb130c05b3782c.zip googletest-84d986531e8df9fb6ea4a7bae8fb130c05b3782c.tar.gz googletest-84d986531e8df9fb6ea4a7bae8fb130c05b3782c.tar.bz2 |
Googletest export
Add GTEST_FAIL_AT, an equivalent to ADD_FAILURE_AT but that
spawns a fatal failure rather than a non-fatal, eg. the equivalent
of an ASSERT* failure rather than an EXPECT* failure.
PiperOrigin-RevId: 244746609
-rw-r--r-- | googletest/include/gtest/gtest.h | 5 | ||||
-rw-r--r-- | googletest/test/googletest-output-test-golden-lin.txt | 19 | ||||
-rw-r--r-- | googletest/test/googletest-output-test_.cc | 6 | ||||
-rw-r--r-- | googletest/test/gtest_unittest.cc | 13 |
4 files changed, 37 insertions, 6 deletions
diff --git a/googletest/include/gtest/gtest.h b/googletest/include/gtest/gtest.h index 76f4098..7382442 100644 --- a/googletest/include/gtest/gtest.h +++ b/googletest/include/gtest/gtest.h @@ -1900,6 +1900,11 @@ class TestWithParam : public Test, public WithParamInterface<T> { // Generates a fatal failure with a generic message. #define GTEST_FAIL() GTEST_FATAL_FAILURE_("Failed") +// Like GTEST_FAIL(), but at the given source file location. +#define GTEST_FAIL_AT(file, line) \ + GTEST_MESSAGE_AT_(file, line, "Failed", \ + ::testing::TestPartResult::kFatalFailure) + // Define this macro to 1 to omit the definition of FAIL(), which is a // generic name and clashes with some other libraries. #if !GTEST_DONT_DEFINE_FAIL diff --git a/googletest/test/googletest-output-test-golden-lin.txt b/googletest/test/googletest-output-test-golden-lin.txt index 29507fc..270b15a 100644 --- a/googletest/test/googletest-output-test-golden-lin.txt +++ b/googletest/test/googletest-output-test-golden-lin.txt @@ -12,7 +12,7 @@ Expected equality of these values: 3 Stack trace: (omitted) -[0;32m[==========] [mRunning 83 tests from 38 test suites. +[0;32m[==========] [mRunning 84 tests from 39 test suites. [0;32m[----------] [mGlobal test environment set-up. FooEnvironment::SetUp() called. BarEnvironment::SetUp() called. @@ -380,10 +380,18 @@ Stack trace: (omitted) [0;32m[ RUN ] [mAddFailureAtTest.MessageContainsSpecifiedFileAndLineNumber foo.cc:42: Failure Failed -Expected failure in foo.cc +Expected nonfatal failure in foo.cc Stack trace: (omitted) [0;31m[ FAILED ] [mAddFailureAtTest.MessageContainsSpecifiedFileAndLineNumber +[0;32m[----------] [m1 test from GtestFailAtTest +[0;32m[ RUN ] [mGtestFailAtTest.MessageContainsSpecifiedFileAndLineNumber +foo.cc:42: Failure +Failed +Expected fatal failure in foo.cc +Stack trace: (omitted) + +[0;31m[ FAILED ] [mGtestFailAtTest.MessageContainsSpecifiedFileAndLineNumber [0;32m[----------] [m4 tests from MixedUpTestSuiteTest [0;32m[ RUN ] [mMixedUpTestSuiteTest.FirstTestFromNamespaceFoo [0;32m[ OK ] [mMixedUpTestSuiteTest.FirstTestFromNamespaceFoo @@ -984,9 +992,9 @@ Failed Expected fatal failure. Stack trace: (omitted) -[0;32m[==========] [m83 tests from 38 test suites ran. +[0;32m[==========] [m84 tests from 39 test suites ran. [0;32m[ PASSED ] [m30 tests. -[0;31m[ FAILED ] [m53 tests, listed below: +[0;31m[ FAILED ] [m54 tests, listed below: [0;31m[ FAILED ] [mNonfatalFailureTest.EscapesStringOperands [0;31m[ FAILED ] [mNonfatalFailureTest.DiffForLongStrings [0;31m[ FAILED ] [mFatalFailureTest.FatalFailureInSubroutine @@ -1006,6 +1014,7 @@ Stack trace: (omitted) [0;31m[ FAILED ] [mNonFatalFailureInSetUpTest.FailureInSetUp [0;31m[ FAILED ] [mFatalFailureInSetUpTest.FailureInSetUp [0;31m[ FAILED ] [mAddFailureAtTest.MessageContainsSpecifiedFileAndLineNumber +[0;31m[ FAILED ] [mGtestFailAtTest.MessageContainsSpecifiedFileAndLineNumber [0;31m[ FAILED ] [mMixedUpTestSuiteTest.ThisShouldFail [0;31m[ FAILED ] [mMixedUpTestSuiteTest.ThisShouldFailToo [0;31m[ FAILED ] [mMixedUpTestSuiteWithSameTestNameTest.TheSecondTestWithThisNameShouldFail @@ -1041,7 +1050,7 @@ Stack trace: (omitted) [0;31m[ FAILED ] [mPrintingFailingParams/FailingParamTest.Fails/0, where GetParam() = 2 [0;31m[ FAILED ] [mPrintingStrings/ParamTest.Failure/a, where GetParam() = "a" -53 FAILED TESTS +54 FAILED TESTS [0;33m YOU HAVE 1 DISABLED TEST [mNote: Google Test filter = FatalFailureTest.*:LoggingTest.* diff --git a/googletest/test/googletest-output-test_.cc b/googletest/test/googletest-output-test_.cc index c6ce59e..f1222b6 100644 --- a/googletest/test/googletest-output-test_.cc +++ b/googletest/test/googletest-output-test_.cc @@ -461,7 +461,11 @@ TEST_F(FatalFailureInSetUpTest, FailureInSetUp) { } TEST(AddFailureAtTest, MessageContainsSpecifiedFileAndLineNumber) { - ADD_FAILURE_AT("foo.cc", 42) << "Expected failure in foo.cc"; + ADD_FAILURE_AT("foo.cc", 42) << "Expected nonfatal failure in foo.cc"; +} + +TEST(GtestFailAtTest, MessageContainsSpecifiedFileAndLineNumber) { + GTEST_FAIL_AT("foo.cc", 42) << "Expected fatal failure in foo.cc"; } #if GTEST_IS_THREADSAFE diff --git a/googletest/test/gtest_unittest.cc b/googletest/test/gtest_unittest.cc index 28ced73..d481056 100644 --- a/googletest/test/gtest_unittest.cc +++ b/googletest/test/gtest_unittest.cc @@ -4708,6 +4708,19 @@ TEST(MacroTest, FAIL) { "Intentional failure."); } +// Tests GTEST_FAIL_AT. +TEST(MacroTest, GTEST_FAIL_AT) { + // Verifies that GTEST_FAIL_AT does generate a fatal failure and + // the failure message contains the user-streamed part. + EXPECT_FATAL_FAILURE(GTEST_FAIL_AT("foo.cc", 42) << "Wrong!", "Wrong!"); + + // Verifies that the user-streamed part is optional. + EXPECT_FATAL_FAILURE(GTEST_FAIL_AT("foo.cc", 42), "Failed"); + + // See the ADD_FAIL_AT test above to see how we test that the failure message + // contains the right filename and line number -- the same applies here. +} + // Tests SUCCEED TEST(MacroTest, SUCCEED) { SUCCEED(); |