I'm using Qt Test, for write unit tests for some computing heavy algorithms. The process uses a considerable amount of time, and when is run in a older computer, the process fails because a timeout like this:
********* Start testing of KnotTest *********
Config: Using QtTest library 5.6.2, Qt 5.6.2 (i386-little_endian-ilp32 shared (dynamic) release build; by MSVC 2013)
PASS : MyTest::initTestCase()
QFATAL : MyTest::test_benchmark() Test function timed out
FAIL! : MyTest::test_benchmark() Received a fatal error.
Unknown file(0) : failure location
Totals: 1 passed, 1 failed, 0 skipped, 0 blacklisted
********* Finished testing of KnotTest *********
How can set a custom timeout for the test program generated?
You can override the timeout using an environment variable called QTEST_FUNCTION_TIMEOUT
. The timeout must be specified in milliseconds. By default, Qt uses a timeout of 300000 milliseconds (5 minutes).
This environment variable is undocumented, so I can't guarantee that it will continue to be present in future versions of Qt.
As an aside, you can programmatically set environment variables using qputenv
:
http://doc.qt.io/qt-5/qtglobal.html#qputenv
In QtCreator you can change the default timeout in
Tools -> Options -> Testing -> General : Timeout
See also "Building and Running Tests" in the following link:
http://doc.qt.io/qtcreator/creator-autotest.html
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With