From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from [87.239.111.99] (localhost [127.0.0.1]) by dev.tarantool.org (Postfix) with ESMTP id 9AB39C74DC3; Wed, 21 Aug 2024 12:07:30 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 9AB39C74DC3 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1724231250; bh=jOc5PtwWfq08cP50o7NtV9S85uf6qdp73yHKzHBPkSs=; h=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=gpsE6oWHYwPRu0M0QKmC+cFK/bLfuOBi1z6MPhQ6YZszb2C3aQhSM9MIYSJKOx4Hf PVTBOUsnZaasBCnd4ZeOML36I4ojzTeSk6lW4zU6mnPsSj65XLnozrnyMc3XNpV8lA a0NaYrJdLXvqTHFkZDNTlAvIZvPWdynAZksn5hQQ= Received: from smtp35.i.mail.ru (smtp35.i.mail.ru [95.163.41.76]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 65990C6198C for ; Wed, 21 Aug 2024 11:59:21 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 65990C6198C Received: by smtp35.i.mail.ru with esmtpa (envelope-from ) id 1sghBY-00000005aRz-2NVA; Wed, 21 Aug 2024 11:59:20 +0300 To: Maxim Kokryashkin , Sergey Bronnikov Date: Wed, 21 Aug 2024 11:58:20 +0300 Message-ID: X-Mailer: git-send-email 2.45.2 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Mailru-Src: smtp X-4EC0790: 10 X-7564579A: 646B95376F6C166E X-77F55803: 4F1203BC0FB41BD93D5A650E6D4F687EA368CFCD50A579C26BC8BA9A143473E3182A05F53808504021265089D69F3C7DD27678DDAA8063149AF8BAA427D382F5EFF80BD07D1CDB7987D23EDDC3F839DD X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE712EB008F780777E9EA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637A51395D67213548E8638F802B75D45FF36EB9D2243A4F8B5A6FCA7DBDB1FC311F39EFFDF887939037866D6147AF826D8CB7A1EBA5AD0B199C1F3096FD6B0A5BA0CE1DA2A0118EAF2CC7F00164DA146DAFE8445B8C89999728AA50765F7900637CAEE156C82D3D7D9389733CBF5DBD5E9C8A9BA7A39EFB766F5D81C698A659EA7CC7F00164DA146DA9985D098DBDEAEC8989FD0BDF65E50FBF6B57BC7E6449061A352F6E88A58FB86F5D81C698A659EA7E827F84554CEF5019E625A9149C048EE9ECD01F8117BC8BEE2021AF6380DFAD18AA50765F790063735872C767BF85DA227C277FBC8AE2E8B80B9CEB5436E71E375ECD9A6C639B01B4E70A05D1297E1BBCB5012B2E24CD356 X-C1DE0DAB: 0D63561A33F958A55CFF3A7F8709C0B35002B1117B3ED69642CF686AA112CFD6B48B7A7F94616420823CB91A9FED034534781492E4B8EEADA2D5570B22232E1EC79554A2A72441328621D336A7BC284946AD531847A6065A535571D14F44ED41 X-C8649E89: 1C3962B70DF3F0ADE00A9FD3E00BEEDF3FED46C3ACD6F73ED3581295AF09D3DF87807E0823442EA2ED31085941D9CD0AF7F820E7B07EA4CF606EB6A2E44BD5C9EAD1A81AFCA13E52D9DFBFF0877B912A697426DBEC1E1CFC6238D603D2F19CCFD14E51FF79EEE6036288713F3C09A974B2A94BCD9D7316CEB2DE5396A9BEBA53C226CC413062362A913E6812662D5F2A5EAB5682573093F7837F15F2B5E4A70B33F2C28C22F508233FCF178C6DD14203 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojegttVMu7AX/25tHmf7Tu2A== X-DA7885C5: E5214808135B8C45F255D290C0D534F969FDDB39DBDE1398885A26CA389A3C5D13879073BF4A19E95B1A4C17EAA7BC4BEF2421ABFA55128DAF83EF9164C44C7E X-Mailru-Sender: 689FA8AB762F7393C6D0B12EA33CAA9B1B283886F3EEAB46DAC77899D9C4377FE4419B1B09D66D1EE49D44BB4BD9522A059A1ED8796F048DB274557F927329BE89D5A3BC2B10C37545BD1C3CC395C826B4A721A3011E896F X-Mras: Ok Subject: [Tarantool-patches] [PATCH v2 luajit 17/45] test: enable LuaJIT test X-BeenThere: tarantool-patches@dev.tarantool.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Sergey Kaplun via Tarantool-patches Reply-To: Sergey Kaplun Cc: tarantool-patches@dev.tarantool.org Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" This patch moves the aforementioned test from the to the directory, includes it in , 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