Files
CMake/Tests/RunCMake/GoogleTest/timeout_test.cpp
Craig Scott 96fdde26bb 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
2018-03-15 07:36:42 -04:00

40 lines
842 B
C++

#if defined(_WIN32)
#include <windows.h>
#else
#include <unistd.h>
#endif
#include <iostream>
#include <string>
void sleepFor(unsigned seconds)
{
#if defined(_WIN32)
Sleep(seconds * 1000);
#else
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;
}