mirror of
https://github.com/catchorg/Catch2.git
synced 2024-12-23 03:43:28 +01:00
Add the optional variable OptionalCatchTestLauncher
This variable is set to allow the use of the nice ParseAndAddCatchTests script in the case where a launcher is needed to execute the script. This is introduced to allow to launch unit tests using mpi. In this case one can write for instance set(OptionalCatchTestLauncher ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} ${NUMPROC}) before calling the ParseAndAddCatchTests function.
This commit is contained in:
parent
8b3c09c137
commit
544c7d7cbf
@ -39,6 +39,11 @@
|
|||||||
# PARSE_CATCH_TESTS_ADD_TO_CONFIGURE_DEPENDS (Default OFF) #
|
# PARSE_CATCH_TESTS_ADD_TO_CONFIGURE_DEPENDS (Default OFF) #
|
||||||
# -- causes CMake to rerun when file with tests changes so that new tests will be discovered #
|
# -- causes CMake to rerun when file with tests changes so that new tests will be discovered #
|
||||||
# #
|
# #
|
||||||
|
# One can also set (locally) the optional variable OptionalCatchTestLauncher to precise the way #
|
||||||
|
# a test should be run. For instance to use test MPI, one can write #
|
||||||
|
# set(OptionalCatchTestLauncher ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} ${NUMPROC}) #
|
||||||
|
# just before calling this ParseAndAddCatchTests function #
|
||||||
|
# #
|
||||||
#==================================================================================================#
|
#==================================================================================================#
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 2.8.8)
|
cmake_minimum_required(VERSION 2.8.8)
|
||||||
@ -168,7 +173,7 @@ function(ParseFile SourceFile TestTarget)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Add the test and set its properties
|
# Add the test and set its properties
|
||||||
add_test(NAME "\"${CTestName}\"" COMMAND ${TestTarget} ${Name} ${AdditionalCatchParameters})
|
add_test(NAME "\"${CTestName}\"" COMMAND ${OptionalCatchTestLauncher} ${TestTarget} ${Name} ${AdditionalCatchParameters})
|
||||||
set_tests_properties("\"${CTestName}\"" PROPERTIES FAIL_REGULAR_EXPRESSION "No tests ran"
|
set_tests_properties("\"${CTestName}\"" PROPERTIES FAIL_REGULAR_EXPRESSION "No tests ran"
|
||||||
LABELS "${Labels}")
|
LABELS "${Labels}")
|
||||||
endif()
|
endif()
|
||||||
|
@ -172,6 +172,16 @@ step will be re-ran when the test files change, letting new tests be
|
|||||||
automatically discovered. Defaults to `OFF`.
|
automatically discovered. Defaults to `OFF`.
|
||||||
|
|
||||||
|
|
||||||
|
Optionally, one can specify a launching command to run tests by setting the
|
||||||
|
variable `OptionalCatchTestLauncher` before calling `ParseAndAddCatchTests`. For
|
||||||
|
instance to run some tests using `MPI` and other sequentially, one can write
|
||||||
|
```cmake
|
||||||
|
set(OptionalCatchTestLauncher ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} ${NUMPROC})
|
||||||
|
ParseAndAddCatchTests(mpi_foo)
|
||||||
|
unset(OptionalCatchTestLauncher)
|
||||||
|
ParseAndAddCatchTests(bar)
|
||||||
|
```
|
||||||
|
|
||||||
## CMake project options
|
## CMake project options
|
||||||
|
|
||||||
Catch2's CMake project also provides some options for other projects
|
Catch2's CMake project also provides some options for other projects
|
||||||
|
Loading…
Reference in New Issue
Block a user