CppTools: Add all diagnostic messages

...of type 'No such file or directory' to the CPlusPlus::Document. Only
the first one was added and as a result, the editor only wavely
underlined that one.

Add also diagnostic messages if it's not possible to get the file
contents.

Change-Id: I8389d8e6af9480ea6712759ce5e130e1dd8912f1
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
This commit is contained in:
Nikolai Kosjar
2014-02-19 09:11:59 -03:00
parent 16e16dc405
commit aa796a9fc0
4 changed files with 54 additions and 33 deletions

View File

@@ -161,3 +161,21 @@ void CppToolsPlugin::test_cpppreprocessor_includes_cyclic()
QCOMPARE(doc2->resolvedIncludes().size(), 1);
QCOMPARE(doc2->resolvedIncludes().first().resolvedFileName(), fileName1);
}
/// Check: All include errors are reported as diagnostic messages.
void CppToolsPlugin::test_cpppreprocessor_includes_allDiagnostics()
{
QByteArray source =
"#include <NotResolvable1>\n"
"#include <NotResolvable2>\n"
"\n"
;
SourcePreprocessor processor;
Document::Ptr document = processor.run(source);
QVERIFY(document);
QCOMPARE(document->resolvedIncludes().size(), 0);
QCOMPARE(document->unresolvedIncludes().size(), 2);
QCOMPARE(document->diagnosticMessages().size(), 2);
}