[Tarantool-patches] [PATCH v2 luajit 12/30] test: adapt PUC Lua test with count hooks

Sergey Ostanevich sergos at tarantool.org
Fri Mar 26 14:49:29 MSK 2021


LGTM.
Sergos

> On 26 Mar 2021, at 10:42, Sergey Kaplun <skaplun at tarantool.org> wrote:
> 
> LuaJIT does not check hooks at traces without defined
> -DLUAJIT_ENABLE_CHECKHOOK. For more information see <src/lj_record.c>
> or commit 6bce6b118eeb2bb7f36157de158e5cccf0ea68e5 (Add compile-time
> option LUAJIT_ENABLE_CHECKHOOK. Disabled by default.).
> 
> This patch adapts these tests for LuaJIT by disabling JIT while testing
> count hooks.
> 
> Closes tarantool/tarantool#5701
> Part of tarantool/tarantool#5845
> Part of tarantool/tarantool#4473
> ---
> test/PUC-Lua-5.1-tests/db.lua | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
> 
> diff --git a/test/PUC-Lua-5.1-tests/db.lua b/test/PUC-Lua-5.1-tests/db.lua
> index 6985c29..c1a635a 100644
> --- a/test/PUC-Lua-5.1-tests/db.lua
> +++ b/test/PUC-Lua-5.1-tests/db.lua
> @@ -347,6 +347,18 @@ assert(debug.setupvalue(io.read, 1, 10) == nil)
> 
> -- testing count hooks
> local a=0
> +-- LuaJIT: LuaJIT does not check hooks at traces without defined
> +-- -DLUAJIT_ENABLE_CHECKHOOK.
> +-- For more information see <src/lj_record.c> or commit
> +-- 6bce6b118eeb2bb7f36157de158e5cccf0ea68e5 (Add compile-time
> +-- option LUAJIT_ENABLE_CHECKHOOK. Disabled by default.).
> +-- See also https://github.com/tarantool/tarantool/issues/5701
> +-- Test is adapted for LuaJIT by disabling JIT while
> +-- testing count hooks.
> +local jit_is_enabled = jit.status()
> +if jit_is_enabled then
> +  jit.off()
> +end
> debug.sethook(function (e) a=a+1 end, "", 1)
> a=0; for i=1,1000 do end; assert(1000 < a and a < 1012)
> debug.sethook(function (e) a=a+1 end, "", 4)
> @@ -359,6 +371,9 @@ debug.sethook(print, "", 2^24 - 1)   -- count upperbound
> local f,m,c = debug.gethook()
> assert(({debug.gethook()})[3] == 2^24 - 1)
> debug.sethook()
> +if jit_is_enabled then
> +  jit.on()
> +end
> 
> 
> -- tests for tail calls
> -- 
> 2.31.0
> 



More information about the Tarantool-patches mailing list