[Tarantool-patches] [PATCH luajit 13/36] test: enable <misc/hook_line.lua> LuaJIT test
Sergey Kaplun
skaplun at tarantool.org
Wed Aug 14 16:55:55 MSK 2024
This patch moves the aforementioned test from the <misc> to the <lang/>
directory, includes it in <index>, names the subtests, and adjusts the
linenumbers in the assertions to match LuaJIT behaviour and the new code
layout.
Part of tarantool/tarantool#9398
---
test/LuaJIT-tests/lang/hook_line.lua | 44 ++++++++++++++++++++++++++++
test/LuaJIT-tests/lang/index | 1 +
test/LuaJIT-tests/misc/hook_line.lua | 41 --------------------------
3 files changed, 45 insertions(+), 41 deletions(-)
create mode 100644 test/LuaJIT-tests/lang/hook_line.lua
delete mode 100644 test/LuaJIT-tests/misc/hook_line.lua
diff --git a/test/LuaJIT-tests/lang/hook_line.lua b/test/LuaJIT-tests/lang/hook_line.lua
new file mode 100644
index 00000000..bb89c4b8
--- /dev/null
+++ b/test/LuaJIT-tests/lang/hook_line.lua
@@ -0,0 +1,44 @@
+local lines = {}
+local function hook()
+ lines[#lines + 1] = debug.getinfo(2).currentline
+end
+
+local function dummy()
+end -- <-- line 7
+
+do --- Base test: cycles, function calls.
+ debug.sethook(hook, "l", 0)
+ -- <-- line 11
+ local x
+ dummy()
+ local y = 1
+ dummy() dummy()
+ local z = 2; local r = true
+ while y < 4 do y = y + 1 end
+ while z < 4 do
+ z = z + 1
+ end
+ -- <-- line 21
+ local v
+ debug.sethook(nil, "", 0)
+
+ assert(#lines > 0)
+ while lines[1] < 10 do table.remove(lines, 1) end
+ while lines[#lines] > 20 do table.remove(lines) end
+
+ local s = table.concat(lines, " ")
+ assert(s == "12 13 7 14 15 7 7 16 17 17 17 17 18 19 18 19 18" or
+ s == "12 13 7 14 15 7 15 7 16 17 17 17 17 18 19 18 19 18")
+end
+
+do --- Not visited the end of the function definition.
+ lines = {}
+ local function f()
+ if true then return end
+ local function x() end
+ end -- <-- line 39
+ debug.sethook(hook, "l", 0)
+ f()
+ debug.sethook(nil, "", 0)
+ for i = 1, #lines do assert(lines[i] ~= 39) end
+end
diff --git a/test/LuaJIT-tests/lang/index b/test/LuaJIT-tests/lang/index
index 8cecfa08..ae59bc56 100644
--- a/test/LuaJIT-tests/lang/index
+++ b/test/LuaJIT-tests/lang/index
@@ -9,6 +9,7 @@ constant
dualnum.lua
for.lua
hook_active.lua
+hook_line.lua
length.lua
lightud.lua
modulo.lua
diff --git a/test/LuaJIT-tests/misc/hook_line.lua b/test/LuaJIT-tests/misc/hook_line.lua
deleted file mode 100644
index 36f71080..00000000
--- a/test/LuaJIT-tests/misc/hook_line.lua
+++ /dev/null
@@ -1,41 +0,0 @@
-local lines = {}
-local function hook()
- lines[#lines+1] = debug.getinfo(2).currentline
-end
-
-local function dummy()
-end -- <-- line 7
-
-debug.sethook(hook, "l", 0)
--- <-- line 10
-local x
-dummy()
-local y = 1
-dummy() dummy()
-local z = 2; local r = true
-while y < 4 do y = y + 1 end
-while z < 4 do
- z = z + 1
-end
--- <-- line 20
-local v
-debug.sethook(nil, "", 0)
-
-assert(#lines > 0)
-while lines[1] < 10 do table.remove(lines, 1) end
-while lines[#lines] > 20 do table.remove(lines) end
-
-local s = table.concat(lines, " ")
-assert(s == "11 12 7 13 14 7 7 15 16 16 16 16 17 18 17 18 17" or
- s == "11 12 7 13 14 7 14 7 15 16 16 16 16 17 18 17 18 17")
-
-lines = {}
-local function f()
- if true then return end
- local function x() end
-end -- <-- line 36
-debug.sethook(hook, "l", 0)
-f()
-debug.sethook(nil, "", 0)
-for i=1,#lines do assert(lines[i] ~= 36) end
-
--
2.45.2
More information about the Tarantool-patches
mailing list