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/testdir/Make_all.mak b/src/testdir/Make_all.mak
index 9493ccb..0ff0066 100644
--- a/src/testdir/Make_all.mak
+++ b/src/testdir/Make_all.mak
@@ -176,6 +176,7 @@
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
index 0000000..ddab6a3
--- /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
index 6b098c2..48c7697 100644
--- 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