patch 8.2.1839: Vim9: memory leaks reported in assign test
Problem: Vim9: memory leaks reported in assign test.
Solution: Move the failing job_start() call to separate test files, it
causes false leak reports.
diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak
index eecc2e7..c8ad66a 100644
--- a/src/testdir/Make_all.mak
+++ b/src/testdir/Make_all.mak
@@ -34,6 +34,7 @@
test_vim9_cmd \
test_vim9_disassemble \
test_vim9_expr \
+ test_vim9_fails \
test_vim9_func \
test_vim9_script
@@ -42,6 +43,7 @@
test_vim9_cmd.res \
test_vim9_disassemble.res \
test_vim9_expr.res \
+ test_vim9_fails.res \
test_vim9_func.res \
test_vim9_script.res
diff --git a/src/testdir/test_vim9_assign.vim b/src/testdir/test_vim9_assign.vim
index 1b56df5..cf06b5c 100644
--- a/src/testdir/test_vim9_assign.vim
+++ b/src/testdir/test_vim9_assign.vim
@@ -75,7 +75,7 @@
if has('channel')
var chan1: channel
var job1: job
- var job2: job = job_start('willfail')
+ # calling job_start() is in test_vim9_fails.vim, it causes leak reports
endif
if has('float')
var float1: float = 3.4
@@ -216,12 +216,9 @@
CheckDefFailure(['v:errmsg += "more"'], 'E1051:')
CheckDefFailure(['v:errmsg += 123'], 'E1012:')
- # this should not leak
- if 0
- var text =<< trim END
- some text
- END
- endif
+ var text =<< trim END
+ some text
+ END
enddef
def Test_extend_list()
diff --git a/src/testdir/test_vim9_fails.vim b/src/testdir/test_vim9_fails.vim
new file mode 100644
index 0000000..e09eb65
--- /dev/null
+++ b/src/testdir/test_vim9_fails.vim
@@ -0,0 +1,10 @@
+" Test for Vim9 script with failures, causing memory leaks to be reported.
+" The leaks happen after a fork() and can be ignored.
+
+def Test_assignment()
+ if has('channel')
+ var chan1: channel
+ var job1: job
+ var job2: job = job_start('willfail')
+ endif
+enddef
diff --git a/src/version.c b/src/version.c
index 8f85e6b..f972cbd 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1839,
+/**/
1838,
/**/
1837,