From 8f036562119dd35ce51dc9230304d893b906bd37 Mon Sep 17 00:00:00 2001 From: Borgar Ovsthus Date: Wed, 2 Aug 2017 18:48:14 +0200 Subject: Add flowId to messages when logging in TeamCity format Added flowId='name' to each message when using TeamCity logging format. This is necessary to distinguish separate processes running in parallel. [ChangeLog][QtTest] Added flowId to messages when logging in TeamCity format. FlowId is used to distinguish logging from multiple processes running in parallel. Change-Id: I7f5046c1058ff02770404caa2c9b3a5398f97f6b Reviewed-by: Thiago Macieira --- src/testlib/qteamcitylogger.cpp | 25 ++++++++++++------------- src/testlib/qteamcitylogger_p.h | 1 + 2 files changed, 13 insertions(+), 13 deletions(-) (limited to 'src/testlib') diff --git a/src/testlib/qteamcitylogger.cpp b/src/testlib/qteamcitylogger.cpp index 81c2499bcb..9cfbe92b7d 100644 --- a/src/testlib/qteamcitylogger.cpp +++ b/src/testlib/qteamcitylogger.cpp @@ -107,17 +107,15 @@ void QTeamCityLogger::startLogging() { QAbstractTestLogger::startLogging(); - QString testSuiteName = tcEscapedString(QString::fromUtf8(QTestResult::currentTestObjectName())); + flowID = tcEscapedString(QString::fromUtf8(QTestResult::currentTestObjectName())); - QString str = QString(QLatin1String("##teamcity[testSuiteStarted name='%1']\n")).arg(testSuiteName); + QString str = QString(QLatin1String("##teamcity[testSuiteStarted name='%1' flowId='%1']\n")).arg(flowID); outputString(qPrintable(str)); } void QTeamCityLogger::stopLogging() { - QString testSuiteName = tcEscapedString(QString::fromUtf8(QTestResult::currentTestObjectName())); - - QString str = QString(QLatin1String("##teamcity[testSuiteFinished name='%1']\n")).arg(testSuiteName); + QString str = QString(QLatin1String("##teamcity[testSuiteFinished name='%1' flowId='%1']\n")).arg(flowID); outputString(qPrintable(str)); QAbstractTestLogger::stopLogging(); @@ -145,7 +143,7 @@ void QTeamCityLogger::addIncident(IncidentTypes type, const char *description, QString tmpFuncName = escapedTestFuncName(); if (tmpFuncName != currTestFuncName) { - buf = QString(QLatin1String("##teamcity[testStarted name='%1']\n")).arg(tmpFuncName); + buf = QString(QLatin1String("##teamcity[testStarted name='%1' flowId='%2']\n")).arg(tmpFuncName, flowID); outputString(qPrintable(buf)); } @@ -166,24 +164,25 @@ void QTeamCityLogger::addIncident(IncidentTypes type, const char *description, if (file) messageText += QString(QLatin1String(" |[Loc: %1(%2)|]")).arg(QString::fromUtf8(file)).arg(line); - buf = QString(QLatin1String("##teamcity[testFailed name='%1' message='%2' details='%3']\n")) + buf = QString(QLatin1String("##teamcity[testFailed name='%1' message='%2' details='%3' flowId='%4']\n")) .arg(tmpFuncName, messageText, - detailedText); + detailedText, + flowID); outputString(qPrintable(buf)); } if (!pendingMessages.isEmpty()) { - buf = QString(QLatin1String("##teamcity[testStdOut name='%1' out='%2']\n")) - .arg(tmpFuncName, pendingMessages); + buf = QString(QLatin1String("##teamcity[testStdOut name='%1' out='%2' flowId='%3']\n")) + .arg(tmpFuncName, pendingMessages, flowID); outputString(qPrintable(buf)); pendingMessages.clear(); } - buf = QString(QLatin1String("##teamcity[testFinished name='%1']\n")).arg(tmpFuncName); + buf = QString(QLatin1String("##teamcity[testFinished name='%1' flowId='%2']\n")).arg(tmpFuncName, flowID); outputString(qPrintable(buf)); } @@ -207,8 +206,8 @@ void QTeamCityLogger::addMessage(MessageTypes type, const QString &message, if (file) escapedMessage.append(QString(QLatin1String(" |[Loc: %1(%2)|]")).arg(QString::fromUtf8(file)).arg(line)); - buf = QString(QLatin1String("##teamcity[testIgnored name='%1' message='%2']\n")) - .arg(escapedTestFuncName(), escapedMessage); + buf = QString(QLatin1String("##teamcity[testIgnored name='%1' message='%2' flowId='%3']\n")) + .arg(escapedTestFuncName(), escapedMessage, flowID); outputString(qPrintable(buf)); } diff --git a/src/testlib/qteamcitylogger_p.h b/src/testlib/qteamcitylogger_p.h index 219aeb5ceb..80f2454724 100644 --- a/src/testlib/qteamcitylogger_p.h +++ b/src/testlib/qteamcitylogger_p.h @@ -79,6 +79,7 @@ public: private: QString currTestFuncName; QString pendingMessages; + QString flowID; QString tcEscapedString(const QString &str) const; QString escapedTestFuncName() const; -- cgit v1.2.3