mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 20:27:11 +01:00 
			
		
		
		
	https://github.com/catchorg/Catch2/issues/1175 - don't list hidden tests by default
This commit is contained in:
		 dvirtz
					dvirtz
				
			
				
					committed by
					
						 Martin Hořeňovský
						Martin Hořeňovský
					
				
			
			
				
	
			
			
			 Martin Hořeňovský
						Martin Hořeňovský
					
				
			
						parent
						
							355b3f9952
						
					
				
				
					commit
					ca8470fbad
				
			| @@ -15,12 +15,16 @@ namespace Catch { | ||||
|     :   m_data( data ), | ||||
|         m_stream( openStream() ) | ||||
|     { | ||||
|         if( !data.testsOrTags.empty() ) { | ||||
|             TestSpecParser parser( ITagAliasRegistry::get() ); | ||||
|         TestSpecParser parser(ITagAliasRegistry::get()); | ||||
|         if (data.testsOrTags.empty()) { | ||||
|             parser.parse("~[.]"); // All not hidden tests | ||||
|         } | ||||
|         else { | ||||
|             m_hasTestFilters = true; | ||||
|             for( auto const& testOrTags : data.testsOrTags ) | ||||
|                 parser.parse( testOrTags ); | ||||
|             m_testSpec = parser.testSpec(); | ||||
|         } | ||||
|         m_testSpec = parser.testSpec(); | ||||
|     } | ||||
|  | ||||
|     std::string const& Config::getFilename() const { | ||||
| @@ -39,6 +43,7 @@ namespace Catch { | ||||
|     std::vector<std::string> const& Config::getSectionsToRun() const { return m_data.sectionsToRun; } | ||||
|  | ||||
|     TestSpec const& Config::testSpec() const { return m_testSpec; } | ||||
|     bool Config::hasTestFilters() const { return m_hasTestFilters; } | ||||
|  | ||||
|     bool Config::showHelp() const { return m_data.showHelp; } | ||||
|  | ||||
|   | ||||
| @@ -82,6 +82,7 @@ namespace Catch { | ||||
|         std::vector<std::string> const& getSectionsToRun() const override; | ||||
|  | ||||
|         virtual TestSpec const& testSpec() const override; | ||||
|         bool hasTestFilters() const override; | ||||
|  | ||||
|         bool showHelp() const; | ||||
|  | ||||
| @@ -109,6 +110,7 @@ namespace Catch { | ||||
|  | ||||
|         std::unique_ptr<IStream const> m_stream; | ||||
|         TestSpec m_testSpec; | ||||
|         bool m_hasTestFilters = false; | ||||
|     }; | ||||
|  | ||||
| } // end namespace Catch | ||||
|   | ||||
| @@ -68,6 +68,7 @@ namespace Catch { | ||||
|         virtual bool showInvisibles() const = 0; | ||||
|         virtual ShowDurations::OrNot showDurations() const = 0; | ||||
|         virtual TestSpec const& testSpec() const = 0; | ||||
|         virtual bool hasTestFilters() const = 0; | ||||
|         virtual RunTests::InWhatOrder runOrder() const = 0; | ||||
|         virtual unsigned int rngSeed() const = 0; | ||||
|         virtual int benchmarkResolutionMultiple() const = 0; | ||||
|   | ||||
| @@ -28,11 +28,10 @@ namespace Catch { | ||||
|  | ||||
|     std::size_t listTests( Config const& config ) { | ||||
|         TestSpec testSpec = config.testSpec(); | ||||
|         if( config.testSpec().hasFilters() ) | ||||
|         if( config.hasTestFilters() ) | ||||
|             Catch::cout() << "Matching test cases:\n"; | ||||
|         else { | ||||
|             Catch::cout() << "All available test cases:\n"; | ||||
|             testSpec = TestSpecParser( ITagAliasRegistry::get() ).parse( "*" ).testSpec(); | ||||
|         } | ||||
|  | ||||
|         auto matchedTestCases = filterTests( getAllTestCasesSorted( config ), testSpec, config ); | ||||
| @@ -54,7 +53,7 @@ namespace Catch { | ||||
|                 Catch::cout() << Column( testCaseInfo.tagsAsString() ).indent( 6 ) << "\n"; | ||||
|         } | ||||
|  | ||||
|         if( !config.testSpec().hasFilters() ) | ||||
|         if( !config.hasTestFilters() ) | ||||
|             Catch::cout() << pluralise( matchedTestCases.size(), "test case" ) << '\n' << std::endl; | ||||
|         else | ||||
|             Catch::cout() << pluralise( matchedTestCases.size(), "matching test case" ) << '\n' << std::endl; | ||||
| @@ -63,8 +62,6 @@ namespace Catch { | ||||
|  | ||||
|     std::size_t listTestsNamesOnly( Config const& config ) { | ||||
|         TestSpec testSpec = config.testSpec(); | ||||
|         if( !config.testSpec().hasFilters() ) | ||||
|             testSpec = TestSpecParser( ITagAliasRegistry::get() ).parse( "*" ).testSpec(); | ||||
|         std::size_t matchedTests = 0; | ||||
|         std::vector<TestCase> matchedTestCases = filterTests( getAllTestCasesSorted( config ), testSpec, config ); | ||||
|         for( auto const& testCaseInfo : matchedTestCases ) { | ||||
| @@ -94,11 +91,10 @@ namespace Catch { | ||||
|  | ||||
|     std::size_t listTags( Config const& config ) { | ||||
|         TestSpec testSpec = config.testSpec(); | ||||
|         if( config.testSpec().hasFilters() ) | ||||
|         if( config.hasTestFilters() ) | ||||
|             Catch::cout() << "Tags for matching test cases:\n"; | ||||
|         else { | ||||
|             Catch::cout() << "All available tags:\n"; | ||||
|             testSpec = TestSpecParser( ITagAliasRegistry::get() ).parse( "*" ).testSpec(); | ||||
|         } | ||||
|  | ||||
|         std::map<std::string, TagInfo> tagCounts; | ||||
|   | ||||
| @@ -70,8 +70,6 @@ namespace Catch { | ||||
|             context.testGroupStarting(config->name(), 1, 1); | ||||
|  | ||||
|             TestSpec testSpec = config->testSpec(); | ||||
|             if (!testSpec.hasFilters()) | ||||
|                 testSpec = TestSpecParser(ITagAliasRegistry::get()).parse("~[.]").testSpec(); // All not hidden tests | ||||
|  | ||||
|             auto const& allTestCases = getAllTestCasesSorted(*config); | ||||
|             for (auto const& testCase : allTestCases) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user