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
|
||||
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
|
||||
--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()
|
||||
|
||||
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