Fix formatting of CMake files

2 spaces seems to be the more common indentation level so that's what
I unified around.
This commit is contained in:
Chris Thrasher 2025-04-07 22:09:59 -06:00
parent 5b3b228603
commit 1a916da4c8
No known key found for this signature in database
GPG Key ID: 56FB686C9DFC8E2C
8 changed files with 422 additions and 518 deletions

View File

@ -26,7 +26,6 @@ cmake_dependent_option(CATCH_BUILD_SURROGATES "Enable generating and building su
cmake_dependent_option(CATCH_ENABLE_CONFIGURE_TESTS "Enable CMake configuration tests. WARNING: VERY EXPENSIVE" OFF "CATCH_DEVELOPMENT_BUILD" OFF) cmake_dependent_option(CATCH_ENABLE_CONFIGURE_TESTS "Enable CMake configuration tests. WARNING: VERY EXPENSIVE" OFF "CATCH_DEVELOPMENT_BUILD" OFF)
cmake_dependent_option(CATCH_ENABLE_CMAKE_HELPER_TESTS "Enable CMake helper tests. WARNING: VERY EXPENSIVE" OFF "CATCH_DEVELOPMENT_BUILD" OFF) cmake_dependent_option(CATCH_ENABLE_CMAKE_HELPER_TESTS "Enable CMake helper tests. WARNING: VERY EXPENSIVE" OFF "CATCH_DEVELOPMENT_BUILD" OFF)
# Catch2's build breaks if done in-tree. You probably should not build # Catch2's build breaks if done in-tree. You probably should not build
# things in tree anyway, but we can allow projects that include Catch2 # things in tree anyway, but we can allow projects that include Catch2
# as a subproject to build in-tree as long as it is not in our tree. # as a subproject to build in-tree as long as it is not in our tree.
@ -70,7 +69,6 @@ if(CATCH_TEST_USE_WMAIN)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /ENTRY:wmainCRTStartup") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /ENTRY:wmainCRTStartup")
endif() endif()
# Basic paths # Basic paths
set(CATCH_DIR ${CMAKE_CURRENT_SOURCE_DIR}) set(CATCH_DIR ${CMAKE_CURRENT_SOURCE_DIR})
set(SOURCES_DIR ${CATCH_DIR}/src/catch2) set(SOURCES_DIR ${CATCH_DIR}/src/catch2)
@ -192,7 +190,5 @@ if (NOT_SUBPROJECT)
set(CPACK_PACKAGE_CONTACT "https://github.com/catchorg/Catch2/") set(CPACK_PACKAGE_CONTACT "https://github.com/catchorg/Catch2/")
include(CPack) include(CPack)
endif() endif()

View File

@ -1,10 +1,8 @@
cmake_minimum_required(VERSION 3.16) cmake_minimum_required(VERSION 3.16)
project(Catch2Examples LANGUAGES CXX) project(Catch2Examples LANGUAGES CXX)
message(STATUS "Examples included") message(STATUS "Examples included")
# Some one-offs first: # Some one-offs first:
# 1) Tests and main in one file # 1) Tests and main in one file
add_executable(010-TestCase add_executable(010-TestCase
@ -42,7 +40,6 @@ set( SOURCES_IDIOMATIC_EXAMPLES
string(REPLACE ".cpp" "" BASENAMES_IDIOMATIC_EXAMPLES "${SOURCES_IDIOMATIC_EXAMPLES}") string(REPLACE ".cpp" "" BASENAMES_IDIOMATIC_EXAMPLES "${SOURCES_IDIOMATIC_EXAMPLES}")
set(TARGETS_IDIOMATIC_EXAMPLES ${BASENAMES_IDIOMATIC_EXAMPLES}) set(TARGETS_IDIOMATIC_EXAMPLES ${BASENAMES_IDIOMATIC_EXAMPLES})
foreach(name ${TARGETS_IDIOMATIC_EXAMPLES}) foreach(name ${TARGETS_IDIOMATIC_EXAMPLES})
add_executable(${name} ${name}.cpp) add_executable(${name} ${name}.cpp)
endforeach() endforeach()
@ -57,6 +54,5 @@ foreach( name ${ALL_EXAMPLE_TARGETS} )
target_link_libraries(${name} Catch2WithMain) target_link_libraries(${name} Catch2WithMain)
endforeach() endforeach()
list(APPEND CATCH_WARNING_TARGETS ${ALL_EXAMPLE_TARGETS}) list(APPEND CATCH_WARNING_TARGETS ${ALL_EXAMPLE_TARGETS})
set(CATCH_WARNING_TARGETS ${CATCH_WARNING_TARGETS} PARENT_SCOPE) set(CATCH_WARNING_TARGETS ${CATCH_WARNING_TARGETS} PARENT_SCOPE)

View File

@ -40,7 +40,6 @@ set(BENCHMARK_SOURCES
) )
set(BENCHMARK_FILES ${BENCHMARK_HEADERS} ${BENCHMARK_SOURCES}) set(BENCHMARK_FILES ${BENCHMARK_HEADERS} ${BENCHMARK_SOURCES})
set(IMPL_HEADERS set(IMPL_HEADERS
"${PROJECT_BINARY_DIR}/generated-includes/catch2/catch_user_config.hpp" "${PROJECT_BINARY_DIR}/generated-includes/catch2/catch_user_config.hpp"
${SOURCES_DIR}/catch_user_config.hpp.in ${SOURCES_DIR}/catch_user_config.hpp.in
@ -360,13 +359,11 @@ endif()
set_target_properties(Catch2 PROPERTIES set_target_properties(Catch2 PROPERTIES
DEBUG_POSTFIX "d" DEBUG_POSTFIX "d"
VERSION ${PROJECT_VERSION} VERSION ${PROJECT_VERSION}
SOVERSION ${PROJECT_VERSION}) SOVERSION ${PROJECT_VERSION}
)
# require C++14 # require C++14
target_compile_features(Catch2 target_compile_features(Catch2 PUBLIC cxx_std_14)
PUBLIC
cxx_std_14
)
configure_file( configure_file(
"${SOURCES_DIR}/catch_user_config.hpp.in" "${SOURCES_DIR}/catch_user_config.hpp.in"
@ -413,7 +410,6 @@ if (NOT_SUBPROJECT)
${CMAKE_INSTALL_BINDIR} ${CMAKE_INSTALL_BINDIR}
) )
install( install(
EXPORT EXPORT
Catch2Targets Catch2Targets
@ -450,20 +446,13 @@ if (CATCH_BUILD_EXAMPLES OR CATCH_BUILD_EXTRA_TESTS)
$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/generated-includes> $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/generated-includes>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}> $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
) )
target_compile_definitions(Catch2_buildall_interface target_compile_definitions(Catch2_buildall_interface INTERFACE CATCH_CONFIG_STATIC)
INTERFACE target_compile_features(Catch2_buildall_interface INTERFACE cxx_std_14)
CATCH_CONFIG_STATIC
)
target_compile_features(Catch2_buildall_interface
INTERFACE
cxx_std_14
)
endif() endif()
list(APPEND CATCH_WARNING_TARGETS Catch2 Catch2WithMain) list(APPEND CATCH_WARNING_TARGETS Catch2 Catch2WithMain)
set(CATCH_WARNING_TARGETS ${CATCH_WARNING_TARGETS} PARENT_SCOPE) set(CATCH_WARNING_TARGETS ${CATCH_WARNING_TARGETS} PARENT_SCOPE)
# We still do not support building dynamic library with hidden visibility # We still do not support building dynamic library with hidden visibility
# so we want to check & warn users if they do this. However, we won't abort # so we want to check & warn users if they do this. However, we won't abort
# the configuration step so that we don't have to also provide an override. # the configuration step so that we don't have to also provide an override.

View File

@ -11,11 +11,9 @@ if (CATCH_BUILD_SURROGATES)
# Returns the path to the generated file. # Returns the path to the generated file.
function(createSurrogateFileTarget sourceHeader pathToFile) function(createSurrogateFileTarget sourceHeader pathToFile)
set(pathPrefix ${PROJECT_SOURCE_DIR}/src) set(pathPrefix ${PROJECT_SOURCE_DIR}/src)
file(RELATIVE_PATH includePath ${pathPrefix} ${sourceHeader}) file(RELATIVE_PATH includePath ${pathPrefix} ${sourceHeader})
get_filename_component(basicFileName "${sourceHeader}" NAME_WE) get_filename_component(basicFileName "${sourceHeader}" NAME_WE)
set(surrogateFilePath ${CMAKE_CURRENT_BINARY_DIR}/surrogates/surrogate_${basicFileName}.cpp) set(surrogateFilePath ${CMAKE_CURRENT_BINARY_DIR}/surrogates/surrogate_${basicFileName}.cpp)
add_custom_command( add_custom_command(
@ -41,7 +39,6 @@ if (CATCH_BUILD_SURROGATES)
set(${OutArg} ${AllHeaders} PARENT_SCOPE) set(${OutArg} ${AllHeaders} PARENT_SCOPE)
endfunction() endfunction()
ExtractCatch2Headers(mainHeaders) ExtractCatch2Headers(mainHeaders)
if(NOT mainHeaders) if(NOT mainHeaders)
@ -53,12 +50,10 @@ if (CATCH_BUILD_SURROGATES)
list(APPEND surrogateFiles ${pathToGeneratedFile}) list(APPEND surrogateFiles ${pathToGeneratedFile})
endforeach() endforeach()
add_executable(Catch2SurrogateTarget add_executable(Catch2SurrogateTarget
${surrogateFiles} ${surrogateFiles}
) )
target_link_libraries(Catch2SurrogateTarget PRIVATE Catch2WithMain) target_link_libraries(Catch2SurrogateTarget PRIVATE Catch2WithMain)
endif() endif()
#### ####
@ -67,12 +62,9 @@ endif()
# until 3.13 (not yet released) # until 3.13 (not yet released)
#### ####
if(MSVC) if(MSVC)
configure_file(${CATCH_DIR}/tools/misc/SelfTest.vcxproj.user configure_file(${CATCH_DIR}/tools/misc/SelfTest.vcxproj.user ${CMAKE_BINARY_DIR}/tests COPYONLY)
${CMAKE_BINARY_DIR}/tests
COPYONLY)
endif() #Temporary workaround endif() #Temporary workaround
# define the sources of the self test # define the sources of the self test
# Please keep these ordered alphabetically # Please keep these ordered alphabetically
set(TEST_SOURCES set(TEST_SOURCES
@ -142,7 +134,6 @@ set(TEST_HEADERS
${SELF_TEST_DIR}/helpers/type_with_lit_0_comparisons.hpp ${SELF_TEST_DIR}/helpers/type_with_lit_0_comparisons.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
${TOP_LEVEL_HEADERS} ${TOP_LEVEL_HEADERS}
@ -219,7 +210,6 @@ set_tests_properties(List::Tags::XmlOutput PROPERTIES
FAIL_REGULAR_EXPRESSION "[0-9]+ tags" FAIL_REGULAR_EXPRESSION "[0-9]+ tags"
) )
add_test(NAME List::Reporters::Output COMMAND $<TARGET_FILE:SelfTest> --list-reporters) add_test(NAME List::Reporters::Output COMMAND $<TARGET_FILE:SelfTest> --list-reporters)
set_tests_properties(List::Reporters::Output PROPERTIES PASS_REGULAR_EXPRESSION "Available reporters:") set_tests_properties(List::Reporters::Output PROPERTIES PASS_REGULAR_EXPRESSION "Available reporters:")
add_test(NAME List::Reporters::ExitCode COMMAND $<TARGET_FILE:SelfTest> --list-reporters) add_test(NAME List::Reporters::ExitCode COMMAND $<TARGET_FILE:SelfTest> --list-reporters)
@ -447,7 +437,6 @@ set_tests_properties("Benchmarking::SkipBenchmarkMacros"
FAIL_REGULAR_EXPRESSION "benchmark name" FAIL_REGULAR_EXPRESSION "benchmark name"
) )
add_test(NAME "Benchmarking::FailureReporting::OptimizedOut" add_test(NAME "Benchmarking::FailureReporting::OptimizedOut"
COMMAND COMMAND
$<TARGET_FILE:SelfTest> "Failing benchmarks" -c "empty" -r xml $<TARGET_FILE:SelfTest> "Failing benchmarks" -c "empty" -r xml
@ -611,7 +600,6 @@ set_tests_properties("Reporters::JUnit::NamespacesAreNormalized"
if(CATCH_ENABLE_CONFIGURE_TESTS) if(CATCH_ENABLE_CONFIGURE_TESTS)
foreach(testName "DefaultReporter" "Disable" "DisableStringification" foreach(testName "DefaultReporter" "Disable" "DisableStringification"
"ExperimentalRedirect") "ExperimentalRedirect")
add_test(NAME "CMakeConfig::${testName}" add_test(NAME "CMakeConfig::${testName}"
COMMAND COMMAND
"${PYTHON_EXECUTABLE}" "${CMAKE_CURRENT_LIST_DIR}/TestScripts/testConfigure${testName}.py" "${CATCH_DIR}" "${CMAKE_CURRENT_BINARY_DIR}" "${PYTHON_EXECUTABLE}" "${CMAKE_CURRENT_LIST_DIR}/TestScripts/testConfigure${testName}.py" "${CATCH_DIR}" "${CMAKE_CURRENT_BINARY_DIR}"
@ -621,7 +609,6 @@ if (CATCH_ENABLE_CONFIGURE_TESTS)
COST 240 COST 240
LABELS "uses-python" LABELS "uses-python"
) )
endforeach() endforeach()
endif() endif()
@ -646,7 +633,6 @@ foreach (reporterName # "Automake" - the simple .trs format does not support any
# "TeamCity" - does not seem to support test suite-level metadata/comments # "TeamCity" - does not seem to support test suite-level metadata/comments
"XML" "XML"
"JSON") "JSON")
add_test(NAME "Reporters:Filters:${reporterName}" add_test(NAME "Reporters:Filters:${reporterName}"
COMMAND COMMAND
$<TARGET_FILE:SelfTest> [comparisons][string-case] "CaseInsensitiveLess is case insensitive" $<TARGET_FILE:SelfTest> [comparisons][string-case] "CaseInsensitiveLess is case insensitive"
@ -675,9 +661,7 @@ foreach (reporterName # "Automake" - the simple .trs format does not support any
PROPERTIES PROPERTIES
PASS_REGULAR_EXPRESSION "18181818" PASS_REGULAR_EXPRESSION "18181818"
) )
endforeach() endforeach()
list(APPEND CATCH_WARNING_TARGETS SelfTest) list(APPEND CATCH_WARNING_TARGETS SelfTest)
set(CATCH_WARNING_TARGETS ${CATCH_WARNING_TARGETS} PARENT_SCOPE) set(CATCH_WARNING_TARGETS ${CATCH_WARNING_TARGETS} PARENT_SCOPE)

View File

@ -1,9 +1,4 @@
#
# Build extra tests.
#
cmake_minimum_required(VERSION 3.16) cmake_minimum_required(VERSION 3.16)
project(Catch2ExtraTests LANGUAGES CXX) project(Catch2ExtraTests LANGUAGES CXX)
message(STATUS "Extra tests included") message(STATUS "Extra tests included")
@ -21,8 +16,7 @@ add_test(
NAME TestSharding::OverlyLargeShardIndex NAME TestSharding::OverlyLargeShardIndex
COMMAND $<TARGET_FILE:SelfTest> --shard-index 5 --shard-count 5 COMMAND $<TARGET_FILE:SelfTest> --shard-index 5 --shard-count 5
) )
set_tests_properties( set_tests_properties(TestSharding::OverlyLargeShardIndex
TestSharding::OverlyLargeShardIndex
PROPERTIES PROPERTIES
PASS_REGULAR_EXPRESSION "The shard count \\(5\\) must be greater than the shard index \\(5\\)" PASS_REGULAR_EXPRESSION "The shard count \\(5\\) must be greater than the shard index \\(5\\)"
) )
@ -31,8 +25,7 @@ set_tests_properties(
# they have non-trivial execution time, so they are categorized as # they have non-trivial execution time, so they are categorized as
# extra tests, so that they are run less. # extra tests, so that they are run less.
add_test(NAME MinDuration::SimpleThreshold COMMAND $<TARGET_FILE:SelfTest> --min-duration 0.950 [min_duration_test]) add_test(NAME MinDuration::SimpleThreshold COMMAND $<TARGET_FILE:SelfTest> --min-duration 0.950 [min_duration_test])
set_tests_properties( set_tests_properties(MinDuration::SimpleThreshold
MinDuration::SimpleThreshold
PROPERTIES PROPERTIES
PASS_REGULAR_EXPRESSION "s: sleep_for_1000ms" PASS_REGULAR_EXPRESSION "s: sleep_for_1000ms"
FAIL_REGULAR_EXPRESSION "sleep_for_100ms" FAIL_REGULAR_EXPRESSION "sleep_for_100ms"
@ -43,8 +36,7 @@ set_tests_properties(
# -d yes overrides the threshold, so we should see the faster test even # -d yes overrides the threshold, so we should see the faster test even
# with a ridiculous high min duration threshold # with a ridiculous high min duration threshold
add_test(NAME MinDuration::DurationOverrideYes COMMAND $<TARGET_FILE:SelfTest> --min-duration 1.0 -d yes [min_duration_test]) add_test(NAME MinDuration::DurationOverrideYes COMMAND $<TARGET_FILE:SelfTest> --min-duration 1.0 -d yes [min_duration_test])
set_tests_properties( set_tests_properties(MinDuration::DurationOverrideYes
MinDuration::DurationOverrideYes
PROPERTIES PROPERTIES
PASS_REGULAR_EXPRESSION "s: sleep_for_100ms" PASS_REGULAR_EXPRESSION "s: sleep_for_100ms"
) )
@ -52,13 +44,11 @@ set_tests_properties(
# -d no overrides the threshold, so we should never see any tests even # -d no overrides the threshold, so we should never see any tests even
# with ridiculously low min duration threshold # with ridiculously low min duration threshold
add_test(NAME MinDuration::DurationOverrideNo COMMAND $<TARGET_FILE:SelfTest> --min-duration 0.0001 -d no [min_duration_test]) add_test(NAME MinDuration::DurationOverrideNo COMMAND $<TARGET_FILE:SelfTest> --min-duration 0.0001 -d no [min_duration_test])
set_tests_properties( set_tests_properties(MinDuration::DurationOverrideNo
MinDuration::DurationOverrideNo
PROPERTIES PROPERTIES
FAIL_REGULAR_EXPRESSION "sleep_for_250ms" FAIL_REGULAR_EXPRESSION "sleep_for_250ms"
) )
# ------------ end of duration reporting tests # ------------ end of duration reporting tests
# define folders used: # define folders used:
@ -71,8 +61,7 @@ target_compile_definitions( PrefixedMacros PRIVATE CATCH_CONFIG_PREFIX_ALL CATCH
target_link_libraries(PrefixedMacros Catch2WithMain) target_link_libraries(PrefixedMacros Catch2WithMain)
add_test(NAME CATCH_CONFIG_PREFIX_ALL COMMAND PrefixedMacros -s) add_test(NAME CATCH_CONFIG_PREFIX_ALL COMMAND PrefixedMacros -s)
set_tests_properties( set_tests_properties(CATCH_CONFIG_PREFIX_ALL
CATCH_CONFIG_PREFIX_ALL
PROPERTIES PROPERTIES
PASS_REGULAR_EXPRESSION "CATCH_" PASS_REGULAR_EXPRESSION "CATCH_"
FAIL_REGULAR_EXPRESSION FAIL_REGULAR_EXPRESSION
@ -81,7 +70,6 @@ set_tests_properties(
" REQUIRE; REQUIRE_FALSE; REQUIRE_THROWS; REQUIRE_THROWS_AS; REQUIRE_THROWS_WITH; REQUIRE_THROWS_MATCHES; REQUIRE_NOTHROW; CHECK; CHECK_FALSE; CHECKED_IF; CHECKED_ELSE; CHECK_NOFAIL; CHECK_THROWS; CHECK_THROWS_AS; CHECK_THROWS_WITH; CHECK_THROWS_MATCHES; CHECK_NOTHROW; REQUIRE_THAT; CHECK_THAT" " REQUIRE; REQUIRE_FALSE; REQUIRE_THROWS; REQUIRE_THROWS_AS; REQUIRE_THROWS_WITH; REQUIRE_THROWS_MATCHES; REQUIRE_NOTHROW; CHECK; CHECK_FALSE; CHECKED_IF; CHECKED_ELSE; CHECK_NOFAIL; CHECK_THROWS; CHECK_THROWS_AS; CHECK_THROWS_WITH; CHECK_THROWS_MATCHES; CHECK_NOTHROW; REQUIRE_THAT; CHECK_THAT"
) )
add_executable(DisabledMacros ${TESTS_DIR}/X02-DisabledMacros.cpp) add_executable(DisabledMacros ${TESTS_DIR}/X02-DisabledMacros.cpp)
target_compile_definitions(DisabledMacros PRIVATE CATCH_CONFIG_DISABLE) target_compile_definitions(DisabledMacros PRIVATE CATCH_CONFIG_DISABLE)
# Macro configuration does not touch the compiled parts, so we can link # Macro configuration does not touch the compiled parts, so we can link
@ -89,15 +77,13 @@ target_compile_definitions( DisabledMacros PRIVATE CATCH_CONFIG_DISABLE )
target_link_libraries(DisabledMacros Catch2WithMain) target_link_libraries(DisabledMacros Catch2WithMain)
add_test(NAME CATCH_CONFIG_DISABLE-1 COMMAND DisabledMacros -s) add_test(NAME CATCH_CONFIG_DISABLE-1 COMMAND DisabledMacros -s)
set_tests_properties( set_tests_properties(CATCH_CONFIG_DISABLE-1
CATCH_CONFIG_DISABLE-1
PROPERTIES PROPERTIES
PASS_REGULAR_EXPRESSION "No tests ran" PASS_REGULAR_EXPRESSION "No tests ran"
FAIL_REGULAR_EXPRESSION "This should not happen" FAIL_REGULAR_EXPRESSION "This should not happen"
) )
add_test(NAME CATCH_CONFIG_DISABLE-2 COMMAND DisabledMacros --list-tests) add_test(NAME CATCH_CONFIG_DISABLE-2 COMMAND DisabledMacros --list-tests)
set_tests_properties( set_tests_properties(CATCH_CONFIG_DISABLE-2
CATCH_CONFIG_DISABLE-2
PROPERTIES PROPERTIES
PASS_REGULAR_EXPRESSION "0 test cases" PASS_REGULAR_EXPRESSION "0 test cases"
) )
@ -117,8 +103,7 @@ target_compile_definitions( DisabledExceptions-CustomHandler PUBLIC CATCH_CONFIG
add_test(NAME CATCH_CONFIG_DISABLE_EXCEPTIONS-1 COMMAND DisabledExceptions-DefaultHandler "Tests that run") add_test(NAME CATCH_CONFIG_DISABLE_EXCEPTIONS-1 COMMAND DisabledExceptions-DefaultHandler "Tests that run")
set_tests_properties( set_tests_properties(CATCH_CONFIG_DISABLE_EXCEPTIONS-1
CATCH_CONFIG_DISABLE_EXCEPTIONS-1
PROPERTIES PROPERTIES
PASS_REGULAR_EXPRESSION "assertions: 4 \| 2 passed \| 2 failed" PASS_REGULAR_EXPRESSION "assertions: 4 \| 2 passed \| 2 failed"
FAIL_REGULAR_EXPRESSION "abort;terminate;fatal" FAIL_REGULAR_EXPRESSION "abort;terminate;fatal"
@ -159,7 +144,6 @@ set_tests_properties(BazelEnv::TESTBRIDGE_TEST_ONLY
PASS_REGULAR_EXPRESSION "All tests passed \\(1 assertion in 1 test case\\)" PASS_REGULAR_EXPRESSION "All tests passed \\(1 assertion in 1 test case\\)"
) )
add_test(NAME BazelEnv::Sharding add_test(NAME BazelEnv::Sharding
COMMAND COMMAND
"${PYTHON_EXECUTABLE}" "${CATCH_DIR}/tests/TestScripts/testBazelSharding.py" "${PYTHON_EXECUTABLE}" "${CATCH_DIR}/tests/TestScripts/testBazelSharding.py"
@ -171,72 +155,60 @@ set_tests_properties(BazelEnv::Sharding
LABELS "uses-python" LABELS "uses-python"
) )
# The default handler on Windows leads to the just-in-time debugger firing, # The default handler on Windows leads to the just-in-time debugger firing,
# which makes this test unsuitable for CI and headless runs, as it opens # which makes this test unsuitable for CI and headless runs, as it opens
# up an interactive dialog. # up an interactive dialog.
if(NOT WIN32) if(NOT WIN32)
add_test(NAME CATCH_CONFIG_DISABLE_EXCEPTIONS-2 COMMAND DisabledExceptions-DefaultHandler "Tests that abort") add_test(NAME CATCH_CONFIG_DISABLE_EXCEPTIONS-2 COMMAND DisabledExceptions-DefaultHandler "Tests that abort")
set_tests_properties( set_tests_properties(CATCH_CONFIG_DISABLE_EXCEPTIONS-2
CATCH_CONFIG_DISABLE_EXCEPTIONS-2
PROPERTIES PROPERTIES
PASS_REGULAR_EXPRESSION "Catch will terminate" PASS_REGULAR_EXPRESSION "Catch will terminate"
) )
endif() endif()
add_test(NAME CATCH_CONFIG_DISABLE_EXCEPTIONS-3 COMMAND DisabledExceptions-CustomHandler "Tests that run") add_test(NAME CATCH_CONFIG_DISABLE_EXCEPTIONS-3 COMMAND DisabledExceptions-CustomHandler "Tests that run")
set_tests_properties( set_tests_properties(CATCH_CONFIG_DISABLE_EXCEPTIONS-3
CATCH_CONFIG_DISABLE_EXCEPTIONS-3
PROPERTIES PROPERTIES
PASS_REGULAR_EXPRESSION "assertions: 4 \| 2 passed \| 2 failed" PASS_REGULAR_EXPRESSION "assertions: 4 \| 2 passed \| 2 failed"
FAIL_REGULAR_EXPRESSION "====== CUSTOM HANDLER ======" FAIL_REGULAR_EXPRESSION "====== CUSTOM HANDLER ======"
) )
add_test(NAME CATCH_CONFIG_DISABLE_EXCEPTIONS-4 COMMAND DisabledExceptions-CustomHandler "Tests that abort") add_test(NAME CATCH_CONFIG_DISABLE_EXCEPTIONS-4 COMMAND DisabledExceptions-CustomHandler "Tests that abort")
set_tests_properties( set_tests_properties(CATCH_CONFIG_DISABLE_EXCEPTIONS-4
CATCH_CONFIG_DISABLE_EXCEPTIONS-4
PROPERTIES PROPERTIES
PASS_REGULAR_EXPRESSION "====== CUSTOM HANDLER ======" PASS_REGULAR_EXPRESSION "====== CUSTOM HANDLER ======"
) )
add_executable(DeferredStaticChecks ${TESTS_DIR}/X05-DeferredStaticChecks.cpp) add_executable(DeferredStaticChecks ${TESTS_DIR}/X05-DeferredStaticChecks.cpp)
target_link_libraries(DeferredStaticChecks PRIVATE Catch2WithMain) target_link_libraries(DeferredStaticChecks PRIVATE Catch2WithMain)
target_compile_definitions(DeferredStaticChecks PRIVATE "CATCH_CONFIG_RUNTIME_STATIC_REQUIRE") target_compile_definitions(DeferredStaticChecks PRIVATE "CATCH_CONFIG_RUNTIME_STATIC_REQUIRE")
add_test(NAME DeferredStaticChecks COMMAND DeferredStaticChecks -r compact) add_test(NAME DeferredStaticChecks COMMAND DeferredStaticChecks -r compact)
set_tests_properties( set_tests_properties(DeferredStaticChecks
DeferredStaticChecks
PROPERTIES PROPERTIES
PASS_REGULAR_EXPRESSION "test cases: 1 \\| 1 failed\nassertions: 3 \\| 3 failed" PASS_REGULAR_EXPRESSION "test cases: 1 \\| 1 failed\nassertions: 3 \\| 3 failed"
) )
add_executable(FallbackStringifier ${TESTS_DIR}/X10-FallbackStringifier.cpp) add_executable(FallbackStringifier ${TESTS_DIR}/X10-FallbackStringifier.cpp)
target_compile_definitions(FallbackStringifier PRIVATE CATCH_CONFIG_FALLBACK_STRINGIFIER=fallbackStringifier) target_compile_definitions(FallbackStringifier PRIVATE CATCH_CONFIG_FALLBACK_STRINGIFIER=fallbackStringifier)
target_link_libraries(FallbackStringifier Catch2WithMain) target_link_libraries(FallbackStringifier Catch2WithMain)
add_test(NAME FallbackStringifier COMMAND FallbackStringifier -r compact -s) add_test(NAME FallbackStringifier COMMAND FallbackStringifier -r compact -s)
set_tests_properties( set_tests_properties(FallbackStringifier
FallbackStringifier
PROPERTIES PROPERTIES
PASS_REGULAR_EXPRESSION "foo{} for: { !!! }" PASS_REGULAR_EXPRESSION "foo{} for: { !!! }"
) )
add_executable(DisableStringification ${TESTS_DIR}/X11-DisableStringification.cpp) add_executable(DisableStringification ${TESTS_DIR}/X11-DisableStringification.cpp)
target_compile_definitions(DisableStringification PRIVATE CATCH_CONFIG_DISABLE_STRINGIFICATION) target_compile_definitions(DisableStringification PRIVATE CATCH_CONFIG_DISABLE_STRINGIFICATION)
target_link_libraries(DisableStringification Catch2WithMain) target_link_libraries(DisableStringification Catch2WithMain)
add_test(NAME CATCH_CONFIG_DISABLE_STRINGIFICATION COMMAND DisableStringification -r compact -s) add_test(NAME CATCH_CONFIG_DISABLE_STRINGIFICATION COMMAND DisableStringification -r compact -s)
set_tests_properties( set_tests_properties(CATCH_CONFIG_DISABLE_STRINGIFICATION
CATCH_CONFIG_DISABLE_STRINGIFICATION
PROPERTIES PROPERTIES
PASS_REGULAR_EXPRESSION "Disabled by CATCH_CONFIG_DISABLE_STRINGIFICATION" PASS_REGULAR_EXPRESSION "Disabled by CATCH_CONFIG_DISABLE_STRINGIFICATION"
FAIL_REGULAR_EXPRESSION "Hidden{} == Hidden{}" FAIL_REGULAR_EXPRESSION "Hidden{} == Hidden{}"
) )
# This test touches windows.h, so it should only be compiled under msvc # This test touches windows.h, so it should only be compiled under msvc
if(MSVC) if(MSVC)
# This test fails if it does not compile and succeeds otherwise # This test fails if it does not compile and succeeds otherwise
@ -246,7 +218,6 @@ if (MSVC)
list(APPEND CATCH_WARNING_TARGETS ${EXTRA_TEST_BINARIES} WindowsHeader) list(APPEND CATCH_WARNING_TARGETS ${EXTRA_TEST_BINARIES} WindowsHeader)
endif() endif()
add_executable(PartialTestCaseEvents ${TESTS_DIR}/X21-PartialTestCaseEvents.cpp) add_executable(PartialTestCaseEvents ${TESTS_DIR}/X21-PartialTestCaseEvents.cpp)
target_link_libraries(PartialTestCaseEvents PRIVATE Catch2WithMain) target_link_libraries(PartialTestCaseEvents PRIVATE Catch2WithMain)
add_test( add_test(
@ -264,22 +235,19 @@ add_test(
NAME BenchmarksInCumulativeReporter NAME BenchmarksInCumulativeReporter
COMMAND BenchmarksInCumulativeReporter --reporter testReporter COMMAND BenchmarksInCumulativeReporter --reporter testReporter
) )
set_tests_properties( set_tests_properties(BenchmarksInCumulativeReporter
BenchmarksInCumulativeReporter
PROPERTIES PROPERTIES
PASS_REGULAR_EXPRESSION "1\n2\n3\n4\n5\n" PASS_REGULAR_EXPRESSION "1\n2\n3\n4\n5\n"
COST 30 COST 30
) )
add_executable(CasingInReporterNames ${TESTS_DIR}/X23-CasingInReporterNames.cpp) add_executable(CasingInReporterNames ${TESTS_DIR}/X23-CasingInReporterNames.cpp)
target_link_libraries(CasingInReporterNames PRIVATE Catch2::Catch2WithMain) target_link_libraries(CasingInReporterNames PRIVATE Catch2::Catch2WithMain)
add_test( add_test(
NAME Reporters::registration-is-case-preserving NAME Reporters::registration-is-case-preserving
COMMAND CasingInReporterNames --list-reporters COMMAND CasingInReporterNames --list-reporters
) )
set_tests_properties( set_tests_properties(Reporters::registration-is-case-preserving
Reporters::registration-is-case-preserving
PROPERTIES PROPERTIES
PASS_REGULAR_EXPRESSION "testReporterCASED" PASS_REGULAR_EXPRESSION "testReporterCASED"
) )
@ -287,8 +255,7 @@ add_test(
NAME Reporters::selection-is-case-insensitive NAME Reporters::selection-is-case-insensitive
COMMAND CasingInReporterNames -r testReportercased COMMAND CasingInReporterNames -r testReportercased
) )
set_tests_properties( set_tests_properties(Reporters::selection-is-case-insensitive
Reporters::selection-is-case-insensitive
PROPERTIES PROPERTIES
PASS_REGULAR_EXPRESSION "TestReporter constructed" PASS_REGULAR_EXPRESSION "TestReporter constructed"
) )
@ -300,14 +267,12 @@ add_test(
COMMAND CapturedStdoutInTestCaseEvents COMMAND CapturedStdoutInTestCaseEvents
--reporter test-reporter --reporter test-reporter
) )
set_tests_properties( set_tests_properties(Reporters::CapturedStdOutInEvents
Reporters::CapturedStdOutInEvents
PROPERTIES PROPERTIES
PASS_REGULAR_EXPRESSION "X27 - TestReporter constructed" PASS_REGULAR_EXPRESSION "X27 - TestReporter constructed"
FAIL_REGULAR_EXPRESSION "X27 ERROR" FAIL_REGULAR_EXPRESSION "X27 ERROR"
) )
if(MSVC) if(MSVC)
set(_NullFile "NUL") set(_NullFile "NUL")
else() else()
@ -328,15 +293,13 @@ if (NOT MEMORYCHECK_COMMAND)
--reporter junit::out=${_NullFile} --reporter junit::out=${_NullFile}
) )
set_tests_properties( set_tests_properties(MultiReporter::NoncapturingListenerDoesntCauseStdoutPassThrough
MultiReporter::NoncapturingListenerDoesntCauseStdoutPassThrough
PROPERTIES PROPERTIES
PASS_REGULAR_EXPRESSION "X24 - NonCapturingListener initialized" PASS_REGULAR_EXPRESSION "X24 - NonCapturingListener initialized"
FAIL_REGULAR_EXPRESSION "X24 - FooBarBaz" FAIL_REGULAR_EXPRESSION "X24 - FooBarBaz"
) )
endif() endif()
add_executable(ListenerCanAskForCapturedStdout ${TESTS_DIR}/X25-ListenerCanAskForCapturedStdout.cpp) add_executable(ListenerCanAskForCapturedStdout ${TESTS_DIR}/X25-ListenerCanAskForCapturedStdout.cpp)
target_link_libraries(ListenerCanAskForCapturedStdout PRIVATE Catch2::Catch2WithMain) target_link_libraries(ListenerCanAskForCapturedStdout PRIVATE Catch2::Catch2WithMain)
add_test( add_test(
@ -345,8 +308,7 @@ add_test(
--reporter compact::out=${_NullFile} --reporter compact::out=${_NullFile}
--reporter console::out=${_NullFile} --reporter console::out=${_NullFile}
) )
set_tests_properties( set_tests_properties(MultiReporter::CapturingListenerCausesStdoutCapture
MultiReporter::CapturingListenerCausesStdoutCapture
PROPERTIES PROPERTIES
PASS_REGULAR_EXPRESSION "CapturingListener initialized" PASS_REGULAR_EXPRESSION "CapturingListener initialized"
FAIL_REGULAR_EXPRESSION "X25 - ERROR" FAIL_REGULAR_EXPRESSION "X25 - ERROR"
@ -359,8 +321,7 @@ add_test(
COMMAND ReporterPreferencesForPassingAssertionsIsRespected COMMAND ReporterPreferencesForPassingAssertionsIsRespected
--reporter test-reporter --reporter test-reporter
) )
set_tests_properties( set_tests_properties(Reporters::PreferencesForPassingAssertionsIsRespected
Reporters::PreferencesForPassingAssertionsIsRespected
PROPERTIES PROPERTIES
PASS_REGULAR_EXPRESSION "X26 - TestReporter constructed" PASS_REGULAR_EXPRESSION "X26 - TestReporter constructed"
FAIL_REGULAR_EXPRESSION "X26 - assertionEnded" FAIL_REGULAR_EXPRESSION "X26 - assertionEnded"
@ -371,8 +332,7 @@ add_test(
--reporter test-reporter --reporter test-reporter
--reporter console::out=${_NullFile} --reporter console::out=${_NullFile}
) )
set_tests_properties( set_tests_properties(MultiReporter::PreferencesForPassingAssertionsIsRespected
MultiReporter::PreferencesForPassingAssertionsIsRespected
PROPERTIES PROPERTIES
PASS_REGULAR_EXPRESSION "X26 - TestReporter constructed" PASS_REGULAR_EXPRESSION "X26 - TestReporter constructed"
FAIL_REGULAR_EXPRESSION "X26 - assertionEnded" FAIL_REGULAR_EXPRESSION "X26 - assertionEnded"
@ -384,8 +344,7 @@ add_test(
NAME ListenersGetEventsBeforeReporters NAME ListenersGetEventsBeforeReporters
COMMAND ListenersGetEventsBeforeReporters --reporter test-reporter COMMAND ListenersGetEventsBeforeReporters --reporter test-reporter
) )
set_tests_properties( set_tests_properties(ListenersGetEventsBeforeReporters
ListenersGetEventsBeforeReporters
PROPERTIES PROPERTIES
PASS_REGULAR_EXPRESSION "X28 - TestReporter constructed" PASS_REGULAR_EXPRESSION "X28 - TestReporter constructed"
FAIL_REGULAR_EXPRESSION "X28 - ERROR" FAIL_REGULAR_EXPRESSION "X28 - ERROR"
@ -398,21 +357,18 @@ add_test(
COMMAND CustomArgumentsForReporters COMMAND CustomArgumentsForReporters
--reporter "test-reporter::Xa b=c 1::Xz:e = 1234" --reporter "test-reporter::Xa b=c 1::Xz:e = 1234"
) )
set_tests_properties( set_tests_properties(CustomArgumentsForReporters
CustomArgumentsForReporters
PROPERTIES PROPERTIES
PASS_REGULAR_EXPRESSION "Xa b=c 1::Xz:e = 1234" PASS_REGULAR_EXPRESSION "Xa b=c 1::Xz:e = 1234"
) )
add_executable(DuplicatedTestCases-SameNameAndTags ${TESTS_DIR}/X31-DuplicatedTestCases.cpp) add_executable(DuplicatedTestCases-SameNameAndTags ${TESTS_DIR}/X31-DuplicatedTestCases.cpp)
target_link_libraries(DuplicatedTestCases-SameNameAndTags PRIVATE Catch2::Catch2WithMain) target_link_libraries(DuplicatedTestCases-SameNameAndTags PRIVATE Catch2::Catch2WithMain)
add_test( add_test(
NAME DuplicatedTestCases::SameNameAndTags NAME DuplicatedTestCases::SameNameAndTags
COMMAND $<TARGET_FILE:DuplicatedTestCases-SameNameAndTags> COMMAND $<TARGET_FILE:DuplicatedTestCases-SameNameAndTags>
) )
set_tests_properties( set_tests_properties(DuplicatedTestCases::SameNameAndTags
DuplicatedTestCases::SameNameAndTags
PROPERTIES PROPERTIES
PASS_REGULAR_EXPRESSION "error: .* already defined\\." PASS_REGULAR_EXPRESSION "error: .* already defined\\."
) )
@ -423,8 +379,7 @@ add_test(
NAME DuplicatedTestCases::SameNameDifferentTags NAME DuplicatedTestCases::SameNameDifferentTags
COMMAND $<TARGET_FILE:DuplicatedTestCases-SameNameDifferentTags> COMMAND $<TARGET_FILE:DuplicatedTestCases-SameNameDifferentTags>
) )
set_tests_properties( set_tests_properties(DuplicatedTestCases::SameNameDifferentTags
DuplicatedTestCases::SameNameDifferentTags
PROPERTIES PROPERTIES
FAIL_REGULAR_EXPRESSION "error: .* already defined\\." FAIL_REGULAR_EXPRESSION "error: .* already defined\\."
) )
@ -435,8 +390,7 @@ add_test(
NAME DuplicatedTestCases::DuplicatedTestCaseMethods NAME DuplicatedTestCases::DuplicatedTestCaseMethods
COMMAND $<TARGET_FILE:DuplicatedTestCases-DuplicatedTestCaseMethods> COMMAND $<TARGET_FILE:DuplicatedTestCases-DuplicatedTestCaseMethods>
) )
set_tests_properties( set_tests_properties(DuplicatedTestCases::DuplicatedTestCaseMethods
DuplicatedTestCases::DuplicatedTestCaseMethods
PROPERTIES PROPERTIES
PASS_REGULAR_EXPRESSION "error: .* already defined\\." PASS_REGULAR_EXPRESSION "error: .* already defined\\."
) )
@ -447,21 +401,18 @@ add_test(
NAME DuplicatedTestCases::DuplicatedTestCaseMethodsDifferentFixtures NAME DuplicatedTestCases::DuplicatedTestCaseMethodsDifferentFixtures
COMMAND $<TARGET_FILE:DuplicatedTestCases-DifferentFixtures> COMMAND $<TARGET_FILE:DuplicatedTestCases-DifferentFixtures>
) )
set_tests_properties( set_tests_properties(DuplicatedTestCases::DuplicatedTestCaseMethodsDifferentFixtures
DuplicatedTestCases::DuplicatedTestCaseMethodsDifferentFixtures
PROPERTIES PROPERTIES
FAIL_REGULAR_EXPRESSION "error: .* already defined\\." FAIL_REGULAR_EXPRESSION "error: .* already defined\\."
) )
add_executable(DuplicatedReporters ${TESTS_DIR}/X35-DuplicatedReporterNames.cpp) add_executable(DuplicatedReporters ${TESTS_DIR}/X35-DuplicatedReporterNames.cpp)
target_link_libraries(DuplicatedReporters PRIVATE Catch2::Catch2WithMain) target_link_libraries(DuplicatedReporters PRIVATE Catch2::Catch2WithMain)
add_test( add_test(
NAME Reporters::RegistrationErrorsAreCaught NAME Reporters::RegistrationErrorsAreCaught
COMMAND $<TARGET_FILE:DuplicatedReporters> COMMAND $<TARGET_FILE:DuplicatedReporters>
) )
set_tests_properties( set_tests_properties(Reporters::RegistrationErrorsAreCaught
Reporters::RegistrationErrorsAreCaught
PROPERTIES PROPERTIES
PASS_REGULAR_EXPRESSION "Errors occurred during startup!" PASS_REGULAR_EXPRESSION "Errors occurred during startup!"
) )
@ -472,8 +423,7 @@ add_test(
NAME Reporters::CrashInJunitReporter NAME Reporters::CrashInJunitReporter
COMMAND ${CMAKE_COMMAND} -E env $<TARGET_FILE:ReportingCrashWithJunitReporter> --reporter JUnit COMMAND ${CMAKE_COMMAND} -E env $<TARGET_FILE:ReportingCrashWithJunitReporter> --reporter JUnit
) )
set_tests_properties( set_tests_properties(Reporters::CrashInJunitReporter
Reporters::CrashInJunitReporter
PROPERTIES PROPERTIES
PASS_REGULAR_EXPRESSION "</testsuites>" PASS_REGULAR_EXPRESSION "</testsuites>"
LABELS "uses-signals" LABELS "uses-signals"
@ -493,8 +443,7 @@ add_test(
#add_executable(DebugBreakMacros ${TESTS_DIR}/X12-CustomDebugBreakMacro.cpp) #add_executable(DebugBreakMacros ${TESTS_DIR}/X12-CustomDebugBreakMacro.cpp)
#target_link_libraries(DebugBreakMacros Catch2) #target_link_libraries(DebugBreakMacros Catch2)
#add_test(NAME DebugBreakMacros COMMAND DebugBreakMacros --break) #add_test(NAME DebugBreakMacros COMMAND DebugBreakMacros --break)
#set_tests_properties( #set_tests_properties(DebugBreakMacros
# DebugBreakMacros
# PROPERTIES # PROPERTIES
# PASS_REGULAR_EXPRESSION "Pretty please, break into debugger" # PASS_REGULAR_EXPRESSION "Pretty please, break into debugger"
#) #)
@ -521,7 +470,6 @@ add_test(
COMMAND $<TARGET_FILE:NoTests> --list-listeners COMMAND $<TARGET_FILE:NoTests> --list-listeners
) )
add_executable(AllSkipped ${TESTS_DIR}/X93-AllSkipped.cpp) add_executable(AllSkipped ${TESTS_DIR}/X93-AllSkipped.cpp)
target_link_libraries(AllSkipped PRIVATE Catch2::Catch2WithMain) target_link_libraries(AllSkipped PRIVATE Catch2::Catch2WithMain)
@ -557,7 +505,6 @@ list(FILTER EXTRA_TEST_BINARIES EXCLUDE REGEX "DisabledExceptions.*")
list(APPEND CATCH_WARNING_TARGETS ${EXTRA_TEST_BINARIES}) list(APPEND CATCH_WARNING_TARGETS ${EXTRA_TEST_BINARIES})
set(CATCH_WARNING_TARGETS ${CATCH_WARNING_TARGETS} PARENT_SCOPE) set(CATCH_WARNING_TARGETS ${CATCH_WARNING_TARGETS} PARENT_SCOPE)
# This sets up a one-off executable that compiles against the amalgamated # This sets up a one-off executable that compiles against the amalgamated
# files, and then runs it for a super simple check that the amalgamated # files, and then runs it for a super simple check that the amalgamated
# files are usable. # files are usable.
@ -570,8 +517,7 @@ target_include_directories(AmalgamatedTestCompilation PRIVATE ${CATCH_DIR}/extra
target_compile_features(AmalgamatedTestCompilation PRIVATE cxx_std_14) target_compile_features(AmalgamatedTestCompilation PRIVATE cxx_std_14)
add_test(NAME AmalgamatedFileTest COMMAND AmalgamatedTestCompilation) add_test(NAME AmalgamatedFileTest COMMAND AmalgamatedTestCompilation)
set_tests_properties( set_tests_properties(AmalgamatedFileTest
AmalgamatedFileTest
PROPERTIES PROPERTIES
PASS_REGULAR_EXPRESSION "All tests passed \\(14 assertions in 3 test cases\\)" PASS_REGULAR_EXPRESSION "All tests passed \\(14 assertions in 3 test cases\\)"
) )

View File

@ -1,13 +1,7 @@
cmake_minimum_required(VERSION 3.16) cmake_minimum_required(VERSION 3.16)
project(discover-tests-test LANGUAGES CXX)
project(discover-tests-test add_executable(tests register-tests.cpp)
LANGUAGES CXX
)
add_executable(tests
register-tests.cpp
)
add_subdirectory(${CATCH2_PATH} catch2-build) add_subdirectory(${CATCH2_PATH} catch2-build)
target_link_libraries(tests PRIVATE Catch2::Catch2WithMain) target_link_libraries(tests PRIVATE Catch2::Catch2WithMain)

View File

@ -1,5 +1,4 @@
cmake_minimum_required(VERSION 3.16) cmake_minimum_required(VERSION 3.16)
project(CatchCoverageHelper) project(CatchCoverageHelper)
add_executable(CoverageHelper coverage-helper.cpp) add_executable(CoverageHelper coverage-helper.cpp)