Adds ADD_FAILURE_AT (by Zhanyong Wan); disables -Wswitch-default (by Vlad Losev).
This commit is contained in:
		@@ -54,7 +54,7 @@ elseif (CMAKE_COMPILER_IS_GNUCXX)
 | 
			
		||||
  # whether RTTI is enabled.  Therefore we define GTEST_HAS_RTTI
 | 
			
		||||
  # explicitly.
 | 
			
		||||
  set(cxx_no_rtti_flags "-fno-rtti -DGTEST_HAS_RTTI=0")
 | 
			
		||||
  set(cxx_strict_flags "-Wextra -Wswitch-default")
 | 
			
		||||
  set(cxx_strict_flags "-Wextra")
 | 
			
		||||
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "SunPro")
 | 
			
		||||
  set(cxx_exception_flags "-features=except")
 | 
			
		||||
  # Sun Pro doesn't provide macros to indicate whether exceptions and
 | 
			
		||||
 
 | 
			
		||||
@@ -1627,6 +1627,12 @@ const T* TestWithParam<T>::parameter_ = NULL;
 | 
			
		||||
// Generates a nonfatal failure with a generic message.
 | 
			
		||||
#define ADD_FAILURE() GTEST_NONFATAL_FAILURE_("Failed")
 | 
			
		||||
 | 
			
		||||
// Generates a nonfatal failure at the given source file location with
 | 
			
		||||
// a generic message.
 | 
			
		||||
#define ADD_FAILURE_AT(file, line) \
 | 
			
		||||
  GTEST_MESSAGE_AT_(file, line, "Failed", \
 | 
			
		||||
                    ::testing::TestPartResult::kNonFatalFailure)
 | 
			
		||||
 | 
			
		||||
// Generates a fatal failure with a generic message.
 | 
			
		||||
#define GTEST_FAIL() GTEST_FATAL_FAILURE_("Failed")
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1064,10 +1064,13 @@ class NativeArray {
 | 
			
		||||
}  // namespace internal
 | 
			
		||||
}  // namespace testing
 | 
			
		||||
 | 
			
		||||
#define GTEST_MESSAGE_(message, result_type) \
 | 
			
		||||
  ::testing::internal::AssertHelper(result_type, __FILE__, __LINE__, message) \
 | 
			
		||||
#define GTEST_MESSAGE_AT_(file, line, message, result_type) \
 | 
			
		||||
  ::testing::internal::AssertHelper(result_type, file, line, message) \
 | 
			
		||||
    = ::testing::Message()
 | 
			
		||||
 | 
			
		||||
#define GTEST_MESSAGE_(message, result_type) \
 | 
			
		||||
  GTEST_MESSAGE_AT_(__FILE__, __LINE__, message, result_type)
 | 
			
		||||
 | 
			
		||||
#define GTEST_FATAL_FAILURE_(message) \
 | 
			
		||||
  return GTEST_MESSAGE_(message, ::testing::TestPartResult::kFatalFailure)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -441,6 +441,10 @@ TEST_F(FatalFailureInSetUpTest, FailureInSetUp) {
 | 
			
		||||
         << "We should never get here, as SetUp() failed.";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TEST(AddFailureAtTest, MessageContainsSpecifiedFileAndLineNumber) {
 | 
			
		||||
  ADD_FAILURE_AT("foo.cc", 42) << "Expected failure in foo.cc";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#if GTEST_OS_WINDOWS
 | 
			
		||||
 | 
			
		||||
// This group of tests verifies that Google Test handles SEH and C++
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,7 @@ Expected: true
 | 
			
		||||
gtest_output_test_.cc:#: Failure
 | 
			
		||||
Value of: 3
 | 
			
		||||
Expected: 2
 | 
			
		||||
[0;32m[==========] [mRunning 61 tests from 26 test cases.
 | 
			
		||||
[0;32m[==========] [mRunning 62 tests from 27 test cases.
 | 
			
		||||
[0;32m[----------] [mGlobal test environment set-up.
 | 
			
		||||
FooEnvironment::SetUp() called.
 | 
			
		||||
BarEnvironment::SetUp() called.
 | 
			
		||||
@@ -235,6 +235,12 @@ gtest_output_test_.cc:#: Failure
 | 
			
		||||
Failed
 | 
			
		||||
Expected failure #3, in the test fixture d'tor.
 | 
			
		||||
[0;31m[  FAILED  ] [mFatalFailureInSetUpTest.FailureInSetUp
 | 
			
		||||
[0;32m[----------] [m1 test from AddFailureAtTest
 | 
			
		||||
[0;32m[ RUN      ] [mAddFailureAtTest.MessageContainsSpecifiedFileAndLineNumber
 | 
			
		||||
foo.cc:42: Failure
 | 
			
		||||
Failed
 | 
			
		||||
Expected failure in foo.cc
 | 
			
		||||
[0;31m[  FAILED  ] [mAddFailureAtTest.MessageContainsSpecifiedFileAndLineNumber
 | 
			
		||||
[0;32m[----------] [m4 tests from MixedUpTestCaseTest
 | 
			
		||||
[0;32m[ RUN      ] [mMixedUpTestCaseTest.FirstTestFromNamespaceFoo
 | 
			
		||||
[0;32m[       OK ] [mMixedUpTestCaseTest.FirstTestFromNamespaceFoo
 | 
			
		||||
@@ -580,9 +586,9 @@ FooEnvironment::TearDown() called.
 | 
			
		||||
gtest_output_test_.cc:#: Failure
 | 
			
		||||
Failed
 | 
			
		||||
Expected fatal failure.
 | 
			
		||||
[0;32m[==========] [m61 tests from 26 test cases ran.
 | 
			
		||||
[0;32m[==========] [m62 tests from 27 test cases ran.
 | 
			
		||||
[0;32m[  PASSED  ] [m21 tests.
 | 
			
		||||
[0;31m[  FAILED  ] [m40 tests, listed below:
 | 
			
		||||
[0;31m[  FAILED  ] [m41 tests, listed below:
 | 
			
		||||
[0;31m[  FAILED  ] [mFatalFailureTest.FatalFailureInSubroutine
 | 
			
		||||
[0;31m[  FAILED  ] [mFatalFailureTest.FatalFailureInNestedSubroutine
 | 
			
		||||
[0;31m[  FAILED  ] [mFatalFailureTest.NonfatalFailureInSubroutine
 | 
			
		||||
@@ -597,6 +603,7 @@ Expected fatal failure.
 | 
			
		||||
[0;31m[  FAILED  ] [mFatalFailureInFixtureConstructorTest.FailureInConstructor
 | 
			
		||||
[0;31m[  FAILED  ] [mNonFatalFailureInSetUpTest.FailureInSetUp
 | 
			
		||||
[0;31m[  FAILED  ] [mFatalFailureInSetUpTest.FailureInSetUp
 | 
			
		||||
[0;31m[  FAILED  ] [mAddFailureAtTest.MessageContainsSpecifiedFileAndLineNumber
 | 
			
		||||
[0;31m[  FAILED  ] [mMixedUpTestCaseTest.ThisShouldFail
 | 
			
		||||
[0;31m[  FAILED  ] [mMixedUpTestCaseTest.ThisShouldFailToo
 | 
			
		||||
[0;31m[  FAILED  ] [mMixedUpTestCaseWithSameTestNameTest.TheSecondTestWithThisNameShouldFail
 | 
			
		||||
@@ -624,7 +631,7 @@ Expected fatal failure.
 | 
			
		||||
[0;31m[  FAILED  ] [mScopedFakeTestPartResultReporterTest.InterceptOnlyCurrentThread
 | 
			
		||||
[0;31m[  FAILED  ] [mPrintingFailingParams/FailingParamTest.Fails/0, where GetParam() = 2
 | 
			
		||||
 | 
			
		||||
40 FAILED TESTS
 | 
			
		||||
41 FAILED TESTS
 | 
			
		||||
[0;33m  YOU HAVE 1 DISABLED TEST
 | 
			
		||||
 | 
			
		||||
[mNote: Google Test filter = FatalFailureTest.*:LoggingTest.*
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@ gtest_output_test_.cc:#: error: Value of: false
 | 
			
		||||
Expected: true
 | 
			
		||||
gtest_output_test_.cc:#: error: Value of: 3
 | 
			
		||||
Expected: 2
 | 
			
		||||
[==========] Running 62 tests from 28 test cases.
 | 
			
		||||
[==========] Running 63 tests from 29 test cases.
 | 
			
		||||
[----------] Global test environment set-up.
 | 
			
		||||
FooEnvironment::SetUp() called.
 | 
			
		||||
BarEnvironment::SetUp() called.
 | 
			
		||||
@@ -173,6 +173,11 @@ Expected failure #2, in TearDown().
 | 
			
		||||
gtest_output_test_.cc:#: error: Failed
 | 
			
		||||
Expected failure #3, in the test fixture d'tor.
 | 
			
		||||
[  FAILED  ] FatalFailureInSetUpTest.FailureInSetUp
 | 
			
		||||
[----------] 1 test from AddFailureAtTest
 | 
			
		||||
[ RUN      ] AddFailureAtTest.MessageContainsSpecifiedFileAndLineNumber
 | 
			
		||||
foo.cc(42): error: Failed
 | 
			
		||||
Expected failure in foo.cc
 | 
			
		||||
[  FAILED  ] AddFailureAtTest.MessageContainsSpecifiedFileAndLineNumber
 | 
			
		||||
[----------] 1 test from ExceptionInFixtureCtorTest
 | 
			
		||||
[ RUN      ] ExceptionInFixtureCtorTest.ExceptionInFixtureCtor
 | 
			
		||||
(expecting a failure on thrown exception in the test fixture's constructor)
 | 
			
		||||
@@ -492,9 +497,9 @@ Expected non-fatal failure.
 | 
			
		||||
FooEnvironment::TearDown() called.
 | 
			
		||||
gtest_output_test_.cc:#: error: Failed
 | 
			
		||||
Expected fatal failure.
 | 
			
		||||
[==========] 62 tests from 28 test cases ran.
 | 
			
		||||
[==========] 63 tests from 29 test cases ran.
 | 
			
		||||
[  PASSED  ] 21 tests.
 | 
			
		||||
[  FAILED  ] 41 tests, listed below:
 | 
			
		||||
[  FAILED  ] 42 tests, listed below:
 | 
			
		||||
[  FAILED  ] FatalFailureTest.FatalFailureInSubroutine
 | 
			
		||||
[  FAILED  ] FatalFailureTest.FatalFailureInNestedSubroutine
 | 
			
		||||
[  FAILED  ] FatalFailureTest.NonfatalFailureInSubroutine
 | 
			
		||||
@@ -508,6 +513,7 @@ Expected fatal failure.
 | 
			
		||||
[  FAILED  ] FatalFailureInFixtureConstructorTest.FailureInConstructor
 | 
			
		||||
[  FAILED  ] NonFatalFailureInSetUpTest.FailureInSetUp
 | 
			
		||||
[  FAILED  ] FatalFailureInSetUpTest.FailureInSetUp
 | 
			
		||||
[  FAILED  ] AddFailureAtTest.MessageContainsSpecifiedFileAndLineNumber
 | 
			
		||||
[  FAILED  ] ExceptionInFixtureCtorTest.ExceptionInFixtureCtor
 | 
			
		||||
[  FAILED  ] ExceptionInSetUpTest.ExceptionInSetUp
 | 
			
		||||
[  FAILED  ] ExceptionInTestFunctionTest.SEH
 | 
			
		||||
@@ -537,7 +543,7 @@ Expected fatal failure.
 | 
			
		||||
[  FAILED  ] ExpectFailureTest.ExpectNonFatalFailureOnAllThreads
 | 
			
		||||
[  FAILED  ] PrintingFailingParams/FailingParamTest.Fails/0, where GetParam() = 2
 | 
			
		||||
 | 
			
		||||
41 FAILED TESTS
 | 
			
		||||
42 FAILED TESTS
 | 
			
		||||
  YOU HAVE 1 DISABLED TEST
 | 
			
		||||
 | 
			
		||||
Note: Google Test filter = FatalFailureTest.*:LoggingTest.*
 | 
			
		||||
 
 | 
			
		||||
@@ -4393,6 +4393,21 @@ TEST(MacroTest, ADD_FAILURE) {
 | 
			
		||||
  EXPECT_FALSE(aborted);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Tests ADD_FAILURE_AT.
 | 
			
		||||
TEST(MacroTest, ADD_FAILURE_AT) {
 | 
			
		||||
  // Verifies that ADD_FAILURE_AT does generate a nonfatal failure and
 | 
			
		||||
  // the failure message contains the user-streamed part.
 | 
			
		||||
  EXPECT_NONFATAL_FAILURE(ADD_FAILURE_AT("foo.cc", 42) << "Wrong!", "Wrong!");
 | 
			
		||||
 | 
			
		||||
  // Verifies that the user-streamed part is optional.
 | 
			
		||||
  EXPECT_NONFATAL_FAILURE(ADD_FAILURE_AT("foo.cc", 42), "Failed");
 | 
			
		||||
 | 
			
		||||
  // Unfortunately, we cannot verify that the failure message contains
 | 
			
		||||
  // the right file path and line number the same way, as
 | 
			
		||||
  // EXPECT_NONFATAL_FAILURE() doesn't get to see the file path and
 | 
			
		||||
  // line number.  Instead, we do that in gtest_output_test_.cc.
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Tests FAIL.
 | 
			
		||||
TEST(MacroTest, FAIL) {
 | 
			
		||||
  EXPECT_FATAL_FAILURE(FAIL(),
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user