From: Yegappan Lakshmanan Date: Tue, 25 Oct 2022 02:16:14 +0000 (-0700) Subject: Wait for diag messages from LSP server X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=af32b37c7c51569cc6da17c0ea81da81277937b3;p=vim-lsp.git Wait for diag messages from LSP server --- diff --git a/test/unit_tests.vim b/test/unit_tests.vim index e048cd3..73f103e 100644 --- a/test/unit_tests.vim +++ b/test/unit_tests.vim @@ -231,6 +231,19 @@ def Test_LspShowReferences() :%bw! enddef +# Wait for diagnostic messages from the LSP server +def WaitForDiags(errCount: number) + var retries = 0 + while retries < 30 + var d = lsp#lsp#ErrorCount() + if d.Error == errCount + break + endif + retries += 1 + :sleep 100m + endwhile +enddef + # Test for LSP diagnostics def Test_LspDiag() :silent! edit Xtest.c @@ -247,15 +260,7 @@ def Test_LspDiag() END setline(1, lines) :sleep 1 - var retries = 0 - while retries < 3 - var d = lsp#lsp#ErrorCount() - if d.Error - break - endif - retries += 1 - :sleep 1 - endwhile + WaitForDiags(1) var bnr: number = bufnr() :redraw! :LspDiagShow @@ -287,7 +292,7 @@ def Test_LspDiag() assert_equal('Error: No more diagnostics found', output[0]) :%d setline(1, ['void blueFunc()', '{', '}']) - sleep 500m + WaitForDiags(0) output = execute('LspDiagShow')->split("\n") assert_match('No diagnostic messages found for', output[0])