Before: Save g:ale_buffer_info Save &filetype " Set up items in other buffers which should set in this one. let g:ale_buffer_info = {} call ale#engine#InitBufferInfo(bufnr('') + 1) let g:ale_buffer_info[bufnr('') + 1].loclist = \ ale#engine#FixLocList(bufnr('') + 1, 'linter_one', [ \ {'lnum': 1, 'filename': expand('%:p'), 'text': 'foo'}, \ {'lnum': 2, 'filename': expand('%:p'), 'text': 'bar'}, \ {'lnum': 2, 'text': 'ignore this one'}, \ ]) call ale#engine#InitBufferInfo(bufnr('') + 2) let g:ale_buffer_info[bufnr('') + 2].loclist = \ ale#engine#FixLocList(bufnr('') + 2, 'linter_two', [ \ {'lnum': 1, 'filename': expand('%:p'), 'text': 'foo'}, \ {'lnum': 3, 'filename': expand('%:p'), 'text': 'baz'}, \ {'lnum': 5, 'text': 'ignore this one'}, \ ]) call ale#linter#Define('foobar', { \ 'name': 'linter_one', \ 'callback': 'WhoCares', \ 'executable': 'echo', \ 'command': 'echo', \ 'lint_file': 1, \}) call ale#linter#Define('foobar', { \ 'name': 'linter_two', \ 'callback': 'WhoCares', \ 'executable': 'echo', \ 'command': 'echo', \}) After: call ale#engine#Cleanup(bufnr('')) Restore call ale#linter#Reset() " Items and markers, etc. call setloclist(0, []) call clearmatches() sign unplace * Given foobar(A file with some lines): foo bar baz Execute(Problems found from previously opened buffers should be set when linting for the first time): call ale#engine#RunLinters(bufnr(''), ale#linter#Get(&filetype), 0) AssertEqual \ [ \ {'lnum': 1, 'bufnr': bufnr(''), 'col': 0, 'valid': 1, 'vcol': 0, 'nr': -1, 'type': 'E', 'pattern': '', 'text': 'foo'}, \ {'lnum': 2, 'bufnr': bufnr(''), 'col': 0, 'valid': 1, 'vcol': 0, 'nr': -1, 'type': 'E', 'pattern': '', 'text': 'bar'}, \ {'lnum': 3, 'bufnr': bufnr(''), 'col': 0, 'valid': 1, 'vcol': 0, 'nr': -1, 'type': 'E', 'pattern': '', 'text': 'baz'}, \ ], \ getloclist(0)