mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 20:27:11 +01:00 
			
		
		
		
	Fix test tag parsing to split [.foo] into [.][foo]
This commit is contained in:
		| @@ -1004,22 +1004,22 @@ Misc.tests.cpp:<line number>: failed: s1 == s2 for: "if ($b == 10) { | ||||
| 	$a = 20; | ||||
| } | ||||
| " | ||||
| TagAlias.tests.cpp:<line number>: passed: what, Contains( "[@zzz]" ) for: "error: tag alias, '[@zzz]' already registered. | ||||
| Tag.tests.cpp:<line number>: passed: what, Contains( "[@zzz]" ) for: "error: tag alias, '[@zzz]' already registered. | ||||
| 	First seen at: file:2 | ||||
| 	Redefined at: file:10" contains: "[@zzz]" | ||||
| TagAlias.tests.cpp:<line number>: passed: what, Contains( "file" ) for: "error: tag alias, '[@zzz]' already registered. | ||||
| Tag.tests.cpp:<line number>: passed: what, Contains( "file" ) for: "error: tag alias, '[@zzz]' already registered. | ||||
| 	First seen at: file:2 | ||||
| 	Redefined at: file:10" contains: "file" | ||||
| TagAlias.tests.cpp:<line number>: passed: what, Contains( "2" ) for: "error: tag alias, '[@zzz]' already registered. | ||||
| Tag.tests.cpp:<line number>: passed: what, Contains( "2" ) for: "error: tag alias, '[@zzz]' already registered. | ||||
| 	First seen at: file:2 | ||||
| 	Redefined at: file:10" contains: "2" | ||||
| TagAlias.tests.cpp:<line number>: passed: what, Contains( "10" ) for: "error: tag alias, '[@zzz]' already registered. | ||||
| Tag.tests.cpp:<line number>: passed: what, Contains( "10" ) for: "error: tag alias, '[@zzz]' already registered. | ||||
| 	First seen at: file:2 | ||||
| 	Redefined at: file:10" contains: "10" | ||||
| TagAlias.tests.cpp:<line number>: passed: registry.add( "[no ampersat]", "", Catch::SourceLineInfo( "file", 3 ) ) | ||||
| TagAlias.tests.cpp:<line number>: passed: registry.add( "[the @ is not at the start]", "", Catch::SourceLineInfo( "file", 3 ) ) | ||||
| TagAlias.tests.cpp:<line number>: passed: registry.add( "@no square bracket at start]", "", Catch::SourceLineInfo( "file", 3 ) ) | ||||
| TagAlias.tests.cpp:<line number>: passed: registry.add( "[@no square bracket at end", "", Catch::SourceLineInfo( "file", 3 ) ) | ||||
| Tag.tests.cpp:<line number>: passed: registry.add( "[no ampersat]", "", Catch::SourceLineInfo( "file", 3 ) ) | ||||
| Tag.tests.cpp:<line number>: passed: registry.add( "[the @ is not at the start]", "", Catch::SourceLineInfo( "file", 3 ) ) | ||||
| Tag.tests.cpp:<line number>: passed: registry.add( "@no square bracket at start]", "", Catch::SourceLineInfo( "file", 3 ) ) | ||||
| Tag.tests.cpp:<line number>: passed: registry.add( "[@no square bracket at end", "", Catch::SourceLineInfo( "file", 3 ) ) | ||||
| Misc.tests.cpp:<line number>: passed: v.size() == 5 for: 5 == 5 | ||||
| Misc.tests.cpp:<line number>: passed: v.capacity() >= 5 for: 5 >= 5 | ||||
| Misc.tests.cpp:<line number>: passed: v.size() == 10 for: 10 == 10 | ||||
| @@ -1362,6 +1362,7 @@ String.tests.cpp:<line number>: passed: Catch::replaceInPlace( s, "'", "|'" ) fo | ||||
| String.tests.cpp:<line number>: passed: s == "didn|'t" for: "didn|'t" == "didn|'t" | ||||
| Misc.tests.cpp:<line number>: failed: false with 1 message: '3' | ||||
| Message.tests.cpp:<line number>: failed: false with 2 messages: 'hi' and 'i := 7' | ||||
| Tag.tests.cpp:<line number>: passed: testcase.tags, Catch::VectorContains(std::string("magic-tag")) && Catch::VectorContains(std::string(".")) for: { ".", "magic-tag" } ( Contains: "magic-tag" and Contains: "." ) | ||||
| Message.tests.cpp:<line number>: failed: false with 4 messages: 'Count 1 to 3...' and '1' and '2' and '3' | ||||
| Message.tests.cpp:<line number>: failed: false with 4 messages: 'Count 4 to 6...' and '4' and '5' and '6' | ||||
| ToStringGeneral.tests.cpp:<line number>: passed: Catch::Detail::stringify( emptyMap ) == "{  }" for: "{  }" == "{  }" | ||||
|   | ||||
| @@ -1264,6 +1264,6 @@ due to unexpected exception with message: | ||||
|   Why would you throw a std::string? | ||||
|  | ||||
| =============================================================================== | ||||
| test cases:  255 |  189 passed |  62 failed |  4 failed as expected | ||||
| assertions: 1402 | 1259 passed | 122 failed | 21 failed as expected | ||||
| test cases:  256 |  190 passed |  62 failed |  4 failed as expected | ||||
| assertions: 1403 | 1260 passed | 122 failed | 21 failed as expected | ||||
|  | ||||
|   | ||||
| @@ -7315,31 +7315,31 @@ with expansion: | ||||
| Tag alias can be registered against tag patterns | ||||
|   The same tag alias can only be registered once | ||||
| ------------------------------------------------------------------------------- | ||||
| TagAlias.tests.cpp:<line number> | ||||
| Tag.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
|  | ||||
| TagAlias.tests.cpp:<line number>: PASSED: | ||||
| Tag.tests.cpp:<line number>: PASSED: | ||||
|   CHECK_THAT( what, Contains( "[@zzz]" ) ) | ||||
| with expansion: | ||||
|   "error: tag alias, '[@zzz]' already registered. | ||||
|   	First seen at: file:2 | ||||
|   	Redefined at: file:10" contains: "[@zzz]" | ||||
|  | ||||
| TagAlias.tests.cpp:<line number>: PASSED: | ||||
| Tag.tests.cpp:<line number>: PASSED: | ||||
|   CHECK_THAT( what, Contains( "file" ) ) | ||||
| with expansion: | ||||
|   "error: tag alias, '[@zzz]' already registered. | ||||
|   	First seen at: file:2 | ||||
|   	Redefined at: file:10" contains: "file" | ||||
|  | ||||
| TagAlias.tests.cpp:<line number>: PASSED: | ||||
| Tag.tests.cpp:<line number>: PASSED: | ||||
|   CHECK_THAT( what, Contains( "2" ) ) | ||||
| with expansion: | ||||
|   "error: tag alias, '[@zzz]' already registered. | ||||
|   	First seen at: file:2 | ||||
|   	Redefined at: file:10" contains: "2" | ||||
|  | ||||
| TagAlias.tests.cpp:<line number>: PASSED: | ||||
| Tag.tests.cpp:<line number>: PASSED: | ||||
|   CHECK_THAT( what, Contains( "10" ) ) | ||||
| with expansion: | ||||
|   "error: tag alias, '[@zzz]' already registered. | ||||
| @@ -7350,19 +7350,19 @@ with expansion: | ||||
| Tag alias can be registered against tag patterns | ||||
|   Tag aliases must be of the form [@name] | ||||
| ------------------------------------------------------------------------------- | ||||
| TagAlias.tests.cpp:<line number> | ||||
| Tag.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
|  | ||||
| TagAlias.tests.cpp:<line number>: PASSED: | ||||
| Tag.tests.cpp:<line number>: PASSED: | ||||
|   CHECK_THROWS( registry.add( "[no ampersat]", "", Catch::SourceLineInfo( "file", 3 ) ) ) | ||||
|  | ||||
| TagAlias.tests.cpp:<line number>: PASSED: | ||||
| Tag.tests.cpp:<line number>: PASSED: | ||||
|   CHECK_THROWS( registry.add( "[the @ is not at the start]", "", Catch::SourceLineInfo( "file", 3 ) ) ) | ||||
|  | ||||
| TagAlias.tests.cpp:<line number>: PASSED: | ||||
| Tag.tests.cpp:<line number>: PASSED: | ||||
|   CHECK_THROWS( registry.add( "@no square bracket at start]", "", Catch::SourceLineInfo( "file", 3 ) ) ) | ||||
|  | ||||
| TagAlias.tests.cpp:<line number>: PASSED: | ||||
| Tag.tests.cpp:<line number>: PASSED: | ||||
|   CHECK_THROWS( registry.add( "[@no square bracket at end", "", Catch::SourceLineInfo( "file", 3 ) ) ) | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| @@ -10084,6 +10084,17 @@ with messages: | ||||
|   hi | ||||
|   i := 7 | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| shortened hide tags are split apart | ||||
| ------------------------------------------------------------------------------- | ||||
| Tag.tests.cpp:<line number> | ||||
| ............................................................................... | ||||
|  | ||||
| Tag.tests.cpp:<line number>: PASSED: | ||||
|   REQUIRE_THAT( testcase.tags, Catch::VectorContains(std::string("magic-tag")) && Catch::VectorContains(std::string(".")) ) | ||||
| with expansion: | ||||
|   { ".", "magic-tag" } ( Contains: "magic-tag" and Contains: "." ) | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| stacks unscoped info in loops | ||||
| ------------------------------------------------------------------------------- | ||||
| @@ -10925,6 +10936,6 @@ Misc.tests.cpp:<line number> | ||||
| Misc.tests.cpp:<line number>: PASSED: | ||||
|  | ||||
| =============================================================================== | ||||
| test cases:  255 |  174 passed |  77 failed |  4 failed as expected | ||||
| assertions: 1418 | 1259 passed | 138 failed | 21 failed as expected | ||||
| test cases:  256 |  175 passed |  77 failed |  4 failed as expected | ||||
| assertions: 1419 | 1260 passed | 138 failed | 21 failed as expected | ||||
|  | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|     <property name="random-seed" value="1"/> | ||||
|   </properties> | ||||
| loose text artifact | ||||
|   <testsuite name="<exe-name>" errors="17" failures="122" tests="1419" hostname="tbd" time="{duration}" timestamp="{iso8601-timestamp}"> | ||||
|   <testsuite name="<exe-name>" errors="17" failures="122" tests="1420" hostname="tbd" time="{duration}" timestamp="{iso8601-timestamp}"> | ||||
|     <testcase classname="<exe-name>.global" name="# A test name that starts with a #" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="#1005: Comparing pointer to int and long (NULL can be either on various systems)" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="#1027" time="{duration}"/> | ||||
| @@ -980,6 +980,7 @@ i := 7 | ||||
| Message.tests.cpp:<line number> | ||||
|       </failure> | ||||
|     </testcase> | ||||
|     <testcase classname="<exe-name>.global" name="shortened hide tags are split apart" time="{duration}"/> | ||||
|     <testcase classname="<exe-name>.global" name="stacks unscoped info in loops" time="{duration}"> | ||||
|       <failure message="false" type="CHECK"> | ||||
| Count 1 to 3... | ||||
|   | ||||
| @@ -2916,7 +2916,7 @@ Nor would this | ||||
|       </Expression> | ||||
|       <OverallResult success="true"/> | ||||
|     </TestCase> | ||||
|     <TestCase name="Exception matchers that fail" tags="[!throws][.][.failing][exceptions][matchers]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > | ||||
|     <TestCase name="Exception matchers that fail" tags="[!throws][.][exceptions][failing][matchers]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > | ||||
|       <Section name="No exception" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > | ||||
|         <Expression success="false" type="CHECK_THROWS_MATCHES" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > | ||||
|           <Original> | ||||
| @@ -5861,7 +5861,7 @@ Nor would this | ||||
|       </Expression> | ||||
|       <OverallResult success="true"/> | ||||
|     </TestCase> | ||||
|     <TestCase name="Matchers can be composed with both && and || - failing" tags="[.][.failing][matchers][operator&&][operators][operator||]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > | ||||
|     <TestCase name="Matchers can be composed with both && and || - failing" tags="[.][failing][matchers][operator&&][operators][operator||]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > | ||||
|       <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > | ||||
|         <Original> | ||||
|           testStringForMatching(), (Contains("string") || Contains("different")) && Contains("random") | ||||
| @@ -5883,7 +5883,7 @@ Nor would this | ||||
|       </Expression> | ||||
|       <OverallResult success="true"/> | ||||
|     </TestCase> | ||||
|     <TestCase name="Matchers can be negated (Not) with the ! operator - failing" tags="[.][.failing][matchers][not][operators]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > | ||||
|     <TestCase name="Matchers can be negated (Not) with the ! operator - failing" tags="[.][failing][matchers][not][operators]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > | ||||
|       <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > | ||||
|         <Original> | ||||
|           testStringForMatching(), !Contains("substring") | ||||
| @@ -8205,7 +8205,7 @@ Nor would this | ||||
|       </Expression> | ||||
|       <OverallResult success="false"/> | ||||
|     </TestCase> | ||||
|     <TestCase name="Regex string matcher" tags="[.][.failing][matchers]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > | ||||
|     <TestCase name="Regex string matcher" tags="[.][failing][matchers]" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > | ||||
|       <Expression success="false" type="CHECK_THAT" filename="projects/<exe-name>/UsageTests/Matchers.tests.cpp" > | ||||
|         <Original> | ||||
|           testStringForMatching(), Matches("this STRING contains 'abc' as a substring") | ||||
| @@ -9186,9 +9186,9 @@ Message from section two | ||||
|       </Expression> | ||||
|       <OverallResult success="false"/> | ||||
|     </TestCase> | ||||
|     <TestCase name="Tag alias can be registered against tag patterns" filename="projects/<exe-name>/IntrospectiveTests/TagAlias.tests.cpp" > | ||||
|       <Section name="The same tag alias can only be registered once" filename="projects/<exe-name>/IntrospectiveTests/TagAlias.tests.cpp" > | ||||
|         <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/IntrospectiveTests/TagAlias.tests.cpp" > | ||||
|     <TestCase name="Tag alias can be registered against tag patterns" filename="projects/<exe-name>/IntrospectiveTests/Tag.tests.cpp" > | ||||
|       <Section name="The same tag alias can only be registered once" filename="projects/<exe-name>/IntrospectiveTests/Tag.tests.cpp" > | ||||
|         <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/IntrospectiveTests/Tag.tests.cpp" > | ||||
|           <Original> | ||||
|             what, Contains( "[@zzz]" ) | ||||
|           </Original> | ||||
| @@ -9198,7 +9198,7 @@ Message from section two | ||||
| 	Redefined at: file:10" contains: "[@zzz]" | ||||
|           </Expanded> | ||||
|         </Expression> | ||||
|         <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/IntrospectiveTests/TagAlias.tests.cpp" > | ||||
|         <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/IntrospectiveTests/Tag.tests.cpp" > | ||||
|           <Original> | ||||
|             what, Contains( "file" ) | ||||
|           </Original> | ||||
| @@ -9208,7 +9208,7 @@ Message from section two | ||||
| 	Redefined at: file:10" contains: "file" | ||||
|           </Expanded> | ||||
|         </Expression> | ||||
|         <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/IntrospectiveTests/TagAlias.tests.cpp" > | ||||
|         <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/IntrospectiveTests/Tag.tests.cpp" > | ||||
|           <Original> | ||||
|             what, Contains( "2" ) | ||||
|           </Original> | ||||
| @@ -9218,7 +9218,7 @@ Message from section two | ||||
| 	Redefined at: file:10" contains: "2" | ||||
|           </Expanded> | ||||
|         </Expression> | ||||
|         <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/IntrospectiveTests/TagAlias.tests.cpp" > | ||||
|         <Expression success="true" type="CHECK_THAT" filename="projects/<exe-name>/IntrospectiveTests/Tag.tests.cpp" > | ||||
|           <Original> | ||||
|             what, Contains( "10" ) | ||||
|           </Original> | ||||
| @@ -9230,8 +9230,8 @@ Message from section two | ||||
|         </Expression> | ||||
|         <OverallResults successes="4" failures="0" expectedFailures="0"/> | ||||
|       </Section> | ||||
|       <Section name="Tag aliases must be of the form [@name]" filename="projects/<exe-name>/IntrospectiveTests/TagAlias.tests.cpp" > | ||||
|         <Expression success="true" type="CHECK_THROWS" filename="projects/<exe-name>/IntrospectiveTests/TagAlias.tests.cpp" > | ||||
|       <Section name="Tag aliases must be of the form [@name]" filename="projects/<exe-name>/IntrospectiveTests/Tag.tests.cpp" > | ||||
|         <Expression success="true" type="CHECK_THROWS" filename="projects/<exe-name>/IntrospectiveTests/Tag.tests.cpp" > | ||||
|           <Original> | ||||
|             registry.add( "[no ampersat]", "", Catch::SourceLineInfo( "file", 3 ) ) | ||||
|           </Original> | ||||
| @@ -9239,7 +9239,7 @@ Message from section two | ||||
|             registry.add( "[no ampersat]", "", Catch::SourceLineInfo( "file", 3 ) ) | ||||
|           </Expanded> | ||||
|         </Expression> | ||||
|         <Expression success="true" type="CHECK_THROWS" filename="projects/<exe-name>/IntrospectiveTests/TagAlias.tests.cpp" > | ||||
|         <Expression success="true" type="CHECK_THROWS" filename="projects/<exe-name>/IntrospectiveTests/Tag.tests.cpp" > | ||||
|           <Original> | ||||
|             registry.add( "[the @ is not at the start]", "", Catch::SourceLineInfo( "file", 3 ) ) | ||||
|           </Original> | ||||
| @@ -9247,7 +9247,7 @@ Message from section two | ||||
|             registry.add( "[the @ is not at the start]", "", Catch::SourceLineInfo( "file", 3 ) ) | ||||
|           </Expanded> | ||||
|         </Expression> | ||||
|         <Expression success="true" type="CHECK_THROWS" filename="projects/<exe-name>/IntrospectiveTests/TagAlias.tests.cpp" > | ||||
|         <Expression success="true" type="CHECK_THROWS" filename="projects/<exe-name>/IntrospectiveTests/Tag.tests.cpp" > | ||||
|           <Original> | ||||
|             registry.add( "@no square bracket at start]", "", Catch::SourceLineInfo( "file", 3 ) ) | ||||
|           </Original> | ||||
| @@ -9255,7 +9255,7 @@ Message from section two | ||||
|             registry.add( "@no square bracket at start]", "", Catch::SourceLineInfo( "file", 3 ) ) | ||||
|           </Expanded> | ||||
|         </Expression> | ||||
|         <Expression success="true" type="CHECK_THROWS" filename="projects/<exe-name>/IntrospectiveTests/TagAlias.tests.cpp" > | ||||
|         <Expression success="true" type="CHECK_THROWS" filename="projects/<exe-name>/IntrospectiveTests/Tag.tests.cpp" > | ||||
|           <Original> | ||||
|             registry.add( "[@no square bracket at end", "", Catch::SourceLineInfo( "file", 3 ) ) | ||||
|           </Original> | ||||
| @@ -12352,6 +12352,17 @@ loose text artifact | ||||
|       </Expression> | ||||
|       <OverallResult success="false"/> | ||||
|     </TestCase> | ||||
|     <TestCase name="shortened hide tags are split apart" filename="projects/<exe-name>/IntrospectiveTests/Tag.tests.cpp" > | ||||
|       <Expression success="true" type="REQUIRE_THAT" filename="projects/<exe-name>/IntrospectiveTests/Tag.tests.cpp" > | ||||
|         <Original> | ||||
|           testcase.tags, Catch::VectorContains(std::string("magic-tag")) && Catch::VectorContains(std::string(".")) | ||||
|         </Original> | ||||
|         <Expanded> | ||||
|           { ".", "magic-tag" } ( Contains: "magic-tag" and Contains: "." ) | ||||
|         </Expanded> | ||||
|       </Expression> | ||||
|       <OverallResult success="true"/> | ||||
|     </TestCase> | ||||
|     <TestCase name="stacks unscoped info in loops" tags="[.][failing][info][unscoped]" filename="projects/<exe-name>/UsageTests/Message.tests.cpp" > | ||||
|       <Info> | ||||
|         Count 1 to 3... | ||||
| @@ -13246,7 +13257,7 @@ loose text artifact | ||||
|       </Section> | ||||
|       <OverallResult success="true"/> | ||||
|     </TestCase> | ||||
|     <OverallResults successes="1259" failures="139" expectedFailures="21"/> | ||||
|     <OverallResults successes="1260" failures="139" expectedFailures="21"/> | ||||
|   </Group> | ||||
|   <OverallResults successes="1259" failures="138" expectedFailures="21"/> | ||||
|   <OverallResults successes="1260" failures="138" expectedFailures="21"/> | ||||
| </Catch> | ||||
|   | ||||
| @@ -40,3 +40,8 @@ TEST_CASE( "Tag alias can be registered against tag patterns" ) { | ||||
|         CHECK_THROWS( registry.add( "[@no square bracket at end", "", Catch::SourceLineInfo( "file", 3 ) ) ); | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| TEST_CASE("shortened hide tags are split apart") { | ||||
|     auto testcase = Catch::makeTestCase(nullptr, "", {"fake test name", "[.magic-tag]"}, CATCH_INTERNAL_LINEINFO); | ||||
|     REQUIRE_THAT(testcase.tags, Catch::VectorContains(std::string("magic-tag")) && Catch::VectorContains(std::string("."))); | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 Martin Hořeňovský
					Martin Hořeňovský