diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2017-06-22 13:36:04 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2017-06-22 12:22:15 +0000 |
commit | 5d4996442f9f03ecba3f4e96c9ceb5eb42a0bb18 (patch) | |
tree | e0b878a984e45e5bdfa07b36a8271dbddeb3cda0 /tests | |
parent | 16432be9afc39372b7c35a4fb2929b5835c067e0 (diff) |
Autotests: Provide a means to specify the timeout via the environment
There are some exceedingly slow test machines for which sometimes even
our generous default timeout is not enough.
Change-Id: I278f3e3c6c85ed65ba24312e0788aa4bfa323dd2
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/api/tst_api.cpp | 4 | ||||
-rw-r--r-- | tests/auto/blackbox/tst_blackboxbase.cpp | 3 | ||||
-rw-r--r-- | tests/auto/shared.h | 9 |
3 files changed, 12 insertions, 4 deletions
diff --git a/tests/auto/api/tst_api.cpp b/tests/auto/api/tst_api.cpp index 5cd56c218..96fbf7839 100644 --- a/tests/auto/api/tst_api.cpp +++ b/tests/auto/api/tst_api.cpp @@ -1247,7 +1247,7 @@ void TestApi::infiniteLoopBuilding() qbs::Project project = setupJob->project(); const QScopedPointer<qbs::BuildJob> buildJob(project.buildAllProducts(qbs::BuildOptions())); QTimer::singleShot(1000, buildJob.data(), &qbs::AbstractJob::cancel); - QVERIFY(waitForFinished(buildJob.data(), 600000)); + QVERIFY(waitForFinished(buildJob.data(), testTimeoutInMsecs())); QVERIFY(buildJob->error().hasError()); } @@ -1264,7 +1264,7 @@ void TestApi::infiniteLoopResolving() QScopedPointer<qbs::SetupProjectJob> setupJob(qbs::Project().setupProject(setupParams, m_logSink, 0)); QTimer::singleShot(1000, setupJob.data(), &qbs::AbstractJob::cancel); - QVERIFY(waitForFinished(setupJob.data(), 600000)); + QVERIFY(waitForFinished(setupJob.data(), testTimeoutInMsecs())); QVERIFY2(setupJob->error().toString().toLower().contains("cancel"), qPrintable(setupJob->error().toString())); } diff --git a/tests/auto/blackbox/tst_blackboxbase.cpp b/tests/auto/blackbox/tst_blackboxbase.cpp index 04af84538..e484aab6a 100644 --- a/tests/auto/blackbox/tst_blackboxbase.cpp +++ b/tests/auto/blackbox/tst_blackboxbase.cpp @@ -87,8 +87,7 @@ int TestBlackboxBase::runQbs(const QbsRunParameters ¶ms) QProcess process; process.setProcessEnvironment(params.environment); process.start(qbsExecutableFilePath, args); - const int waitTime = 10 * 60000; - if (!process.waitForStarted() || !process.waitForFinished(waitTime) + if (!process.waitForStarted() || !process.waitForFinished(testTimeoutInMsecs()) || process.exitStatus() != QProcess::NormalExit) { m_qbsStderr = process.readAllStandardError(); QTest::qFail("qbs did not run correctly", __FILE__, __LINE__); diff --git a/tests/auto/shared.h b/tests/auto/shared.h index 9c9c10df0..36a15ca74 100644 --- a/tests/auto/shared.h +++ b/tests/auto/shared.h @@ -44,6 +44,15 @@ #include <memory> +inline int testTimeoutInMsecs() +{ + bool ok; + int timeoutInSecs = qEnvironmentVariableIntValue("QBS_AUTOTEST_TIMEOUT", &ok); + if (!ok) + timeoutInSecs = 600; + return timeoutInSecs * 1000; +} + using SettingsPtr = std::unique_ptr<qbs::Settings>; inline SettingsPtr settings() { |