diff --git a/src/plugins/qtsupport/qtoutputformatter.h b/src/plugins/qtsupport/qtoutputformatter.h index 9aaa2249015..45f1a1e3966 100644 --- a/src/plugins/qtsupport/qtoutputformatter.h +++ b/src/plugins/qtsupport/qtoutputformatter.h @@ -33,8 +33,8 @@ #define QT_QML_URL_REGEXP "(?:file|qrc):(?://)?/.+?" #define QT_ASSERT_REGEXP "ASSERT: .* in file (.+, line \\d+)" #define QT_ASSERT_X_REGEXP "ASSERT failure in .*: \".*\", file (.+, line \\d+)" -#define QT_TEST_FAIL_UNIX_REGEXP "^ Loc: \\[(.*)\\]$" -#define QT_TEST_FAIL_WIN_REGEXP "^(.*\\(\\d+\\)) : failure location\\s*$" +#define QT_TEST_FAIL_UNIX_REGEXP "^ Loc: \\[((?.+)\\((?\\d+)\\))\\]$" +#define QT_TEST_FAIL_WIN_REGEXP "^((?.+)\\((?\\d+)\\)) : failure location\\s*$" namespace ProjectExplorer { class Project; } diff --git a/src/plugins/qtsupport/qttestparser.cpp b/src/plugins/qtsupport/qttestparser.cpp index 2f6a747f96a..eb907fc4601 100644 --- a/src/plugins/qtsupport/qttestparser.cpp +++ b/src/plugins/qtsupport/qttestparser.cpp @@ -25,6 +25,8 @@ #include "qttestparser.h" +#include "qtoutputformatter.h" + #include #include #include @@ -61,8 +63,8 @@ void QtTestParser::stdOutput(const QString &line) return; } static const QRegularExpression locationPattern(HostOsInfo::isWindowsHost() - ? QString("^(?.+)\\((?\\d+)\\) : failure location.*$") - : QString("^ Loc: \\[(?.+)\\((?\\d+)\\)\\].*$")); + ? QString(QT_TEST_FAIL_WIN_REGEXP) + : QString(QT_TEST_FAIL_UNIX_REGEXP)); QTC_CHECK(locationPattern.isValid()); const QRegularExpressionMatch match = locationPattern.match(theLine); if (match.hasMatch()) {