Permalink
Browse files

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)
  • Loading branch information...
brammool committed Mar 20, 2017
1 parent 1662ce1 commit f5610da7a8a5908e747d1ae39dbed1408bbd2644
Showing with 9 additions and 27 deletions.
  1. +7 −27 src/testdir/test_quotestar.vim
  2. +2 −0 src/version.c
@@ -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')
View
@@ -764,6 +764,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 495,
/**/
494,
/**/

0 comments on commit f5610da

Please sign in to comment.