From 31cd3fc08897206ef0ed8df5b4d835d71847393b Mon Sep 17 00:00:00 2001 From: Manuel Klimek Date: Tue, 12 Nov 2013 17:53:18 +0000 Subject: Add test for injecting diagnostic consumers into a ClangTool. As suggested by pcc on 194226. llvm-svn: 194494 --- clang/unittests/Tooling/ToolingTest.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'clang/unittests/Tooling/ToolingTest.cpp') diff --git a/clang/unittests/Tooling/ToolingTest.cpp b/clang/unittests/Tooling/ToolingTest.cpp index 40360fb45e1..2afe9292f5f 100644 --- a/clang/unittests/Tooling/ToolingTest.cpp +++ b/clang/unittests/Tooling/ToolingTest.cpp @@ -321,5 +321,17 @@ TEST(ClangToolTest, InjectDiagnosticConsumer) { EXPECT_EQ(1u, Consumer.NumDiagnosticsSeen); } +TEST(ClangToolTest, InjectDiagnosticConsumerInBuildASTs) { + FixedCompilationDatabase Compilations("/", std::vector()); + ClangTool Tool(Compilations, std::vector(1, "/a.cc")); + Tool.mapVirtualFile("/a.cc", "int x = undeclared;"); + TestDiagnosticConsumer Consumer; + Tool.setDiagnosticConsumer(&Consumer); + std::vector ASTs; + Tool.buildASTs(ASTs); + EXPECT_EQ(1u, ASTs.size()); + EXPECT_EQ(1u, Consumer.NumDiagnosticsSeen); +} + } // end namespace tooling } // end namespace clang -- cgit v1.2.3