Tarantool development patches archive
 help / color / mirror / Atom feed
From: Sergey Kaplun via Tarantool-patches <tarantool-patches@dev.tarantool.org>
To: Maxim Kokryashkin <m.kokryashkin@tarantool.org>,
	Sergey Bronnikov <sergeyb@tarantool.org>
Cc: tarantool-patches@dev.tarantool.org
Subject: [Tarantool-patches] [PATCH v2 luajit 17/45] test: enable <misc/hook_line.lua> LuaJIT test
Date: Wed, 21 Aug 2024 11:58:20 +0300	[thread overview]
Message-ID: <f169f49d3d2db53fce727cff99cb33d99a05906e.1724228998.git.skaplun@tarantool.org> (raw)
In-Reply-To: <cover.1724228998.git.skaplun@tarantool.org>

This patch moves the aforementioned test from the <misc> to the <lang/>
directory, includes it in <index>, names the subtests, and adjusts the
line numbers in the assertions and filters to match LuaJIT behaviour and
the new code layout. Also, it slightly refactors the code to make it
closer to our code style.

Part of tarantool/tarantool#9398
---
 test/LuaJIT-tests/lang/hook_line.lua | 45 ++++++++++++++++++++++++++++
 test/LuaJIT-tests/lang/index         |  1 +
 test/LuaJIT-tests/misc/hook_line.lua | 41 -------------------------
 3 files changed, 46 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..733e5513
--- /dev/null
+++ b/test/LuaJIT-tests/lang/hook_line.lua
@@ -0,0 +1,45 @@
+-- The test depends on the number of lines in the file.
+local lines = {}
+local function hook()
+  lines[#lines + 1] = debug.getinfo(2).currentline
+end
+
+local function dummy()
+end -- <-- line 8
+
+do --- Base test: cycles, function calls.
+  debug.sethook(hook, "l", 0)
+  -- <-- line 12
+  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 22
+  local v
+  debug.sethook(nil, "", 0)
+
+  assert(#lines > 0)
+  while lines[1] < 12 do table.remove(lines, 1) end
+  while lines[#lines] > 22 do table.remove(lines) end
+
+  local s = table.concat(lines, " ")
+  assert(s == "13 14 8 15 16 8 8 17 18 18 18 18 19 20 19 20 19" or
+         s == "13 14 8 15 16 8 16 8 17 18 18 18 18 19 20 19 20 19")
+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 40
+  debug.sethook(hook, "l", 0)
+  f()
+  debug.sethook(nil, "", 0)
+  for i = 1, #lines do assert(lines[i] ~= 40) 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


  parent reply	other threads:[~2024-08-21  9:07 UTC|newest]

Thread overview: 156+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-21  8:58 [Tarantool-patches] [PATCH v2 luajit 00/45] Rearrange LuaJIT misc tests Sergey Kaplun via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 01/45] test: don't run JIT-based LuaJIT tests without JIT Sergey Kaplun via Tarantool-patches
2024-08-21 15:24   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 22:53   ` Maxim Kokryashkin via Tarantool-patches
2024-09-04 22:55   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 02/45] test: actualize <LuaJIT-tests/README.md> Sergey Kaplun via Tarantool-patches
2024-08-21 15:27   ` Sergey Bronnikov via Tarantool-patches
2024-08-21 16:40     ` Sergey Kaplun via Tarantool-patches
2024-09-04 22:54   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 03/45] test: enable <misc/alias_alloc.lua> LuaJIT test Sergey Kaplun via Tarantool-patches
2024-08-21 16:15   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 22:55   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 04/45] test: refactor <alias_alloc.lua> " Sergey Kaplun via Tarantool-patches
2024-08-21 16:18   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 22:55   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 05/45] test: refactor <lang/coroutine.lua> " Sergey Kaplun via Tarantool-patches
2024-08-21 16:20   ` Sergey Bronnikov via Tarantool-patches
2024-08-21 16:27     ` Sergey Bronnikov via Tarantool-patches
2024-09-04 22:56   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 06/45] test: remove <misc/coro_yield.lua> " Sergey Kaplun via Tarantool-patches
2024-08-21 16:23   ` Sergey Bronnikov via Tarantool-patches
2024-08-21 16:36     ` Sergey Kaplun via Tarantool-patches
2024-08-22 15:04       ` Sergey Bronnikov via Tarantool-patches
2024-09-04 22:56   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 07/45] test: enable <misc/debug_gc.lua> " Sergey Kaplun via Tarantool-patches
2024-08-22 15:04   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 22:57   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 08/45] test: enable <misc/dualnum.lua> " Sergey Kaplun via Tarantool-patches
2024-08-22 14:54   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 22:57   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 09/45] test: refactor <lang/dualnum.lua> " Sergey Kaplun via Tarantool-patches
2024-08-22 15:05   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 22:58   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 10/45] test: remove <misc/fori_coerce.lua> " Sergey Kaplun via Tarantool-patches
2024-08-22 14:53   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 22:58   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 11/45] test: remove <misc/fori_dir.lua> " Sergey Kaplun via Tarantool-patches
2024-08-22 15:05   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 22:58   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 12/45] test: remove <misc/gc_rechain.lua> " Sergey Kaplun via Tarantool-patches
2024-08-22 14:53   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 22:59   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 13/45] test: enable <misc/gc_trace.lua> " Sergey Kaplun via Tarantool-patches
     [not found]   ` <4f43c5dc-d8c2-48a1-a26b-00b626ce69e5@tarantool.org>
2024-08-22 12:54     ` Sergey Kaplun via Tarantool-patches
2024-08-22 15:06   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:04   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 14/45] test: refactor <trace/gc.lua> " Sergey Kaplun via Tarantool-patches
2024-08-22 14:53   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:04   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 15/45] test: enable <misc/gcstep.lua> " Sergey Kaplun via Tarantool-patches
2024-08-22 12:14   ` Sergey Bronnikov via Tarantool-patches
2024-08-22 12:57     ` Sergey Kaplun via Tarantool-patches
2024-08-22 15:07       ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:05   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 16/45] test: enable <misc/hook_active.lua> " Sergey Kaplun via Tarantool-patches
2024-08-23 14:35   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:11   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` Sergey Kaplun via Tarantool-patches [this message]
2024-08-23 14:38   ` [Tarantool-patches] [PATCH v2 luajit 17/45] test: enable <misc/hook_line.lua> " Sergey Bronnikov via Tarantool-patches
2024-08-26  6:39     ` Sergey Kaplun via Tarantool-patches
2024-08-29  9:44       ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:12   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 18/45] test: enable <misc/hook_norecord.lua> " Sergey Kaplun via Tarantool-patches
2024-09-04 23:12   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 19/45] test: enable <misc/hook_record.lua> " Sergey Kaplun via Tarantool-patches
2024-08-23 15:12   ` Sergey Bronnikov via Tarantool-patches
2024-08-23 15:15   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:12   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 20/45] test: enable <misc/hook_top.lua> " Sergey Kaplun via Tarantool-patches
2024-08-23 15:17   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:13   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 21/45] test: enable <misc/jit_flush.lua> " Sergey Kaplun via Tarantool-patches
2024-08-23 15:30   ` Sergey Bronnikov via Tarantool-patches
2024-08-26  6:50     ` Sergey Kaplun via Tarantool-patches
2024-08-29  9:44       ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:14   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 22/45] test: remove <misc/loop_unroll.lua> " Sergey Kaplun via Tarantool-patches
2024-08-22 12:33   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:14   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 23/45] test: enable <misc/parse_comp.lua> " Sergey Kaplun via Tarantool-patches
2024-08-22 13:07   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:14   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 24/45] test: enable <misc/parse_esc.lua> " Sergey Kaplun via Tarantool-patches
2024-08-22 13:28   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:14   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 25/45] test: enable <misc/parse_misc.lua> " Sergey Kaplun via Tarantool-patches
2024-08-22 13:31   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:15   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 26/45] test: enable <misc/phi_conv.lua> " Sergey Kaplun via Tarantool-patches
2024-08-22 13:39   ` Sergey Bronnikov via Tarantool-patches
2024-08-22 13:41     ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:16   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 27/45] test: refactor <trace/phi/conv.lua> " Sergey Kaplun via Tarantool-patches
2024-08-22 13:41   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:16   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 28/45] test: enable <misc/recurse_deep.lua> " Sergey Kaplun via Tarantool-patches
2024-08-22 13:44   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:16   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 29/45] test: remove <misc/recurse_tail.lua> " Sergey Kaplun via Tarantool-patches
2024-08-22 13:45   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:16   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 30/45] test: enable <misc/stack_gc.lua> " Sergey Kaplun via Tarantool-patches
2024-08-22 13:46   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:16   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 31/45] test: refactor <lang/gc_stack.lua> " Sergey Kaplun via Tarantool-patches
2024-08-22 13:47   ` Sergey Bronnikov via Tarantool-patches
2024-08-26  6:56     ` Sergey Kaplun via Tarantool-patches
2024-08-29  9:45       ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:17   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 32/45] test: enable <misc/stack_purge.lua> " Sergey Kaplun via Tarantool-patches
2024-08-22 13:49   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:18   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 33/45] test: refactor <trace/stack_purge.lua> " Sergey Kaplun via Tarantool-patches
2024-08-22 13:49   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:18   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 34/45] test: enable <misc/stackov.lua> " Sergey Kaplun via Tarantool-patches
2024-08-22 13:51   ` Sergey Bronnikov via Tarantool-patches
2024-08-22 14:34     ` Sergey Kaplun via Tarantool-patches
2024-08-23 15:42       ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:19   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 35/45] test: enable <misc/stackovc.lua> " Sergey Kaplun via Tarantool-patches
2024-08-22 13:53   ` Sergey Bronnikov via Tarantool-patches
2024-08-22 14:36     ` Sergey Kaplun via Tarantool-patches
2024-08-23 15:41       ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:19   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 36/45] test: enable <misc/tcall_base.lua> " Sergey Kaplun via Tarantool-patches
2024-08-22 14:11   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:19   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 37/45] test: refactor <trace/tcall_base.lua> " Sergey Kaplun via Tarantool-patches
2024-08-22 14:12   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:19   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 38/45] test: enable <misc/tcall_loop.lua> " Sergey Kaplun via Tarantool-patches
2024-08-22 14:14   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:19   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 39/45] test: enable <misc/tonumber_scan.lua> " Sergey Kaplun via Tarantool-patches
2024-08-22 14:33   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:20   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 40/45] test: remove <misc/uclo.lua> " Sergey Kaplun via Tarantool-patches
2024-08-22 14:43   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:21   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 41/45] test: enable <misc/unordered_jit.lua> " Sergey Kaplun via Tarantool-patches
2024-08-22 14:49   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:21   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 42/45] test: enable <misc/wbarrier.lua> " Sergey Kaplun via Tarantool-patches
2024-08-22 14:51   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:21   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 43/45] test: enable <misc/wbarrier_jit.lua> " Sergey Kaplun via Tarantool-patches
2024-08-22 14:52   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:21   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 44/45] test: enable <misc/wbarrier_obar.lua> " Sergey Kaplun via Tarantool-patches
2024-08-22 15:17   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:22   ` Maxim Kokryashkin via Tarantool-patches
2024-08-21  8:58 ` [Tarantool-patches] [PATCH v2 luajit 45/45] test: update <LuaJIT-tests/README.md> Sergey Kaplun via Tarantool-patches
2024-08-22 15:17   ` Sergey Bronnikov via Tarantool-patches
2024-09-04 23:22   ` Maxim Kokryashkin via Tarantool-patches
2024-08-23 15:55 ` [Tarantool-patches] [PATCH v2 luajit 00/45] Rearrange LuaJIT misc tests Sergey Bronnikov via Tarantool-patches

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f169f49d3d2db53fce727cff99cb33d99a05906e.1724228998.git.skaplun@tarantool.org \
    --to=tarantool-patches@dev.tarantool.org \
    --cc=m.kokryashkin@tarantool.org \
    --cc=sergeyb@tarantool.org \
    --cc=skaplun@tarantool.org \
    --subject='Re: [Tarantool-patches] [PATCH v2 luajit 17/45] test: enable <misc/hook_line.lua> LuaJIT test' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox