aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2024-03-18 19:49:31 +0800
committerGitHub <noreply@github.com>2024-03-18 19:49:31 +0800
commit5de0482d1abfdc0a4ede1b96f729dae38f1c7c56 (patch)
treef969ccc78a0c0a4578d3fdcfc8910792b701ce97
parente34c23b7016aee5ac6483ab53fed1bce037cec5a (diff)
downloadrneovim-5de0482d1abfdc0a4ede1b96f729dae38f1c7c56.tar.gz
rneovim-5de0482d1abfdc0a4ede1b96f729dae38f1c7c56.tar.bz2
rneovim-5de0482d1abfdc0a4ede1b96f729dae38f1c7c56.zip
test(lsp): fix flaky basic_finish test (#27899)
Problem: As mentioned in #23002 on_setup and on_init are run concurrently. However, in basic_finish tests on_setup must attach the client before on_init finishes. The other basic_finish test isn't flaky because it makes an RPC request in on_init. Solution: Don't use on_setup in basic_finish tests.
-rw-r--r--test/functional/plugin/lsp_spec.lua12
1 files changed, 4 insertions, 8 deletions
diff --git a/test/functional/plugin/lsp_spec.lua b/test/functional/plugin/lsp_spec.lua
index f2d8890dd5..d130c74aac 100644
--- a/test/functional/plugin/lsp_spec.lua
+++ b/test/functional/plugin/lsp_spec.lua
@@ -282,7 +282,8 @@ describe('LSP', function()
local client
test_rpc_server {
test_name = 'basic_finish',
- on_setup = function()
+ on_init = function(_client)
+ client = _client
exec_lua [[
BUFFER = vim.api.nvim_create_buf(false, true)
]]
@@ -291,9 +292,6 @@ describe('LSP', function()
exec_lua [[
vim.api.nvim_command(BUFFER.."bwipeout")
]]
- end,
- on_init = function(_client)
- client = _client
client.notify('finish')
end,
on_exit = function(code, signal)
@@ -1060,7 +1058,8 @@ describe('LSP', function()
local client
test_rpc_server {
test_name = 'basic_finish',
- on_setup = function()
+ on_init = function(_client)
+ client = _client
exec_lua [[
BUFFER = vim.api.nvim_create_buf(false, true)
vim.api.nvim_buf_set_lines(BUFFER, 0, -1, false, {
@@ -1074,9 +1073,6 @@ describe('LSP', function()
exec_lua [[
vim.api.nvim_command(BUFFER.."bwipeout")
]]
- end,
- on_init = function(_client)
- client = _client
local full_kind = exec_lua("return require'vim.lsp.protocol'.TextDocumentSyncKind.Full")
eq(full_kind, client.server_capabilities().textDocumentSync.change)
eq(true, client.server_capabilities().textDocumentSync.openClose)