diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2021-11-25 17:44:48 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2021-12-02 10:46:32 +0000 |
commit | 510ab1a6595d6b1c3956f94f225d03b08b830f14 (patch) | |
tree | c07faa492635ad1f52264554983b9368db1c01d9 | |
parent | 421d8038dc65e2273b2deecea74992bff6df390f (diff) |
QtSupport: Use red color for failing test cases
We want them to stick out in the output pane.
Change-Id: I2276c93301500fa67a3e23a61cde021b1993a247
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
-rw-r--r-- | src/libs/utils/outputformatter.cpp | 3 | ||||
-rw-r--r-- | src/libs/utils/outputformatter.h | 6 | ||||
-rw-r--r-- | src/plugins/qtsupport/qttestparser.cpp | 2 |
3 files changed, 7 insertions, 4 deletions
diff --git a/src/libs/utils/outputformatter.cpp b/src/libs/utils/outputformatter.cpp index bb2973c638..8ae568204d 100644 --- a/src/libs/utils/outputformatter.cpp +++ b/src/libs/utils/outputformatter.cpp @@ -302,7 +302,8 @@ void OutputFormatter::doAppendMessage(const QString &text, OutputFormat format) // then our formatting should reflect that redirection as well, i.e. print in red // even if the nominal format is stdout. if (!involvedParsers.isEmpty()) { - const OutputFormat formatForParser = outputTypeForParser(involvedParsers.last(), format); + const OutputFormat formatForParser = res.formatOverride + ? *res.formatOverride : outputTypeForParser(involvedParsers.last(), format); if (formatForParser != format && cleanLine == text && formattedText.length() == 1) { charFmt = charFormat(formatForParser); formattedText.first().format = charFmt; diff --git a/src/libs/utils/outputformatter.h b/src/libs/utils/outputformatter.h index 0053032522..f34b984ce8 100644 --- a/src/libs/utils/outputformatter.h +++ b/src/libs/utils/outputformatter.h @@ -65,11 +65,13 @@ public: using LinkSpecs = QList<LinkSpec>; class Result { public: - Result(Status s, const LinkSpecs &l = {}, const optional<QString> &c = {}) - : status(s), linkSpecs(l), newContent(c) {} + Result(Status s, const LinkSpecs &l = {}, const optional<QString> &c = {}, + const optional<OutputFormat> &f = {}) + : status(s), linkSpecs(l), newContent(c), formatOverride(f) {} Status status; LinkSpecs linkSpecs; optional<QString> newContent; // Hard content override. Only to be used in extreme cases. + optional<OutputFormat> formatOverride; }; static bool isLinkTarget(const QString &target); diff --git a/src/plugins/qtsupport/qttestparser.cpp b/src/plugins/qtsupport/qttestparser.cpp index e2bb435ad9..3496cdd4b0 100644 --- a/src/plugins/qtsupport/qttestparser.cpp +++ b/src/plugins/qtsupport/qttestparser.cpp @@ -59,7 +59,7 @@ OutputLineParser::Result QtTestParser::handleLine(const QString &line, OutputFor emitCurrentTask(); m_currentTask = Task(Task::Error, theLine, FilePath(), -1, Constants::TASK_CATEGORY_AUTOTEST); - return Status::InProgress; + return {Status::InProgress, {}, {}, StdErrFormat}; } if (m_currentTask.isNull()) return Status::NotHandled; |