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 3E9BB9CBDC1; Mon, 5 Feb 2024 16:11:10 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 3E9BB9CBDC1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1707138670; bh=x/3tKSWeJ7nejFpJmBmoWRwGXWWUuE3CArQFpRqRENI=; h=Date:To:Cc:References:In-Reply-To:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=NKFVsgjl33RHB5iRUp74iaZvI8G0veh4o041KlQDT9VQ2wS7x4/3mAzdijC8yjVrg Y6fhjeYgbDTz3+FovKYcrvM/vC5v1pP9jZPEn1c7K3HedtDGIH6Ds+hJprkij64vyG fyGH/kUdcsG9qVrnbqmvi+3U0/40Imc0CwM8pjEg= Received: from smtp52.i.mail.ru (smtp52.i.mail.ru [95.163.41.88]) (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 0D8EE9CBDC1 for ; Mon, 5 Feb 2024 16:11:09 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 0D8EE9CBDC1 Received: by smtp52.i.mail.ru with esmtpa (envelope-from ) id 1rWykd-0000000CAKI-08Jy; Mon, 05 Feb 2024 16:11:07 +0300 Message-ID: Date: Mon, 5 Feb 2024 16:11:06 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: Sergey Kaplun , Maxim Kokryashkin Cc: tarantool-patches@dev.tarantool.org References: <2a5fbe653d26a7a9d3d8d627f7345cd78ceec93a.1706520765.git.skaplun@tarantool.org> In-Reply-To: <2a5fbe653d26a7a9d3d8d627f7345cd78ceec93a.1706520765.git.skaplun@tarantool.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Mailru-Src: smtp X-4EC0790: 10 X-7564579A: B8F34718100C35BD X-77F55803: 4F1203BC0FB41BD94C460F083DF69F5190553CFE4D3947DFAEC6AB1FF362D218182A05F53808504091CDF2978CCEDAD40578E6996F383413AE53ABCE69281532434675A7731556E5A938C1B4F21A4609 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE7548C33FFD72831AFEA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637BE899A9B5C1209058638F802B75D45FF36EB9D2243A4F8B5A6FCA7DBDB1FC311F39EFFDF887939037866D6147AF826D861E68AD7A031DFA1B6708F99BD57734EDF936003208F7E86CC7F00164DA146DAFE8445B8C89999728AA50765F7900637F924B32C592EA89F389733CBF5DBD5E9C8A9BA7A39EFB766F5D81C698A659EA7CC7F00164DA146DA9985D098DBDEAEC82FFDA4F57982C5F4F6B57BC7E6449061A352F6E88A58FB86F5D81C698A659EA73AA81AA40904B5D9A18204E546F3947C632EDEA9CD5989A39735652A29929C6C4AD6D5ED66289B523666184CF4C3C14F6136E347CC761E07725E5C173C3A84C31DA0D137B259B101BA3038C0950A5D36B5C8C57E37DE458B330BD67F2E7D9AF16D1867E19FE14079C09775C1D3CA48CFE478A468B35FE7671DD303D21008E298D5E8D9A59859A8B6B372FE9A2E580EFC725E5C173C3A84C3EB9EA62DB0D2896935872C767BF85DA2F004C90652538430E4A6367B16DE6309 X-C1DE0DAB: 0D63561A33F958A558B8FC23587F7A015002B1117B3ED696ADCB94BD10CE1BBC715D9AB585B0EB04823CB91A9FED034534781492E4B8EEAD1E02C13459908652BDAD6C7F3747799A X-C8649E89: 1C3962B70DF3F0ADE00A9FD3E00BEEDF3FED46C3ACD6F73ED3581295AF09D3DF87807E0823442EA2ED31085941D9CD0AF7F820E7B07EA4CF021D603B41648930BE9ACF0C882DAE8933E0E8A7736BDB276692378E677AFB4E378A699BB2730F8C14BC176DD269F15EA9CD6ACADA26AD0B5627F4D14714C2965BF4296A3324C7BF5F4332CA8FE04980913E6812662D5F2AB9AF64DB4688768036DF5FE9C0001AF333F2C28C22F508233FCF178C6DD14203 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2bioj0TrRSEWQ3Vk0WiIcR/OhAA== X-Mailru-Sender: 11C2EC085EDE56FAC07928AF2646A7691442C63D72C643C00578E6996F383413AE53ABCE69281532B7CBEF92542CD7C8795FA72BAB74744FC77752E0C033A69EA16A481184E8BB1C9B38E6EA4F046BE03A5DB60FBEB33A8A0DA7A0AF5A3A8387 X-Mras: Ok Subject: Re: [Tarantool-patches] [PATCH v2 luajit 20/26] test: enable in LuaJIT-tests 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 Bronnikov via Tarantool-patches Reply-To: Sergey Bronnikov Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" Hi, Sergey thanks for the patch! LGTM On 1/29/24 13:45, Sergey Kaplun wrote: > This patch changes `dofile()` (which uses an unreliable relative file > path and mutates `_G` with global functions to be defined) to the > corresponding `require()` of the helper functions. It adds groups with > the names of subtests and enables the test in . > > Part of tarantool/tarantool#9398 > --- > test/LuaJIT-tests/lib/ffi/ffi_parse_cdef.lua | 141 ++++++++++--------- > test/LuaJIT-tests/lib/ffi/index | 1 + > 2 files changed, 77 insertions(+), 65 deletions(-) > > diff --git a/test/LuaJIT-tests/lib/ffi/ffi_parse_cdef.lua b/test/LuaJIT-tests/lib/ffi/ffi_parse_cdef.lua > index 4bb5d903..cc123808 100644 > --- a/test/LuaJIT-tests/lib/ffi/ffi_parse_cdef.lua > +++ b/test/LuaJIT-tests/lib/ffi/ffi_parse_cdef.lua > @@ -1,77 +1,88 @@ > local ffi = require("ffi") > > -dofile("../common/ffi_util.inc") > +local checkfail = require("common.ffi.checkfail") > +local checktypes = require("common.ffi.checktypes") > > -checkfail({ > - "int", > - "int aa1; int aa2 ", > - "static int x;", > - "static const long long x = 1;", -- NYI > - "static const double x = 1;", -- NYI > - "static const bool x = 1;", -- NYI (intentional, need true/false) > - "struct { static int x = 1; };", > - ";;static int y" > -}, ffi.cdef) > +do --- checkfail > + checkfail({ > + "int", > + "int aa1; int aa2 ", > + "static int x;", > + "static const long long x = 1;", -- NYI > + "static const double x = 1;", -- NYI > + "static const bool x = 1;", -- NYI (intentional, need true/false) > + "struct { static int x = 1; };", > + ";;static int y" > + }, ffi.cdef) > +end > > -ffi.cdef[[ > -static const int K_42a = 42; > -static const char K_42b = 42+256; > -static const short K_M1a = 65535; > -static const unsigned short K_65535a = 65535; > -static const int K_1b = 0xffffffff >> 31; > -static const int K_1c = 0xffffffffu >> 31; > -static const int K_M1b = (int)0xffffffff >> 31; > -]] > +do --- constants declarations > + ffi.cdef[[ > + static const int K_42a = 42; > + static const char K_42b = 42+256; > + static const short K_M1a = 65535; > + static const unsigned short K_65535a = 65535; > + static const int K_1b = 0xffffffff >> 31; > + static const int K_1c = 0xffffffffu >> 31; > + static const int K_M1b = (int)0xffffffff >> 31; > + ]] > > -checktypes{ > - 42, 1, "char[K_42a]", > - 42, 1, "char[K_42b]", > - 1, 1, "char[-K_M1a]", > - 65535, 1, "char[K_65535a]", > - 1, 1, "char[K_1b]", > - 1, 1, "char[K_1c]", > - 1, 1, "char[-K_M1b]", > -} > + checktypes{ > + 42, 1, "char[K_42a]", > + 42, 1, "char[K_42b]", > + 1, 1, "char[-K_M1a]", > + 65535, 1, "char[K_65535a]", > + 1, 1, "char[K_1b]", > + 1, 1, "char[K_1c]", > + 1, 1, "char[-K_M1b]", > + } > +end > > -ffi.cdef[[ > -struct str1 { > - enum { > - K_99 = 99 > - }; > - static const int K_55 = 55; > -} extk; > -]] > +do --- constant struct > + ffi.cdef[[ > + struct str1 { > + enum { > + K_99 = 99 > + }; > + static const int K_55 = 55; > + } extk; > + ]] > > -checktypes{ > - 99, 1, "char[K_99]", > - 99, 1, "char[extk.K_99]", > - 99, 1, "char[((struct str1)0).K_99]", > - 99, 1, "char[((struct str1 *)0)->K_99]", > - 55, 1, "char[extk.K_55]", > -} > + checktypes{ > + 99, 1, "char[K_99]", > + 99, 1, "char[extk.K_99]", > + 99, 1, "char[((struct str1)0).K_99]", > + 99, 1, "char[((struct str1 *)0)->K_99]", > + 55, 1, "char[extk.K_55]", > + } > > -checkfail{ > - "char[K_55]", > -} > + checkfail{ > + "char[K_55]", > + } > +end > > -ffi.cdef[[ > -extern int func1(void); > -extern int func2(); > -static int func3(); > -static inline int func4(int n) > -{ > - int i, k = 0; > - float x = 1.0f; > - for (i = 0; i < n; i++) { > - k += i; > +do --- parse functions declaration > + ffi.cdef[[ > + extern int func1(void); > + extern int func2(); > + static int func3(); > + static inline int func4(int n) > + { > + int i, k = 0; > + float x = 1.0f; > + for (i = 0; i < n; i++) { > + k += i; > + } > + return k; > } > - return k; > -} > -;;; > -]] > + ;;; > + ]] > +end > > -ffi.cdef[[ > -int ext1; > -extern int ext2; > -]] > +do --- parse extern > + ffi.cdef[[ > + int ext1; > + extern int ext2; > + ]] > +end > > diff --git a/test/LuaJIT-tests/lib/ffi/index b/test/LuaJIT-tests/lib/ffi/index > index a805bdd0..12b6387f 100644 > --- a/test/LuaJIT-tests/lib/ffi/index > +++ b/test/LuaJIT-tests/lib/ffi/index > @@ -18,6 +18,7 @@ ffi_metatype.lua > ffi_new.lua > ffi_parse_array.lua > ffi_parse_basic.lua > +ffi_parse_cdef.lua > istype.lua > jit_array.lua > jit_complex.lua