diff --git a/src/libs/utils/benchmarker.cpp b/src/libs/utils/benchmarker.cpp index 72a20293e5b..3603f02043c 100644 --- a/src/libs/utils/benchmarker.cpp +++ b/src/libs/utils/benchmarker.cpp @@ -25,7 +25,9 @@ #include "benchmarker.h" +#include #include +#include static Q_LOGGING_CATEGORY(benchmarksLog, "qtc.benchmark"); @@ -68,12 +70,16 @@ void Benchmarker::report(const QString &testsuite, void Benchmarker::report(const QLoggingCategory &cat, const QString &testsuite, const QString &testcase, qint64 ms, const QString &tags) { + static const QByteArray quitAfter = qgetenv("QTC_QUIT_AFTER_BENCHMARK"); QString t = "unit=ms"; if (!tags.isEmpty()) t += "," + tags; - qCDebug(cat, "%s::%s: %lld { %s }", - testsuite.toUtf8().data(), testcase.toUtf8().data(), ms, t.toUtf8().data()); + const QByteArray testSuite = testsuite.toUtf8(); + const QByteArray testCase = testcase.toUtf8(); + qCDebug(cat, "%s::%s: %lld { %s }", testSuite.data(), testCase.data(), ms, t.toUtf8().data()); + if (!quitAfter.isEmpty() && quitAfter == testSuite + "::" + testCase) + QTimer::singleShot(1000, qApp, &QCoreApplication::quit); }