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')
--- 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,