summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/unittests
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra/unittests')
-rw-r--r--clang-tools-extra/unittests/clangd/DexTests.cpp8
-rw-r--r--clang-tools-extra/unittests/clangd/FileIndexTests.cpp17
-rw-r--r--clang-tools-extra/unittests/clangd/TestTU.cpp3
3 files changed, 12 insertions, 16 deletions
diff --git a/clang-tools-extra/unittests/clangd/DexTests.cpp b/clang-tools-extra/unittests/clangd/DexTests.cpp
index 13065924780..0faea3b0faf 100644
--- a/clang-tools-extra/unittests/clangd/DexTests.cpp
+++ b/clang-tools-extra/unittests/clangd/DexTests.cpp
@@ -492,19 +492,13 @@ TEST(Dex, FuzzyFind) {
"other::A"));
}
-// FIXME(kbobyrev): This test is different for Dex and MemIndex: while
-// MemIndex manages response deduplication, Dex simply returns all matched
-// symbols which means there might be equivalent symbols in the response.
-// Before drop-in replacement of MemIndex with Dex happens, FileIndex
-// should handle deduplication instead.
TEST(DexTest, DexDeduplicate) {
std::vector<Symbol> Symbols = {symbol("1"), symbol("2"), symbol("3"),
symbol("2") /* duplicate */};
FuzzyFindRequest Req;
Req.Query = "2";
Dex I(Symbols, RefSlab(), URISchemes);
- EXPECT_FALSE(Req.Limit);
- EXPECT_THAT(match(I, Req), ElementsAre("2", "2"));
+ EXPECT_THAT(match(I, Req), ElementsAre("2"));
}
TEST(DexTest, DexLimitedNumMatches) {
diff --git a/clang-tools-extra/unittests/clangd/FileIndexTests.cpp b/clang-tools-extra/unittests/clangd/FileIndexTests.cpp
index 288eab5f1f3..1295a5c90f3 100644
--- a/clang-tools-extra/unittests/clangd/FileIndexTests.cpp
+++ b/clang-tools-extra/unittests/clangd/FileIndexTests.cpp
@@ -82,12 +82,12 @@ RefSlab getRefs(const SymbolIndex &I, SymbolID ID) {
TEST(FileSymbolsTest, UpdateAndGet) {
FileSymbols FS;
- EXPECT_THAT(runFuzzyFind(*FS.buildMemIndex(), ""), IsEmpty());
+ EXPECT_THAT(runFuzzyFind(*FS.buildIndex(IndexType::Light), ""), IsEmpty());
FS.update("f1", numSlab(1, 3), refSlab(SymbolID("1"), "f1.cc"));
- EXPECT_THAT(runFuzzyFind(*FS.buildMemIndex(), ""),
+ EXPECT_THAT(runFuzzyFind(*FS.buildIndex(IndexType::Light), ""),
UnorderedElementsAre(QName("1"), QName("2"), QName("3")));
- EXPECT_THAT(getRefs(*FS.buildMemIndex(), SymbolID("1")),
+ EXPECT_THAT(getRefs(*FS.buildIndex(IndexType::Light), SymbolID("1")),
RefsAre({FileURI("f1.cc")}));
}
@@ -95,9 +95,10 @@ TEST(FileSymbolsTest, Overlap) {
FileSymbols FS;
FS.update("f1", numSlab(1, 3), nullptr);
FS.update("f2", numSlab(3, 5), nullptr);
- EXPECT_THAT(runFuzzyFind(*FS.buildMemIndex(), ""),
- UnorderedElementsAre(QName("1"), QName("2"), QName("3"),
- QName("4"), QName("5")));
+ for (auto Type : {IndexType::Light, IndexType::Heavy})
+ EXPECT_THAT(runFuzzyFind(*FS.buildIndex(Type), ""),
+ UnorderedElementsAre(QName("1"), QName("2"), QName("3"),
+ QName("4"), QName("5")));
}
TEST(FileSymbolsTest, SnapshotAliveAfterRemove) {
@@ -106,13 +107,13 @@ TEST(FileSymbolsTest, SnapshotAliveAfterRemove) {
SymbolID ID("1");
FS.update("f1", numSlab(1, 3), refSlab(ID, "f1.cc"));
- auto Symbols = FS.buildMemIndex();
+ auto Symbols = FS.buildIndex(IndexType::Light);
EXPECT_THAT(runFuzzyFind(*Symbols, ""),
UnorderedElementsAre(QName("1"), QName("2"), QName("3")));
EXPECT_THAT(getRefs(*Symbols, ID), RefsAre({FileURI("f1.cc")}));
FS.update("f1", nullptr, nullptr);
- auto Empty = FS.buildMemIndex();
+ auto Empty = FS.buildIndex(IndexType::Light);
EXPECT_THAT(runFuzzyFind(*Empty, ""), IsEmpty());
EXPECT_THAT(getRefs(*Empty, ID), ElementsAre());
diff --git a/clang-tools-extra/unittests/clangd/TestTU.cpp b/clang-tools-extra/unittests/clangd/TestTU.cpp
index f63b738c946..0ced38474f7 100644
--- a/clang-tools-extra/unittests/clangd/TestTU.cpp
+++ b/clang-tools-extra/unittests/clangd/TestTU.cpp
@@ -50,7 +50,8 @@ SymbolSlab TestTU::headerSymbols() const {
std::unique_ptr<SymbolIndex> TestTU::index() const {
auto AST = build();
- auto Idx = llvm::make_unique<FileIndex>();
+ auto Idx = llvm::make_unique<FileIndex>(
+ /*URISchemes=*/std::vector<std::string>{}, /*UseDex=*/true);
Idx->updatePreamble(Filename, AST.getASTContext(), AST.getPreprocessorPtr());
Idx->updateMain(Filename, AST);
return std::move(Idx);
OpenPOWER on IntegriCloud