diff options
| author | Martin Hořeňovský | 2022-10-28 00:16:38 +0200 |
|---|---|---|
| committer | Martin Hořeňovský | 2022-10-28 13:27:46 +0200 |
| commit | 3b40cf13eb5f56f83c3c5df4c61227187e3fe15d (patch) | |
| tree | e142d4127d3638c54b1be2d64ae2ef66c2ac607a /tests | |
| parent | 223d8d638297454638459f7f6ef7db60b1adae99 (diff) | |
| download | catch3-3b40cf13eb5f56f83c3c5df4c61227187e3fe15d.tar.gz | |
Split out parseTestSpec into test-only helpers
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/CMakeLists.txt | 8 | ||||
| -rw-r--r-- | tests/SelfTest/IntrospectiveTests/TestSpec.tests.cpp | 1 | ||||
| -rw-r--r-- | tests/SelfTest/helpers/parse_test_spec.cpp | 22 | ||||
| -rw-r--r-- | tests/SelfTest/helpers/parse_test_spec.hpp | 15 |
4 files changed, 45 insertions, 1 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 698e40dd..46d62428 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -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 diff --git a/tests/SelfTest/IntrospectiveTests/TestSpec.tests.cpp b/tests/SelfTest/IntrospectiveTests/TestSpec.tests.cpp index 57bb20ba..9c4eb03b 100644 --- a/tests/SelfTest/IntrospectiveTests/TestSpec.tests.cpp +++ b/tests/SelfTest/IntrospectiveTests/TestSpec.tests.cpp @@ -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); } diff --git a/tests/SelfTest/helpers/parse_test_spec.cpp b/tests/SelfTest/helpers/parse_test_spec.cpp new file mode 100644 index 00000000..2431d524 --- /dev/null +++ b/tests/SelfTest/helpers/parse_test_spec.cpp @@ -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 diff --git a/tests/SelfTest/helpers/parse_test_spec.hpp b/tests/SelfTest/helpers/parse_test_spec.hpp new file mode 100644 index 00000000..4cf2a241 --- /dev/null +++ b/tests/SelfTest/helpers/parse_test_spec.hpp @@ -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 ); +} |