aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2021-11-25 17:44:48 +0100
committerChristian Kandeler <christian.kandeler@qt.io>2021-12-02 10:46:32 +0000
commit510ab1a6595d6b1c3956f94f225d03b08b830f14 (patch)
treec07faa492635ad1f52264554983b9368db1c01d9
parent421d8038dc65e2273b2deecea74992bff6df390f (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.cpp3
-rw-r--r--src/libs/utils/outputformatter.h6
-rw-r--r--src/plugins/qtsupport/qttestparser.cpp2
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;