diff options
| author | Sam McCall <sam.mccall@gmail.com> | 2018-03-05 17:28:54 +0000 |
|---|---|---|
| committer | Sam McCall <sam.mccall@gmail.com> | 2018-03-05 17:28:54 +0000 |
| commit | 7363a2f270e38179b259921800e99c018d15717c (patch) | |
| tree | 6b12091bb8f56df894d4e6cf7a39c8ef2656dbff /clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp | |
| parent | cd855f70c5230a79d0b91cbbf6fb959572e67c50 (diff) | |
| download | bcm5719-llvm-7363a2f270e38179b259921800e99c018d15717c.tar.gz bcm5719-llvm-7363a2f270e38179b259921800e99c018d15717c.zip | |
[clangd] Extract ClangdServer::Options struct.
Summary:
This subsumes most of the params to ClangdServer and ClangdLSPServer.
Adjacent changes:
- tests use a consistent set of options, except when testing specific options
- tests that previously used synchronous mode for convenience no longer do
- added a runAddDocument helper to SyncAPIs to mitigate the extra code
- rearranged main a bit to follow the structure of the options
Reviewers: ilya-biryukov
Subscribers: klimek, jkorous-apple, ioeric, cfe-commits
Differential Revision: https://reviews.llvm.org/D44088
llvm-svn: 326719
Diffstat (limited to 'clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp')
| -rw-r--r-- | clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp | 30 |
1 files changed, 11 insertions, 19 deletions
diff --git a/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp b/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp index ccf2bedc56f..9e093af8213 100644 --- a/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp +++ b/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp @@ -117,12 +117,10 @@ CompletionList completions(StringRef Text, MockFSProvider FS; MockCompilationDatabase CDB; IgnoreDiagnostics DiagConsumer; - ClangdServer Server(CDB, DiagConsumer, FS, getDefaultAsyncThreadsCount(), - /*StorePreamblesInMemory=*/true); + ClangdServer Server(CDB, FS, DiagConsumer, ClangdServer::optsForTest()); auto File = testPath("foo.cpp"); Annotations Test(Text); - Server.addDocument(File, Test.code()); - EXPECT_TRUE(Server.blockUntilIdleForTest()) << "Waiting for preamble"; + runAddDocument(Server, File, Test.code()); auto CompletionList = runCodeComplete(Server, File, Test.point(), Opts).Value; // Sanity-check that filterText is valid. EXPECT_THAT(CompletionList.items, Each(NameContainsFilter())); @@ -522,8 +520,7 @@ TEST(CompletionTest, IndexSuppressesPreambleCompletions) { MockFSProvider FS; MockCompilationDatabase CDB; IgnoreDiagnostics DiagConsumer; - ClangdServer Server(CDB, DiagConsumer, FS, getDefaultAsyncThreadsCount(), - /*StorePreamblesInMemory=*/true); + ClangdServer Server(CDB, FS, DiagConsumer, ClangdServer::optsForTest()); FS.Files[testPath("bar.h")] = R"cpp(namespace ns { struct preamble { int member; }; })cpp"; @@ -534,8 +531,7 @@ TEST(CompletionTest, IndexSuppressesPreambleCompletions) { void f() { ns::^; } void f() { ns::preamble().$2^; } )cpp"); - Server.addDocument(File, Test.code()); - ASSERT_TRUE(Server.blockUntilIdleForTest()) << "Waiting for preamble"; + runAddDocument(Server, File, Test.code()); clangd::CodeCompleteOptions Opts = {}; auto I = memIndex({var("ns::index")}); @@ -558,17 +554,16 @@ TEST(CompletionTest, DynamicIndexMultiFile) { MockFSProvider FS; MockCompilationDatabase CDB; IgnoreDiagnostics DiagConsumer; - ClangdServer Server(CDB, DiagConsumer, FS, getDefaultAsyncThreadsCount(), - /*StorePreamblesInMemory=*/true, - /*BuildDynamicSymbolIndex=*/true); + auto Opts = ClangdServer::optsForTest(); + Opts.BuildDynamicSymbolIndex = true; + ClangdServer Server(CDB, FS, DiagConsumer, Opts); FS.Files[testPath("foo.h")] = R"cpp( namespace ns { class XYZ {}; void foo(int x) {} } )cpp"; - Server.addDocument(testPath("foo.cpp"), R"cpp( + runAddDocument(Server, testPath("foo.cpp"), R"cpp( #include "foo.h" )cpp"); - ASSERT_TRUE(Server.blockUntilIdleForTest()) << "Waiting for preamble"; auto File = testPath("bar.cpp"); Annotations Test(R"cpp( @@ -579,8 +574,7 @@ TEST(CompletionTest, DynamicIndexMultiFile) { } void f() { ns::^ } )cpp"); - Server.addDocument(File, Test.code()); - ASSERT_TRUE(Server.blockUntilIdleForTest()) << "Waiting for preamble"; + runAddDocument(Server, File, Test.code()); auto Results = runCodeComplete(Server, File, Test.point(), {}).Value; // "XYZ" and "foo" are not included in the file being completed but are still @@ -605,12 +599,10 @@ SignatureHelp signatures(StringRef Text) { MockFSProvider FS; MockCompilationDatabase CDB; IgnoreDiagnostics DiagConsumer; - ClangdServer Server(CDB, DiagConsumer, FS, getDefaultAsyncThreadsCount(), - /*StorePreamblesInMemory=*/true); + ClangdServer Server(CDB, FS, DiagConsumer, ClangdServer::optsForTest()); auto File = testPath("foo.cpp"); Annotations Test(Text); - Server.addDocument(File, Test.code()); - EXPECT_TRUE(Server.blockUntilIdleForTest()) << "Waiting for preamble"; + runAddDocument(Server, File, Test.code()); auto R = runSignatureHelp(Server, File, Test.point()); assert(R); return R.get().Value; |

