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 B93D26BD2D; Tue, 13 Apr 2021 16:35:02 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org B93D26BD2D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1618320902; bh=cHZyU0cb+ZGj3pmaEREb9JxwBMVMC2nA8VnSAMgsck4=; 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=vTDEZqefKTJ3I2hUzrMXvNfsMfLyrQ27P52TgZoX8ZLmju3XAjo2DGe0HPKd+ZnSQ jI4BdyH4xLeHvpx71ZXcMkfNvRwE1ckoVMnvCCAV+cnK6zYNMlXP3JxdgKE0ElC40m MsKj/ZyL9taqbgKfsHhoi+8+M04Dzq5nyiFV2gRM= Received: from smtp48.i.mail.ru (smtp48.i.mail.ru [94.100.177.108]) (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 B79F86B95E for ; Tue, 13 Apr 2021 16:28:43 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org B79F86B95E Received: by smtp48.i.mail.ru with esmtpa (envelope-from ) id 1lWJ5u-0000dj-U8; Tue, 13 Apr 2021 16:28:43 +0300 To: Sergey Ostanevich , Igor Munkin Date: Tue, 13 Apr 2021 16:27:13 +0300 Message-Id: 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: 4F1203BC0FB41BD92FFCB8E6708E74806859AC5FE18436AEED970E897805ADA4182A05F538085040273CA5625881AEAD2C1F7688E456798DB6FA057C6BBFCB41723AA996CA907829 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE7E2331B2371EFE129EA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F79006374FBED2B83F5E00CA8638F802B75D45FF914D58D5BE9E6BC1A93B80C6DEB9DEE97C6FB206A91F05B2F5F4037477A3E0288CC36C274C522EA1BDFBBEFFF4125B51D2E47CDBA5A96583C09775C1D3CA48CF53FA85A707D24CADCC7F00164DA146DAFE8445B8C89999729449624AB7ADAF37F6B57BC7E64490611E7FA7ABCAF51C92176DF2183F8FC7C0F75B7380DB97F9D88941B15DA834481F9449624AB7ADAF372E808ACE2090B5E1725E5C173C3A84C3C5EA940A35A165FF2DBA43225CD8A89FB26E97DCB74E6252262FEC7FBD7D1F5BB5C8C57E37DE458BEDA766A37F9254B7 X-C1DE0DAB: C20DE7B7AB408E4181F030C43753B8186998911F362727C414F749A5E30D975CB69F9342289A40B37DE9341522BABC8B997EBEC2D5E095219C2B6934AE262D3EE7EAB7254005DCED7532B743992DF240BDC6A1CF3F042BAD6DF99611D93F60EF0417BEADF48D1460699F904B3F4130E343918A1A30D5E7FCCB5012B2E24CD356 X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D345DE7771146E56B08E628299DA3A06EDA01616C6C12F973F99CBD1F6476CB9AA9D24B1B171DB5E2CC1D7E09C32AA3244C9E1CAF4FE3652F283DDCA2030CE087BD3C6EB905E3A8056B927AC6DF5659F194 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojnA7/qPBUIXG9dJD1jDIlHQ== X-Mailru-Sender: 3B9A0136629DC91206CBC582EFEF4CB4EB7977BB5711C0D00CB0C4669B49AB2C41502C51371442E9F2400F607609286E924004A7DEC283833C7120B22964430C52B393F8C72A41A89437F6177E88F7363CDA0F3B3F5B9367 X-Mras: Ok Subject: [Tarantool-patches] [PATCH luajit v3 13/29] test: disable PUC-Rio 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 call frame 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-Rio-Lua-5.1-tests/db.lua | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/test/PUC-Rio-Lua-5.1-tests/db.lua b/test/PUC-Rio-Lua-5.1-tests/db.lua index db69b2df..f81b86cf 100644 --- a/test/PUC-Rio-Lua-5.1-tests/db.lua +++ b/test/PUC-Rio-Lua-5.1-tests/db.lua @@ -403,18 +403,29 @@ function g1(x) g(x) end local function h (x) local f=g1; return f(x) end -h(true) +-- FIXME: 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 call frame for LuaJIT and level +-- number should be changed. +-- 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() +-- FIXME: Behavior is different for LuaJIT. See the comment above. +-- 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 +-- FIXME: Behavior is different for LuaJIT. See the comment above. +-- Test is disabled for LuaJIT. +-- for _, k in ipairs(res) do assert(k == table.remove(b, 1)) end lim = 30000 @@ -426,7 +437,9 @@ local function foo (x) end end -foo(lim) +-- FIXME: Behavior is different for LuaJIT. +-- See the comment to `h()` above. Test is disabled for LuaJIT. +-- foo(lim) print"+" @@ -462,7 +475,9 @@ end local co = coroutine.create(f) coroutine.resume(co, 3) -checktraceback(co, {"yield", "db.lua", "tail", "tail", "tail"}) +-- FIXME: Behavior is different for LuaJIT. +-- See the comment to `h()` above. Test is disabled for LuaJIT. +-- checktraceback(co, {"yield", "db.lua", "tail", "tail", "tail"}) co = coroutine.create(function (x) -- 2.31.0