Split out parseTestSpec into test-only helpers

This commit is contained in:
Martin Hořeňovský 2022-10-28 00:16:38 +02:00
parent 223d8d6382
commit 3b40cf13eb
No known key found for this signature in database
GPG Key ID: DE48307B8B0D381A
6 changed files with 45 additions and 6 deletions

View File

@ -238,8 +238,4 @@ namespace Catch {
m_mode = None;
}
TestSpec parseTestSpec( std::string const& arg ) {
return TestSpecParser( ITagAliasRegistry::get() ).parse( arg ).testSpec();
}
} // namespace Catch

View File

@ -71,7 +71,6 @@ namespace Catch {
}
};
TestSpec parseTestSpec( std::string const& arg );
} // namespace Catch

View File

@ -101,6 +101,7 @@ set(TEST_SOURCES
${SELF_TEST_DIR}/IntrospectiveTests/Xml.tests.cpp
${SELF_TEST_DIR}/IntrospectiveTests/ToString.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}/UsageTests/Approx.tests.cpp
${SELF_TEST_DIR}/UsageTests/BDD.tests.cpp
@ -129,6 +130,10 @@ set(TEST_SOURCES
${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
set(HEADERS
@ -146,7 +151,8 @@ set(HEADERS
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)
if (BUILD_SHARED_LIBS AND WIN32)
add_custom_command(TARGET SelfTest PRE_LINK

View File

@ -17,6 +17,7 @@
#include <catch2/generators/catch_generators.hpp>
#include <catch2/internal/catch_compiler_capabilities.hpp>
#include <helpers/parse_test_spec.hpp>
namespace {
auto fakeTestCase(const char* name, const char* desc = "") { return Catch::makeTestCaseInfo("", { name, desc }, CATCH_INTERNAL_LINEINFO); }

View 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

View 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 );
}