[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kdevelop] languages/clang/tests: Add test demonstrating incorrect missing include guard problem
From: Olivier JG <olivier.jg () gmail ! com>
Date: 2015-10-20 18:01:04
Message-ID: E1ZobDc-00010n-37 () scm ! kde ! org
[Download RAW message or body]
Git commit 965bd77dd85d6ee02215d348cab7bd4743e2d253 by Olivier JG.
Committed on 20/10/2015 at 18:05.
Pushed by olivierjg into branch 'master'.
Add test demonstrating incorrect missing include guard problem
M +19 -0 languages/clang/tests/test_duchain.cpp
M +1 -0 languages/clang/tests/test_duchain.h
http://commits.kde.org/kdevelop/965bd77dd85d6ee02215d348cab7bd4743e2d253
diff --git a/languages/clang/tests/test_duchain.cpp \
b/languages/clang/tests/test_duchain.cpp index aae52f3..40e822e 100644
--- a/languages/clang/tests/test_duchain.cpp
+++ b/languages/clang/tests/test_duchain.cpp
@@ -1270,3 +1270,22 @@ void TestDUChain::testUsesCreatedForDeclarations()
QVERIFY(!functionDeclaration->isDefinition());
QCOMPARE(functionDeclaration->uses().count(), 1);
}
+
+
+void TestDUChain::testReparseIncludeGuard()
+{
+ TestFile header("#ifndef GUARD\n#define GUARD\nint something;\n#endif\n", "h");
+ TestFile impl("#include \"" + header.url().byteArray() + "\"\n"
+ "int main() { return foo(); }", "cpp", &header);
+
+ impl.parseAndWait(TopDUContext::Features(TopDUContext::AllDeclarationsContextsAndUses \
| TopDUContext::AST )); + {
+ DUChainReadLocker lock;
+ QCOMPARE(impl.topContext()->problems().size(), 0);
+ }
+ impl.parseAndWait(TopDUContext::Features(TopDUContext::AllDeclarationsContextsAndUses \
| TopDUContext::ForceUpdateRecursive)); + {
+ DUChainReadLocker lock;
+ QCOMPARE(impl.topContext()->problems().size(), 0);
+ }
+}
diff --git a/languages/clang/tests/test_duchain.h \
b/languages/clang/tests/test_duchain.h index 77e706a..90bbe36 100644
--- a/languages/clang/tests/test_duchain.h
+++ b/languages/clang/tests/test_duchain.h
@@ -74,6 +74,7 @@ private slots:
void testRangesOfOperatorsInsideMacro();
void testActiveDocumentHasASTAttached();
void testUsesCreatedForDeclarations();
+ void testReparseIncludeGuard();
void benchDUChainBuilder();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic