summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang-tools-extra/unittests/clangd/SymbolCollectorTests.cpp12
-rw-r--r--clang-tools-extra/unittests/clangd/TestFS.cpp2
-rw-r--r--clang-tools-extra/unittests/clangd/TestFS.h3
3 files changed, 11 insertions, 6 deletions
diff --git a/clang-tools-extra/unittests/clangd/SymbolCollectorTests.cpp b/clang-tools-extra/unittests/clangd/SymbolCollectorTests.cpp
index 41e75003b38..848d53f8b93 100644
--- a/clang-tools-extra/unittests/clangd/SymbolCollectorTests.cpp
+++ b/clang-tools-extra/unittests/clangd/SymbolCollectorTests.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+#include "TestFS.h"
#include "index/SymbolCollector.h"
#include "index/SymbolYAML.h"
#include "clang/Basic/FileManager.h"
@@ -44,7 +45,7 @@ MATCHER_P(Snippet, S, "") {
return arg.CompletionSnippetInsertText == S;
}
MATCHER_P(QName, Name, "") { return (arg.Scope + arg.Name).str() == Name; }
-MATCHER_P(Path, P, "") { return arg.CanonicalDeclaration.FilePath == P; }
+MATCHER_P(CPath, P, "") { return arg.CanonicalDeclaration.FilePath == P; }
namespace clang {
namespace clangd {
@@ -156,15 +157,16 @@ TEST_F(SymbolCollectorTest, SymbolRelativeNoFallback) {
CollectorOpts.IndexMainFiles = false;
runSymbolCollector("class Foo {};", /*Main=*/"");
EXPECT_THAT(Symbols,
- UnorderedElementsAre(AllOf(QName("Foo"), Path("symbols.h"))));
+ UnorderedElementsAre(AllOf(QName("Foo"), CPath("symbols.h"))));
}
TEST_F(SymbolCollectorTest, SymbolRelativeWithFallback) {
CollectorOpts.IndexMainFiles = false;
- CollectorOpts.FallbackDir = "/cwd";
+ CollectorOpts.FallbackDir = getVirtualTestRoot();
runSymbolCollector("class Foo {};", /*Main=*/"");
- EXPECT_THAT(Symbols, UnorderedElementsAre(
- AllOf(QName("Foo"), Path("/cwd/symbols.h"))));
+ EXPECT_THAT(Symbols,
+ UnorderedElementsAre(AllOf(
+ QName("Foo"), CPath(getVirtualTestFilePath("symbols.h")))));
}
TEST_F(SymbolCollectorTest, IncludeEnums) {
diff --git a/clang-tools-extra/unittests/clangd/TestFS.cpp b/clang-tools-extra/unittests/clangd/TestFS.cpp
index d911fa535f7..42fb4b87d5d 100644
--- a/clang-tools-extra/unittests/clangd/TestFS.cpp
+++ b/clang-tools-extra/unittests/clangd/TestFS.cpp
@@ -159,7 +159,7 @@ MockCompilationDatabase::getCompileCommand(PathRef File) const {
std::move(CommandLine), "")};
}
-static const char *getVirtualTestRoot() {
+const char *getVirtualTestRoot() {
#ifdef LLVM_ON_WIN32
return "C:\\clangd-test";
#else
diff --git a/clang-tools-extra/unittests/clangd/TestFS.h b/clang-tools-extra/unittests/clangd/TestFS.h
index 6abad208b9d..6ff1c662201 100644
--- a/clang-tools-extra/unittests/clangd/TestFS.h
+++ b/clang-tools-extra/unittests/clangd/TestFS.h
@@ -45,6 +45,9 @@ public:
std::vector<std::string> ExtraClangFlags;
};
+// Returns an absolute (fake) test directory for this OS.
+const char *getVirtualTestRoot();
+
// Returns a suitable absolute path for this OS.
llvm::SmallString<32> getVirtualTestFilePath(PathRef File);
OpenPOWER on IntegriCloud