]> granicus.if.org Git - vim/commitdiff
patch 8.0.1365: when one channel test fails others fail as well v8.0.1365
authorBram Moolenaar <Bram@vim.org>
Sat, 2 Dec 2017 15:38:12 +0000 (16:38 +0100)
committerBram Moolenaar <Bram@vim.org>
Sat, 2 Dec 2017 15:38:12 +0000 (16:38 +0100)
Problem:    When one channel test fails others fail as well.
Solution:   Stop the job after a failure.  Also add a couple of tests to the
            list of flaky tests.

src/testdir/runtest.vim
src/testdir/test_channel.vim
src/version.c

index c953d6d7ce64319ac806d876aad80165533aa139..8a4a9b7a07a5f26fe0bf8e99737472b2f723aa34 100644 (file)
@@ -251,6 +251,7 @@ let s:flaky = [
       \ 'Test_exit_callback_interval()',
       \ 'Test_nb_basic()',
       \ 'Test_oneshot()',
+      \ 'Test_paused()',
       \ 'Test_pipe_through_sort_all()',
       \ 'Test_pipe_through_sort_some()',
       \ 'Test_quoteplus()',
@@ -259,6 +260,7 @@ let s:flaky = [
       \ 'Test_terminal_composing_unicode()',
       \ 'Test_terminal_noblock()',
       \ 'Test_terminal_redir_file()',
+      \ 'Test_terminal_tmap()',
       \ 'Test_with_partial_callback()',
       \ ]
 
index 459ee13fa7f7ba5cc5efc17dbd48ad12abea981e..034bd3977807e806ab8fea2414c0f5e523bf997d 100644 (file)
@@ -1694,19 +1694,23 @@ func Test_cwd()
   let g:envstr = ''
   if has('win32')
     let expect = $TEMP
-    call job_start(['cmd', '/c', 'echo %CD%'], {'callback': {ch,msg->execute(":let g:envstr .= msg")}, 'cwd': expect})
+    let job = job_start(['cmd', '/c', 'echo %CD%'], {'callback': {ch,msg->execute(":let g:envstr .= msg")}, 'cwd': expect})
   else
     let expect = $HOME
-    call job_start(['pwd'], {'callback': {ch,msg->execute(":let g:envstr .= msg")}, 'cwd': expect})
+    let job = job_start(['pwd'], {'callback': {ch,msg->execute(":let g:envstr .= msg")}, 'cwd': expect})
   endif
-  call WaitFor('"" != g:envstr')
-  let expect = substitute(expect, '[/\\]$', '', '')
-  let g:envstr = substitute(g:envstr, '[/\\]$', '', '')
-  if $CI != '' && stridx(g:envstr, '/private/') == 0
-    let g:envstr = g:envstr[8:]
-  endif
-  call assert_equal(expect, g:envstr)
-  unlet g:envstr
+  try
+    call WaitFor('"" != g:envstr')
+    let expect = substitute(expect, '[/\\]$', '', '')
+    let g:envstr = substitute(g:envstr, '[/\\]$', '', '')
+    if $CI != '' && stridx(g:envstr, '/private/') == 0
+      let g:envstr = g:envstr[8:]
+    endif
+    call assert_equal(expect, g:envstr)
+  finally
+    call job_stop(job)
+    unlet g:envstr
+  endtry
 endfunc
 
 function Ch_test_close_lambda(port)
@@ -1731,7 +1735,7 @@ endfunc
 func s:test_list_args(cmd, out, remove_lf)
   try
     let g:out = ''
-    call job_start([s:python, '-c', a:cmd], {'callback': {ch, msg -> execute('let g:out .= msg')}, 'out_mode': 'raw'})
+    let job = job_start([s:python, '-c', a:cmd], {'callback': {ch, msg -> execute('let g:out .= msg')}, 'out_mode': 'raw'})
     call WaitFor('"" != g:out')
     if has('win32')
       let g:out = substitute(g:out, '\r', '', 'g')
@@ -1741,6 +1745,7 @@ func s:test_list_args(cmd, out, remove_lf)
     endif
     call assert_equal(a:out, g:out)
   finally
+    call job_stop(job)
     unlet g:out
   endtry
 endfunc
index e85058edea55d7b16b3707d0dac6cba5352390e4..3f1d7db311d3e7df0ec4b29a35062b2d63a87893 100644 (file)
@@ -771,6 +771,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1365,
 /**/
     1364,
 /**/