commit bfa3e111c282c932b1c56ab40871f36eafca96b5
parent 0be3dee44f0659be58d455b067d1919525e773ee
Author: zeertzjq <zeertzjq@outlook.com>
Date: Fri, 26 Sep 2025 05:59:05 +0800
test(unit): disable JIT when using mocks (#35913)
This fixes the flaky eval/typval_spec.lua tests.
Diffstat:
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/test/unit/eval/typval_spec.lua b/test/unit/eval/typval_spec.lua
@@ -2318,7 +2318,7 @@ describe('typval.c', function()
return lib.tv_dict_extend(d1, d2, action)
end, emsg)
end
- pending('works (skip due to flakiness)', function()
+ itp('works', function()
local d1 = dict()
alloc_log:check({ a.dict(d1) })
eq({}, dct2tbl(d1))
@@ -3206,7 +3206,7 @@ describe('typval.c', function()
end)
end)
describe('lnum()', function()
- pending('works (skip due to flakiness)', function()
+ itp('works', function()
for _, v in ipairs({
{ lib.VAR_NUMBER, { v_number = 42 }, nil, 42 },
{ lib.VAR_STRING, { v_string = to_cstr('100500') }, nil, 100500 },
@@ -3335,7 +3335,7 @@ describe('typval.c', function()
end
end
describe('string()', function()
- pending('works (skip due to flakiness)', function()
+ itp('works', function()
local buf = lib.tv_get_string(lua2typvalt(int(1)))
local buf_chk = lib.tv_get_string_chk(lua2typvalt(int(1)))
neq(buf, buf_chk)
diff --git a/test/unit/testutil.lua b/test/unit/testutil.lua
@@ -352,6 +352,9 @@ local function alloc_log_new()
end
end
end
+ -- JIT-compiled FFI calls cannot call back into Lua, so disable JIT.
+ -- Ref: https://luajit.org/ext_ffi_semantics.html#callback
+ jit.off()
end
log.set_mocks = child_call(log.set_mocks)