aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames McCoy <jamessan@jamessan.com>2021-12-18 11:07:30 -0500
committerJames McCoy <jamessan@jamessan.com>2021-12-18 12:55:09 -0500
commit267ec67fabe94715853dab22593f6dde47ab3dd5 (patch)
tree4a9c8873d6b4d367bbb18f2a53f10cdf6c7d87ef
parent36758ba9a78ecf01ab8f654be08051015932983a (diff)
downloadrneovim-267ec67fabe94715853dab22593f6dde47ab3dd5.tar.gz
rneovim-267ec67fabe94715853dab22593f6dde47ab3dd5.tar.bz2
rneovim-267ec67fabe94715853dab22593f6dde47ab3dd5.zip
test: allow excluding functional/unit tests using TEST_FILTER_OUT
Although this can already be done using `BUSTED_ARGS`, it complements our existing shortcut of `TEST_FILTER.` [skip ci]
-rw-r--r--cmake/RunTests.cmake4
-rw-r--r--test/README.md6
2 files changed, 9 insertions, 1 deletions
diff --git a/cmake/RunTests.cmake b/cmake/RunTests.cmake
index e78392562f..3adbcbbfc5 100644
--- a/cmake/RunTests.cmake
+++ b/cmake/RunTests.cmake
@@ -46,6 +46,10 @@ if(DEFINED ENV{TEST_FILTER} AND NOT "$ENV{TEST_FILTER}" STREQUAL "")
list(APPEND BUSTED_ARGS --filter $ENV{TEST_FILTER})
endif()
+if(DEFINED ENV{TEST_FILTER_OUT} AND NOT "$ENV{TEST_FILTER_OUT}" STREQUAL "")
+ list(APPEND BUSTED_ARGS --filter-out $ENV{TEST_FILTER_OUT})
+endif()
+
# TMPDIR: use relative test path (for parallel test runs / isolation).
set(ENV{TMPDIR} "${BUILD_DIR}/Xtest_tmpdir/${TEST_PATH}")
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory $ENV{TMPDIR})
diff --git a/test/README.md b/test/README.md
index 37aa54c157..c6e173ead2 100644
--- a/test/README.md
+++ b/test/README.md
@@ -116,7 +116,7 @@ Filtering Tests
### Filter by name
-Another filter method is by setting a pattern of test name to `TEST_FILTER`.
+Another filter method is by setting a pattern of test name to `TEST_FILTER` or `TEST_FILTER_OUT`.
``` lua
it('foo api',function()
@@ -131,6 +131,10 @@ To run only test with filter name:
TEST_FILTER='foo.*api' make functionaltest
+To run all tests except ones matching a filter:
+
+ TEST_FILTER_OUT='foo.*api' make functionaltest
+
### Filter by file
To run a *specific* unit test: