diff options
author | Christian Stenger <christian.stenger@qt.io> | 2021-01-13 12:52:23 +0100 |
---|---|---|
committer | Christian Stenger <christian.stenger@qt.io> | 2021-01-14 10:25:39 +0000 |
commit | c9a956c9895e5e69ff007829f8b526f8d283a05c (patch) | |
tree | b7dd9c3e60fa9df993d3ba518461b512c9260e6e | |
parent | b7758eebb2a02a7bc5a808f2562b7a6624592b32 (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.cpp | 4 | ||||
-rw-r--r-- | src/plugins/qtsupport/qttestparser.cpp | 2 |
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); |