summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2017-03-20 21:47:16 +0100
committerBram Moolenaar <Bram@vim.org>2017-03-20 21:47:16 +0100
commitf5610da7a8a5908e747d1ae39dbed1408bbd2644 (patch)
tree1d05462e69c2c1b6aee6817a4d1c7087371ce374
parent1662ce104e47f6a1eb0c2004d86b995f74dc4652 (diff)
downloadvim-f5610da7a8a5908e747d1ae39dbed1408bbd2644.zip
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)
-rw-r--r--src/testdir/test_quotestar.vim34
-rw-r--r--src/version.c2
2 files changed, 9 insertions, 27 deletions
diff --git a/src/testdir/test_quotestar.vim b/src/testdir/test_quotestar.vim
index 111a226b6..5212b9bc6 100644
--- 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')
diff --git a/src/version.c b/src/version.c
index 343b856ff..b028debab 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 495,
+/**/
494,
/**/
493,