Mercurial > vim
diff src/testdir/test_channel.vim @ 10279:c5c15c818bda v8.0.0036
commit https://github.com/vim/vim/commit/97792de2762cc79cc365a8a0b858f27753179577
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Oct 15 18:36:49 2016 +0200
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)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 15 Oct 2016 18:45:04 +0200 |
parents | a09db7a4afe0 |
children | c90f4cc9c3fe |
line wrap: on
line diff
--- a/src/testdir/test_channel.vim +++ b/src/testdir/test_channel.vim @@ -1362,6 +1362,24 @@ func Test_exit_callback() 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'