From e7df6bba184ee935f14a3d13e989b385b4e6e520 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Tue, 13 Oct 2020 16:52:04 +0200 Subject: [PATCH] ClangTools: Further increase the test timeout The clazy tool in particular can be exceedingly slow on Windows. Increase the default timeout and also add a hook to set the timeout at runtime via the environment. Change-Id: I94c46ce03f8348fb239870df4d5627bf8d545307 Reviewed-by: Christian Stenger --- src/plugins/clangtools/clangtoolsunittests.cpp | 8 +++++++- src/plugins/clangtools/clangtoolsunittests.h | 3 +++ 2 files changed, 10 insertions(+), 1 deletion(-) 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