diff options
author | Craig Scott <craig.scott@crascit.com> | 2018-03-14 13:16:36 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2018-03-15 11:36:42 (GMT) |
commit | 96fdde26bbbc969944e556ad649191cd21f46990 (patch) | |
tree | 0304a27601c4392c7f0a88527c4b0c6fc37d8cc0 /Tests/RunCMake/GoogleTest/timeout_test.cpp | |
parent | c1e087a9d3af74299d7681c9f9de59e5977a1539 (diff) | |
download | CMake-96fdde26bbbc969944e556ad649191cd21f46990.zip CMake-96fdde26bbbc969944e556ad649191cd21f46990.tar.gz CMake-96fdde26bbbc969944e556ad649191cd21f46990.tar.bz2 |
GoogleTest: Rename TIMEOUT parameter to avoid clash
In gtest_discover_tests(), the TIMEOUT keyword was making it
impossible to set the TIMEOUT test property via the PROPERTIES
keyword. This would be a frequent case, but it doesn't complain
and instead silently does something different to what would
normally be expected. The TIMEOUT keyword has been renamed
to DISCOVERY_TIMEOUT, thereby removing the clash.
This is a breaking change. 3.10.1 and 3.10.2 were the only versions
that supported the TIMEOUT keyword and uses of it were likely
not working as intended.
Fixes: #17801
Diffstat (limited to 'Tests/RunCMake/GoogleTest/timeout_test.cpp')
-rw-r--r-- | Tests/RunCMake/GoogleTest/timeout_test.cpp | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/Tests/RunCMake/GoogleTest/timeout_test.cpp b/Tests/RunCMake/GoogleTest/timeout_test.cpp index a8e5c1c..9162dcf 100644 --- a/Tests/RunCMake/GoogleTest/timeout_test.cpp +++ b/Tests/RunCMake/GoogleTest/timeout_test.cpp @@ -4,12 +4,36 @@ #include <unistd.h> #endif -int main() +#include <iostream> +#include <string> + +void sleepFor(unsigned seconds) { #if defined(_WIN32) - Sleep(10000); + Sleep(seconds * 1000); #else - sleep(10); + sleep(seconds); +#endif +} + +int main(int argc, char** argv) +{ + // Note: GoogleTest.cmake doesn't actually depend on Google Test as such; + // it only requires that we produce 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 << "timeout." << std::endl; + std::cout << " case" << std::endl; +#ifdef discoverySleepSec + sleepFor(discoverySleepSec); +#endif + return 0; + } + +#ifdef sleepSec + sleepFor(sleepSec); #endif + return 0; } |