--- /dev/null
+" 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
" 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