spacevim/bundle/neomake/tests/isolated/logging.vader
JIe 2bb7059579
Some checks failed
Detach Plugins / check (FlyGrep.vim) (push) Has been cancelled
Detach Plugins / check (GitHub.vim) (push) Has been cancelled
Detach Plugins / check (JavaUnit.vim) (push) Has been cancelled
Detach Plugins / check (SourceCounter.vim) (push) Has been cancelled
Detach Plugins / check (cpicker.nvim) (push) Has been cancelled
Detach Plugins / check (dein-ui.vim) (push) Has been cancelled
Detach Plugins / check (git.vim) (push) Has been cancelled
Detach Plugins / check (iedit.vim) (push) Has been cancelled
Detach Plugins / check (scrollbar.vim) (push) Has been cancelled
Detach Plugins / check (vim-chat) (push) Has been cancelled
Detach Plugins / check (vim-cheat) (push) Has been cancelled
Detach Plugins / check (vim-todo) (push) Has been cancelled
Detach Plugins / check (xmake.vim) (push) Has been cancelled
test / Linux (nvim, nightly) (push) Has been cancelled
test / Linux (nvim, v0.3.8) (push) Has been cancelled
test / Linux (nvim, v0.4.0) (push) Has been cancelled
test / Linux (nvim, v0.4.2) (push) Has been cancelled
test / Linux (nvim, v0.4.3) (push) Has been cancelled
test / Linux (nvim, v0.4.4) (push) Has been cancelled
test / Linux (nvim, v0.5.0) (push) Has been cancelled
test / Linux (nvim, v0.5.1) (push) Has been cancelled
test / Linux (nvim, v0.6.0) (push) Has been cancelled
test / Linux (nvim, v0.6.1) (push) Has been cancelled
test / Linux (nvim, v0.7.0) (push) Has been cancelled
test / Linux (nvim, v0.7.2) (push) Has been cancelled
test / Linux (nvim, v0.8.0) (push) Has been cancelled
test / Linux (nvim, v0.8.1) (push) Has been cancelled
test / Linux (nvim, v0.8.2) (push) Has been cancelled
test / Linux (nvim, v0.8.3) (push) Has been cancelled
test / Linux (nvim, v0.9.0) (push) Has been cancelled
test / Linux (nvim, v0.9.1) (push) Has been cancelled
test / Linux (true, vim, v7.4.052) (push) Has been cancelled
test / Linux (true, vim, v7.4.1689) (push) Has been cancelled
test / Linux (true, vim, v7.4.629) (push) Has been cancelled
test / Linux (true, vim, v8.0.0027) (push) Has been cancelled
test / Linux (true, vim, v8.0.0183) (push) Has been cancelled
test / Linux (vim, nightly) (push) Has been cancelled
test / Linux (vim, v8.0.0184) (push) Has been cancelled
test / Linux (vim, v8.0.1453) (push) Has been cancelled
test / Linux (vim, v8.1.2269) (push) Has been cancelled
test / Linux (vim, v8.2.2434) (push) Has been cancelled
test / Linux (vim, v8.2.3995) (push) Has been cancelled
test / Windows (nvim, nightly) (push) Has been cancelled
test / Windows (nvim, v0.3.8) (push) Has been cancelled
test / Windows (nvim, v0.4.2) (push) Has been cancelled
test / Windows (nvim, v0.4.3) (push) Has been cancelled
test / Windows (nvim, v0.4.4) (push) Has been cancelled
test / Windows (nvim, v0.5.0) (push) Has been cancelled
test / Windows (nvim, v0.5.1) (push) Has been cancelled
test / Windows (nvim, v0.6.0) (push) Has been cancelled
test / Windows (nvim, v0.6.1) (push) Has been cancelled
test / Windows (nvim, v0.7.0) (push) Has been cancelled
test / Windows (nvim, v0.7.2) (push) Has been cancelled
test / Windows (nvim, v0.8.0) (push) Has been cancelled
test / Windows (nvim, v0.8.1) (push) Has been cancelled
test / Windows (nvim, v0.8.2) (push) Has been cancelled
test / Windows (nvim, v0.8.3) (push) Has been cancelled
test / Windows (nvim, v0.9.0) (push) Has been cancelled
test / Windows (nvim, v0.9.1) (push) Has been cancelled
test / Windows (vim, nightly) (push) Has been cancelled
test / Windows (vim, v7.4.1185) (push) Has been cancelled
test / Windows (vim, v7.4.1689) (push) Has been cancelled
test / Windows (vim, v8.0.0027) (push) Has been cancelled
test / Windows (vim, v8.0.1453) (push) Has been cancelled
test / Windows (vim, v8.1.2269) (push) Has been cancelled
test / Windows (vim, v8.2.2434) (push) Has been cancelled
test / Windows (vim, v8.2.3995) (push) Has been cancelled
docker / docker (push) Has been cancelled
mirror / check (coding) (push) Has been cancelled
mirror / check (gitee) (push) Has been cancelled
mirror / check (gitlab) (push) Has been cancelled
init
2024-08-21 14:17:26 +08:00

144 lines
4.7 KiB
Plaintext

Include: ../include/setup.vader
Execute (Setup: simulate non-testing):
Save g:neomake_verbose
" Unset g:neomake_test_messages for s:is_testing in autoload/neomake/log.vim.
unlet g:neomake_test_messages
unlet! g:neomake_verbose
call NeomakeTestsSetVimMessagesMarker()
runtime autoload/neomake/log.vim
runtime autoload/neomake.vim
let g:neomake_test_messages = []
Execute (neomake#GetMakeOptions works without testing):
let jobinfo = NeomakeTestsFakeJobinfo()
AssertEqual keys(neomake#GetMakeOptions(jobinfo.make_id)),
\ ['options', 'jobs_queue', 'verbosity', 'finished_jobs', 'make_id', 'active_jobs']
Execute (neomake#log#error uses echohl):
Save g:neomake_verbose
let g:neomake_verbose = 1
call NeomakeTestsSetVimMessagesMarker()
call neomake#log#error('some error with context.', {})
call neomake#log#error('some error without context.')
AssertEqual NeomakeTestsGetVimMessages(), [
\ 'Neomake: some error with context.',
\ 'Neomake: some error without context.',
\ ]
let g:neomake_verbose = 3
call neomake#log#warning('some warning with context.', {})
call neomake#log#warning('some warning without context.')
AssertEqual NeomakeTestsGetVimMessages(), [
\ 'Neomake: [-.-:-:1] some warning with context.',
\ 'Neomake: some warning without context.',
\ ]
Execute (neomake#log#debug handles missing make_options):
let s:log_calls = []
function! neomake#log#warning(...)
let s:log_calls += [a:000]
endfunction
call neomake#log#debug('msg1')
AssertEqual NeomakeTestsGetVimMessages(), []
" Non-existing make_id should not make it verbose.
call neomake#log#debug('msg1', {'make_id': -42})
AssertEqual s:log_calls, [['warning: missing make_info key: -42.']]
AssertEqual NeomakeTestsGetVimMessages(), []
let g:neomake_verbose = 3
let s:log_calls = []
call neomake#log#debug('msg1', {'make_id': -42})
AssertEqual s:log_calls, [['warning: missing make_info key: -42.']]
let msgs = NeomakeTestsGetVimMessages()
AssertEqual len(msgs), 1
Assert msgs[0] =~# '\VNeomake\.\*: [-42.-:-:1] msg1', 'msg matches ('.msgs[0].')'
" Produces no message with level 0.
let g:neomake_verbose = 0
let s:log_calls = []
call neomake#log#debug('msg1', {'make_id': -42})
AssertEqual s:log_calls, [['warning: missing make_info key: -42.']]
AssertEqual NeomakeTestsGetVimMessages(), []
Execute (neomake#log#debug_obj does not call neomake#utils#Stringify if not necessary):
Save g:neomake_verbose
unlet! g:neomake_verbose
let s:calls = []
function! neomake#utils#Stringify(...)
let s:calls += [a:000]
endfunction
call neomake#log#debug_obj('msg', 'obj')
AssertEqual s:calls, []
let g:neomake_verbose = 3
call neomake#log#debug_obj('msg', 'obj')
AssertEqual s:calls, [['obj']]
Execute (reltime_lastmsg: cover all cases):
if has('patch-7.4.503')
Save g:neomake_logfile
let g:neomake_logfile = tempname()
let s:cur = 0
let s:diffs = [0, 9, 99, 999, 9999, 99999]
function! neomake#compat#reltimefloat(...)
let s:cur += remove(s:diffs, 0)
return s:cur
endfunction
call neomake#log#debug('msg1.')
call neomake#log#debug('msg2.')
call neomake#log#debug('msg3.')
call neomake#log#debug('msg4.')
call neomake#log#debug('msg5.')
let log_msgs = readfile(g:neomake_logfile)
call map(log_msgs, 'substitute(v:val, ''\v^\d\d:\d\d:\d\d \d+ '', ''HH:MM:SS PID '', '''')')
AssertEqual log_msgs, [
\ 'HH:MM:SS PID [D ] msg1.',
\ 'HH:MM:SS PID [D +9.00] msg2.',
\ 'HH:MM:SS PID [D +99.0] msg3.',
\ 'HH:MM:SS PID [D +999] msg4.',
\ 'HH:MM:SS PID [D +9999] msg5.',
\ ]
else
NeomakeTestsSkip 'only with patch-7.4.503'
endif
Execute (neomake#log#indent):
Save g:neomake_verbose
AssertThrows call neomake#log#indent(-1)
AssertEqual g:vader_exception, 'invalid offset (already 0)'
call neomake#log#indent(1)
call NeomakeTestsSetVimMessagesMarker()
call neomake#log#error('error1.')
call neomake#log#error('error2.', {'bufnr': 1})
AssertEqual NeomakeTestsGetVimMessages(), ['Neomake: error1.', 'Neomake: error2.']
let g:neomake_verbose = 2
call NeomakeTestsSetVimMessagesMarker()
call neomake#log#error('error1.')
call neomake#log#error('error2.', {'bufnr': 1})
AssertEqual NeomakeTestsGetVimMessages(), ['Neomake: error1.', 'Neomake: error2.']
let g:neomake_verbose = 3
call NeomakeTestsSetVimMessagesMarker()
call neomake#log#debug('debug1.')
call neomake#log#debug('debug2.', {'bufnr': 1})
AssertEqual NeomakeTestsGetVimMessages(), ['Neomake: debug1.', 'Neomake: [-.-:1:1] debug2.']
" Restore if not profiling.
if !v:profiling
runtime autoload/neomake/utils.vim
runtime autoload/neomake/log.vim
runtime autoload/neomake/compat.vim
runtime autoload/neomake.vim
endif