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 DF04C3048E3; Tue, 28 Feb 2023 22:05:12 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org DF04C3048E3 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1677611113; bh=bd7Lx951sUaZnZ42YkjEDzB5VCJhkxwDm9V9wrQZrxE=; 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=faxZK9YCY+kEHmFxkTQC5PjCAyq37T2friYwMnftB8BraYFy+QEAoy0CmtajKMUzO SZhqqZ+K/PNGwesQEv2UdzHqn9IUzmUZgVMV1ltVqtHEOfrWRci/mDwcduOHeDdfwc GPCbeiP3hsviSO88jcpXRXwEV1nRDiN7Z0AQCFXc= Received: from smtp32.i.mail.ru (smtp32.i.mail.ru [95.163.41.73]) (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 403873048D4 for ; Tue, 28 Feb 2023 22:03:42 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 403873048D4 Received: by smtp32.i.mail.ru with esmtpa (envelope-from ) id 1pX5GH-000qWR-4V; Tue, 28 Feb 2023 22:03:41 +0300 To: Sergey Kaplun , Maxim Kokryashkin Date: Tue, 28 Feb 2023 19:00:46 +0000 Message-Id: X-Mailer: git-send-email 2.30.2 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Mailru-Src: smtp X-4EC0790: 10 X-7564579A: 78E4E2B564C1792B X-77F55803: 4F1203BC0FB41BD9CCAB0EF48C080D7053BF4FFFFAD5164DBAD70C88823C877F182A05F53808504035805722BE5D03DE8FFA6CA2C5A5032E81793F1327F79C24EABA0AD694DE85D2 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE72791110C931D1596EA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F79006379C3A27B859DE23D18638F802B75D45FF36EB9D2243A4F8B5A6FCA7DBDB1FC311F39EFFDF887939037866D6147AF826D8723E60CDA8EE895F4AEF706F229DE0D8117882F4460429724CE54428C33FAD305F5C1EE8F4F765FC93A51A5089774A2DA471835C12D1D9774AD6D5ED66289B52BA9C0B312567BB23117882F44604297287769387670735209647ADFADE5905B1F04B652EEC242312D2E47CDBA5A96583BA9C0B312567BB2376E601842F6C81A19E625A9149C048EE140C956E756FBB7A0A5971FBB7557E96D8FC6C240DEA7642DBF02ECDB25306B2B78CF848AE20165D0A6AB1C7CE11FEE3C6602A96AF88C695040F9FF01DFDA4A8C4224003CC836476E2F48590F00D11D6E2021AF6380DFAD1A18204E546F3947CB11811A4A51E3B096D1867E19FE1407959CC434672EE6371089D37D7C0E48F6C8AA50765F7900637A7EFCB0EB5ACB161EFF80C71ABB335746BA297DBC24807EABDAD6C7F3747799A X-C1DE0DAB: 0D63561A33F958A5B261C288EF6DEBA67E9A1CA50CC155C8EC0EF001DC20A38A4EAF44D9B582CE87C8A4C02DF684249CC203C45FEA855C8F X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D34C53592357E8057738504E77DC74DAAB0B1738DE5285952E8C74087F7EB7858797FA36460730BD98C1D7E09C32AA3244C1318FC190E197D1FC6C4CF615CC6A13FF2F5F14F68F1805B927AC6DF5659F194 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojMN6DA1mNzI+fAatWRj56Cw== X-Mailru-Sender: 2FEBA92C8E508479FE7B9A1DF348D531D395CDE6305F6E738EC1472896A038A0F87FD70A7AB68A0A2326FE6F2A341ACE0FB9F97486540B4CD9E8847AB8CFED4D9ABF8A61C016C2CFB0DAF586E7D11B3E67EA787935ED9F1B X-Mras: Ok Subject: [Tarantool-patches] [PATCH luajit v2 3/5] test: add skipcond for all JIT-related 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: Igor Munkin via Tarantool-patches Reply-To: Igor Munkin Cc: tarantool-patches@dev.tarantool.org Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" This patch adjusts all tests for JIT engine to avoid failures when JIT is disabled, so skipcond with the result of as a condition is added to handle this. Part of tarantool/tarantool#8252 Signed-off-by: Igor Munkin --- test/tarantool-tests/bc-jit-unpatching.test.lua | 6 ++++-- .../fix-fold-simplify-conv-sext.test.lua | 7 ++++--- .../fix-slot-check-for-mm-record.test.lua | 4 +++- test/tarantool-tests/gh-4199-gc64-fuse.test.lua | 1 + test/tarantool-tests/gh-4427-ffi-sandwich.test.lua | 1 + .../gh-4476-fix-string-find-recording.test.lua | 4 +++- .../gh-5813-resolving-of-c-symbols.test.lua | 4 +++- .../gh-6065-jit-library-smoke-tests.test.lua | 4 +++- .../gh-6098-fix-side-exit-patching-on-arm64.test.lua | 5 ++++- test/tarantool-tests/gh-6189-cur_L.test.lua | 7 +++++-- ...h-6227-bytecode-allocator-for-comparisons.test.lua | 5 ++++- .../gh-6371-string-char-no-arg.test.lua | 5 +++-- .../gh-6782-stitching-in-vmevent-handler.test.lua | 6 ++++-- .../gh-6976-narrowing-of-unary-minus.test.lua | 5 ++++- .../gh-7264-add-proto-trace-sysprof-default.test.lua | 1 + test/tarantool-tests/lj-350-sload-typecheck.test.lua | 8 +++++--- .../lj-356-ir-khash-non-string-obj.test.lua | 11 +++++++---- test/tarantool-tests/lj-357-arm64-hrefk.test.lua | 6 ++++-- .../lj-375-ir-bufput-signed-char.test.lua | 4 +++- .../lj-408-tonumber-cdata-record.test.lua | 11 ++++++----- test/tarantool-tests/lj-416-xor-before-jcc.test.lua | 6 ++++-- test/tarantool-tests/lj-430-maxirconst.test.lua | 1 + .../lj-505-fold-no-strref-for-ptrdiff.test.lua | 4 +++- .../lj-524-fold-conv-respect-src-irt.test.lua | 6 ++++-- .../lj-556-fix-loop-realignment.test.lua | 4 +++- .../lj-584-bad-renames-for-sunk-values.test.lua | 4 +++- test/tarantool-tests/lj-603-err-snap-restore.test.lua | 1 + .../lj-672-cdata-allocation-recording.test.lua | 1 + .../lj-864-varg-rec-base-offset.test.lua | 6 ++++-- test/tarantool-tests/lj-flush-on-trace.test.lua | 1 + test/tarantool-tests/misclib-getmetrics-capi.test.lua | 1 + test/tarantool-tests/misclib-getmetrics-lapi.test.lua | 1 + test/tarantool-tests/misclib-memprof-lapi.test.lua | 2 +- test/tarantool-tests/misclib-sysprof-capi.test.lua | 5 +++-- test/tarantool-tests/misclib-sysprof-lapi.test.lua | 5 +++-- 35 files changed, 106 insertions(+), 47 deletions(-) diff --git a/test/tarantool-tests/bc-jit-unpatching.test.lua b/test/tarantool-tests/bc-jit-unpatching.test.lua index 71247f0c..2c3b7c9a 100644 --- a/test/tarantool-tests/bc-jit-unpatching.test.lua +++ b/test/tarantool-tests/bc-jit-unpatching.test.lua @@ -1,9 +1,11 @@ local tap = require('tap') -local utils = require('utils') +local test = tap.test('bc-jit-unpatching'):skipcond({ + ['Test requires JIT enabled'] = not jit.status(), +}) -local test = tap.test('bc-jit-unpatching') test:plan(1) +local utils = require('utils') -- Function with up-recursion. local function f(n) return n < 2 and n or f(n - 1) + f(n - 2) diff --git a/test/tarantool-tests/fix-fold-simplify-conv-sext.test.lua b/test/tarantool-tests/fix-fold-simplify-conv-sext.test.lua index 07e22c36..60eb3e7c 100644 --- a/test/tarantool-tests/fix-fold-simplify-conv-sext.test.lua +++ b/test/tarantool-tests/fix-fold-simplify-conv-sext.test.lua @@ -1,12 +1,13 @@ local tap = require('tap') -local ffi = require('ffi') - -local test = tap.test('fix-fold-simplify-conv-sext') +local test = tap.test('fix-fold-simplify-conv-sext'):skipcond({ + ['Test requires JIT enabled'] = not jit.status(), +}) local NSAMPLES = 4 local NTEST = NSAMPLES * 2 - 1 test:plan(NTEST) +local ffi = require('ffi') local samples = ffi.new('int [?]', NSAMPLES) -- Prepare data. diff --git a/test/tarantool-tests/fix-slot-check-for-mm-record.test.lua b/test/tarantool-tests/fix-slot-check-for-mm-record.test.lua index 8df72ec4..6161747f 100644 --- a/test/tarantool-tests/fix-slot-check-for-mm-record.test.lua +++ b/test/tarantool-tests/fix-slot-check-for-mm-record.test.lua @@ -1,7 +1,9 @@ -- luacheck: globals a0 a1 local tap = require('tap') +local test = tap.test('fix-slot-check-for-mm-record'):skipcond({ + ['Test requires JIT enabled'] = not jit.status(), +}) -local test = tap.test('fix-slot-check-for-mm-record') test:plan(1) -- Before the patch, JIT compiler doesn't check slots overflow diff --git a/test/tarantool-tests/gh-4199-gc64-fuse.test.lua b/test/tarantool-tests/gh-4199-gc64-fuse.test.lua index 65f9faac..4513d43b 100644 --- a/test/tarantool-tests/gh-4199-gc64-fuse.test.lua +++ b/test/tarantool-tests/gh-4199-gc64-fuse.test.lua @@ -1,5 +1,6 @@ local tap = require('tap') local test = tap.test('gh-4199-gc64-fuse'):skipcond({ + ['Test requires JIT enabled'] = not jit.status(), ['Test requires GC64 mode enabled'] = not require('ffi').abi('gc64'), }) diff --git a/test/tarantool-tests/gh-4427-ffi-sandwich.test.lua b/test/tarantool-tests/gh-4427-ffi-sandwich.test.lua index ed3f50d1..86544196 100644 --- a/test/tarantool-tests/gh-4427-ffi-sandwich.test.lua +++ b/test/tarantool-tests/gh-4427-ffi-sandwich.test.lua @@ -1,5 +1,6 @@ local tap = require('tap') local test = tap.test('gh-4427-ffi-sandwich'):skipcond({ + ['Test requires JIT enabled'] = not jit.status(), ['Disabled on *BSD due to #4819'] = jit.os == 'BSD', }) diff --git a/test/tarantool-tests/gh-4476-fix-string-find-recording.test.lua b/test/tarantool-tests/gh-4476-fix-string-find-recording.test.lua index f48af173..0758b38f 100644 --- a/test/tarantool-tests/gh-4476-fix-string-find-recording.test.lua +++ b/test/tarantool-tests/gh-4476-fix-string-find-recording.test.lua @@ -1,6 +1,8 @@ local tap = require('tap') +local test = tap.test("gh-4476-fix-string-find-recording"):skipcond({ + ['Test requires JIT enabled'] = not jit.status(), +}) -local test = tap.test("gh-4476-fix-string-find-recording") test:plan(1) local err = [[module 'kit.1.10.3-136' not found: diff --git a/test/tarantool-tests/gh-5813-resolving-of-c-symbols.test.lua b/test/tarantool-tests/gh-5813-resolving-of-c-symbols.test.lua index 3c6833fc..9f2c5f85 100644 --- a/test/tarantool-tests/gh-5813-resolving-of-c-symbols.test.lua +++ b/test/tarantool-tests/gh-5813-resolving-of-c-symbols.test.lua @@ -8,7 +8,9 @@ local test = tap.test("gh-5813-resolving-of-c-symbols"):skipcond({ test:plan(5) jit.off() -jit.flush() +-- XXX: Run JIT tuning functions in a safe frame to avoid errors +-- thrown when LuaJIT is compiled with JIT engine disabled. +pcall(jit.flush) local bufread = require "utils.bufread" local symtab = require "utils.symtab" diff --git a/test/tarantool-tests/gh-6065-jit-library-smoke-tests.test.lua b/test/tarantool-tests/gh-6065-jit-library-smoke-tests.test.lua index 7110e351..5d7fd7e2 100644 --- a/test/tarantool-tests/gh-6065-jit-library-smoke-tests.test.lua +++ b/test/tarantool-tests/gh-6065-jit-library-smoke-tests.test.lua @@ -1,6 +1,8 @@ local tap = require('tap') +local test = tap.test('gh-6065-jit-library-smoke-tests'):skipcond({ + ['Test requires JIT enabled'] = not jit.status(), +}) -local test = tap.test('gh-6065-jit-library-smoke-tests') test:plan(1) -- Just check whether LuaJIT is built with JIT support. Otherwise, diff --git a/test/tarantool-tests/gh-6098-fix-side-exit-patching-on-arm64.test.lua b/test/tarantool-tests/gh-6098-fix-side-exit-patching-on-arm64.test.lua index 4dcf3e22..cfcc6adb 100644 --- a/test/tarantool-tests/gh-6098-fix-side-exit-patching-on-arm64.test.lua +++ b/test/tarantool-tests/gh-6098-fix-side-exit-patching-on-arm64.test.lua @@ -1,5 +1,8 @@ local tap = require('tap') -local test = tap.test('gh-6098-fix-side-exit-patching-on-arm64') +local test = tap.test('gh-6098-fix-side-exit-patching-on-arm64'):skipcond({ + ['Test requires JIT enabled'] = not jit.status(), +}) + test:plan(1) -- The function to be tested for side exit patching: diff --git a/test/tarantool-tests/gh-6189-cur_L.test.lua b/test/tarantool-tests/gh-6189-cur_L.test.lua index 7f2184ec..a5096a7c 100644 --- a/test/tarantool-tests/gh-6189-cur_L.test.lua +++ b/test/tarantool-tests/gh-6189-cur_L.test.lua @@ -1,9 +1,12 @@ -local libcur_L = require('libcur_L') local tap = require('tap') +local test = tap.test('gh-6189-cur_L'):skipcond({ + ['Test requires JIT enabled'] = not jit.status(), +}) -local test = tap.test('gh-6189-cur_L') test:plan(1) +local libcur_L = require('libcur_L') + local function cbool(cond) if cond then return 1 diff --git a/test/tarantool-tests/gh-6227-bytecode-allocator-for-comparisons.test.lua b/test/tarantool-tests/gh-6227-bytecode-allocator-for-comparisons.test.lua index 9788923a..da399bcf 100644 --- a/test/tarantool-tests/gh-6227-bytecode-allocator-for-comparisons.test.lua +++ b/test/tarantool-tests/gh-6227-bytecode-allocator-for-comparisons.test.lua @@ -1,5 +1,8 @@ local tap = require('tap') -local test = tap.test('gh-6227-bytecode-allocator-for-comparisons') +local test = tap.test('gh-6227-bytecode-allocator-for-comparisons'):skipcond({ + ['Test requires JIT enabled'] = not jit.status(), +}) + test:plan(1) -- Test file to demonstrate assertion failure during recording diff --git a/test/tarantool-tests/gh-6371-string-char-no-arg.test.lua b/test/tarantool-tests/gh-6371-string-char-no-arg.test.lua index ec871d19..90121860 100644 --- a/test/tarantool-tests/gh-6371-string-char-no-arg.test.lua +++ b/test/tarantool-tests/gh-6371-string-char-no-arg.test.lua @@ -1,10 +1,11 @@ local tap = require('tap') - -- Test file to demonstrate assertion after `string.char()` -- recording. -- See also, https://github.com/tarantool/tarantool/issues/6371. +local test = tap.test('gh-6371-string-char-no-arg'):skipcond({ + ['Test requires JIT enabled'] = not jit.status(), +}) -local test = tap.test('gh-6371-string-char-no-arg') -- XXX: Number of loop iterations. -- * 1 -- instruction becomes hot. -- * 2 -- recording of the loop body. diff --git a/test/tarantool-tests/gh-6782-stitching-in-vmevent-handler.test.lua b/test/tarantool-tests/gh-6782-stitching-in-vmevent-handler.test.lua index 6087e5ae..385e7648 100644 --- a/test/tarantool-tests/gh-6782-stitching-in-vmevent-handler.test.lua +++ b/test/tarantool-tests/gh-6782-stitching-in-vmevent-handler.test.lua @@ -1,9 +1,11 @@ local tap = require('tap') - -- Test file to demonstrate incorrect stitching behaviour -- in vmevent handler. -- See also https://github.com/tarantool/tarantool/issues/6782. -local test = tap.test('gh-6782-stitching-in-vmevent-handler') +local test = tap.test('gh-6782-stitching-in-vmevent-handler'):skipcond({ + ['Test requires JIT enabled'] = not jit.status(), +}) + test:plan(1) -- Just dump bytecodes is enough. diff --git a/test/tarantool-tests/gh-6976-narrowing-of-unary-minus.test.lua b/test/tarantool-tests/gh-6976-narrowing-of-unary-minus.test.lua index b4792f59..40387cca 100644 --- a/test/tarantool-tests/gh-6976-narrowing-of-unary-minus.test.lua +++ b/test/tarantool-tests/gh-6976-narrowing-of-unary-minus.test.lua @@ -1,5 +1,8 @@ local tap = require('tap') -local test = tap.test('gh-6976-narrowing-of-unary-minus') +local test = tap.test('gh-6976-narrowing-of-unary-minus'):skipcond({ + ['Test requires JIT enabled'] = not jit.status(), +}) + test:plan(2) jit.opt.start('hotloop=1') diff --git a/test/tarantool-tests/gh-7264-add-proto-trace-sysprof-default.test.lua b/test/tarantool-tests/gh-7264-add-proto-trace-sysprof-default.test.lua index 472bc2d1..9cce32cb 100644 --- a/test/tarantool-tests/gh-7264-add-proto-trace-sysprof-default.test.lua +++ b/test/tarantool-tests/gh-7264-add-proto-trace-sysprof-default.test.lua @@ -1,5 +1,6 @@ local tap = require('tap') local test = tap.test('gh-7264-add-proto-trace-sysprof-default'):skipcond({ + ['Test requires JIT enabled'] = not jit.status(), ['Sysprof is implemented for x86_64 only'] = jit.arch ~= 'x86' and jit.arch ~= 'x64', ['Sysprof is implemented for Linux only'] = jit.os ~= 'Linux', diff --git a/test/tarantool-tests/lj-350-sload-typecheck.test.lua b/test/tarantool-tests/lj-350-sload-typecheck.test.lua index 33794943..5b25864d 100644 --- a/test/tarantool-tests/lj-350-sload-typecheck.test.lua +++ b/test/tarantool-tests/lj-350-sload-typecheck.test.lua @@ -1,13 +1,15 @@ local tap = require('tap') -local traceinfo = require('jit.util').traceinfo - -- Test file to demonstrate the incorrect GC64 JIT asembling -- `IR_SLOAD`. -- See also https://github.com/LuaJIT/LuaJIT/pull/350. -local test = tap.test('lj-350-sload-typecheck') +local test = tap.test('lj-350-sload-typecheck'):skipcond({ + ['Test requires JIT enabled'] = not jit.status(), +}) test:plan(1) +local traceinfo = require('jit.util').traceinfo + -- Contains only IR_SLOAD after recording. local function sload(arg) return arg diff --git a/test/tarantool-tests/lj-356-ir-khash-non-string-obj.test.lua b/test/tarantool-tests/lj-356-ir-khash-non-string-obj.test.lua index 7f304183..9977205d 100644 --- a/test/tarantool-tests/lj-356-ir-khash-non-string-obj.test.lua +++ b/test/tarantool-tests/lj-356-ir-khash-non-string-obj.test.lua @@ -1,17 +1,20 @@ local tap = require('tap') -local traceinfo = require('jit.util').traceinfo -local table_new = require('table.new') - -- Test file to demonstrate the incorrect GC64 JIT behaviour -- of an `IR_HREF` for the on-trace-constant key lookup. -- See also https://github.com/LuaJIT/LuaJIT/pull/356. -local test = tap.test('lj-356-ir-khash-non-string-obj') +local test = tap.test('lj-356-ir-khash-non-string-obj'):skipcond({ + ['Test requires JIT enabled'] = not jit.status(), +}) + local N_ITERATIONS = 4 -- Amount of iteration for trace compilation and execution and -- additional check, that there is no new trace compiled. test:plan(N_ITERATIONS + 1) +local traceinfo = require('jit.util').traceinfo +local table_new = require('table.new') + -- To reproduce the issue we need to compile a trace with -- `IR_HREF`, with a lookup of constant hash key GC value. To -- prevent an `IR_HREFK` to be emitted instead, we need a table diff --git a/test/tarantool-tests/lj-357-arm64-hrefk.test.lua b/test/tarantool-tests/lj-357-arm64-hrefk.test.lua index 8af9143a..d7e9c85e 100644 --- a/test/tarantool-tests/lj-357-arm64-hrefk.test.lua +++ b/test/tarantool-tests/lj-357-arm64-hrefk.test.lua @@ -1,9 +1,11 @@ local tap = require('tap') - -- Test file to demonstrate the incorrect JIT behaviour for HREFK -- IR compilation on arm64. -- See also https://github.com/LuaJIT/LuaJIT/issues/357. -local test = tap.test('lj-357-arm64-hrefk') +local test = tap.test('lj-357-arm64-hrefk'):skipcond({ + ['Test requires JIT enabled'] = not jit.status(), +}) + test:plan(2) jit.opt.start('hotloop=1', 'hotexit=1') diff --git a/test/tarantool-tests/lj-375-ir-bufput-signed-char.test.lua b/test/tarantool-tests/lj-375-ir-bufput-signed-char.test.lua index 7c8df948..f600d898 100644 --- a/test/tarantool-tests/lj-375-ir-bufput-signed-char.test.lua +++ b/test/tarantool-tests/lj-375-ir-bufput-signed-char.test.lua @@ -1,6 +1,8 @@ local tap = require('tap') +local test = tap.test('lj-375-ir-bufput-signed-char'):skipcond({ + ['Test requires JIT enabled'] = not jit.status(), +}) -local test = tap.test('lj-375-ir-bufput-signed-char') -- XXX: Number of loop iterations. -- 1 -- instruction becomes hot -- 2, 3 -- trace is recorded (considering loop recording diff --git a/test/tarantool-tests/lj-408-tonumber-cdata-record.test.lua b/test/tarantool-tests/lj-408-tonumber-cdata-record.test.lua index a8235e93..bdd0aaaa 100644 --- a/test/tarantool-tests/lj-408-tonumber-cdata-record.test.lua +++ b/test/tarantool-tests/lj-408-tonumber-cdata-record.test.lua @@ -1,18 +1,19 @@ -local ffi = require('ffi') local tap = require('tap') - -- Test file to demonstrate the incorrect JIT recording for -- `tonumber()` function with cdata argument for failed -- conversions. -- See also https://github.com/LuaJIT/LuaJIT/issues/408, -- https://github.com/LuaJIT/LuaJIT/pull/412, -- https://github.com/tarantool/tarantool/issues/7655. -local test = tap.test('lj-408-tonumber-cdata-record') - -local NULL = ffi.cast('void *', 0) +local test = tap.test('lj-408-tonumber-cdata-record'):skipcond({ + ['Test requires JIT enabled'] = not jit.status(), +}) test:plan(4) +local ffi = require('ffi') +local NULL = ffi.cast('void *', 0) + local function check(x) -- Don't use a tail call to avoid "leaving loop in root trace" -- error, so the trace will be compiled. diff --git a/test/tarantool-tests/lj-416-xor-before-jcc.test.lua b/test/tarantool-tests/lj-416-xor-before-jcc.test.lua index f9a2a869..861114e8 100644 --- a/test/tarantool-tests/lj-416-xor-before-jcc.test.lua +++ b/test/tarantool-tests/lj-416-xor-before-jcc.test.lua @@ -1,7 +1,8 @@ -local ffi = require('ffi') local tap = require('tap') +local test = tap.test('lj-416-xor-before-jcc'):skipcond({ + ['Test requires JIT enabled'] = not jit.status(), +}) -local test = tap.test('lj-416-xor-before-jcc') test:plan(1) -- To reproduce this issue, we need: @@ -30,6 +31,7 @@ test:plan(1) -- ucomisd and the jnb, thereby causing the jnb to do the wrong -- thing. +local ffi = require('ffi') ffi.cdef[[ int test_xor_func(int a, int b, int c, int d, int e, int f, void * g, int h); ]] diff --git a/test/tarantool-tests/lj-430-maxirconst.test.lua b/test/tarantool-tests/lj-430-maxirconst.test.lua index 633ab676..531acd7d 100644 --- a/test/tarantool-tests/lj-430-maxirconst.test.lua +++ b/test/tarantool-tests/lj-430-maxirconst.test.lua @@ -1,5 +1,6 @@ local tap = require('tap') local test = tap.test('lj-430-maxirconst'):skipcond({ + ['Test requires JIT enabled'] = not jit.status(), ['Disabled on *BSD due to #4819'] = jit.os == 'BSD', }) diff --git a/test/tarantool-tests/lj-505-fold-no-strref-for-ptrdiff.test.lua b/test/tarantool-tests/lj-505-fold-no-strref-for-ptrdiff.test.lua index 2866fb12..fec08b30 100644 --- a/test/tarantool-tests/lj-505-fold-no-strref-for-ptrdiff.test.lua +++ b/test/tarantool-tests/lj-505-fold-no-strref-for-ptrdiff.test.lua @@ -1,6 +1,8 @@ local tap = require('tap') +local test = tap.test("lj-505-fold-icorrect-behavior"):skipcond({ + ['Test requires JIT enabled'] = not jit.status(), +}) -local test = tap.test("lj-505-fold-icorrect-behavior") test:plan(1) -- Test file to demonstrate Lua fold machinery icorrect behavior, details: diff --git a/test/tarantool-tests/lj-524-fold-conv-respect-src-irt.test.lua b/test/tarantool-tests/lj-524-fold-conv-respect-src-irt.test.lua index cd0f0f04..b2ccae63 100644 --- a/test/tarantool-tests/lj-524-fold-conv-respect-src-irt.test.lua +++ b/test/tarantool-tests/lj-524-fold-conv-respect-src-irt.test.lua @@ -1,9 +1,11 @@ local tap = require('tap') -local ffi = require('ffi') +local test = tap.test("or-524-fold-icorrect-behavior"):skipcond({ + ['Test requires JIT enabled'] = not jit.status(), +}) -local test = tap.test("or-524-fold-icorrect-behavior") test:plan(1) +local ffi = require('ffi') -- Test file to demonstrate LuaJIT folding machinery incorrect behaviour, -- details: -- https://github.com/LuaJIT/LuaJIT/issues/524 diff --git a/test/tarantool-tests/lj-556-fix-loop-realignment.test.lua b/test/tarantool-tests/lj-556-fix-loop-realignment.test.lua index 6015f55f..b94bd3e9 100644 --- a/test/tarantool-tests/lj-556-fix-loop-realignment.test.lua +++ b/test/tarantool-tests/lj-556-fix-loop-realignment.test.lua @@ -1,6 +1,8 @@ local tap = require('tap') +local test = tap.test('lj-556-fix-loop-realignment'):skipcond({ + ['Test requires JIT enabled'] = not jit.status(), +}) -local test = tap.test('lj-556-fix-loop-realignment') test:plan(1) -- Test file to demonstrate JIT misbehaviour for loop realignment diff --git a/test/tarantool-tests/lj-584-bad-renames-for-sunk-values.test.lua b/test/tarantool-tests/lj-584-bad-renames-for-sunk-values.test.lua index f037c898..e0c3e577 100644 --- a/test/tarantool-tests/lj-584-bad-renames-for-sunk-values.test.lua +++ b/test/tarantool-tests/lj-584-bad-renames-for-sunk-values.test.lua @@ -1,6 +1,8 @@ local tap = require('tap') +local test = tap.test('lj-584-bad-renames-for-sunk-values'):skipcond({ + ['Test requires JIT enabled'] = not jit.status(), +}) -local test = tap.test('lj-584-bad-renames-for-sunk-values') test:plan(1) -- Test file to demonstrate LuaJIT assembler misbehaviour. diff --git a/test/tarantool-tests/lj-603-err-snap-restore.test.lua b/test/tarantool-tests/lj-603-err-snap-restore.test.lua index be54a5f3..6eb53dfd 100644 --- a/test/tarantool-tests/lj-603-err-snap-restore.test.lua +++ b/test/tarantool-tests/lj-603-err-snap-restore.test.lua @@ -40,6 +40,7 @@ recursive_f() test:ok(true) test:skipcond({ + ['Test requires JIT enabled'] = not jit.status(), ['Disabled on *BSD due to #4819'] = jit.os == 'BSD', -- XXX: The different amount of stack slots is in-use for -- Tarantool at start, so just skip test for it. diff --git a/test/tarantool-tests/lj-672-cdata-allocation-recording.test.lua b/test/tarantool-tests/lj-672-cdata-allocation-recording.test.lua index 2165afe3..1d6b19ba 100644 --- a/test/tarantool-tests/lj-672-cdata-allocation-recording.test.lua +++ b/test/tarantool-tests/lj-672-cdata-allocation-recording.test.lua @@ -1,5 +1,6 @@ local tap = require('tap') local test = tap.test('lj-672-cdata-allocation-recording'):skipcond({ + ['Test requires JIT enabled'] = not jit.status(), ['Disabled on *BSD due to #4819'] = jit.os == 'BSD', }) diff --git a/test/tarantool-tests/lj-864-varg-rec-base-offset.test.lua b/test/tarantool-tests/lj-864-varg-rec-base-offset.test.lua index d74c3c2b..d41e33ff 100644 --- a/test/tarantool-tests/lj-864-varg-rec-base-offset.test.lua +++ b/test/tarantool-tests/lj-864-varg-rec-base-offset.test.lua @@ -1,10 +1,12 @@ local tap = require('tap') - -- Test file to demonstrate LuaJIT misbehaviour during recording -- BC_VARG with nvarargs >= nresults in GC64 mode. -- See also https://github.com/LuaJIT/LuaJIT/issues/864, -- https://github.com/tarantool/tarantool/issues/7172. -local test = tap.test('lj-864-varg-rec-base-offset') +local test = tap.test('lj-864-varg-rec-base-offset'):skipcond({ + ['Test requires JIT enabled'] = not jit.status(), +}) + test:plan(1) jit.opt.start('hotloop=1') diff --git a/test/tarantool-tests/lj-flush-on-trace.test.lua b/test/tarantool-tests/lj-flush-on-trace.test.lua index 099e9650..46db4d2a 100644 --- a/test/tarantool-tests/lj-flush-on-trace.test.lua +++ b/test/tarantool-tests/lj-flush-on-trace.test.lua @@ -1,5 +1,6 @@ local tap = require('tap') local test = tap.test('lj-flush-on-trace'):skipcond({ + ['Test requires JIT enabled'] = not jit.status(), ['Disabled on *BSD due to #4819'] = jit.os == 'BSD', }) diff --git a/test/tarantool-tests/misclib-getmetrics-capi.test.lua b/test/tarantool-tests/misclib-getmetrics-capi.test.lua index c5a91955..654e5545 100644 --- a/test/tarantool-tests/misclib-getmetrics-capi.test.lua +++ b/test/tarantool-tests/misclib-getmetrics-capi.test.lua @@ -1,5 +1,6 @@ local tap = require('tap') local test = tap.test("clib-misc-getmetrics"):skipcond({ + ['Test requires JIT enabled'] = not jit.status(), ['Disabled on *BSD due to #4819'] = jit.os == 'BSD', }) diff --git a/test/tarantool-tests/misclib-getmetrics-lapi.test.lua b/test/tarantool-tests/misclib-getmetrics-lapi.test.lua index e71bc239..881e717b 100644 --- a/test/tarantool-tests/misclib-getmetrics-lapi.test.lua +++ b/test/tarantool-tests/misclib-getmetrics-lapi.test.lua @@ -4,6 +4,7 @@ local tap = require('tap') local test = tap.test("lib-misc-getmetrics"):skipcond({ + ['Test requires JIT enabled'] = not jit.status(), ['Disabled on *BSD due to #4819'] = jit.os == 'BSD', }) diff --git a/test/tarantool-tests/misclib-memprof-lapi.test.lua b/test/tarantool-tests/misclib-memprof-lapi.test.lua index 18c8aaab..4e413c88 100644 --- a/test/tarantool-tests/misclib-memprof-lapi.test.lua +++ b/test/tarantool-tests/misclib-memprof-lapi.test.lua @@ -1,8 +1,8 @@ -- XXX: This comment is a reminder to reimplement memprof tests -- assertions to make them more indepentent to the changes made. --- Now I just leave this 3 lines comment to preserve line numbers. local tap = require("tap") local test = tap.test("misc-memprof-lapi"):skipcond({ + ['Test requires JIT enabled'] = not jit.status(), ['Disabled on *BSD due to #4819'] = jit.os == 'BSD', ["Memprof is implemented for x86_64 only"] = jit.arch ~= "x86" and jit.arch ~= "x64", diff --git a/test/tarantool-tests/misclib-sysprof-capi.test.lua b/test/tarantool-tests/misclib-sysprof-capi.test.lua index a9b712a5..5c062195 100644 --- a/test/tarantool-tests/misclib-sysprof-capi.test.lua +++ b/test/tarantool-tests/misclib-sysprof-capi.test.lua @@ -9,9 +9,10 @@ test:plan(2) local testsysprof = require("testsysprof") -local jit = require('jit') - jit.off() +-- XXX: Run JIT tuning functions in a safe frame to avoid errors +-- thrown when LuaJIT is compiled with JIT engine disabled. +pcall(jit.flush) test:ok(testsysprof.base()) test:ok(testsysprof.validation()) diff --git a/test/tarantool-tests/misclib-sysprof-lapi.test.lua b/test/tarantool-tests/misclib-sysprof-lapi.test.lua index fff89dfd..96eaaab6 100644 --- a/test/tarantool-tests/misclib-sysprof-lapi.test.lua +++ b/test/tarantool-tests/misclib-sysprof-lapi.test.lua @@ -8,7 +8,9 @@ local test = tap.test("misc-sysprof-lapi"):skipcond({ test:plan(19) jit.off() -jit.flush() +-- XXX: Run JIT tuning functions in a safe frame to avoid errors +-- thrown when LuaJIT is compiled with JIT engine disabled. +pcall(jit.flush) local bufread = require("utils.bufread") local symtab = require("utils.symtab") @@ -127,5 +129,4 @@ check_mode("C", 100) os.remove(TMP_BINFILE) -jit.on() os.exit(test:check() and 0 or 1) -- 2.30.2