mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 12:17:11 +01:00 
			
		
		
		
	Use correct type name instead of index for TEMPLATE_PRODUCT_TEST_CASE (#1544)
Previously, for a TEMPLATE_PRODUCT_TEST_CASE("Test" ..., T, (P1, P2)),
the generated test case names were
  Test - 0
  Test - 1
With this commit, the correct typename is used:
  Test - T<P1>
  Test - T<P2>
-----------
MSVC needs another indirection to evaluate INTERNAL_CATCH_STRINGIZE
and also inserts a space before theINTERNAL_CATCH_STRINGIZE_WITHOUT_PARENS
parameter, which we can get rid of by pointer arithmetic.
			
			
This commit is contained in:
		 Tobias Ribizel
					Tobias Ribizel
				
			
				
					committed by
					
						 Martin Hořeňovský
						Martin Hořeňovský
					
				
			
			
				
	
			
			
			 Martin Hořeňovský
						Martin Hořeňovský
					
				
			
						parent
						
							359a54b6bd
						
					
				
				
					commit
					c99a346490
				
			| @@ -57,6 +57,16 @@ | ||||
| #define INTERNAL_CATCH_EXPAND2(...) INTERNAL_CATCH_NO## __VA_ARGS__ | ||||
| #define INTERNAL_CATCH_DEF(...) INTERNAL_CATCH_DEF __VA_ARGS__ | ||||
| #define INTERNAL_CATCH_NOINTERNAL_CATCH_DEF | ||||
| #define INTERNAL_CATCH_STRINGIZE(...) INTERNAL_CATCH_STRINGIZE2(__VA_ARGS__) | ||||
| #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR | ||||
| #define INTERNAL_CATCH_STRINGIZE2(...) #__VA_ARGS__ | ||||
| #define INTERNAL_CATCH_STRINGIZE_WITHOUT_PARENS(param) INTERNAL_CATCH_STRINGIZE(INTERNAL_CATCH_REMOVE_PARENS(param)) | ||||
| #else | ||||
| // MSVC is adding extra space and needs another indirection to expand INTERNAL_CATCH_NOINTERNAL_CATCH_DEF | ||||
| #define INTERNAL_CATCH_STRINGIZE2(...) INTERNAL_CATCH_STRINGIZE3(__VA_ARGS__) | ||||
| #define INTERNAL_CATCH_STRINGIZE3(...) #__VA_ARGS__ | ||||
| #define INTERNAL_CATCH_STRINGIZE_WITHOUT_PARENS(param) (INTERNAL_CATCH_STRINGIZE(INTERNAL_CATCH_REMOVE_PARENS(param)) + 1) | ||||
| #endif | ||||
|  | ||||
| #define INTERNAL_CATCH_REMOVE_PARENS(...) INTERNAL_CATCH_EXPAND1(INTERNAL_CATCH_DEF __VA_ARGS__) | ||||
|  | ||||
|   | ||||
| @@ -161,7 +161,10 @@ struct AutoReg : NonCopyable { | ||||
|                     CATCH_INTERNAL_CHECK_UNIQUE_TYPES(Types...)       \ | ||||
|                     int index = 0;                                    \ | ||||
|                     using expander = int[];                           \ | ||||
|                     (void)expander{(Catch::AutoReg( Catch::makeTestInvoker( &TestFuncName<Types> ), CATCH_INTERNAL_LINEINFO, Catch::StringRef(), Catch::NameAndTags{ Name " - " + Catch::StringMaker<int>::convert(index++), Tags } ), 0)... };/* NOLINT */ \ | ||||
|                     constexpr char const* tmpl_types[] = {CATCH_REC_LIST(INTERNAL_CATCH_STRINGIZE_WITHOUT_PARENS, INTERNAL_CATCH_REMOVE_PARENS(TmplTypes))};\ | ||||
|                     constexpr char const* types_list[] = {CATCH_REC_LIST(INTERNAL_CATCH_STRINGIZE_WITHOUT_PARENS, INTERNAL_CATCH_REMOVE_PARENS(TypesList))};\ | ||||
|                     constexpr auto num_types = sizeof(types_list) / sizeof(types_list[0]);\ | ||||
|                     (void)expander{(Catch::AutoReg( Catch::makeTestInvoker( &TestFuncName<Types> ), CATCH_INTERNAL_LINEINFO, Catch::StringRef(), Catch::NameAndTags{ Name " - " + std::string(tmpl_types[index / num_types]) + "<" + std::string(types_list[index % num_types]) + ">", Tags } ), index++, 0)... };/* NOLINT */\ | ||||
|                 }                                                     \ | ||||
|             };                                                        \ | ||||
|             static int INTERNAL_CATCH_UNIQUE_NAME( globalRegistrar ) = [](){ \ | ||||
| @@ -226,7 +229,10 @@ struct AutoReg : NonCopyable { | ||||
|                     CATCH_INTERNAL_CHECK_UNIQUE_TYPES(Types...)\ | ||||
|                     int index = 0;\ | ||||
|                     using expander = int[];\ | ||||
|                     (void)expander{(Catch::AutoReg( Catch::makeTestInvoker( &TestName<Types>::test ), CATCH_INTERNAL_LINEINFO, #ClassName, Catch::NameAndTags{ Name " - " + Catch::StringMaker<int>::convert(index++), Tags } ), 0)... };/* NOLINT */ \ | ||||
|                     constexpr char const* tmpl_types[] = {CATCH_REC_LIST(INTERNAL_CATCH_STRINGIZE_WITHOUT_PARENS, INTERNAL_CATCH_REMOVE_PARENS(TmplTypes))};\ | ||||
|                     constexpr char const* types_list[] = {CATCH_REC_LIST(INTERNAL_CATCH_STRINGIZE_WITHOUT_PARENS, INTERNAL_CATCH_REMOVE_PARENS(TypesList))};\ | ||||
|                     constexpr auto num_types = sizeof(types_list) / sizeof(types_list[0]);\ | ||||
|                     (void)expander{(Catch::AutoReg( Catch::makeTestInvoker( &TestName<Types>::test ), CATCH_INTERNAL_LINEINFO, #ClassName, Catch::NameAndTags{ Name " - " + std::string(tmpl_types[index / num_types]) + "<" + std::string(types_list[index % num_types]) + ">", Tags } ), index++, 0)... };/* NOLINT */ \ | ||||
|                 }\ | ||||
|             };\ | ||||
|             static int INTERNAL_CATCH_UNIQUE_NAME( globalRegistrar ) = [](){\ | ||||
|   | ||||
| @@ -793,9 +793,9 @@ CmdLine.tests.cpp:<line number>: passed: cli.parse({"test", "--use-colour", "no" | ||||
| CmdLine.tests.cpp:<line number>: passed: config.useColour == UseColour::No for: 2 == 2 | ||||
| CmdLine.tests.cpp:<line number>: passed: !result for: true | ||||
| CmdLine.tests.cpp:<line number>: passed: result.errorMessage(), Contains( "colour mode must be one of" ) for: "colour mode must be one of: auto, yes or no. 'wrong' not recognised" contains: "colour mode must be one of" | ||||
| Misc.tests.cpp:<line number>: passed: std::tuple_size<TestType>::value >= 1 for: 1 >= 1 | ||||
| Misc.tests.cpp:<line number>: passed: std::tuple_size<TestType>::value >= 1 for: 2 >= 1 | ||||
| Misc.tests.cpp:<line number>: passed: std::tuple_size<TestType>::value >= 1 for: 3 >= 1 | ||||
| Misc.tests.cpp:<line number>: passed: std::tuple_size<TestType>::value >= 1 for: 2 >= 1 | ||||
| Misc.tests.cpp:<line number>: passed: std::tuple_size<TestType>::value >= 1 for: 1 >= 1 | ||||
| Decomposition.tests.cpp:<line number>: failed: truthy(false) for: Hey, its truthy! | ||||
| Matchers.tests.cpp:<line number>: failed: testStringForMatching(), Matches("this STRING contains 'abc' as a substring") for: "this string contains 'abc' as a substring" matches "this STRING contains 'abc' as a substring" case sensitively | ||||
| Matchers.tests.cpp:<line number>: failed: testStringForMatching(), Matches("contains 'abc' as a substring") for: "this string contains 'abc' as a substring" matches "contains 'abc' as a substring" case sensitively | ||||
|   | ||||
| @@ -93,7 +93,8 @@ with expansion: | ||||
|   "hello" == "world" | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - 0 | ||||
| A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - Template_Foo | ||||
| <float> | ||||
| ------------------------------------------------------------------------------- | ||||
| Class.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
| @@ -104,7 +105,8 @@ with expansion: | ||||
|   0 == 1 | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - 1 | ||||
| A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - Template_Foo | ||||
| <int> | ||||
| ------------------------------------------------------------------------------- | ||||
| Class.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
| @@ -115,7 +117,8 @@ with expansion: | ||||
|   0 == 1 | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - 2 | ||||
| A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - std::vector | ||||
| <float> | ||||
| ------------------------------------------------------------------------------- | ||||
| Class.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
| @@ -126,7 +129,8 @@ with expansion: | ||||
|   0 == 1 | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - 3 | ||||
| A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - std::vector | ||||
| <int> | ||||
| ------------------------------------------------------------------------------- | ||||
| Class.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
|   | ||||
| @@ -1045,7 +1045,8 @@ with expansion: | ||||
|   "hello" == "hello" | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - 0 | ||||
| A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - Template_Foo | ||||
| <float> | ||||
| ------------------------------------------------------------------------------- | ||||
| Class.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
| @@ -1056,7 +1057,8 @@ with expansion: | ||||
|   0 == 1 | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - 1 | ||||
| A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - Template_Foo | ||||
| <int> | ||||
| ------------------------------------------------------------------------------- | ||||
| Class.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
| @@ -1067,7 +1069,8 @@ with expansion: | ||||
|   0 == 1 | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - 2 | ||||
| A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - std::vector | ||||
| <float> | ||||
| ------------------------------------------------------------------------------- | ||||
| Class.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
| @@ -1078,7 +1081,8 @@ with expansion: | ||||
|   0 == 1 | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - 3 | ||||
| A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - std::vector | ||||
| <int> | ||||
| ------------------------------------------------------------------------------- | ||||
| Class.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
| @@ -1089,7 +1093,8 @@ with expansion: | ||||
|   0 == 1 | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - 0 | ||||
| A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - Template_Foo | ||||
| <float> | ||||
| ------------------------------------------------------------------------------- | ||||
| Class.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
| @@ -1100,7 +1105,8 @@ with expansion: | ||||
|   0 == 0 | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - 1 | ||||
| A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - Template_Foo | ||||
| <int> | ||||
| ------------------------------------------------------------------------------- | ||||
| Class.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
| @@ -1111,7 +1117,8 @@ with expansion: | ||||
|   0 == 0 | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - 2 | ||||
| A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - std::vector | ||||
| <float> | ||||
| ------------------------------------------------------------------------------- | ||||
| Class.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
| @@ -1122,7 +1129,8 @@ with expansion: | ||||
|   0 == 0 | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - 3 | ||||
| A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - std::vector | ||||
| <int> | ||||
| ------------------------------------------------------------------------------- | ||||
| Class.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
| @@ -1221,7 +1229,7 @@ with expansion: | ||||
|   1 == 1 | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| A Template product test case - 0 | ||||
| A Template product test case - Foo<float> | ||||
| ------------------------------------------------------------------------------- | ||||
| Misc.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
| @@ -1232,7 +1240,7 @@ with expansion: | ||||
|   0 == 0 | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| A Template product test case - 1 | ||||
| A Template product test case - Foo<int> | ||||
| ------------------------------------------------------------------------------- | ||||
| Misc.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
| @@ -1243,7 +1251,7 @@ with expansion: | ||||
|   0 == 0 | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| A Template product test case - 2 | ||||
| A Template product test case - std::vector<float> | ||||
| ------------------------------------------------------------------------------- | ||||
| Misc.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
| @@ -1254,7 +1262,7 @@ with expansion: | ||||
|   0 == 0 | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| A Template product test case - 3 | ||||
| A Template product test case - std::vector<int> | ||||
| ------------------------------------------------------------------------------- | ||||
| Misc.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
| @@ -5779,7 +5787,7 @@ with expansion: | ||||
|   contains: "colour mode must be one of" | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| Product with differing arities - 0 | ||||
| Product with differing arities - std::tuple<int, double, float> | ||||
| ------------------------------------------------------------------------------- | ||||
| Misc.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
| @@ -5787,10 +5795,10 @@ Misc.tests.cpp:<line number> | ||||
| Misc.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( std::tuple_size<TestType>::value >= 1 ) | ||||
| with expansion: | ||||
|   1 >= 1 | ||||
|   3 >= 1 | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| Product with differing arities - 1 | ||||
| Product with differing arities - std::tuple<int, double> | ||||
| ------------------------------------------------------------------------------- | ||||
| Misc.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
| @@ -5801,7 +5809,7 @@ with expansion: | ||||
|   2 >= 1 | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| Product with differing arities - 2 | ||||
| Product with differing arities - std::tuple<int> | ||||
| ------------------------------------------------------------------------------- | ||||
| Misc.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
| @@ -5809,7 +5817,7 @@ Misc.tests.cpp:<line number> | ||||
| Misc.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE( std::tuple_size<TestType>::value >= 1 ) | ||||
| with expansion: | ||||
|   3 >= 1 | ||||
|   1 >= 1 | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| Reconstruction should be based on stringification: #914 | ||||
|   | ||||
| @@ -80,30 +80,30 @@ Class.tests.cpp:<line number> | ||||
|       </failure> | ||||
|     </testcase> | ||||
|     <testcase classname="<exe-name>.TestClass" name="A METHOD_AS_TEST_CASE based test run that succeeds" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.Template_Fixture_2" name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - 0" time="{duration}"> | ||||
|     <testcase classname="<exe-name>.Template_Fixture_2" name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - Template_Foo<float>" time="{duration}"> | ||||
|       <failure message="0 == 1" type="REQUIRE"> | ||||
| Class.tests.cpp:<line number> | ||||
|       </failure> | ||||
|     </testcase> | ||||
|     <testcase classname="<exe-name>.Template_Fixture_2" name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - 1" time="{duration}"> | ||||
|     <testcase classname="<exe-name>.Template_Fixture_2" name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - Template_Foo<int>" time="{duration}"> | ||||
|       <failure message="0 == 1" type="REQUIRE"> | ||||
| Class.tests.cpp:<line number> | ||||
|       </failure> | ||||
|     </testcase> | ||||
|     <testcase classname="<exe-name>.Template_Fixture_2" name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - 2" time="{duration}"> | ||||
|     <testcase classname="<exe-name>.Template_Fixture_2" name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - std::vector<float>" time="{duration}"> | ||||
|       <failure message="0 == 1" type="REQUIRE"> | ||||
| Class.tests.cpp:<line number> | ||||
|       </failure> | ||||
|     </testcase> | ||||
|     <testcase classname="<exe-name>.Template_Fixture_2" name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - 3" time="{duration}"> | ||||
|     <testcase classname="<exe-name>.Template_Fixture_2" name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - std::vector<int>" time="{duration}"> | ||||
|       <failure message="0 == 1" type="REQUIRE"> | ||||
| Class.tests.cpp:<line number> | ||||
|       </failure> | ||||
|     </testcase> | ||||
|     <testcase classname="<exe-name>.Template_Fixture_2" name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - 0" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.Template_Fixture_2" name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - 1" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.Template_Fixture_2" name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - 2" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.Template_Fixture_2" name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - 3" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.Template_Fixture_2" name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - Template_Foo<float>" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.Template_Fixture_2" name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - Template_Foo<int>" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.Template_Fixture_2" name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - std::vector<float>" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.Template_Fixture_2" name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - std::vector<int>" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.Template_Fixture" name="A TEMPLATE_TEST_CASE_METHOD based test run that fails - double" time="{duration}"> | ||||
|       <failure message="1.0 == 2" type="REQUIRE"> | ||||
| Class.tests.cpp:<line number> | ||||
| @@ -128,10 +128,10 @@ Class.tests.cpp:<line number> | ||||
|       </failure> | ||||
|     </testcase> | ||||
|     <testcase classname="<exe-name>.Fixture" name="A TEST_CASE_METHOD based test run that succeeds" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="A Template product test case - 0" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="A Template product test case - 1" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="A Template product test case - 2" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="A Template product test case - 3" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="A Template product test case - Foo<float>" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="A Template product test case - Foo<int>" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="A Template product test case - std::vector<float>" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="A Template product test case - std::vector<int>" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="A comparison that uses literals instead of the normal constructor" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="A couple of nested sections followed by a failure" time="{duration}"> | ||||
|       <failure type="FAIL"> | ||||
| @@ -566,9 +566,9 @@ Message.tests.cpp:<line number> | ||||
|     <testcase classname="<exe-name>.global" name="Process can be configured on command line/use-colour/yes" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="Process can be configured on command line/use-colour/no" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="Process can be configured on command line/use-colour/error" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="Product with differing arities - 0" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="Product with differing arities - 1" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="Product with differing arities - 2" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="Product with differing arities - std::tuple<int, double, float>" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="Product with differing arities - std::tuple<int, double>" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="Product with differing arities - std::tuple<int>" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="Reconstruction should be based on stringification: #914" time="{duration}"> | ||||
|       <failure message="Hey, its truthy!" type="CHECK"> | ||||
| Decomposition.tests.cpp:<line number> | ||||
|   | ||||
| @@ -1195,7 +1195,7 @@ | ||||
|       </Expression> | ||||
|       <OverallResult success="true"/> | ||||
|     </TestCase> | ||||
|     <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - 0" tags="[.][class][failing][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > | ||||
|     <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - Template_Foo<float>" tags="[.][class][failing][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > | ||||
|       <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > | ||||
|         <Original> | ||||
|           Template_Fixture_2<TestType>::m_a.size() == 1 | ||||
| @@ -1206,7 +1206,7 @@ | ||||
|       </Expression> | ||||
|       <OverallResult success="false"/> | ||||
|     </TestCase> | ||||
|     <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - 1" tags="[.][class][failing][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > | ||||
|     <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - Template_Foo<int>" tags="[.][class][failing][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > | ||||
|       <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > | ||||
|         <Original> | ||||
|           Template_Fixture_2<TestType>::m_a.size() == 1 | ||||
| @@ -1217,7 +1217,7 @@ | ||||
|       </Expression> | ||||
|       <OverallResult success="false"/> | ||||
|     </TestCase> | ||||
|     <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - 2" tags="[.][class][failing][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > | ||||
|     <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - std::vector<float>" tags="[.][class][failing][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > | ||||
|       <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > | ||||
|         <Original> | ||||
|           Template_Fixture_2<TestType>::m_a.size() == 1 | ||||
| @@ -1228,7 +1228,7 @@ | ||||
|       </Expression> | ||||
|       <OverallResult success="false"/> | ||||
|     </TestCase> | ||||
|     <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - 3" tags="[.][class][failing][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > | ||||
|     <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that fails - std::vector<int>" tags="[.][class][failing][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > | ||||
|       <Expression success="false" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > | ||||
|         <Original> | ||||
|           Template_Fixture_2<TestType>::m_a.size() == 1 | ||||
| @@ -1239,7 +1239,7 @@ | ||||
|       </Expression> | ||||
|       <OverallResult success="false"/> | ||||
|     </TestCase> | ||||
|     <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - 0" tags="[class][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > | ||||
|     <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - Template_Foo<float>" tags="[class][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > | ||||
|       <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > | ||||
|         <Original> | ||||
|           Template_Fixture_2<TestType>::m_a.size() == 0 | ||||
| @@ -1250,7 +1250,7 @@ | ||||
|       </Expression> | ||||
|       <OverallResult success="true"/> | ||||
|     </TestCase> | ||||
|     <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - 1" tags="[class][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > | ||||
|     <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - Template_Foo<int>" tags="[class][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > | ||||
|       <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > | ||||
|         <Original> | ||||
|           Template_Fixture_2<TestType>::m_a.size() == 0 | ||||
| @@ -1261,7 +1261,7 @@ | ||||
|       </Expression> | ||||
|       <OverallResult success="true"/> | ||||
|     </TestCase> | ||||
|     <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - 2" tags="[class][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > | ||||
|     <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - std::vector<float>" tags="[class][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > | ||||
|       <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > | ||||
|         <Original> | ||||
|           Template_Fixture_2<TestType>::m_a.size() == 0 | ||||
| @@ -1272,7 +1272,7 @@ | ||||
|       </Expression> | ||||
|       <OverallResult success="true"/> | ||||
|     </TestCase> | ||||
|     <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - 3" tags="[class][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > | ||||
|     <TestCase name="A TEMPLATE_PRODUCT_TEST_CASE_METHOD based test run that succeeds - std::vector<int>" tags="[class][product][template]" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > | ||||
|       <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Class.tests.cpp" > | ||||
|         <Original> | ||||
|           Template_Fixture_2<TestType>::m_a.size() == 0 | ||||
| @@ -1371,7 +1371,7 @@ | ||||
|       </Expression> | ||||
|       <OverallResult success="true"/> | ||||
|     </TestCase> | ||||
|     <TestCase name="A Template product test case - 0" tags="[product][template]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > | ||||
|     <TestCase name="A Template product test case - Foo<float>" tags="[product][template]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > | ||||
|       <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > | ||||
|         <Original> | ||||
|           x.size() == 0 | ||||
| @@ -1382,7 +1382,7 @@ | ||||
|       </Expression> | ||||
|       <OverallResult success="true"/> | ||||
|     </TestCase> | ||||
|     <TestCase name="A Template product test case - 1" tags="[product][template]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > | ||||
|     <TestCase name="A Template product test case - Foo<int>" tags="[product][template]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > | ||||
|       <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > | ||||
|         <Original> | ||||
|           x.size() == 0 | ||||
| @@ -1393,7 +1393,7 @@ | ||||
|       </Expression> | ||||
|       <OverallResult success="true"/> | ||||
|     </TestCase> | ||||
|     <TestCase name="A Template product test case - 2" tags="[product][template]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > | ||||
|     <TestCase name="A Template product test case - std::vector<float>" tags="[product][template]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > | ||||
|       <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > | ||||
|         <Original> | ||||
|           x.size() == 0 | ||||
| @@ -1404,7 +1404,7 @@ | ||||
|       </Expression> | ||||
|       <OverallResult success="true"/> | ||||
|     </TestCase> | ||||
|     <TestCase name="A Template product test case - 3" tags="[product][template]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > | ||||
|     <TestCase name="A Template product test case - std::vector<int>" tags="[product][template]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > | ||||
|       <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > | ||||
|         <Original> | ||||
|           x.size() == 0 | ||||
| @@ -7247,18 +7247,18 @@ | ||||
|       </Section> | ||||
|       <OverallResult success="true"/> | ||||
|     </TestCase> | ||||
|     <TestCase name="Product with differing arities - 0" tags="[product][template]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > | ||||
|     <TestCase name="Product with differing arities - std::tuple<int, double, float>" tags="[product][template]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > | ||||
|       <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > | ||||
|         <Original> | ||||
|           std::tuple_size<TestType>::value >= 1 | ||||
|         </Original> | ||||
|         <Expanded> | ||||
|           1 >= 1 | ||||
|           3 >= 1 | ||||
|         </Expanded> | ||||
|       </Expression> | ||||
|       <OverallResult success="true"/> | ||||
|     </TestCase> | ||||
|     <TestCase name="Product with differing arities - 1" tags="[product][template]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > | ||||
|     <TestCase name="Product with differing arities - std::tuple<int, double>" tags="[product][template]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > | ||||
|       <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > | ||||
|         <Original> | ||||
|           std::tuple_size<TestType>::value >= 1 | ||||
| @@ -7269,13 +7269,13 @@ | ||||
|       </Expression> | ||||
|       <OverallResult success="true"/> | ||||
|     </TestCase> | ||||
|     <TestCase name="Product with differing arities - 2" tags="[product][template]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > | ||||
|     <TestCase name="Product with differing arities - std::tuple<int>" tags="[product][template]" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > | ||||
|       <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/UsageTests/Misc.tests.cpp" > | ||||
|         <Original> | ||||
|           std::tuple_size<TestType>::value >= 1 | ||||
|         </Original> | ||||
|         <Expanded> | ||||
|           3 >= 1 | ||||
|           1 >= 1 | ||||
|         </Expanded> | ||||
|       </Expression> | ||||
|       <OverallResult success="true"/> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user