Merge pull request #2624 from ShabbyX:master
PiperOrigin-RevId: 286397298
This commit is contained in:
		@@ -58,9 +58,7 @@ class FooTest : public ::testing::TestWithParam<const char*> {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// Then, use the TEST_P macro to define as many parameterized tests
 | 
					// Then, use the TEST_P macro to define as many parameterized tests
 | 
				
			||||||
// for this fixture as you want. The _P suffix is for "parameterized"
 | 
					// for this fixture as you want. The _P suffix is for "parameterized"
 | 
				
			||||||
// or "pattern", whichever you prefer to think. The arguments to the
 | 
					// or "pattern", whichever you prefer to think.
 | 
				
			||||||
// TEST_P macro are the test_suite_name and test_case (both which must be
 | 
					 | 
				
			||||||
// non-empty) that will form the test name.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
TEST_P(FooTest, DoesBlah) {
 | 
					TEST_P(FooTest, DoesBlah) {
 | 
				
			||||||
  // Inside a test, access the test parameter with the GetParam() method
 | 
					  // Inside a test, access the test parameter with the GetParam() method
 | 
				
			||||||
@@ -103,10 +101,10 @@ INSTANTIATE_TEST_SUITE_P(InstantiationName,
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// To distinguish different instances of the pattern, (yes, you
 | 
					// To distinguish different instances of the pattern, (yes, you
 | 
				
			||||||
// can instantiate it more than once) the first argument to the
 | 
					// can instantiate it more than once) the first argument to the
 | 
				
			||||||
// INSTANTIATE_TEST_SUITE_P macro is a prefix (which must be non-empty) that
 | 
					// INSTANTIATE_TEST_SUITE_P macro is a prefix that will be added to the
 | 
				
			||||||
// will be added to the actual test suite name. Remember to pick unique prefixes
 | 
					// actual test suite name. Remember to pick unique prefixes for different
 | 
				
			||||||
// for different instantiations. The tests from the instantiation above will
 | 
					// instantiations. The tests from the instantiation above will have
 | 
				
			||||||
// have these names:
 | 
					// these names:
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
//    * InstantiationName/FooTest.DoesBlah/0 for "meeny"
 | 
					//    * InstantiationName/FooTest.DoesBlah/0 for "meeny"
 | 
				
			||||||
//    * InstantiationName/FooTest.DoesBlah/1 for "miny"
 | 
					//    * InstantiationName/FooTest.DoesBlah/1 for "miny"
 | 
				
			||||||
@@ -414,10 +412,6 @@ internal::CartesianProductHolder<Generator...> Combine(const Generator&... g) {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define TEST_P(test_suite_name, test_name)                                     \
 | 
					#define TEST_P(test_suite_name, test_name)                                     \
 | 
				
			||||||
  static_assert(sizeof(GTEST_STRINGIFY_(test_suite_name)) > 1,                 \
 | 
					 | 
				
			||||||
                "test_suite_name must not be empty");                          \
 | 
					 | 
				
			||||||
  static_assert(sizeof(GTEST_STRINGIFY_(test_name)) > 1,                       \
 | 
					 | 
				
			||||||
                "test_name must not be empty");                                \
 | 
					 | 
				
			||||||
  class GTEST_TEST_CLASS_NAME_(test_suite_name, test_name)                     \
 | 
					  class GTEST_TEST_CLASS_NAME_(test_suite_name, test_name)                     \
 | 
				
			||||||
      : public test_suite_name {                                               \
 | 
					      : public test_suite_name {                                               \
 | 
				
			||||||
   public:                                                                     \
 | 
					   public:                                                                     \
 | 
				
			||||||
@@ -464,10 +458,6 @@ internal::CartesianProductHolder<Generator...> Combine(const Generator&... g) {
 | 
				
			|||||||
#define GTEST_GET_SECOND_(first, second, ...) second
 | 
					#define GTEST_GET_SECOND_(first, second, ...) second
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define INSTANTIATE_TEST_SUITE_P(prefix, test_suite_name, ...)                \
 | 
					#define INSTANTIATE_TEST_SUITE_P(prefix, test_suite_name, ...)                \
 | 
				
			||||||
  static_assert(sizeof(GTEST_STRINGIFY_(test_suite_name)) > 1,                \
 | 
					 | 
				
			||||||
                "test_suite_name must not be empty");                         \
 | 
					 | 
				
			||||||
  static_assert(sizeof(GTEST_STRINGIFY_(prefix)) > 1,                         \
 | 
					 | 
				
			||||||
                "prefix must not be empty");                                  \
 | 
					 | 
				
			||||||
  static ::testing::internal::ParamGenerator<test_suite_name::ParamType>      \
 | 
					  static ::testing::internal::ParamGenerator<test_suite_name::ParamType>      \
 | 
				
			||||||
      gtest_##prefix##test_suite_name##_EvalGenerator_() {                    \
 | 
					      gtest_##prefix##test_suite_name##_EvalGenerator_() {                    \
 | 
				
			||||||
    return GTEST_EXPAND_(GTEST_GET_FIRST_(__VA_ARGS__, DUMMY_PARAM_));        \
 | 
					    return GTEST_EXPAND_(GTEST_GET_FIRST_(__VA_ARGS__, DUMMY_PARAM_));        \
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -79,7 +79,16 @@
 | 
				
			|||||||
#define GTEST_CONCAT_TOKEN_IMPL_(foo, bar) foo ## bar
 | 
					#define GTEST_CONCAT_TOKEN_IMPL_(foo, bar) foo ## bar
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Stringifies its argument.
 | 
					// Stringifies its argument.
 | 
				
			||||||
#define GTEST_STRINGIFY_(name) #name
 | 
					// Work around a bug in visual studio which doesn't accept code like this:
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//   #define GTEST_STRINGIFY_(name) #name
 | 
				
			||||||
 | 
					//   #define MACRO(a, b, c) ... GTEST_STRINGIFY_(a) ...
 | 
				
			||||||
 | 
					//   MACRO(, x, y)
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Complaining about the argument to GTEST_STRINGIFY_ being empty.
 | 
				
			||||||
 | 
					// This is allowed by the spec.
 | 
				
			||||||
 | 
					#define GTEST_STRINGIFY_HELPER_(name, ...) #name
 | 
				
			||||||
 | 
					#define GTEST_STRINGIFY_(...) GTEST_STRINGIFY_HELPER_(__VA_ARGS__, )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace proto2 { class Message; }
 | 
					namespace proto2 { class Message; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -574,7 +574,10 @@ class ParameterizedTestSuiteInfo : public ParameterizedTestSuiteInfoBase {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
          test_param_names.insert(param_name);
 | 
					          test_param_names.insert(param_name);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          test_name_stream << test_info->test_base_name << "/" << param_name;
 | 
					          if (!test_info->test_base_name.empty()) {
 | 
				
			||||||
 | 
					            test_name_stream << test_info->test_base_name << "/";
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					          test_name_stream << param_name;
 | 
				
			||||||
          MakeAndRegisterTestInfo(
 | 
					          MakeAndRegisterTestInfo(
 | 
				
			||||||
              test_suite_name.c_str(), test_name_stream.GetString().c_str(),
 | 
					              test_suite_name.c_str(), test_name_stream.GetString().c_str(),
 | 
				
			||||||
              nullptr,  // No type parameter.
 | 
					              nullptr,  // No type parameter.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,7 +12,7 @@ Expected equality of these values:
 | 
				
			|||||||
  3
 | 
					  3
 | 
				
			||||||
Stack trace: (omitted)
 | 
					Stack trace: (omitted)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[0;32m[==========] [mRunning 85 tests from 40 test suites.
 | 
					[0;32m[==========] [mRunning 86 tests from 41 test suites.
 | 
				
			||||||
[0;32m[----------] [mGlobal test environment set-up.
 | 
					[0;32m[----------] [mGlobal test environment set-up.
 | 
				
			||||||
FooEnvironment::SetUp() called.
 | 
					FooEnvironment::SetUp() called.
 | 
				
			||||||
BarEnvironment::SetUp() called.
 | 
					BarEnvironment::SetUp() called.
 | 
				
			||||||
@@ -966,6 +966,9 @@ Expected equality of these values:
 | 
				
			|||||||
Stack trace: (omitted)
 | 
					Stack trace: (omitted)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[0;31m[  FAILED  ] [mPrintingFailingParams/FailingParamTest.Fails/0, where GetParam() = 2
 | 
					[0;31m[  FAILED  ] [mPrintingFailingParams/FailingParamTest.Fails/0, where GetParam() = 2
 | 
				
			||||||
 | 
					[0;32m[----------] [m1 test from EmptyBasenameParamInst
 | 
				
			||||||
 | 
					[0;32m[ RUN      ] [mEmptyBasenameParamInst.Passes/0
 | 
				
			||||||
 | 
					[0;32m[       OK ] [mEmptyBasenameParamInst.Passes/0
 | 
				
			||||||
[0;32m[----------] [m2 tests from PrintingStrings/ParamTest
 | 
					[0;32m[----------] [m2 tests from PrintingStrings/ParamTest
 | 
				
			||||||
[0;32m[ RUN      ] [mPrintingStrings/ParamTest.Success/a
 | 
					[0;32m[ RUN      ] [mPrintingStrings/ParamTest.Success/a
 | 
				
			||||||
[0;32m[       OK ] [mPrintingStrings/ParamTest.Success/a
 | 
					[0;32m[       OK ] [mPrintingStrings/ParamTest.Success/a
 | 
				
			||||||
@@ -998,8 +1001,8 @@ Failed
 | 
				
			|||||||
Expected fatal failure.
 | 
					Expected fatal failure.
 | 
				
			||||||
Stack trace: (omitted)
 | 
					Stack trace: (omitted)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[0;32m[==========] [m85 tests from 40 test suites ran.
 | 
					[0;32m[==========] [m86 tests from 41 test suites ran.
 | 
				
			||||||
[0;32m[  PASSED  ] [m31 tests.
 | 
					[0;32m[  PASSED  ] [m32 tests.
 | 
				
			||||||
[0;31m[  FAILED  ] [m54 tests, listed below:
 | 
					[0;31m[  FAILED  ] [m54 tests, listed below:
 | 
				
			||||||
[0;31m[  FAILED  ] [mNonfatalFailureTest.EscapesStringOperands
 | 
					[0;31m[  FAILED  ] [mNonfatalFailureTest.EscapesStringOperands
 | 
				
			||||||
[0;31m[  FAILED  ] [mNonfatalFailureTest.DiffForLongStrings
 | 
					[0;31m[  FAILED  ] [mNonfatalFailureTest.DiffForLongStrings
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -96,6 +96,14 @@ INSTANTIATE_TEST_SUITE_P(PrintingFailingParams,
 | 
				
			|||||||
                         FailingParamTest,
 | 
					                         FailingParamTest,
 | 
				
			||||||
                         testing::Values(2));
 | 
					                         testing::Values(2));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Tests that an empty value for the test suite basename yields just
 | 
				
			||||||
 | 
					// the test name without any prior /
 | 
				
			||||||
 | 
					class EmptyBasenameParamInst : public testing::TestWithParam<int> {};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TEST_P(EmptyBasenameParamInst, Passes) { EXPECT_EQ(1, GetParam()); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					INSTANTIATE_TEST_SUITE_P(, EmptyBasenameParamInst, testing::Values(1));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static const char kGoldenString[] = "\"Line\0 1\"\nLine 2";
 | 
					static const char kGoldenString[] = "\"Line\0 1\"\nLine 2";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TEST(NonfatalFailureTest, EscapesStringOperands) {
 | 
					TEST(NonfatalFailureTest, EscapesStringOperands) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5337,7 +5337,7 @@ TEST_P(CodeLocationForTESTP, Verify) {
 | 
				
			|||||||
  VERIFY_CODE_LOCATION;
 | 
					  VERIFY_CODE_LOCATION;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
INSTANTIATE_TEST_SUITE_P(All, CodeLocationForTESTP, Values(0));
 | 
					INSTANTIATE_TEST_SUITE_P(, CodeLocationForTESTP, Values(0));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
template <typename T>
 | 
					template <typename T>
 | 
				
			||||||
class CodeLocationForTYPEDTEST : public Test {
 | 
					class CodeLocationForTYPEDTEST : public Test {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user