diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2017-04-09 04:05:07 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-09 04:05:07 +0200 |
commit | 699e8406b5d57e1ca975af443329d8f24ae1b704 (patch) | |
tree | 5eb97eb63e62ebd07fec7ddeffd79dc57f80d1ef /test/unit/helpers.lua | |
parent | cc8f640fb16a4a697e2ad380b9973048d5142a33 (diff) | |
parent | 8e519a22ddcad6a38d966a7c340c9fd77d72f392 (diff) | |
download | rneovim-699e8406b5d57e1ca975af443329d8f24ae1b704.tar.gz rneovim-699e8406b5d57e1ca975af443329d8f24ae1b704.tar.bz2 rneovim-699e8406b5d57e1ca975af443329d8f24ae1b704.zip |
Merge #6439 from ZyX-I/fix-gc-failures
unittests: Force GC, fix GC failures in typval_spec
Diffstat (limited to 'test/unit/helpers.lua')
-rw-r--r-- | test/unit/helpers.lua | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/test/unit/helpers.lua b/test/unit/helpers.lua index 74f214a231..4b9f185156 100644 --- a/test/unit/helpers.lua +++ b/test/unit/helpers.lua @@ -632,8 +632,9 @@ local function itp_child(wr, func) collectgarbage('stop') child_sethook(wr) local err, emsg = pcall(func) - debug.sethook() collectgarbage('restart') + collectgarbage() + debug.sethook() emsg = tostring(emsg) sc.write(wr, trace_end_msg) if not err then @@ -654,6 +655,7 @@ end local function check_child_err(rd) local trace = {} + local did_traceline = false while true do local traceline = sc.read(rd, hook_msglen) if #traceline ~= hook_msglen then @@ -664,6 +666,7 @@ local function check_child_err(rd) end end if traceline == trace_end_msg then + did_traceline = true break end trace[#trace + 1] = traceline @@ -679,6 +682,13 @@ local function check_child_err(rd) error = error .. trace[i] end end + if not did_traceline then + error = error .. '\nNo end of trace occurred' + end + local cc_err, cc_emsg = pcall(check_cores, Paths.test_luajit_prg, true) + if not cc_err then + error = error .. '\ncheck_cores failed: ' .. cc_emsg + end assert.just_fail(error) end if res == '+\n' then @@ -764,11 +774,6 @@ local module = { child_cleanup_once = child_cleanup_once, sc = sc, } -return function(after_each) - if after_each then - after_each(function() - check_cores(Paths.test_luajit_prg) - end) - end +return function() return module end |