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
--- 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,