aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Stenger <christian.stenger@qt.io>2021-01-13 12:52:23 +0100
committerChristian Stenger <christian.stenger@qt.io>2021-01-14 10:25:39 +0000
commitc9a956c9895e5e69ff007829f8b526f8d283a05c (patch)
treeb7dd9c3e60fa9df993d3ba518461b512c9260e6e
parentb7758eebb2a02a7bc5a808f2562b7a6624592b32 (diff)
OutputFormatter: Do not ignore DebugFormat
On Windows applications may print to the Windows internal debug console. This output is retrieved and passed around as DebugFormat as it is impossible to guess whether stdout or stderr had been used when printing. But output in DebugFormat had been ignored so far - fix this and handle this as inside the Qt test parser. Fixes: QTCREATORBUG-24560 Change-Id: Ic5e3723c3e3e47556264e4c5cf719706ee7eaf1c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r--src/libs/utils/outputformatter.cpp4
-rw-r--r--src/plugins/qtsupport/qttestparser.cpp2
2 files changed, 4 insertions, 2 deletions
diff --git a/src/libs/utils/outputformatter.cpp b/src/libs/utils/outputformatter.cpp
index c03cfd15b6..875ba0ebec 100644
--- a/src/libs/utils/outputformatter.cpp
+++ b/src/libs/utils/outputformatter.cpp
@@ -329,7 +329,9 @@ OutputLineParser::Result OutputFormatter::handleMessage(const QString &text, Out
QList<OutputLineParser *> &involvedParsers)
{
// We only invoke the line parsers for stdout and stderr
- if (format != StdOutFormat && format != StdErrFormat)
+ // Bad: on Windows we may get stdout and stdErr only as DebugFormat as e.g. GUI applications
+ // print them Windows-internal and we retrieve this separately
+ if (format != StdOutFormat && format != StdErrFormat && format != DebugFormat)
return OutputLineParser::Status::NotHandled;
const OutputLineParser * const oldNextParser = d->nextParser;
if (d->nextParser) {
diff --git a/src/plugins/qtsupport/qttestparser.cpp b/src/plugins/qtsupport/qttestparser.cpp
index 827cdffa47..e2bb435ad9 100644
--- a/src/plugins/qtsupport/qttestparser.cpp
+++ b/src/plugins/qtsupport/qttestparser.cpp
@@ -49,7 +49,7 @@ namespace Internal {
OutputLineParser::Result QtTestParser::handleLine(const QString &line, OutputFormat type)
{
- if (type != StdOutFormat)
+ if (type != StdOutFormat && type != DebugFormat)
return Status::NotHandled;
const QString theLine = rightTrimmed(line);