forked from OSchip/llvm-project
[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
This commit is contained in:
parent
a2214757e2
commit
66a3b9073a
|
@ -27,7 +27,6 @@ clang_target_link_libraries(FormatTests
|
|||
PRIVATE
|
||||
clangBasic
|
||||
clangFormat
|
||||
clangFrontend
|
||||
clangRewrite
|
||||
clangToolingCore
|
||||
)
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
|
||||
#include "clang/Format/Format.h"
|
||||
|
||||
#include "clang/Frontend/TextDiagnosticPrinter.h"
|
||||
#include "llvm/Support/Debug.h"
|
||||
#include "gtest/gtest.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;
|
||||
|
|
Loading…
Reference in New Issue