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 3E4396F3C7; Fri, 26 Mar 2021 10:50:42 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 3E4396F3C7 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1616745042; bh=o9AadwMMWbUbp3O6X4qM8orkKxgy7AltqRFSnbResOg=; 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=EsCecIlgnMCuZS3KbQHWuJvyA1J6ZSSWjvuMtLkFOEJL47b6W7HBfK3Fv5SWY1WZr c5AeYb7/5B87CDZl/S0l954dzhfeaKKhpDLZGjR/NOmd20huCF/+L3LYiOY0WS+3W9 n0jbrkSbggkxy9tcZncUCQGqmW1TPllvZ04ZaKaU= Received: from smtp63.i.mail.ru (smtp63.i.mail.ru [217.69.128.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 647F368F41 for ; Fri, 26 Mar 2021 10:44:23 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 647F368F41 Received: by smtp63.i.mail.ru with esmtpa (envelope-from ) id 1lPh8o-00042u-GL; Fri, 26 Mar 2021 10:44:22 +0300 To: Sergey Ostanevich , Igor Munkin Date: Fri, 26 Mar 2021 10:42:56 +0300 Message-Id: <43c7a2668c9d3935e792363a7a6536a4801e28a8.1616743343.git.skaplun@tarantool.org> X-Mailer: git-send-email 2.31.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-7564579A: B8F34718100C35BD X-77F55803: 4F1203BC0FB41BD9064ADF4728AA0EE9AECA9F3C9C9885BEE78E91CF33279E24182A05F538085040CCE745CA3A36A20D65A960A610B844E404F231787ABE2834597128CD99B38372 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE751DD1FEBB966604DEA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F79006376F978168E59B07A5EA1F7E6F0F101C67CDEEF6D7F21E0D1D174C73DBBBFC7664522CCF267CC2B9BF1E575B430281D1B4E28D35A2D07CC2E6389733CBF5DBD5E913377AFFFEAFD269176DF2183F8FC7C06030C3405640F6718941B15DA834481FCF19DD082D7633A0EF3E4896CB9E6436389733CBF5DBD5E9D5E8D9A59859A8B6D6FBC3EC642A93BBCC7F00164DA146DA6F5DAA56C3B73B237318B6A418E8EAB86D1867E19FE14079C09775C1D3CA48CFC5EA940A35A165FF2DBA43225CD8A89F890A246B268E114EC6EABA9B74D0DA47B5C8C57E37DE458BEDA766A37F9254B7 X-C1DE0DAB: C20DE7B7AB408E4181F030C43753B8186998911F362727C414F749A5E30D975C5DD32608FC869F5DCFBB6FC394593477F873678EF7F5F1989C2B6934AE262D3EE7EAB7254005DCED7532B743992DF240BDC6A1CF3F042BAD6DF99611D93F60EFF532FBFD8162E58C699F904B3F4130E343918A1A30D5E7FCCB5012B2E24CD356 X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D34F05B761BB9C2AA448197B1BCB21CE93B12EFCA79BA264A8BF1AE49BE24843ED1F6485A9BB48AB27F1D7E09C32AA3244C42FB16B5B9881F2CC3292A498635AD1824AF4FAF06DA24FD927AC6DF5659F194 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojapPp7P/VpAgXKGyZ+kT5BA== X-Mailru-Sender: 3B9A0136629DC91206CBC582EFEF4CB477495A235EE39125C37CE200D0FCECB7D723B850778A2A1FF2400F607609286E924004A7DEC283833C7120B22964430C52B393F8C72A41A89437F6177E88F7363CDA0F3B3F5B9367 X-Mras: Ok Subject: [Tarantool-patches] [PATCH v2 luajit 13/30] test: disable PUC Lua test for tail call info 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" LuaJIT does not provide information about tail calls in debug.getinfo(), unlike Lua does. This missed feature is described in https://luajit.org/status.html. This patch disables tests for tail call checks and getfenv() checks, because tail calls do not provide an additional level for LuaJIT and level number given to getfenv() should be changed. Relates to tarantool/tarantool#5702 Relates to tarantool/tarantool#5703 Part of tarantool/tarantool#5845 Part of tarantool/tarantool#4473 --- test/PUC-Lua-5.1-tests/db.lua | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/test/PUC-Lua-5.1-tests/db.lua b/test/PUC-Lua-5.1-tests/db.lua index c1a635a..b363abc 100644 --- a/test/PUC-Lua-5.1-tests/db.lua +++ b/test/PUC-Lua-5.1-tests/db.lua @@ -400,19 +400,29 @@ function g1(x) g(x) end local function h (x) local f=g1; return f(x) end -h(true) +-- LuaJIT does not provide information about tail calls, +-- unlike Lua does. See also https://luajit.org/status.html. +-- getfenv() behaviour is also different here, +-- because tail calls do not provide additional level for LuaJIT +-- and level number should be changed. +-- FIXME: Test is disabled for LuaJIT. +-- See also https://github.com/tarantool/tarantool/issues/5702. +-- h(true) local b = {} -debug.sethook(function (e) table.insert(b, e) end, "cr") -h(false) -debug.sethook() +-- Behavior is different for LuaJIT. See the comment above. +-- FIXME: Test is disabled for LuaJIT. +-- debug.sethook(function (e) table.insert(b, e) end, "cr") +-- h(false) +-- debug.sethook() local res = {"return", -- first return (from sethook) "call", "call", "call", "call", "return", "tail return", "return", "tail return", "call", -- last call (to sethook) } -for _, k in ipairs(res) do assert(k == table.remove(b, 1)) end - +-- Behavior is different for LuaJIT. See the comment above. +-- FIXME: Test is disabled for LuaJIT. +-- for _, k in ipairs(res) do assert(k == table.remove(b, 1)) end lim = 30000 local function foo (x) @@ -423,7 +433,9 @@ local function foo (x) end end -foo(lim) +-- Behavior is different for LuaJIT. See the comment above. +-- FIXME: Test is disabled for LuaJIT. +-- foo(lim) print"+" @@ -459,7 +471,9 @@ end local co = coroutine.create(f) coroutine.resume(co, 3) -checktraceback(co, {"yield", "db.lua", "tail", "tail", "tail"}) +-- Behavior is different for LuaJIT. See the comment to h() above. +-- FIXME: Test is disabled for LuaJIT. +-- checktraceback(co, {"yield", "db.lua", "tail", "tail", "tail"}) co = coroutine.create(function (x) -- 2.31.0