# HG changeset patch # User Christian Brabandt # Date 1470419105 -7200 # Node ID e0b783389beabfd030aa87eb9f2e9ce69421abcb # Parent 7fba2e73bc86b5868530a833489c52717f1271ff commit https://github.com/vim/vim/commit/46c4d4ac66aa2b129f4dcec9debfda606f72d4b3 Author: Bram Moolenaar 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. diff --git a/src/Makefile b/src/Makefile --- 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 \ diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak --- 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 \ diff --git a/src/testdir/test_job_fails.vim b/src/testdir/test_job_fails.vim 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 diff --git a/src/testdir/test_partial.vim b/src/testdir/test_partial.vim --- 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 diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -764,6 +764,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2157, +/**/ 2156, /**/ 2155,