From a59a144dfc5bc1d5ba4662d4c56ea54dce7fab65 Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Sat, 24 Feb 2018 18:19:44 +0100 Subject: [PATCH] Improve "Starting" log message: make it copy'n'pastable (#1871) --- autoload/neomake.vim | 10 +++++++--- tests/hooks.vader | 4 ++-- tests/integration.vader | 12 ++++++------ tests/processing.vader | 2 +- tests/serialize.vader | 4 ++-- tests/stdin.vader | 24 ++++++++++++------------ tests/tempfiles.vader | 6 +++--- tests/verbosity.vader | 4 ++-- 8 files changed, 35 insertions(+), 31 deletions(-) diff --git a/autoload/neomake.vim b/autoload/neomake.vim index 19114b28a8..0444c3d63b 100644 --- a/autoload/neomake.vim +++ b/autoload/neomake.vim @@ -358,11 +358,15 @@ function! s:MakeJob(make_id, options) abort endif call neomake#utils#hook('NeomakeJobInit', {'jobinfo': jobinfo}) - if s:async - call neomake#utils#LoudMessage(printf('Starting async job: %s.', string(jobinfo.argv)), jobinfo) + + let start_msg = s:async ? 'Starting async job' : 'Starting' + if type(jobinfo.argv) == type('') + let start_msg .= ' [string]: '.jobinfo.argv else - call neomake#utils#LoudMessage(printf('Starting: %s.', jobinfo.argv), jobinfo) + let start_msg .= ': '.join(map(copy(jobinfo.argv), 'neomake#utils#shellescape(v:val)')) endif + call neomake#utils#LoudMessage(start_msg.'.', jobinfo) + if empty(cd_back_cmd) call neomake#utils#DebugMessage('cwd: '.cwd.'.', jobinfo) else diff --git a/tests/hooks.vader b/tests/hooks.vader index 1d9a9a4dda..84c05d9a81 100644 --- a/tests/hooks.vader +++ b/tests/hooks.vader @@ -93,9 +93,9 @@ Execute (NeomakeJobInit can make processes nicer): call neomake#Make(0, [maker]) NeomakeTestsWaitForFinishedJobs if neomake#has_async_support() - AssertNeomakeMessage "Starting async job: ['nice', '-n18', '".&shell."', '-c', 'cat /proc/$$/stat | cut -f19 -d\\ '].", 2 + AssertNeomakeMessage printf("Starting async job: nice -n18 %s -c 'cat /proc/$$/stat | cut -f19 -d\\ '.", &shell), 2 else - AssertNeomakeMessage "Starting: nice -n 18 ".&shell." -c 'cat /proc/$$/stat | cut -f19 -d\\ '.", 2 + AssertNeomakeMessage printf("Starting [string]: nice -n 18 %s -c 'cat /proc/$$/stat | cut -f19 -d\\ '.", &shell) endif let niceness = getqflist()[0].text diff --git a/tests/integration.vader b/tests/integration.vader index f8cf8ddf1a..4c09f02ab1 100644 --- a/tests/integration.vader +++ b/tests/integration.vader @@ -113,10 +113,10 @@ Execute (Neomake picks up custom maker correctly): Neomake lint if neomake#has_async_support() - AssertNeomakeMessage "Starting async job: ['echo', '".fname."', '--foo', 'bar']." + AssertNeomakeMessage printf("Starting async job: echo %s --foo bar.", fname) NeomakeTestsWaitForFinishedJobs else - AssertNeomakeMessage printf('Starting: echo %s --foo bar.', fname) + AssertNeomakeMessage printf('Starting [string]: echo %s --foo bar.', fname) endif bwipe @@ -604,9 +604,9 @@ Execute (Neomake#Make: error with failing job via jobstart/argv): NeomakeTestsWaitForFinishedJobs if neomake#has_async_support() - AssertNeomakeMessage "Starting async job: ['doesnotexist']." + AssertNeomakeMessage "Starting async job: doesnotexist." else - AssertNeomakeMessage "Starting: doesnotexist." + AssertNeomakeMessage "Starting [string]: doesnotexist." endif if has('nvim-0.1.8') @@ -643,9 +643,9 @@ Execute (Neomake#Make: error with failing job via jobstart/argv + true): NeomakeTestsWaitForFinishedJobs if neomake#has_async_support() - AssertNeomakeMessage "Starting async job: ['doesnotexist']." + AssertNeomakeMessage "Starting async job: doesnotexist." else - AssertNeomakeMessage "Starting: doesnotexist." + AssertNeomakeMessage "Starting [string]: doesnotexist." endif if has('nvim-0.1.8') diff --git a/tests/processing.vader b/tests/processing.vader index fc867e92ae..eb898a954d 100644 --- a/tests/processing.vader +++ b/tests/processing.vader @@ -599,7 +599,7 @@ Execute (Already running job gets restarted in case of exception): AssertNeomakeMessage printf('Cancelling already running job (%d.%d) for the same maker.', \ make_id, jobinfo.id), 2, {'make_id': make_id+1} AssertNeomakeMessage 'Job exited already.', 3, jobinfo - AssertNeomakeMessage "Starting async job: ['printf', 'foo']." + AssertNeomakeMessage "Starting async job: printf foo." " Needs careful cleanup after exception. NeomakeTestsWaitForMessage 'Cleaning jobinfo.' diff --git a/tests/serialize.vader b/tests/serialize.vader index 46c3040896..d4021b27e9 100644 --- a/tests/serialize.vader +++ b/tests/serialize.vader @@ -174,7 +174,7 @@ Execute (Neomake#Make cancels previous jobs): AssertEqual neomake#GetStatus().last_make_id, make_id + 1, 'two make instance' " Restarted job should use new make_id. - AssertNeomakeMessage "Starting async job: ['".&shell."', '-c', 'echo error; false'].", + AssertNeomakeMessage printf("Starting async job: %s -c 'echo error; false'.", &shell), \ 2, {'id': second_jobs[1], 'make_id': make_id+1, 'bufnr': bufnr} endif @@ -211,7 +211,7 @@ Execute (Neomake#Make cancels previous jobs (serialized)): AssertEqual neomake#GetStatus().last_make_id, make_id + 1, 'two make instance' " Restarted job should use new make_id. - AssertNeomakeMessage "Starting async job: ['".&shell."', '-c', 'echo error; false'].", + AssertNeomakeMessage printf("Starting async job: %s -c 'echo error; false'.", &shell), \ 2, {'id': second_jobs[0].id, 'make_id': make_id+1, 'bufnr': bufnr} endif diff --git a/tests/stdin.vader b/tests/stdin.vader index f2bcc119b9..24eee02141 100644 --- a/tests/stdin.vader +++ b/tests/stdin.vader @@ -10,7 +10,7 @@ Execute (stdin maker): call neomake#Make(1, [maker]) AssertNeomakeMessage "Using buffer's directory for cwd with uses_stdin.", 3 if neomake#has_async_support() - AssertNeomakeMessage "Starting async job: ['cat', '-'].", 2 + AssertNeomakeMessage "Starting async job: cat -.", 2 NeomakeTestsWaitForFinishedJobs endif AssertNeomakeMessage 'cwd: .', 3 @@ -28,10 +28,10 @@ Execute (stdin maker (args as string)): call neomake#Make(1, [maker]) if neomake#has_async_support() if has('nvim') - AssertNeomakeMessage "Starting async job: 'cat \\-'.", 2 + AssertNeomakeMessage "Starting async job [string]: cat \\-.", 2 else - let shell_argv = "'".join(split(&shell) + split(&shellcmdflag), "', '")."'" - AssertNeomakeMessage "Starting async job: [".shell_argv.", 'cat \\-'].", 2 + let shell_argv = join(split(&shell) + split(&shellcmdflag)) + AssertNeomakeMessage 'Starting async job: '.shell_argv." 'cat \\-'.", 2 endif NeomakeTestsWaitForFinishedJobs endif @@ -49,10 +49,10 @@ Execute (stdin maker (disabled tempfiles)): call neomake#Make(1, [maker]) AssertNeomakeMessage 'Using stdin for unnamed buffer.' if neomake#has_async_support() - AssertNeomakeMessage "Starting async job: ['cat', '-'].", 2 + AssertNeomakeMessage "Starting async job: cat -.", 2 NeomakeTestsWaitForFinishedJobs else - AssertNeomakeMessage 'Starting: cat -.', 2 + AssertNeomakeMessage 'Starting [string]: cat -.', 2 endif AssertNeomakeMessage '\mstdout: unnamed_maker: [''line1.*' AssertEqual map(getloclist(0), 'v:val.text'), ['line1', 'line2'] @@ -68,10 +68,10 @@ Execute (stdin maker (project mode: append_file)): normal! oline2 call neomake#Make(0, [maker]) if neomake#has_async_support() - AssertNeomakeMessage "Starting async job: ['cat', '-'].", 2 + AssertNeomakeMessage "Starting async job: cat -.", 2 NeomakeTestsWaitForFinishedJobs else - AssertNeomakeMessage 'Starting: cat -.', 2 + AssertNeomakeMessage 'Starting [string]: cat -.', 2 endif AssertNeomakeMessage '\mstdout: unnamed_maker: [''line1.*' AssertEqual map(getqflist(), 'v:val.text'), ['line1', 'line2'] @@ -89,14 +89,14 @@ Execute (stdin maker (project mode: uses_filename)): AssertNeomakeMessage 'Using stdin for unnamed buffer.' if neomake#has_async_support() if has('nvim') - AssertNeomakeMessage "Starting async job: 'cat $NEOMAKE_FILE'.", 2 + AssertNeomakeMessage "Starting async job [string]: cat $NEOMAKE_FILE.", 2 else - let shell_argv = "'".join(split(&shell) + split(&shellcmdflag), "', '")."'" - AssertNeomakeMessage "Starting async job: [".shell_argv.", 'cat $NEOMAKE_FILE'].", 2 + let shell_argv = join(split(&shell) + split(&shellcmdflag)) + AssertNeomakeMessage 'Starting async job: '.shell_argv." 'cat $NEOMAKE_FILE'.", 2 endif NeomakeTestsWaitForFinishedJobs else - AssertNeomakeMessage 'Starting: cat $NEOMAKE_FILE.', 2 + AssertNeomakeMessage 'Starting [string]: cat $NEOMAKE_FILE.', 2 endif AssertNeomakeMessage '\mstdout: unnamed_maker: [''line1.*' AssertEqual map(getqflist(), 'v:val.text'), ['line1', 'line2'] diff --git a/tests/tempfiles.vader b/tests/tempfiles.vader index c29843b400..6df4c89f3d 100644 --- a/tests/tempfiles.vader +++ b/tests/tempfiles.vader @@ -140,7 +140,7 @@ Execute (Maker can specify temporary file to use via fn): Execute (Previously existing temporary dir is kept): let tempname = tempname() call mkdir(tempname, '', 0700) - let tempfile_name = tempname.'/injected/with/subdir' + let tempfile_name = tempname.'/injected/with/subdir and spaces' let maker = { \ 'exe': 'true', \ 'tempfile_name': tempfile_name, @@ -158,9 +158,9 @@ Execute (Previously existing temporary dir is kept): AssertNeomakeMessage 'Using tempfile for unnamed buffer: "'.tempfile_name.'".', 3 NeomakeTestsWaitForFinishedJobs if neomake#has_async_support() - AssertNeomakeMessage "Starting async job: ['true', '".tempfile_name."']." + AssertNeomakeMessage printf("Starting async job: true '%s'.", tempfile_name) else - AssertNeomakeMessage printf('Starting: true %s.', fnameescape(tempfile_name)) + AssertNeomakeMessage printf("Starting [string]: true '%s'.", tempfile_name) endif AssertNeomakeMessage 'Removing temporary file: "'.tempfile_name.'".' Assert !filereadable(tempfile_name), 'tempfile has been removed' diff --git a/tests/verbosity.vader b/tests/verbosity.vader index 09a101a68f..d2b3e8d316 100644 --- a/tests/verbosity.vader +++ b/tests/verbosity.vader @@ -71,9 +71,9 @@ Execute (neomake#Make uses &verbose): let make_id = jobinfo.make_id NeomakeTestsWaitForFinishedJobs if neomake#has_async_support() - AssertNeomakeMessage "Starting async job: ['echo', '1'].", 2, {'id': jobinfo.id, 'make_id': make_id, 'bufnr': bufnr} + AssertNeomakeMessage "Starting async job: echo 1.", 2, {'id': jobinfo.id, 'make_id': make_id, 'bufnr': bufnr} else - AssertNeomakeMessage "Starting: echo 1.", 2, {'id': jobinfo.id, 'make_id': make_id, 'bufnr': bufnr} + AssertNeomakeMessage "Starting [string]: echo 1.", 2, {'id': jobinfo.id, 'make_id': make_id, 'bufnr': bufnr} endif let g:neomake_verbose = 3