Mercurial > vim
changeset 11217:466657ab7340 v8.0.0495
patch 8.0.0495: quotestar test uses timer instead of timeout
commit https://github.com/vim/vim/commit/f5610da7a8a5908e747d1ae39dbed1408bbd2644
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Mar 20 21:47:16 2017 +0100
patch 8.0.0495: quotestar test uses timer instead of timeout
Problem: The quotestar test uses a timer instead of a timeout, thus it
cannot be rerun like a flaky test.
Solution: Remove the timer and add a timeout. (Kazunobu Kuriyama)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Mon, 20 Mar 2017 22:00:04 +0100 |
parents | 486e00f72582 |
children | 8c6117673fba |
files | src/testdir/test_quotestar.vim src/version.c |
diffstat | 2 files changed, 9 insertions(+), 27 deletions(-) [+] |
line wrap: on
line diff
--- a/src/testdir/test_quotestar.vim +++ b/src/testdir/test_quotestar.vim @@ -6,12 +6,6 @@ endif source shared.vim -let s:where = 0 -func Abort(id) - call assert_report('Test timed out at ' . s:where) - call FinishTesting() -endfunc - func Do_test_quotestar_for_macunix() if empty(exepath('pbcopy')) || empty(exepath('pbpaste')) return 'Test requires pbcopy(1) and pbpaste(1)' @@ -46,10 +40,6 @@ func Do_test_quotestar_for_x11() return 'GetVimCommand() failed' endif - " Some of these commands may hang when failing. - call timer_start(10000, 'Abort') - - let s:where = 1 let name = 'XVIMCLIPBOARD' let cmd .= ' --servername ' . name let g:job = job_start(cmd, {'stoponexit': 'kill', 'out_io': 'null'}) @@ -58,25 +48,19 @@ func Do_test_quotestar_for_x11() call assert_report('Cannot run the Vim server') return '' endif - let s:where = 2 " Takes a short while for the server to be active. call WaitFor('serverlist() =~ "' . name . '"') call assert_match(name, serverlist()) - let s:where = 3 " Clear the *-register of this vim instance. let @* = '' " Try to change the *-register of the server. call remote_foreground(name) - let s:where = 4 call remote_send(name, ":let @* = 'yes'\<CR>") - let s:where = 5 - call WaitFor('remote_expr("' . name . '", "@*") == "yes"') - let s:where = 6 - call assert_equal('yes', remote_expr(name, "@*")) - let s:where = 7 + call WaitFor('remote_expr("' . name . '", "@*", "", 1) == "yes"') + call assert_equal('yes', remote_expr(name, "@*", "", 2)) " Check that the *-register of this vim instance is changed as expected. call assert_equal('yes', @*) @@ -94,22 +78,18 @@ func Do_test_quotestar_for_x11() else call remote_send(name, ":gui -f\<CR>") endif - let s:where = 8 - sleep 500m + " Wait for the server to be up and answering requests. + call WaitFor('remote_expr("' . name . '", "v:version", "", 1) != ""') + call remote_send(name, ":let @* = 'maybe'\<CR>") - let s:where = 9 - call WaitFor('remote_expr("' . name . '", "@*") == "maybe"') - let s:where = 10 - call assert_equal('maybe', remote_expr(name, "@*")) - let s:where = 11 + call WaitFor('remote_expr("' . name . '", "@*", "", 1) == "maybe"') + call assert_equal('maybe', remote_expr(name, "@*", "", 2)) call assert_equal('maybe', @*) endif call remote_send(name, ":qa!\<CR>") - let s:where = 12 call WaitFor('job_status(g:job) == "dead"') - let s:where = 13 if job_status(g:job) != 'dead' call assert_report('Server did not exit') call job_stop(g:job, 'kill')