[Tarantool-patches] [PATCH luajit 02/25] test: separate LuaJIT helpers from ffi_util.inc

Sergey Bronnikov sergeyb at tarantool.org
Tue Jan 23 12:17:39 MSK 2024


Hi, Sergey!

thanks for the patch!

On 1/19/24 14:32, Sergey Kaplun wrote:
> This patch moves common helpers from <LuaJIT-tests/common/ffi_util.inc>
> into separate files by analogy with <common/expect_error.lua>. The
Why do you need to move to separate files? What is an idea behind it?
> `include()` helper isn't touched since it is used in system dependend
> tests, which won't be modified for now.
>
> Part of tarantool/tarantool#9398
> ---
>   test/LuaJIT-tests/common/fails.lua          |  3 +++
>   test/LuaJIT-tests/common/ffi/checkfail.lua  | 10 +++++++++
>   test/LuaJIT-tests/common/ffi/checktypes.lua | 11 ++++++++++
>   test/LuaJIT-tests/common/ffi_util.inc       | 23 ---------------------
>   4 files changed, 24 insertions(+), 23 deletions(-)
>   create mode 100644 test/LuaJIT-tests/common/fails.lua
>   create mode 100644 test/LuaJIT-tests/common/ffi/checkfail.lua
>   create mode 100644 test/LuaJIT-tests/common/ffi/checktypes.lua
>
> diff --git a/test/LuaJIT-tests/common/fails.lua b/test/LuaJIT-tests/common/fails.lua
> new file mode 100644
> index 00000000..d555a2b5
> --- /dev/null
> +++ b/test/LuaJIT-tests/common/fails.lua
> @@ -0,0 +1,3 @@
> +return function(f, ...)
> +  if pcall(f, ...) ~= false then error("failure expected", 2) end
> +end
> diff --git a/test/LuaJIT-tests/common/ffi/checkfail.lua b/test/LuaJIT-tests/common/ffi/checkfail.lua
> new file mode 100644
> index 00000000..60d8449a
> --- /dev/null
> +++ b/test/LuaJIT-tests/common/ffi/checkfail.lua
> @@ -0,0 +1,10 @@
> +local ffi = require("ffi")
> +
please add a comment with function's description
> +return function(t, f)
> +  f = f or ffi.typeof
> +  for i=1,1e9 do
> +    local tp = t[i]
> +    if not tp then break end
> +    assert(pcall(f, tp) == false, tp)
> +  end
> +end
> diff --git a/test/LuaJIT-tests/common/ffi/checktypes.lua b/test/LuaJIT-tests/common/ffi/checktypes.lua
> new file mode 100644
> index 00000000..6d748e3b
> --- /dev/null
> +++ b/test/LuaJIT-tests/common/ffi/checktypes.lua
> @@ -0,0 +1,11 @@
> +local ffi = require("ffi")
> +
please add a comment with function's description
> +return function(t)
> +  for i=1,1e9,3 do
> +    local tp = t[i+2]
> +    if not tp then break end
> +    local id = ffi.typeof(tp)
> +    assert(ffi.sizeof(id) == t[i], tp)
> +    assert(ffi.alignof(id) == t[i+1], tp)

Why test function contains asserts()? Wouldn't be better to return 
false/true and raise assert in test itself?

same questions below

> +  end
> +end
> diff --git a/test/LuaJIT-tests/common/ffi_util.inc b/test/LuaJIT-tests/common/ffi_util.inc
> index 1eee8dd9..9604d7b0 100644
> --- a/test/LuaJIT-tests/common/ffi_util.inc
> +++ b/test/LuaJIT-tests/common/ffi_util.inc
> @@ -4,29 +4,6 @@
>   
>   local ffi = require("ffi")
>   
> -function checkfail(t, f)
> -  f = f or ffi.typeof
> -  for i=1,1e9 do
> -    local tp = t[i]
> -    if not tp then break end
> -    assert(pcall(f, tp) == false, tp)
> -  end
> -end
> -
> -function checktypes(t)
> -  for i=1,1e9,3 do
> -    local tp = t[i+2]
> -    if not tp then break end
> -    local id = ffi.typeof(tp)
> -    assert(ffi.sizeof(id) == t[i], tp)
> -    assert(ffi.alignof(id) == t[i+1], tp)
> -  end
> -end
> -
> -function fails(f, ...)
> -  if pcall(f, ...) ~= false then error("failure expected", 2) end
> -end
> -
>   local incroot = os.getenv("INCROOT") or "/usr/include"
>   local cdefs = os.getenv("CDEFS") or ""
What for these env variables need?
>   


More information about the Tarantool-patches mailing list