mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-11-04 05:59:32 +01:00 
			
		
		
		
	Split out parseTestSpec into test-only helpers
This commit is contained in:
		@@ -238,8 +238,4 @@ namespace Catch {
 | 
				
			|||||||
        m_mode = None;
 | 
					        m_mode = None;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    TestSpec parseTestSpec( std::string const& arg ) {
 | 
					 | 
				
			||||||
        return TestSpecParser( ITagAliasRegistry::get() ).parse( arg ).testSpec();
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
} // namespace Catch
 | 
					} // namespace Catch
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -71,7 +71,6 @@ namespace Catch {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
    TestSpec parseTestSpec( std::string const& arg );
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Catch
 | 
					} // namespace Catch
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -101,6 +101,7 @@ set(TEST_SOURCES
 | 
				
			|||||||
        ${SELF_TEST_DIR}/IntrospectiveTests/Xml.tests.cpp
 | 
					        ${SELF_TEST_DIR}/IntrospectiveTests/Xml.tests.cpp
 | 
				
			||||||
        ${SELF_TEST_DIR}/IntrospectiveTests/ToString.tests.cpp
 | 
					        ${SELF_TEST_DIR}/IntrospectiveTests/ToString.tests.cpp
 | 
				
			||||||
        ${SELF_TEST_DIR}/IntrospectiveTests/UniquePtr.tests.cpp
 | 
					        ${SELF_TEST_DIR}/IntrospectiveTests/UniquePtr.tests.cpp
 | 
				
			||||||
 | 
					        ${SELF_TEST_DIR}/helpers/parse_test_spec.cpp
 | 
				
			||||||
        ${SELF_TEST_DIR}/TimingTests/Sleep.tests.cpp
 | 
					        ${SELF_TEST_DIR}/TimingTests/Sleep.tests.cpp
 | 
				
			||||||
        ${SELF_TEST_DIR}/UsageTests/Approx.tests.cpp
 | 
					        ${SELF_TEST_DIR}/UsageTests/Approx.tests.cpp
 | 
				
			||||||
        ${SELF_TEST_DIR}/UsageTests/BDD.tests.cpp
 | 
					        ${SELF_TEST_DIR}/UsageTests/BDD.tests.cpp
 | 
				
			||||||
@@ -129,6 +130,10 @@ set(TEST_SOURCES
 | 
				
			|||||||
        ${SELF_TEST_DIR}/UsageTests/Matchers.tests.cpp
 | 
					        ${SELF_TEST_DIR}/UsageTests/Matchers.tests.cpp
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set(TEST_HEADERS
 | 
				
			||||||
 | 
					  ${SELF_TEST_DIR}/helpers/parse_test_spec.hpp
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Specify the headers, too, so CLion recognises them as project files
 | 
					# Specify the headers, too, so CLion recognises them as project files
 | 
				
			||||||
set(HEADERS
 | 
					set(HEADERS
 | 
				
			||||||
@@ -146,7 +151,8 @@ set(HEADERS
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
include(CTest)
 | 
					include(CTest)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
add_executable(SelfTest ${TEST_SOURCES})
 | 
					add_executable(SelfTest ${TEST_SOURCES} ${TEST_HEADERS})
 | 
				
			||||||
 | 
					target_include_directories(SelfTest PRIVATE ${SELF_TEST_DIR})
 | 
				
			||||||
target_link_libraries(SelfTest PRIVATE Catch2WithMain)
 | 
					target_link_libraries(SelfTest PRIVATE Catch2WithMain)
 | 
				
			||||||
if (BUILD_SHARED_LIBS AND WIN32)
 | 
					if (BUILD_SHARED_LIBS AND WIN32)
 | 
				
			||||||
    add_custom_command(TARGET SelfTest PRE_LINK
 | 
					    add_custom_command(TARGET SelfTest PRE_LINK
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,6 +17,7 @@
 | 
				
			|||||||
#include <catch2/generators/catch_generators.hpp>
 | 
					#include <catch2/generators/catch_generators.hpp>
 | 
				
			||||||
#include <catch2/internal/catch_compiler_capabilities.hpp>
 | 
					#include <catch2/internal/catch_compiler_capabilities.hpp>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <helpers/parse_test_spec.hpp>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace {
 | 
					namespace {
 | 
				
			||||||
    auto fakeTestCase(const char* name, const char* desc = "") { return Catch::makeTestCaseInfo("", { name, desc }, CATCH_INTERNAL_LINEINFO); }
 | 
					    auto fakeTestCase(const char* name, const char* desc = "") { return Catch::makeTestCaseInfo("", { name, desc }, CATCH_INTERNAL_LINEINFO); }
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										22
									
								
								tests/SelfTest/helpers/parse_test_spec.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								tests/SelfTest/helpers/parse_test_spec.cpp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					//              Copyright Catch2 Authors
 | 
				
			||||||
 | 
					// Distributed under the Boost Software License, Version 1.0.
 | 
				
			||||||
 | 
					//   (See accompanying file LICENSE_1_0.txt or copy at
 | 
				
			||||||
 | 
					//        https://www.boost.org/LICENSE_1_0.txt)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// SPDX-License-Identifier: BSL-1.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <helpers/parse_test_spec.hpp>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <catch2/internal/catch_test_spec_parser.hpp>
 | 
				
			||||||
 | 
					#include <catch2/interfaces/catch_interfaces_tag_alias_registry.hpp>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace Catch {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    TestSpec parseTestSpec( std::string const& arg ) {
 | 
				
			||||||
 | 
					        return TestSpecParser( ITagAliasRegistry::get() )
 | 
				
			||||||
 | 
					            .parse( arg )
 | 
				
			||||||
 | 
					            .testSpec();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} // namespace Catch
 | 
				
			||||||
							
								
								
									
										15
									
								
								tests/SelfTest/helpers/parse_test_spec.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								tests/SelfTest/helpers/parse_test_spec.hpp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					//              Copyright Catch2 Authors
 | 
				
			||||||
 | 
					// Distributed under the Boost Software License, Version 1.0.
 | 
				
			||||||
 | 
					//   (See accompanying file LICENSE_1_0.txt or copy at
 | 
				
			||||||
 | 
					//        https://www.boost.org/LICENSE_1_0.txt)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// SPDX-License-Identifier: BSL-1.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <catch2/catch_test_spec.hpp>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <string>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace Catch {
 | 
				
			||||||
 | 
					    TestSpec parseTestSpec( std::string const& arg );
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user