diff options
Diffstat (limited to 'tests/auto/blackbox/tst_blackbox.cpp')
-rw-r--r-- | tests/auto/blackbox/tst_blackbox.cpp | 29 |
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"); |