# HG changeset patch # User Bram Moolenaar # Date 1663668905 -7200 # Node ID a193ffbaeb21eb97d3b1d8c6a96579812b95d6dd # Parent 141ac9cb1d6fbe51c8efe3d0d943b8d7f7cde7c9 patch 9.0.0508: when the channel test fails there is no clue why Commit: https://github.com/vim/vim/commit/cd9fa256b587b2805faeaaa4b7a8c7d483a8ac54 Author: K.Takata Date: Tue Sep 20 11:04:47 2022 +0100 patch 9.0.0508: when the channel test fails there is no clue why Problem: When the channel test fails there is no clue why. Solution: Add info about the job status. (Ken Takata, closes https://github.com/vim/vim/issues/11175) diff --git a/src/testdir/test_channel.vim b/src/testdir/test_channel.vim --- a/src/testdir/test_channel.vim +++ b/src/testdir/test_channel.vim @@ -1633,7 +1633,12 @@ func Test_exit_callback_interval() let g:exit_cb_val = {'start': reltime(), 'end': 0, 'process': 0} let job = [s:python, '-c', 'import time;time.sleep(0.5)']->job_start({'exit_cb': 'MyExitTimeCb'}) let g:exit_cb_val.process = job_info(job).process - call WaitFor('type(g:exit_cb_val.end) != v:t_number || g:exit_cb_val.end != 0') + try + call WaitFor('type(g:exit_cb_val.end) != v:t_number || g:exit_cb_val.end != 0') + catch + call add(v:errors, "Job status: " .. string(job->job_info())) + throw v:exception + endtry let elapsed = reltimefloat(g:exit_cb_val.end) call assert_inrange(0.5, 1.0, elapsed) @@ -1964,8 +1969,10 @@ func Test_env() let cmd = [&shell, &shellcmdflag, 'echo $FOO'] endif call assert_fails('call job_start(cmd, {"env": 1})', 'E475:') - call job_start(cmd, {'callback': {ch,msg -> execute(":let g:envstr .= msg")}, 'env': {'FOO': 'bar'}}) - call WaitForAssert({-> assert_equal("bar", g:envstr)}) + let job = job_start(cmd, {'callback': {ch,msg -> execute(":let g:envstr .= msg")}, 'env': {'FOO': 'bar'}}) + if WaitForAssert({-> assert_equal("bar", g:envstr)}, 500) != 0 + call add(v:errors, "Job status: " .. string(job->job_info())) + endif unlet g:envstr endfunc @@ -2027,7 +2034,12 @@ func s:test_list_args(cmd, out, remove_l try let g:out = '' let job = job_start([s:python, '-c', a:cmd], {'callback': {ch, msg -> execute('let g:out .= msg')}, 'out_mode': 'raw'}) - call WaitFor('"" != g:out') + try + call WaitFor('"" != g:out') + catch + call add(v:errors, "Job status: " .. string(job->job_info())) + throw v:exception + endtry if has('win32') let g:out = substitute(g:out, '\r', '', 'g') endif diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -700,6 +700,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 508, +/**/ 507, /**/ 506,