diff --git a/src/plugins/clangtools/clangtoolsunittests.cpp b/src/plugins/clangtools/clangtoolsunittests.cpp index 1e76c577e13..512e6e71355 100644 --- a/src/plugins/clangtools/clangtoolsunittests.cpp +++ b/src/plugins/clangtools/clangtoolsunittests.cpp @@ -125,7 +125,7 @@ void ClangToolsUnitTests::testProject() ClangToolsSettings::instance()->runSettings(), diagnosticConfig); QSignalSpy waitForFinishedTool(tool, &ClangTool::finished); - QVERIFY(waitForFinishedTool.wait(90000)); + QVERIFY(waitForFinishedTool.wait(m_timeout)); // Check for errors const QString errorText = waitForFinishedTool.takeFirst().first().toString(); @@ -186,5 +186,11 @@ void ClangToolsUnitTests::addTestRow(const QByteArray &relativeFilePath, << absoluteFilePath << expectedDiagCount << diagnosticConfig; } +int ClangToolsUnitTests::getTimeout() +{ + const int t = qEnvironmentVariableIntValue("QTC_CLANGTOOLS_TEST_TIMEOUT"); + return t > 0 ? t : 480000; +} + } // namespace Internal } // namespace ClangTools diff --git a/src/plugins/clangtools/clangtoolsunittests.h b/src/plugins/clangtools/clangtoolsunittests.h index 87dd5a114e6..20da247894f 100644 --- a/src/plugins/clangtools/clangtoolsunittests.h +++ b/src/plugins/clangtools/clangtoolsunittests.h @@ -56,8 +56,11 @@ private: const CppTools::ClangDiagnosticConfig &diagnosticConfig); private: + static int getTimeout(); + CppTools::Tests::TemporaryCopiedDir *m_tmpDir = nullptr; ProjectExplorer::Kit *m_kit = nullptr; + int m_timeout = getTimeout(); }; } // namespace Internal