summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/unittests/clangd/TestFS.h
diff options
context:
space:
mode:
authorSam McCall <sam.mccall@gmail.com>2019-04-29 08:44:01 +0000
committerSam McCall <sam.mccall@gmail.com>2019-04-29 08:44:01 +0000
commitb804eef09052cf40e79aa2ed8a23f2f39e2dda1b (patch)
tree7315d3e6ad44c8898b9952d3fdaeb523ec47bf8b /clang-tools-extra/unittests/clangd/TestFS.h
parente62915bcc1a1f40e9846f58388c2b32bee76000c (diff)
downloadbcm5719-llvm-b804eef09052cf40e79aa2ed8a23f2f39e2dda1b.tar.gz
bcm5719-llvm-b804eef09052cf40e79aa2ed8a23f2f39e2dda1b.zip
[clangd] Move clangd tests to clangd directory. check-clangd is no longer part of check-clang-tools.
Summary: Motivation: - this layout is a pain to work with - without a common root, it's painful to express things like "disable clangd" (D61122) - CMake/lit configs are a maintenance hazard, and the more the one-off hacks for various tools are entangled, the more we see apathy and non-ownership. This attempts to use the bare-minimum configuration needed (while still supporting the difficult cases: windows, standalone clang build, dynamic libs). In particular the lit.cfg.py and lit.site.cfg.py.in are merged into lit.cfg.in. The logic in these files is now minimal. (Much of clang-tools-extra's lit configs can probably be cleaned up by reusing lit.llvm.llvm_config.use_clang(), and every llvm project does its own version of LDPATH mangling. I haven't attempted to fix any of those). Docs are still in clang-tools-extra/docs, I don't have any plans to touch those. Reviewers: gribozavr Subscribers: mgorny, javed.absar, MaskRay, jkorous, arphaman, kadircet, jfb, cfe-commits, ilya-biryukov, thakis Tags: #clang Differential Revision: https://reviews.llvm.org/D61187 llvm-svn: 359424
Diffstat (limited to 'clang-tools-extra/unittests/clangd/TestFS.h')
-rw-r--r--clang-tools-extra/unittests/clangd/TestFS.h73
1 files changed, 0 insertions, 73 deletions
diff --git a/clang-tools-extra/unittests/clangd/TestFS.h b/clang-tools-extra/unittests/clangd/TestFS.h
deleted file mode 100644
index eabdddf70ac..00000000000
--- a/clang-tools-extra/unittests/clangd/TestFS.h
+++ /dev/null
@@ -1,73 +0,0 @@
-//===-- TestFS.h ------------------------------------------------*- C++ -*-===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-//
-// Allows setting up fake filesystem environments for tests.
-//
-//===----------------------------------------------------------------------===//
-#ifndef LLVM_CLANG_TOOLS_EXTRA_UNITTESTS_CLANGD_TESTFS_H
-#define LLVM_CLANG_TOOLS_EXTRA_UNITTESTS_CLANGD_TESTFS_H
-#include "ClangdServer.h"
-#include "llvm/ADT/IntrusiveRefCntPtr.h"
-#include "llvm/Support/Path.h"
-#include "llvm/Support/VirtualFileSystem.h"
-
-namespace clang {
-namespace clangd {
-
-// Builds a VFS that provides access to the provided files, plus temporary
-// directories.
-llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>
-buildTestFS(llvm::StringMap<std::string> const &Files,
- llvm::StringMap<time_t> const &Timestamps = {});
-
-// A VFS provider that returns TestFSes containing a provided set of files.
-class MockFSProvider : public FileSystemProvider {
-public:
- IntrusiveRefCntPtr<llvm::vfs::FileSystem> getFileSystem() const override {
- return buildTestFS(Files);
- }
-
- // If relative paths are used, they are resolved with testPath().
- llvm::StringMap<std::string> Files;
-};
-
-// A Compilation database that returns a fixed set of compile flags.
-class MockCompilationDatabase : public GlobalCompilationDatabase {
-public:
- /// If \p Directory is not empty, use that as the Directory field of the
- /// CompileCommand, and as project SourceRoot.
- ///
- /// If \p RelPathPrefix is not empty, use that as a prefix in front of the
- /// source file name, instead of using an absolute path.
- MockCompilationDatabase(StringRef Directory = StringRef(),
- StringRef RelPathPrefix = StringRef());
-
- llvm::Optional<tooling::CompileCommand>
- getCompileCommand(PathRef File, ProjectInfo * = nullptr) const override;
-
- std::vector<std::string> ExtraClangFlags;
-
-private:
- StringRef Directory;
- StringRef RelPathPrefix;
-};
-
-// Returns an absolute (fake) test directory for this OS.
-const char *testRoot();
-
-// Returns a suitable absolute path for this OS.
-std::string testPath(PathRef File);
-
-// unittest: is a scheme that refers to files relative to testRoot()
-// This anchor is used to force the linker to link in the generated object file
-// and thus register unittest: URI scheme plugin.
-extern volatile int UnittestSchemeAnchorSource;
-
-} // namespace clangd
-} // namespace clang
-#endif
OpenPOWER on IntegriCloud