summaryrefslogtreecommitdiff
path: root/src/testdir
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-07-30 23:14:28 +0200
committerBram Moolenaar <Bram@vim.org>2016-07-30 23:14:28 +0200
commit31440a1f2b6ae8a2f7ffdd4a8a3661eadc4df23c (patch)
treeae2e66c08b770e8e9e1b39db369867446a9f9e0b /src/testdir
parent57e69ff2cca9edee3546373d04e0dde6810309e5 (diff)
downloadvim-31440a1f2b6ae8a2f7ffdd4a8a3661eadc4df23c.zip
patch 7.4.2132
Problem: test_partial has memory leaks reported. Solution: Add a note about why this happens.
Diffstat (limited to 'src/testdir')
-rw-r--r--src/testdir/test_partial.vim41
1 files changed, 22 insertions, 19 deletions
diff --git a/src/testdir/test_partial.vim b/src/testdir/test_partial.vim
index b43f34902..6b098c2dd 100644
--- a/src/testdir/test_partial.vim
+++ b/src/testdir/test_partial.vim
@@ -1,4 +1,26 @@
" Test binding arguments to a Funcref.
+
+" NOTE: This function may cause memory leaks to be reported.
+" That is because when fork/exec fails memory is not freed. Since the process
+" exists right away it's not a real leak.
+func Test_job_start_fails()
+ if has('job')
+ let job = job_start('axdfxsdf')
+ for i in range(100)
+ let status = job_status(job)
+ if status == 'dead' || status == 'fail'
+ break
+ endif
+ sleep 10m
+ endfor
+ if has('unix')
+ call assert_equal('dead', job_status(job))
+ else
+ call assert_equal('fail', job_status(job))
+ endif
+ unlet job
+ endif
+endfunc
func MyFunc(arg1, arg2, arg3)
return a:arg1 . '/' . a:arg2 . '/' . a:arg3
@@ -271,25 +293,6 @@ func Test_cycle_partial_job()
endif
endfunc
-func Test_job_start_fails()
- if has('job')
- let job = job_start('axdfxsdf')
- for i in range(100)
- let status = job_status(job)
- if status == 'dead' || status == 'fail'
- break
- endif
- sleep 10m
- endfor
- if has('unix')
- call assert_equal('dead', job_status(job))
- else
- call assert_equal('fail', job_status(job))
- endif
- unlet job
- endif
-endfunc
-
func Test_ref_job_partial_dict()
if has('job')
let g:ref_job = job_start('echo')