Mercurial > vim
changeset 9764:e0b783389bea v7.4.2157
commit https://github.com/vim/vim/commit/46c4d4ac66aa2b129f4dcec9debfda606f72d4b3
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Aug 5 19:31:57 2016 +0200
patch 7.4.2157
Problem: Test_job_start_fails() is expected to report memory leaks, making
it hard to see other leaks in test_partial.
Solution: Move Test_job_start_fails() to a separate test file.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Fri, 05 Aug 2016 19:45:05 +0200 |
parents | 7fba2e73bc86 |
children | d2fe50232d72 |
files | src/Makefile src/testdir/Make_all.mak src/testdir/test_job_fails.vim src/testdir/test_partial.vim src/version.c |
diffstat | 5 files changed, 23 insertions(+), 22 deletions(-) [+] |
line wrap: on
line diff
--- a/src/Makefile +++ b/src/Makefile @@ -2086,6 +2086,7 @@ test_arglist \ test_history \ test_increment \ test_increment_dbcs \ + test_job_fails \ test_join \ test_json \ test_jumps \
--- a/src/testdir/Make_all.mak +++ b/src/testdir/Make_all.mak @@ -176,6 +176,7 @@ NEW_TESTS = test_arglist.res \ test_history.res \ test_increment.res \ test_increment_dbcs.res \ + test_job_fails.res \ test_json.res \ test_langmap.res \ test_man.res \
new file mode 100644 --- /dev/null +++ b/src/testdir/test_job_fails.vim @@ -0,0 +1,19 @@ +" This test is in a separate file, because it usually causes reports for memory +" leaks under valgrind. That is because when fork/exec fails memory is not +" freed. Since the process exists right away it's not a real leak. + +source shared.vim + +func Test_job_start_fails() + if has('job') + let g:job = job_start('axdfxsdf') + if has('unix') + call WaitFor('job_status(g:job) == "dead"') + call assert_equal('dead', job_status(g:job)) + else + call WaitFor('job_status(g:job) == "fail"') + call assert_equal('fail', job_status(g:job)) + endif + unlet g:job + endif +endfunc
--- a/src/testdir/test_partial.vim +++ b/src/testdir/test_partial.vim @@ -1,27 +1,5 @@ " 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 endfunc