patch 8.0.0036
Problem: Detecting that a job has finished may take a while.
Solution: Check for a finished job more often (Ozaki Kiichi)
diff --git a/src/testdir/test_channel.vim b/src/testdir/test_channel.vim
index fbcd496..e7ba667 100644
--- a/src/testdir/test_channel.vim
+++ b/src/testdir/test_channel.vim
@@ -1362,6 +1362,24 @@
endif
endfunc
+let g:exit_cb_time = {'start': 0, 'end': 0}
+function MyExitTimeCb(job, status)
+ let g:exit_cb_time.end = reltime(g:exit_cb_time.start)
+endfunction
+
+func Test_exit_callback_interval()
+ if !has('job')
+ return
+ endif
+
+ let g:exit_cb_time.start = reltime()
+ let job = job_start([s:python, '-c', 'import time;time.sleep(0.5)'], {'exit_cb': 'MyExitTimeCb'})
+ call WaitFor('g:exit_cb_time.end != 0')
+ let elapsed = reltimefloat(g:exit_cb_time.end)
+ call assert_true(elapsed > 0.3)
+ call assert_true(elapsed < 1.0)
+endfunc
+
"""""""""
let g:Ch_close_ret = 'alive'