From 8a187aee8c7fe46340af143bfda444e418f9a0a9 Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Sun, 1 Sep 2019 11:30:33 -0400 Subject: vim-patch:8.0.1260: using global variables for WaitFor() Problem: Using global variables for WaitFor(). Solution: Use a lambda function instead. Don't check a condition if WaitFor() already checked it. https://github.com/vim/vim/commit/ab8b1c14a31e36ae87cc7e13c4a75318d513fc7b --- src/nvim/testdir/test_clientserver.vim | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) (limited to 'src/nvim/testdir/test_clientserver.vim') diff --git a/src/nvim/testdir/test_clientserver.vim b/src/nvim/testdir/test_clientserver.vim index 46ac59b3b1..f03a6903c1 100644 --- a/src/nvim/testdir/test_clientserver.vim +++ b/src/nvim/testdir/test_clientserver.vim @@ -27,12 +27,8 @@ func Test_client_server() let name = 'XVIMTEST' let cmd .= ' --servername ' . name - let g:job = job_start(cmd, {'stoponexit': 'kill', 'out_io': 'null'}) - call WaitFor('job_status(g:job) == "run"') - if job_status(g:job) != 'run' - call assert_report('Cannot run the Vim server') - return - endif + let job = job_start(cmd, {'stoponexit': 'kill', 'out_io': 'null'}) + call WaitFor({-> job_status(job) == "run"}) " Takes a short while for the server to be active. " When using valgrind it takes much longer. @@ -83,7 +79,7 @@ func Test_client_server() call remote_send(name, ":call server2client(expand(''), 'another')\", 'g:myserverid') let peek_result = 'nothing' let r = remote_peek(g:myserverid, 'peek_result') - " unpredictable whether the result is already avaialble. + " unpredictable whether the result is already available. if r > 0 call assert_equal('another', peek_result) elseif r == 0 @@ -97,11 +93,14 @@ func Test_client_server() call assert_equal('another', remote_read(g:myserverid, 2)) call remote_send(name, ":qa!\") - call WaitFor('job_status(g:job) == "dead"') - if job_status(g:job) != 'dead' - call assert_report('Server did not exit') - call job_stop(g:job, 'kill') - endif + try + call WaitFor({-> job_status(job) == "dead"}) + finally + if job_status(job) != 'dead' + call assert_report('Server did not exit') + call job_stop(job, 'kill') + endif + endtry endfunc " Uncomment this line to get a debugging log -- cgit