summaryrefslogtreecommitdiff
path: root/test/smoke_test.vader
diff options
context:
space:
mode:
authorw0rp <devw0rp@gmail.com>2018-07-16 13:46:44 +0100
committerw0rp <devw0rp@gmail.com>2018-07-16 13:46:44 +0100
commitf235c4b3b9247f43d7993bda6f38fa550d7d19ca (patch)
tree9387fe62c55cc83e69bac45aaca8f8e83196c323 /test/smoke_test.vader
parent8b707b4cdc7ef4e0b9b90a4904e66f809ef17f03 (diff)
downloadale-f235c4b3b9247f43d7993bda6f38fa550d7d19ca.zip
Make NeoVim 0.3 tests fail a bit less
Diffstat (limited to 'test/smoke_test.vader')
-rw-r--r--test/smoke_test.vader35
1 files changed, 30 insertions, 5 deletions
diff --git a/test/smoke_test.vader b/test/smoke_test.vader
index 6fbdc121..1cbf512d 100644
--- a/test/smoke_test.vader
+++ b/test/smoke_test.vader
@@ -35,6 +35,7 @@ After:
unlet! g:i
unlet! g:results
+ unlet! g:item
unlet! g:expected_results
delfunction TestCallback
@@ -50,10 +51,7 @@ Given foobar (Some imaginary filetype):
Execute(Linters should run with the default options):
AssertEqual 'foobar', &filetype
- call ale#Lint()
- call ale#engine#WaitForJobs(2000)
-
- AssertEqual [{
+ let g:expected_results = [{
\ 'bufnr': bufnr('%'),
\ 'lnum': 2,
\ 'vcol': 0,
@@ -63,7 +61,28 @@ Execute(Linters should run with the default options):
\ 'nr': -1,
\ 'pattern': '',
\ 'valid': 1,
- \ }], getloclist(0)
+ \ }]
+
+ " Try the test a few times over in NeoVim 0.3 or Windows,
+ " where tests fail randomly.
+ for g:i in range(has('nvim-0.3') || has('win32') ? 5 : 1)
+ call ale#Lint()
+ call ale#engine#WaitForJobs(2000)
+
+ let g:results = getloclist(0)
+
+ for g:item in g:results
+ if has_key(g:item, 'module')
+ call remove(g:item, 'module')
+ endif
+ endfor
+
+ if g:results == g:expected_results
+ break
+ endif
+ endfor
+
+ AssertEqual g:expected_results, g:results
Execute(Linters should run in PowerShell too):
if has('win32')
@@ -159,6 +178,12 @@ Execute(Previous errors should be removed when linters change):
let g:results = getloclist(0)
+ for g:item in g:results
+ if has_key(g:item, 'module')
+ call remove(g:item, 'module')
+ endif
+ endfor
+
if g:results == g:expected_results
break
endif