From 0fd9c309355b1e441dbbcc2cf396be2b6fec0ea9 Mon Sep 17 00:00:00 2001 From: "shane.xb.qian" Date: Sun, 16 Apr 2023 12:26:46 +0800 Subject: [PATCH] fix: to fix flaky test result/failure at local vs ci Signed-off-by: shane.xb.qian --- test/clangd_tests.vim | 24 ++++++++++++++++++++---- test/common.vim | 4 ++-- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/test/clangd_tests.vim b/test/clangd_tests.vim index 9c211f6..95a13bc 100644 --- a/test/clangd_tests.vim +++ b/test/clangd_tests.vim @@ -18,7 +18,11 @@ var lspServers = [{ } }] call LspAddServer(lspServers) -echomsg systemlist($'{shellescape(lspServers[0].path)} --version') + +var clangdVerDetail = systemlist($'{shellescape(lspServers[0].path)} --version') +var clangdVerMajor = clangdVerDetail->matchstr('.*version \d\+\..*')->substitute('.* \(\d\+\)\..*', '\1', 'g')->str2nr() +echomsg clangdVerDetail + # Test for formatting a file using LspFormat def g:Test_LspFormat() @@ -359,13 +363,21 @@ def g:Test_LspDiag_Multi() setline(1, lines) :redraw! # TODO: Waiting count doesn't include Warning, Info, and Hint diags - g:WaitForServerFileLoad(3) + if clangdVerMajor > 14 + g:WaitForServerFileLoad(3) + else + g:WaitForServerFileLoad(2) + endif :LspDiagShow var qfl: list> = getloclist(0) assert_equal('quickfix', getwinvar(winnr('$'), '&buftype')) assert_equal(bnr, qfl[0].bufnr) assert_equal(3, qfl->len()) - assert_equal([1, 5, 'E'], [qfl[0].lnum, qfl[0].col, qfl[0].type]) + if clangdVerMajor > 14 + assert_equal([1, 5, 'E'], [qfl[0].lnum, qfl[0].col, qfl[0].type]) + else + assert_equal([1, 5, 'W'], [qfl[0].lnum, qfl[0].col, qfl[0].type]) + endif assert_equal([1, 9, 'E'], [qfl[1].lnum, qfl[1].col, qfl[1].type]) assert_equal([2, 9, 'E'], [qfl[2].lnum, qfl[2].col, qfl[2].type]) close @@ -965,7 +977,11 @@ def g:Test_LspHover() } END setline(1, lines) - g:WaitForServerFileLoad(1) + if clangdVerMajor > 14 + g:WaitForServerFileLoad(1) + else + g:WaitForServerFileLoad(0) + endif cursor(8, 4) var output = execute(':LspHover')->split("\n") assert_equal([], output) diff --git a/test/common.vim b/test/common.vim index 2ea67af..045642e 100644 --- a/test/common.vim +++ b/test/common.vim @@ -101,7 +101,7 @@ func g:WaitFor(expr, ...) endfunc # Wait for diagnostic messages from the LSP server. -# Waits for a maximum of (100 * 200) / 1000 = 20 seconds +# Waits for a maximum of (150 * 200) / 1000 = 30 seconds def g:WaitForDiags(errCount: number) var retries = 0 while retries < 200 @@ -110,7 +110,7 @@ def g:WaitForDiags(errCount: number) break endif retries += 1 - :sleep 100m + :sleep 150m endwhile assert_equal(errCount, lsp#lsp#ErrorCount().Error) -- 2.50.0