Skip to content
Snippets Groups Projects
Commit 828fbd81 authored by Atkins, Charles Vernon's avatar Atkins, Charles Vernon Committed by GitHub
Browse files

Merge pull request #122 from chuckatkins/add-gtests-individually

GoogleTest: Update upstream module
parents 053026e2 ed4d657a
No related branches found
No related tags found
No related merge requests found
...@@ -19,6 +19,7 @@ This module defines functions to help use the Google Test infrastructure. ...@@ -19,6 +19,7 @@ This module defines functions to help use the Google Test infrastructure.
[TEST_PREFIX prefix] [TEST_PREFIX prefix]
[TEST_SUFFIX suffix] [TEST_SUFFIX suffix]
[SKIP_DEPENDENCY] [SKIP_DEPENDENCY]
[INCLUDE_DISABLED]
[TEST_LIST outVar] [TEST_LIST outVar]
) )
...@@ -56,6 +57,13 @@ This module defines functions to help use the Google Test infrastructure. ...@@ -56,6 +57,13 @@ This module defines functions to help use the Google Test infrastructure.
desired (as may be the case while actually writing the test cases), this desired (as may be the case while actually writing the test cases), this
option can be used to prevent the dependency from being added. option can be used to prevent the dependency from being added.
``INCLUDE_DISABLED``
Normally disabled tests will be skipped. This option will force the tests
to be added anyways.
``VERBOSE``
Output tests as they are added or skipped.
``TEST_LIST outVar`` ``TEST_LIST outVar``
The variable named by ``outVar`` will be populated in the calling scope The variable named by ``outVar`` will be populated in the calling scope
with the list of discovered test cases. This allows the caller to do things with the list of discovered test cases. This allows the caller to do things
...@@ -109,6 +117,8 @@ function(gtest_add_tests) ...@@ -109,6 +117,8 @@ function(gtest_add_tests)
set(options set(options
SKIP_DEPENDENCY SKIP_DEPENDENCY
INCLUDE_DISABLED
VERBOSE
) )
set(oneValueArgs set(oneValueArgs
TARGET TARGET
...@@ -183,14 +193,25 @@ function(gtest_add_tests) ...@@ -183,14 +193,25 @@ function(gtest_add_tests)
endif() endif()
# Ignore the test case if it's disabled in GTest # Ignore the test case if it's disabled in GTest
set(gtest_case_name_member "${CMAKE_MATCH_2}") set(gtest_test_name ${CMAKE_MATCH_1})
if(gtest_case_name_member MATCHES "^DISABLED_") set(gtest_case_name ${CMAKE_MATCH_2})
continue() if(gtest_test_name MATCHES "^DISABLED_" OR
gtest_case_name MATCHES "^DISABLED_")
if(NOT ARGS_INCLUDE_DISABLED)
if(ARGS_VERBOSE)
message("GoogleTest: Skipping disabled test ${test_name}")
endif()
continue()
endif()
endif() endif()
add_test(NAME ${ARGS_TEST_PREFIX}${test_name}${ARGS_TEST_SUFFIX} set(ctest_test_name ${ARGS_TEST_PREFIX}${test_name}${ARGS_TEST_SUFFIX})
if(ARGS_VERBOSE)
message("GoogleTest: Adding ${ctest_test_name}")
endif()
add_test(NAME ${ctest_test_name}
${workDir} ${workDir}
COMMAND ${ARGS_TARGET} --gtest_filter=${test_name} ${ARGS_EXTRA_ARGS} COMMAND ${ARGS_TARGET} --gtest_also_run_disabled_tests --gtest_filter=${test_name} ${ARGS_EXTRA_ARGS}
) )
list(APPEND testList ${ARGS_TEST_PREFIX}${test_name}${ARGS_TEST_SUFFIX}) list(APPEND testList ${ARGS_TEST_PREFIX}${test_name}${ARGS_TEST_SUFFIX})
endforeach() endforeach()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment