Skip to content

Commit ca0aa89

Browse files
committed
Stabilize Vim e2e startup waits
1 parent 25ddfd3 commit ca0aa89

2 files changed

Lines changed: 38 additions & 4 deletions

File tree

test/vim-simple-test.vim

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,25 @@ function s:suite.analyzes_powershell_file()
3333
call s:assert.equal(getbufvar(l:bufinfo.bufnr, '&filetype'), 'ps1')
3434

3535
execute 'LanguageClientStart'
36-
execute 'sleep' 5
36+
for l:attempt in range(1, 30)
37+
if getbufvar(l:bufinfo.name, 'LanguageClient_isServerRunning') == 1
38+
break
39+
endif
40+
41+
execute 'sleep' 1
42+
endfor
43+
3744
call s:assert.equal(getbufvar(l:bufinfo.name, 'LanguageClient_isServerRunning'), 1)
3845
call s:assert.equal(getbufvar(l:bufinfo.name, 'LanguageClient_projectRoot'), g:repo_root)
39-
call s:assert.equal(getbufvar(l:bufinfo.name, 'LanguageClient_statusLineDiagnosticsCounts'), {'E': 0, 'W': 1, 'H': 0, 'I': 0})
46+
47+
let l:expected_diagnostics = {'E': 0, 'W': 1, 'H': 0, 'I': 0}
48+
for l:attempt in range(1, 30)
49+
if getbufvar(l:bufinfo.name, 'LanguageClient_statusLineDiagnosticsCounts') == l:expected_diagnostics
50+
break
51+
endif
52+
53+
execute 'sleep' 1
54+
endfor
55+
56+
call s:assert.equal(getbufvar(l:bufinfo.name, 'LanguageClient_statusLineDiagnosticsCounts'), l:expected_diagnostics)
4057
endfunction

test/vim-test.vim

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,25 @@ function s:suite.analyzes_powershell_file()
3737
call s:assert.equal(getbufvar(l:bufinfo.bufnr, '&filetype'), 'ps1')
3838

3939
execute 'LanguageClientStart'
40-
execute 'sleep' 5
40+
for l:attempt in range(1, 30)
41+
if getbufvar(l:bufinfo.name, 'LanguageClient_isServerRunning') == 1
42+
break
43+
endif
44+
45+
execute 'sleep' 1
46+
endfor
47+
4148
call s:assert.equal(getbufvar(l:bufinfo.name, 'LanguageClient_isServerRunning'), 1)
4249
call s:assert.equal(getbufvar(l:bufinfo.name, 'LanguageClient_projectRoot'), g:repo_root)
43-
call s:assert.equal(getbufvar(l:bufinfo.name, 'LanguageClient_statusLineDiagnosticsCounts'), {'E': 0, 'W': 1, 'H': 0, 'I': 0})
50+
51+
let l:expected_diagnostics = {'E': 0, 'W': 1, 'H': 0, 'I': 0}
52+
for l:attempt in range(1, 30)
53+
if getbufvar(l:bufinfo.name, 'LanguageClient_statusLineDiagnosticsCounts') == l:expected_diagnostics
54+
break
55+
endif
56+
57+
execute 'sleep' 1
58+
endfor
59+
60+
call s:assert.equal(getbufvar(l:bufinfo.name, 'LanguageClient_statusLineDiagnosticsCounts'), l:expected_diagnostics)
4461
endfunction

0 commit comments

Comments
 (0)