diff options
author | Kyle Edwards <kyle.edwards@kitware.com> | 2018-12-13 23:43:13 (GMT) |
---|---|---|
committer | Kyle Edwards <kyle.edwards@kitware.com> | 2018-12-13 23:47:13 (GMT) |
commit | b6eafd5781bfce88e29b5e6d5bf07bfe742c9654 (patch) | |
tree | 97f79ad2643b42f0194c9ebcf08bf1db095455fc | |
parent | 65b54a01ad3ee83023707a5bd4bc119a4ff5b7b1 (diff) | |
download | CMake-b6eafd5781bfce88e29b5e6d5bf07bfe742c9654.zip CMake-b6eafd5781bfce88e29b5e6d5bf07bfe742c9654.tar.gz CMake-b6eafd5781bfce88e29b5e6d5bf07bfe742c9654.tar.bz2 |
Tests: Add RunCMake_TEST_FILTER environment variable
This environment variable allows developers to locally run only a
subset of RunCMake subtests in a single RunCMakeTest.cmake script.
If the environment variable is not set, all of the tests in the
script are run.
-rw-r--r-- | Tests/RunCMake/README.rst | 11 | ||||
-rw-r--r-- | Tests/RunCMake/RunCMake.cmake | 4 |
2 files changed, 15 insertions, 0 deletions
diff --git a/Tests/RunCMake/README.rst b/Tests/RunCMake/README.rst index 08b51d9..d8b43fe 100644 --- a/Tests/RunCMake/README.rst +++ b/Tests/RunCMake/README.rst @@ -65,3 +65,14 @@ but do not actually build anything. To add a test: Top of test binary tree and an failure must store a message in ``RunCMake_TEST_FAILED``. + +To speed up local testing, you can choose to run only a subset of +``run_cmake()`` tests in a ``RunCMakeTest.cmake`` script by using the +``RunCMake_TEST_FILTER`` environment variable. If this variable is set, +it is treated as a regular expression, and any tests whose names don't +match the regular expression are not run. For example:: + + $ RunCMake_TEST_FILTER="^example" ctest -R '^RunCMake\.Example$' + +This will only run subtests in ``RunCMake.Example`` that start with +``example``. diff --git a/Tests/RunCMake/RunCMake.cmake b/Tests/RunCMake/RunCMake.cmake index 4bacd96..ce71677 100644 --- a/Tests/RunCMake/RunCMake.cmake +++ b/Tests/RunCMake/RunCMake.cmake @@ -9,6 +9,10 @@ foreach(arg endforeach() function(run_cmake test) + if(DEFINED ENV{RunCMake_TEST_FILTER} AND NOT test MATCHES "$ENV{RunCMake_TEST_FILTER}") + return() + endif() + set(top_src "${RunCMake_SOURCE_DIR}") set(top_bin "${RunCMake_BINARY_DIR}") if(EXISTS ${top_src}/${test}-result.txt) |