[clang] 66a3b90 - [clang-format] Drop clangFrontend dependency for FormatTests
Alex Richardson via cfe-commits
cfe-commits at lists.llvm.org
Tue Oct 20 02:14:18 PDT 2020
Author: Alex Richardson
Date: 2020-10-20T10:13:28+01:00
New Revision: 66a3b9073ac116f0ee39baf625c733abe18140e5
URL: https://github.com/llvm/llvm-project/commit/66a3b9073ac116f0ee39baf625c733abe18140e5
DIFF: https://github.com/llvm/llvm-project/commit/66a3b9073ac116f0ee39baf625c733abe18140e5.diff
LOG: [clang-format] Drop clangFrontend dependency for FormatTests
This allows building the clang-format unit tests in only 657 ninja steps
rather than 1257 which allows for much faster incremental builds after a
git pull.
Reviewed By: MyDeveloperDay
Differential Revision: https://reviews.llvm.org/D89709
Added:
Modified:
clang/unittests/Format/CMakeLists.txt
clang/unittests/Format/CleanupTest.cpp
clang/unittests/Format/FormatTest.cpp
clang/unittests/Format/FormatTestComments.cpp
clang/unittests/Format/FormatTestObjC.cpp
clang/unittests/Format/FormatTestRawStrings.cpp
clang/unittests/Format/NamespaceEndCommentsFixerTest.cpp
clang/unittests/Tooling/RewriterTestContext.h
Removed:
################################################################################
diff --git a/clang/unittests/Format/CMakeLists.txt b/clang/unittests/Format/CMakeLists.txt
index d0cc2cae179f..472e6eec40af 100644
--- a/clang/unittests/Format/CMakeLists.txt
+++ b/clang/unittests/Format/CMakeLists.txt
@@ -27,7 +27,6 @@ clang_target_link_libraries(FormatTests
PRIVATE
clangBasic
clangFormat
- clangFrontend
clangRewrite
clangToolingCore
)
diff --git a/clang/unittests/Format/CleanupTest.cpp b/clang/unittests/Format/CleanupTest.cpp
index 9649b981d558..dc149b502bc5 100644
--- a/clang/unittests/Format/CleanupTest.cpp
+++ b/clang/unittests/Format/CleanupTest.cpp
@@ -9,7 +9,6 @@
#include "clang/Format/Format.h"
#include "../Tooling/ReplacementTest.h"
-#include "../Tooling/RewriterTestContext.h"
#include "clang/Tooling/Core/Replacement.h"
#include "gtest/gtest.h"
diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp
index 1bdd7062fbb8..be9c84332265 100644
--- a/clang/unittests/Format/FormatTest.cpp
+++ b/clang/unittests/Format/FormatTest.cpp
@@ -11,7 +11,6 @@
#include "../Tooling/ReplacementTest.h"
#include "FormatTestUtils.h"
-#include "clang/Frontend/TextDiagnosticPrinter.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/MemoryBuffer.h"
#include "gtest/gtest.h"
diff --git a/clang/unittests/Format/FormatTestComments.cpp b/clang/unittests/Format/FormatTestComments.cpp
index 34d6b62b26c8..95afb17114a2 100644
--- a/clang/unittests/Format/FormatTestComments.cpp
+++ b/clang/unittests/Format/FormatTestComments.cpp
@@ -11,7 +11,6 @@
#include "../Tooling/ReplacementTest.h"
#include "FormatTestUtils.h"
-#include "clang/Frontend/TextDiagnosticPrinter.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/MemoryBuffer.h"
#include "gtest/gtest.h"
diff --git a/clang/unittests/Format/FormatTestObjC.cpp b/clang/unittests/Format/FormatTestObjC.cpp
index 21b8d4701271..a34a0832286b 100644
--- a/clang/unittests/Format/FormatTestObjC.cpp
+++ b/clang/unittests/Format/FormatTestObjC.cpp
@@ -11,7 +11,6 @@
#include "../Tooling/ReplacementTest.h"
#include "FormatTestUtils.h"
-#include "clang/Frontend/TextDiagnosticPrinter.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/MemoryBuffer.h"
#include "gtest/gtest.h"
diff --git a/clang/unittests/Format/FormatTestRawStrings.cpp b/clang/unittests/Format/FormatTestRawStrings.cpp
index 31490355468e..6310fe510fd3 100644
--- a/clang/unittests/Format/FormatTestRawStrings.cpp
+++ b/clang/unittests/Format/FormatTestRawStrings.cpp
@@ -11,7 +11,6 @@
#include "../Tooling/ReplacementTest.h"
#include "FormatTestUtils.h"
-#include "clang/Frontend/TextDiagnosticPrinter.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/MemoryBuffer.h"
#include "gtest/gtest.h"
diff --git a/clang/unittests/Format/NamespaceEndCommentsFixerTest.cpp b/clang/unittests/Format/NamespaceEndCommentsFixerTest.cpp
index 463afa67e8b0..3340e02f4a1c 100644
--- a/clang/unittests/Format/NamespaceEndCommentsFixerTest.cpp
+++ b/clang/unittests/Format/NamespaceEndCommentsFixerTest.cpp
@@ -8,7 +8,6 @@
#include "clang/Format/Format.h"
-#include "clang/Frontend/TextDiagnosticPrinter.h"
#include "llvm/Support/Debug.h"
#include "gtest/gtest.h"
diff --git a/clang/unittests/Tooling/RewriterTestContext.h b/clang/unittests/Tooling/RewriterTestContext.h
index 99f7a11dca98..ae2d2baa0fdc 100644
--- a/clang/unittests/Tooling/RewriterTestContext.h
+++ b/clang/unittests/Tooling/RewriterTestContext.h
@@ -18,7 +18,6 @@
#include "clang/Basic/FileManager.h"
#include "clang/Basic/LangOptions.h"
#include "clang/Basic/SourceManager.h"
-#include "clang/Frontend/TextDiagnosticPrinter.h"
#include "clang/Rewrite/Core/Rewriter.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/Path.h"
@@ -26,6 +25,22 @@
namespace clang {
+/// \brief A very simple diagnostic consumer that prints to stderr and keeps
+/// track of the number of diagnostics.
+///
+/// This avoids a dependency on clangFrontend for FormatTests.
+struct RewriterDiagnosticConsumer : public DiagnosticConsumer {
+ RewriterDiagnosticConsumer() : NumDiagnosticsSeen(0) {}
+ void HandleDiagnostic(DiagnosticsEngine::Level DiagLevel,
+ const Diagnostic &Info) override {
+ ++NumDiagnosticsSeen;
+ SmallString<100> OutStr;
+ Info.FormatDiagnostic(OutStr);
+ llvm::errs() << OutStr;
+ }
+ unsigned NumDiagnosticsSeen;
+};
+
/// \brief A class that sets up a ready to use Rewriter.
///
/// Useful in unit tests that need a Rewriter. Creates all dependencies
@@ -37,7 +52,6 @@ class RewriterTestContext {
: DiagOpts(new DiagnosticOptions()),
Diagnostics(IntrusiveRefCntPtr<DiagnosticIDs>(new DiagnosticIDs),
&*DiagOpts),
- DiagnosticPrinter(llvm::outs(), &*DiagOpts),
InMemoryFileSystem(new llvm::vfs::InMemoryFileSystem),
OverlayFileSystem(
new llvm::vfs::OverlayFileSystem(llvm::vfs::getRealFileSystem())),
@@ -113,7 +127,7 @@ class RewriterTestContext {
IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts;
DiagnosticsEngine Diagnostics;
- TextDiagnosticPrinter DiagnosticPrinter;
+ RewriterDiagnosticConsumer DiagnosticPrinter;
IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> InMemoryFileSystem;
IntrusiveRefCntPtr<llvm::vfs::OverlayFileSystem> OverlayFileSystem;
FileManager Files;
More information about the cfe-commits
mailing list