aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/blackbox/tst_blackbox.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/blackbox/tst_blackbox.cpp')
-rw-r--r--tests/auto/blackbox/tst_blackbox.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/auto/blackbox/tst_blackbox.cpp b/tests/auto/blackbox/tst_blackbox.cpp
index f87889155..edc2b51c8 100644
--- a/tests/auto/blackbox/tst_blackbox.cpp
+++ b/tests/auto/blackbox/tst_blackbox.cpp
@@ -1,6 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2019 Jochen Ulrich <jochenulrich@t-online.de>
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qbs.
@@ -5624,6 +5625,34 @@ void TestBlackbox::autotestWithDependencies()
&& m_qbsStdout.contains("i am the helper"), m_qbsStdout.constData());
}
+void TestBlackbox::autotestTimeout()
+{
+ QFETCH(QStringList, resolveParams);
+ QFETCH(bool, expectFailure);
+ QDir::setCurrent(testDataDir + "/autotest-timeout");
+ QbsRunParameters resolveParameters("resolve", resolveParams);
+ QCOMPARE(runQbs(resolveParameters), 0);
+ QbsRunParameters buildParameters(QStringList({"-p", "autotest-runner"}));
+ buildParameters.expectFailure = expectFailure;
+ if (expectFailure) {
+ QVERIFY(runQbs(buildParameters) != 0);
+ QVERIFY(m_qbsStderr.contains("cancelled") && m_qbsStderr.contains("timeout"));
+ }
+ else
+ QVERIFY(runQbs(buildParameters) == 0);
+}
+
+void TestBlackbox::autotestTimeout_data()
+{
+ QTest::addColumn<QStringList>("resolveParams");
+ QTest::addColumn<bool>("expectFailure");
+ QTest::newRow("no timeout") << QStringList() << false;
+ QTest::newRow("timeout on test") << QStringList({"products.testApp.autotest.timeout:2"})
+ << true;
+ QTest::newRow("timeout on runner") << QStringList({"products.autotest-runner.timeout:2"})
+ << true;
+}
+
void TestBlackbox::autotests_data()
{
QTest::addColumn<QString>("evilPropertySpec");