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 5F1FF98C116; Fri, 19 Jan 2024 14:45:04 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 5F1FF98C116 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1705664704; bh=Oa64OSYPLSl0qfCG3qa4nx2U+91j6LbGI9ibcokazKw=; 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=mmftXoRf21V/CH0x1XnmMJ6cl1V2syUZSTYTkwm8z55WecakOFvTlDHSpqHzDHY1e kTtwOINHVYzZkrwoE0fLKbtzMu2BI7D7+T65OiRH5wRcEyTiogsqYv5L/5ibqFL9td 5twvWzoVyJLGxXkBp6e115XPeFIRcOepRN2TC4JQ= Received: from smtp16.i.mail.ru (smtp16.i.mail.ru [95.163.41.69]) (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 C2DB49885FC for ; Fri, 19 Jan 2024 14:37:21 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org C2DB49885FC Received: by smtp16.i.mail.ru with esmtpa (envelope-from ) id 1rQnBY-00FDC7-37; Fri, 19 Jan 2024 14:37:21 +0300 To: Maxim Kokryashkin , Sergey Bronnikov Date: Fri, 19 Jan 2024 14:32:39 +0300 Message-ID: <2b2b822dc9b288c32b8e2ab428376b4479649c8f.1705661401.git.skaplun@tarantool.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Mailru-Src: smtp X-4EC0790: 10 X-7564579A: 78E4E2B564C1792B X-77F55803: 4F1203BC0FB41BD9AE5B4AFB3AE2A590AC49F3668DF3AF4BBF6B994171853288182A05F53808504009BE66D76F3D1DCBBFF79DCDD5E90B19A17098F1D9FA24298D97D05E6C40B32F X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE720512D700D056E85EA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637148A3F1B2020C2A38638F802B75D45FF36EB9D2243A4F8B5A6FCA7DBDB1FC311F39EFFDF887939037866D6147AF826D8F2311203DC6ADB98974B9D6305EBEA8D117882F4460429724CE54428C33FAD305F5C1EE8F4F765FCAE9A1BBD95851C5BA471835C12D1D9774AD6D5ED66289B52BA9C0B312567BB23117882F446042972877693876707352033AC447995A7AD18618001F51B5FD3F9D2E47CDBA5A96583BA9C0B312567BB231DD303D21008E29813377AFFFEAFD269176DF2183F8FC7C088D2E8BEBF93D4B068655334FD4449CB9ECD01F8117BC8BEAAAE862A0553A39223F8577A6DFFEA7C089C7B220955F2D643847C11F186F3C59DAA53EE0834AAEE X-C1DE0DAB: 0D63561A33F958A5011F5E208F4BDBDF3DE3FD803DF40A2FFC7F46EFFC1FFB31F87CCE6106E1FC07E67D4AC08A07B9B0034D30FDF2F620DB9C5DF10A05D560A950611B66E3DA6D700B0A020F03D25A0997E3FB2386030E77 X-C8649E89: 1C3962B70DF3F0ADE00A9FD3E00BEEDF3FED46C3ACD6F73ED3581295AF09D3DF87807E0823442EA2ED31085941D9CD0AF7F820E7B07EA4CFA8DBB478416B2426B84543FDAB7071BD414ED7CC62047A0D95E189473F9CCA6CA53151558601347D6197189FEE4B1C7AE4A14CE68BD88192F4ACF457FF06DB18A74DFFEFA5DC0E7F02C26D483E81D6BE5EF9655DD6DEA7D65774BB76CC95456EEC5B5AD62611EEC62B5AFB4261A09AF0 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojJsr4kcGAUCOl36g7QAR8HA== X-DA7885C5: 41DBF769D0233AC222358C9D20223E7B4B50A69E691B79BB5B819AD0C70B2001262E2D401490A4A0DB037EFA58388B346E8BC1A9835FDE71 X-Mailru-Sender: 689FA8AB762F7393590D8C940224AE33B0ACD7BB9DA0445A06FF7F7E1B62D5C00FBE9A32752B8C9C2AA642CC12EC09F1FB559BB5D741EB962F61BD320559CF1EFD657A8799238ED55FEEDEB644C299C0ED14614B50AE0675 X-Mras: Ok Subject: [Tarantool-patches] [PATCH luajit 16/25] 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 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 changes `dofile()` to the corresponding require of the helper function. It adds groups with the names of subtests and enables the test in . It renames structures typedefs to avoid conflicts with cdef in other tests. The GC threshold is increased since all tests run in a single process, so the number of GC objects is greater. Part of tarantool/tarantool#9398 --- test/LuaJIT-tests/lib/ffi/ffi_new.lua | 50 +++++++++++++-------------- test/LuaJIT-tests/lib/ffi/index | 1 + 2 files changed, 26 insertions(+), 25 deletions(-) diff --git a/test/LuaJIT-tests/lib/ffi/ffi_new.lua b/test/LuaJIT-tests/lib/ffi/ffi_new.lua index 9cdbd538..e5b19053 100644 --- a/test/LuaJIT-tests/lib/ffi/ffi_new.lua +++ b/test/LuaJIT-tests/lib/ffi/ffi_new.lua @@ -1,37 +1,37 @@ local ffi = require("ffi") local bit = require("bit") -dofile("../common/ffi_util.inc") +local fails = require("common.fails") ffi.cdef([[ -typedef struct { int a,b,c; } foo1_t; -typedef int foo2_t[?]; +typedef struct { int a,b,c; } foo1_new_t; +typedef int foo2_new_t[?]; void *malloc(size_t size); void free(void *ptr); ]]) -do - assert(ffi.sizeof("foo1_t") == 12) - local cd = ffi.new("foo1_t") +do --- foo1_new_t + assert(ffi.sizeof("foo1_new_t") == 12) + local cd = ffi.new("foo1_new_t") assert(ffi.sizeof(cd) == 12) - local foo1_t = ffi.typeof("foo1_t") - assert(ffi.sizeof(foo1_t) == 12) - cd = foo1_t() + local foo1_new_t = ffi.typeof("foo1_new_t") + assert(ffi.sizeof(foo1_new_t) == 12) + cd = foo1_new_t() assert(ffi.sizeof(cd) == 12) end -do - assert(ffi.sizeof("foo2_t", 3) == 12) - local cd = ffi.new("foo2_t", 3) +do --- foo2_new_t + assert(ffi.sizeof("foo2_new_t", 3) == 12) + local cd = ffi.new("foo2_new_t", 3) assert(ffi.sizeof(cd) == 12) - local foo2_t = ffi.typeof("foo2_t") - fails(ffi.sizeof, foo2_t) - assert(ffi.sizeof(foo2_t, 3) == 12) - cd = foo2_t(3) + local foo2_new_t = ffi.typeof("foo2_new_t") + fails(ffi.sizeof, foo2_new_t) + assert(ffi.sizeof(foo2_new_t, 3) == 12) + cd = foo2_new_t(3) assert(ffi.sizeof(cd) == 12) end -do +do --- byte to int cast local tpi = ffi.typeof("int") local tpb = ffi.typeof("uint8_t") local t = {} @@ -42,7 +42,7 @@ do assert(x == 199*257 + 1) end -do +do --- aligned structure GC local oc = collectgarbage("count") for al=0,15 do local align = 2^al -- 1, 2, 4, ..., 32768 @@ -54,17 +54,17 @@ do end end local nc = collectgarbage("count") - assert(nc < oc + 3000, "GC step missing for ffi.new") + assert(nc < oc * 10, "GC step missing for ffi.new") end -do +do --- VLA local t = {} for i=1,100 do t[i] = ffi.new("int[?]", i) end assert(ffi.sizeof(t[100]) == 400) for i=0,99 do assert(t[100][i] == 0) end end -do +do --- VLS local t = {} local ct = ffi.typeof("struct { double x; int y[?];}") for i=1,100 do t[i] = ct(i) end @@ -72,7 +72,7 @@ do for i=0,99 do assert(t[100].y[i] == 0) end end -do +do --- aligned(16) structure exit from trace local ct = ffi.typeof("struct __attribute__((aligned(16))) { int x; }") local y for i=1,200 do @@ -82,7 +82,7 @@ do assert(bit.band(ffi.cast("intptr_t", ffi.cast("void *", y)), 15) == 0) end -do +do --- cdata resurrecting local q local p = ffi.gc(ffi.new("int[1]"), function(x) q = x end) p = nil @@ -93,13 +93,13 @@ do assert(q == nil) end -do +do --- GC malloc free local p = ffi.gc(ffi.C.malloc(2^20), ffi.C.free) p = nil collectgarbage() end -do +do --- test lua_close() cleanup local p = ffi.gc(ffi.new("int[1]"), function(x) assert(type(x) == "cdata") end) -- test for lua_close() cleanup. end diff --git a/test/LuaJIT-tests/lib/ffi/index b/test/LuaJIT-tests/lib/ffi/index index 338a6930..e6c1fd0f 100644 --- a/test/LuaJIT-tests/lib/ffi/index +++ b/test/LuaJIT-tests/lib/ffi/index @@ -15,6 +15,7 @@ ffi_jit_call.lua ffi_jit_conv.lua ffi_lex_number.lua ffi_metatype.lua +ffi_new.lua istype.lua jit_array.lua jit_complex.lua -- 2.43.0