diff options
author | Eike Ziller <eike.ziller@theqtcompany.com> | 2015-05-26 15:12:42 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@theqtcompany.com> | 2015-05-26 15:12:42 +0200 |
commit | 3858c33d741cc0bfb120d528b0f3465e665c4bd5 (patch) | |
tree | c5fd6289f486a14e698940a40511fa4344a911da /src/plugins/projectexplorer | |
parent | 03b92050e03bbc51f1d49d7dbce8116f23a0c66e (diff) | |
parent | b8038191e693f5649686d56b2192169ea1f53a25 (diff) |
Merge remote-tracking branch 'origin/3.4'
Change-Id: I35ba4cc7f7052699c3006545514c866be3cb5fdd
Diffstat (limited to 'src/plugins/projectexplorer')
-rw-r--r-- | src/plugins/projectexplorer/msvcparser.cpp | 13 | ||||
-rw-r--r-- | src/plugins/projectexplorer/outputparser_test.cpp | 13 |
2 files changed, 23 insertions, 3 deletions
diff --git a/src/plugins/projectexplorer/msvcparser.cpp b/src/plugins/projectexplorer/msvcparser.cpp index 1c5037650b..1a6ccf2cd2 100644 --- a/src/plugins/projectexplorer/msvcparser.cpp +++ b/src/plugins/projectexplorer/msvcparser.cpp @@ -35,7 +35,8 @@ #include <utils/qtcassert.h> #include <utils/fileutils.h> -static const char FILE_POS_PATTERN[] = "(cl|LINK|.+) : "; +// As of MSVC 2015: "foo.cpp(42) :" -> "foo.cpp(42):" +static const char FILE_POS_PATTERN[] = "(cl|LINK|.+[^ ]) ?: "; static const char ERROR_PATTERN[] = "[A-Z]+\\d\\d\\d\\d ?:"; static QPair<Utils::FileName, int> parseFileName(const QString &input) @@ -232,6 +233,16 @@ void ProjectExplorerPlugin::testMsvcOutputParsers_data() Constants::TASK_CATEGORY_COMPILE)) << QString(); + QTest::newRow("labeled error-2015") + << QString::fromLatin1("qmlstandalone\\main.cpp(54): error C4716: 'findUnresolvedModule' : must return a value") << OutputParserTester::STDOUT + << QString() << QString() + << (QList<Task>() + << Task(Task::Error, + QLatin1String("C4716: 'findUnresolvedModule' : must return a value"), + Utils::FileName::fromUserInput(QLatin1String("qmlstandalone\\main.cpp")), 54, + Constants::TASK_CATEGORY_COMPILE)) + << QString(); + QTest::newRow("labeled warning") << QString::fromLatin1("x:\\src\\plugins\\projectexplorer\\msvcparser.cpp(69) : warning C4100: 'something' : unreferenced formal parameter") << OutputParserTester::STDOUT << QString() << QString() diff --git a/src/plugins/projectexplorer/outputparser_test.cpp b/src/plugins/projectexplorer/outputparser_test.cpp index f39a67f75d..0ac1b3182d 100644 --- a/src/plugins/projectexplorer/outputparser_test.cpp +++ b/src/plugins/projectexplorer/outputparser_test.cpp @@ -37,6 +37,13 @@ namespace ProjectExplorer { +static inline QByteArray msgFileComparisonFail(const Utils::FileName &f1, const Utils::FileName &f2) +{ + const QString result = QLatin1Char('"') + f1.toUserOutput() + + QLatin1String("\" != \"") + f2.toUserOutput() + QLatin1Char('"'); + return result.toLocal8Bit(); +} + OutputParserTester::OutputParserTester() : m_debug(false) { } @@ -83,7 +90,8 @@ void OutputParserTester::testParsing(const QString &lines, for (int i = 0; i < tasks.size(); ++i) { QCOMPARE(m_receivedTasks.at(i).category, tasks.at(i).category); QCOMPARE(m_receivedTasks.at(i).description, tasks.at(i).description); - QCOMPARE(m_receivedTasks.at(i).file, tasks.at(i).file); + QVERIFY2(m_receivedTasks.at(i).file == tasks.at(i).file, + msgFileComparisonFail(m_receivedTasks.at(i).file, tasks.at(i).file)); QCOMPARE(m_receivedTasks.at(i).line, tasks.at(i).line); QCOMPARE(static_cast<int>(m_receivedTasks.at(i).type), static_cast<int>(tasks.at(i).type)); } @@ -103,7 +111,8 @@ void OutputParserTester::testTaskMangling(const Task &input, if (m_receivedTasks.size() == 1) { QCOMPARE(m_receivedTasks.at(0).category, output.category); QCOMPARE(m_receivedTasks.at(0).description, output.description); - QCOMPARE(m_receivedTasks.at(0).file, output.file); + QVERIFY2(m_receivedTasks.at(0).file == output.file, + msgFileComparisonFail(m_receivedTasks.at(0).file, output.file)); QCOMPARE(m_receivedTasks.at(0).line, output.line); QCOMPARE(m_receivedTasks.at(0).type, output.type); } |