Commit 89a843d6 authored by Alexander Stein's avatar Alexander Stein Committed by Brad King
Browse files

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.
parent 98868dad
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)
......
#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;
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment