]> Sergey Matveev's repositories - vim-lsp.git/commitdiff
fix: to fix flaky test result/failure at local vs ci
authorshane.xb.qian <shane.qian@foxmail.com>
Sun, 16 Apr 2023 04:26:46 +0000 (12:26 +0800)
committershane.xb.qian <shane.qian@foxmail.com>
Sun, 16 Apr 2023 04:26:46 +0000 (12:26 +0800)
Signed-off-by: shane.xb.qian <shane.qian@foxmail.com>
test/clangd_tests.vim
test/common.vim

index 9c211f60220ce151acb46249292ff705b71c6cc5..95a13bc1b97a2071801f26498741f687ae57e9ef 100644 (file)
@@ -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<dict<any>> = 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)
index 2ea67af0396af28446cebb4f5b83900f75c33a97..045642efa2c662dd35e2b08746de08646f07e64d 100644 (file)
@@ -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)