diff src/testdir/test_channel.vim @ 8859:03250bc0c63a v7.4.1717

commit https://github.com/vim/vim/commit/0e4c1de5560c7f8b4cae539ec8cff0949daba3fc Author: Bram Moolenaar <Bram@vim.org> Date: Thu Apr 7 21:40:38 2016 +0200 patch 7.4.1717 Problem: Leaking memory when opening a channel fails. Solution: Unreference partials in job options.
author Christian Brabandt <cb@256bit.org>
date Thu, 07 Apr 2016 21:45:05 +0200
parents 176647a751d7
children ed0b39dd7fd6
line wrap: on
line diff
--- a/src/testdir/test_channel.vim
+++ b/src/testdir/test_channel.vim
@@ -1231,5 +1231,17 @@ func Test_job_start_invalid()
   call assert_fails('call job_start("")', 'E474:')
 endfunc
 
+" This leaking memory.
+func Test_partial_in_channel_cycle()
+  let d = {}
+  let d.a = function('string', [d])
+  try
+    let d.b = ch_open('nowhere:123', {'close_cb': d.a})
+  catch
+    call assert_exception('E901:')
+  endtry
+  unlet d
+endfunc
+
 " Uncomment this to see what happens, output is in src/testdir/channellog.
 " call ch_logfile('channellog', 'w')