[Tarantool-patches] [PATCH v2 luajit 10/26] test: enable <ffi_enum.lua> in LuaJIT-tests
Sergey Kaplun
skaplun at tarantool.org
Mon Jan 29 13:45:10 MSK 2024
This patch changes the `dofile()` (which uses an unreliable relative
file path and mutates `_G` with global functions to be defined) to the
corresponding `require()` call and renames the C library in the
`require()` call. Also, it names all subtests and includes the test in
<index>.
Part of tarantool/tarantool#9398
---
test/LuaJIT-tests/lib/ffi/ffi_enum.lua | 11 +++++------
test/LuaJIT-tests/lib/ffi/index | 1 +
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/test/LuaJIT-tests/lib/ffi/ffi_enum.lua b/test/LuaJIT-tests/lib/ffi/ffi_enum.lua
index e8e40ad0..49c874c7 100644
--- a/test/LuaJIT-tests/lib/ffi/ffi_enum.lua
+++ b/test/LuaJIT-tests/lib/ffi/ffi_enum.lua
@@ -1,7 +1,7 @@
local ffi = require("ffi")
-dofile("../common/ffi_util.inc")
+local fails = require("common.fails")
ffi.cdef[[
typedef enum enum_i { FOO_I = -1, II = 10 } enum_i;
@@ -13,10 +13,9 @@ int call_i_ei(enum_i a) asm("call_i");
int call_i_eu(enum_u a) asm("call_i");
]]
-local C = ffi.load("../clib/ctest")
-
-do
+local C = ffi.load("ctest")
+do --- base
local t = ffi.new("enum_i[100]")
for i=0,99 do t[i] = "II" end
for i=0,99 do assert(t[i] == "II") end
@@ -42,14 +41,14 @@ do
for i=0,99 do assert(t[i] ~= u[i]) end
end
-do
+do --- calls
for i=0,99 do assert(C.call_ei_i(9) == "II") end
for i=0,99 do assert(C.call_eu_i(9) == "UU") end
for i=0,99 do assert(C.call_i_ei("II") == 11) end
for i=0,99 do assert(C.call_i_eu("UU") == 11) end
end
-do
+do --- cast to bool
local f = ffi.cast("bool (*)(enum_i)", function(e) return e == "II" end)
assert(f("II"))
assert(not f(0))
diff --git a/test/LuaJIT-tests/lib/ffi/index b/test/LuaJIT-tests/lib/ffi/index
index 5c2be87f..b11e5aa4 100644
--- a/test/LuaJIT-tests/lib/ffi/index
+++ b/test/LuaJIT-tests/lib/ffi/index
@@ -8,6 +8,7 @@ ffi_call.lua
ffi_callback.lua
ffi_const.lua
ffi_convert.lua
+ffi_enum.lua
istype.lua
jit_array.lua
jit_complex.lua
--
2.43.0
More information about the Tarantool-patches
mailing list