mirror of
https://github.com/Kitware/CMake.git
synced 2026-03-01 12:18:36 -06:00
GoogleTest: Add testcase for skipped tests
This simply runs a mocked test case which uses the prefix for signaling a skipped test. CTest's output is checked for a skipped test result.
This commit is contained in:
committed by
Brad King
parent
98868dad1c
commit
89a843d6ea
10
Tests/RunCMake/GoogleTest/GoogleTest-skip-timeout-stdout.txt
Normal file
10
Tests/RunCMake/GoogleTest/GoogleTest-skip-timeout-stdout.txt
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
Test project .*
|
||||||
|
Start 20: skip_test.test1
|
||||||
|
1/1 Test #20: skip_test.test1 \.+\*\*\*Skipped +[0-9.]+ sec
|
||||||
|
|
||||||
|
100% tests passed, 0 tests failed out of 1
|
||||||
|
|
||||||
|
Total Test time \(real\) = +[0-9.]+ sec
|
||||||
|
|
||||||
|
The following tests did not run:
|
||||||
|
.*20 - skip_test\.test1 \(Skipped\)
|
||||||
@@ -49,3 +49,9 @@ gtest_discover_tests(
|
|||||||
DISCOVERY_TIMEOUT 20
|
DISCOVERY_TIMEOUT 20
|
||||||
PROPERTIES TIMEOUT 2
|
PROPERTIES TIMEOUT 2
|
||||||
)
|
)
|
||||||
|
|
||||||
|
add_executable(skip_test skip_test.cpp)
|
||||||
|
|
||||||
|
gtest_discover_tests(
|
||||||
|
skip_test
|
||||||
|
)
|
||||||
|
|||||||
@@ -60,6 +60,20 @@ function(run_GoogleTest DISCOVERY_MODE)
|
|||||||
-R property_timeout\\.case_with_discovery
|
-R property_timeout\\.case_with_discovery
|
||||||
--no-label-summary
|
--no-label-summary
|
||||||
)
|
)
|
||||||
|
|
||||||
|
run_cmake_command(GoogleTest-build
|
||||||
|
${CMAKE_COMMAND}
|
||||||
|
--build .
|
||||||
|
--config Debug
|
||||||
|
--target skip_test
|
||||||
|
)
|
||||||
|
|
||||||
|
run_cmake_command(GoogleTest-skip-test
|
||||||
|
${CMAKE_CTEST_COMMAND}
|
||||||
|
-C Debug
|
||||||
|
-R skip_test
|
||||||
|
--no-label-summary
|
||||||
|
)
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
function(run_GoogleTestXML DISCOVERY_MODE)
|
function(run_GoogleTestXML DISCOVERY_MODE)
|
||||||
|
|||||||
18
Tests/RunCMake/GoogleTest/skip_test.cpp
Normal file
18
Tests/RunCMake/GoogleTest/skip_test.cpp
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
int main(int argc, char** argv)
|
||||||
|
{
|
||||||
|
// Note: GoogleTest.cmake doesn't actually depend on Google Test as such;
|
||||||
|
// it only requires that we produces output in the expected format when
|
||||||
|
// invoked with --gtest_list_tests. Thus, we fake that here. This allows us
|
||||||
|
// to test the module without actually needing Google Test.
|
||||||
|
if (argc > 1 && std::string(argv[1]) == "--gtest_list_tests") {
|
||||||
|
std::cout << "skip_test." << std::endl;
|
||||||
|
std::cout << " test1" << std::endl;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::cout << "[ SKIPPED ] skip_test.test1" << std::endl;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user