diff options
| author | Nikolai Kosjar <nikolai.kosjar@theqtcompany.com> | 2016-01-25 16:38:28 +0100 |
|---|---|---|
| committer | Nikolai Kosjar <nikolai.kosjar@theqtcompany.com> | 2016-02-25 13:31:15 +0000 |
| commit | b2397b6b4faeca5e768bc68a3346fff9d04704f7 (patch) | |
| tree | 46c2e5d4c969bd1b82dd59ff32294887e2ef9e83 /tests/unit | |
| parent | 817f12fddd7a96333b695ec981d30e1bf6abc810 (diff) | |
| download | qt-creator-b2397b6b4faeca5e768bc68a3346fff9d04704f7.tar.gz | |
Clang: Ignore certain warnings in header files
We already had this workarounded, but it got lost in the refactorings.
Task-number: QTCREATORBUG-12067
Change-Id: Ie01f9d41f25d17d1b595204748634bc87ef44378
Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
Diffstat (limited to 'tests/unit')
| -rw-r--r-- | tests/unit/unittest/clangdiagnosticfiltertest.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/unit/unittest/clangdiagnosticfiltertest.cpp b/tests/unit/unittest/clangdiagnosticfiltertest.cpp index 99be0359fe..31b7588aa1 100644 --- a/tests/unit/unittest/clangdiagnosticfiltertest.cpp +++ b/tests/unit/unittest/clangdiagnosticfiltertest.cpp @@ -64,6 +64,7 @@ DiagnosticContainer createDiagnostic(const QString &text, ); } +const QString mainFileHeaderPath = QString::fromUtf8(TESTDATA_DIR "/someHeader.h"); const QString mainFilePath = QString::fromUtf8(TESTDATA_DIR "/diagnostic_erroneous_source.cpp"); const QString includedFilePath = QString::fromUtf8(TESTDATA_DIR "/diagnostic_erroneous_header.cpp"); @@ -91,6 +92,22 @@ DiagnosticContainer warningFromMainFile() mainFilePath); } +DiagnosticContainer pragmaOnceWarningInHeader() +{ + return createDiagnostic( + QStringLiteral("warning: #pragma once in main file"), + ClangBackEnd::DiagnosticSeverity::Warning, + mainFileHeaderPath); +} + +DiagnosticContainer includeNextInPrimarySourceFileWarningInHeader() +{ + return createDiagnostic( + QStringLiteral("warning: #include_next in primary source file"), + ClangBackEnd::DiagnosticSeverity::Warning, + mainFileHeaderPath); +} + DiagnosticContainer errorFromMainFile() { return createDiagnostic( @@ -193,6 +210,16 @@ TEST_F(ClangDiagnosticFilter, WarningsAreEmptyAfterTaking) ASSERT_TRUE(clangDiagnosticFilter.takeWarnings().isEmpty()); } +TEST_F(ClangDiagnosticFilter, IgnoreCertainWarningsInHeaderFiles) +{ + ClangCodeModel::Internal::ClangDiagnosticFilter myClangDiagnosticFilter{mainFileHeaderPath}; + + myClangDiagnosticFilter.filter({pragmaOnceWarningInHeader(), + includeNextInPrimarySourceFileWarningInHeader()}); + + ASSERT_TRUE(myClangDiagnosticFilter.takeWarnings().isEmpty()); +} + TEST_F(ClangDiagnosticFilter, ErrorsAreEmptyAfterTaking) { clangDiagnosticFilter.filter({errorFromMainFile()}); |
