[Tarantool-patches] [PATCH luajit v2 3/5] test: add skipcond for all JIT-related tests
Igor Munkin
imun at tarantool.org
Tue Feb 28 22:00:46 MSK 2023
This patch adjusts all tests for JIT engine to avoid failures when JIT
is disabled, so skipcond with the result of <jit.status> as a condition
is added to handle this.
Part of tarantool/tarantool#8252
Signed-off-by: Igor Munkin <imun at tarantool.org>
---
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
More information about the Tarantool-patches
mailing list