mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-23 06:47:08 -05:00
2c9680eec5
Discovery timeout test needs split out into two components: - build - test Building the project should result in a failure due to the timeout when executing gtest discovery as a post build step. Likewise, if you ran CTest after this build failure, we should *also* detect that the discovery_timeout_test has not been built because no discovery_timeout_test[1]_tests.cmake has been created due to the test discovery failure (caused by the timeout).
82 lines
1.8 KiB
CMake
82 lines
1.8 KiB
CMake
include(RunCMake)
|
|
|
|
function(run_GoogleTest)
|
|
# Use a single build tree for a few tests without cleaning.
|
|
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/GoogleTest-build)
|
|
set(RunCMake_TEST_NO_CLEAN 1)
|
|
if(NOT RunCMake_GENERATOR_IS_MULTI_CONFIG)
|
|
set(RunCMake_TEST_OPTIONS -DCMAKE_BUILD_TYPE=Debug)
|
|
endif()
|
|
file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
|
|
file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
|
|
|
|
run_cmake(GoogleTest)
|
|
|
|
run_cmake_command(GoogleTest-build
|
|
${CMAKE_COMMAND}
|
|
--build .
|
|
--config Debug
|
|
--target fake_gtest
|
|
)
|
|
|
|
run_cmake_command(GoogleTest-property-timeout-exe
|
|
${CMAKE_COMMAND}
|
|
--build .
|
|
--config Debug
|
|
--target property_timeout_test
|
|
)
|
|
|
|
set(RunCMake_TEST_OUTPUT_MERGE 1)
|
|
run_cmake_command(GoogleTest-discovery-timeout-build
|
|
${CMAKE_COMMAND}
|
|
--build .
|
|
--config Debug
|
|
--target discovery_timeout_test
|
|
)
|
|
set(RunCMake_TEST_OUTPUT_MERGE 0)
|
|
|
|
run_cmake_command(GoogleTest-test1
|
|
${CMAKE_CTEST_COMMAND}
|
|
-C Debug
|
|
-L TEST1
|
|
--no-label-summary
|
|
)
|
|
|
|
run_cmake_command(GoogleTest-test2
|
|
${CMAKE_CTEST_COMMAND}
|
|
-C Debug
|
|
-L TEST2
|
|
--no-label-summary
|
|
)
|
|
|
|
run_cmake_command(GoogleTest-test-missing
|
|
${CMAKE_CTEST_COMMAND}
|
|
-C Debug
|
|
-R no_tests_defined
|
|
--no-label-summary
|
|
)
|
|
|
|
run_cmake_command(GoogleTest-property-timeout1
|
|
${CMAKE_CTEST_COMMAND}
|
|
-C Debug
|
|
-R property_timeout\\.case_no_discovery
|
|
--no-label-summary
|
|
)
|
|
|
|
run_cmake_command(GoogleTest-property-timeout2
|
|
${CMAKE_CTEST_COMMAND}
|
|
-C Debug
|
|
-R property_timeout\\.case_with_discovery
|
|
--no-label-summary
|
|
)
|
|
|
|
run_cmake_command(GoogleTest-discovery-timeout-test
|
|
${CMAKE_CTEST_COMMAND}
|
|
-C Debug
|
|
-R discovery_timeout_test
|
|
--no-label-summary
|
|
)
|
|
endfunction()
|
|
|
|
run_GoogleTest()
|