From af32b37c7c51569cc6da17c0ea81da81277937b3 Mon Sep 17 00:00:00 2001 From: Yegappan Lakshmanan Date: Mon, 24 Oct 2022 19:16:14 -0700 Subject: [PATCH] Wait for diag messages from LSP server --- test/unit_tests.vim | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) 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]) -- 2.48.1