aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2017-06-22 13:36:04 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2017-06-22 12:22:15 +0000
commit5d4996442f9f03ecba3f4e96c9ceb5eb42a0bb18 (patch)
treee0b878a984e45e5bdfa07b36a8271dbddeb3cda0 /tests
parent16432be9afc39372b7c35a4fb2929b5835c067e0 (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.cpp4
-rw-r--r--tests/auto/blackbox/tst_blackboxbase.cpp3
-rw-r--r--tests/auto/shared.h9
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 &params)
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()
{