[Tarantool-patches] [PATCH luajit 0/7] Adjust tests to be run when JIT is disabled

Igor Munkin imun at tarantool.org
Mon Feb 13 20:02:42 MSK 2023


This series make LuaJIT tests work when JIT is either disabled or turned
off. It looks large a bit, but it's not complex at all.

The first patch is a backport of a tiny change fixing header
dependencies for the build with -DLUAJIT_DISABLE_JIT=ON and whitespace
inconsistency (that is a bit irrelevant, but IMHO still OK).

The second patch is quite similar to the first one, but relates to the
changes made in our fork (sysprof, memprof, etc).

The third one is epic one: unfortunately, <utils.selfrun> is too complex
to be maintained, so the corresponding tests are split into two files:
the test itself and the script to be run by the test. There is a new
helper introduced within this patch, and three tests are refactored.

The fourth patch makes skipcond helper more convenient: it becomes
multi-conditional and it yields the test object, so we can organize more
readable chains of skip conditions.

The fifth patch disables all JIT-related tests in tarantool-tests suite
via skipcond introduced in the previous patch.

The sixth patch fixes <compiled_with_jit> condition according to its
usage in lua-Harness suite.

The last patch introduces a new flavor to exotic builds matrix to test
builds with JIT disabled.

Issue: https://github.com/tarantool/tarantool/issues/8252
Branch: https://github.com/tarantool/luajit/commits/imun/jit-off-ci
Tarantool PR: https://github.com/tarantool/tarantool/pull/8288
CI: https://github.com/tarantool/luajit/commit/7f01b6a

Igor Munkin (6):
  build: fix build with JIT disabled
  test: stop using utils.selfrun in tests
  test: make skipcond helper more convenient
  test: add skipcond for all JIT-related tests
  test: fix lua-Harness JIT-related tests
  ci: add nojit flavor for exotic builds

Mike Pall (1):
  Minor fixes.

 .github/workflows/exotic-builds-testing.yml   |  4 +-
 src/lib_base.c                                |  2 +-
 src/lj_gc.c                                   |  1 +
 src/lj_memprof.c                              |  9 +--
 src/lj_symtab.c                               | 13 +---
 src/lj_symtab.h                               |  2 +
 test/lua-Harness-tests/403-jit.t              |  2 +-
 test/lua-Harness-tests/411-luajit.t           |  2 +-
 .../bc-jit-unpatching.test.lua                |  6 +-
 .../fix-fold-simplify-conv-sext.test.lua      |  7 +-
 .../fix-slot-check-for-mm-record.test.lua     |  4 +-
 .../gh-4199-gc64-fuse.test.lua                | 12 +--
 .../gh-4427-ffi-sandwich.test.lua             | 75 ++++++++-----------
 .../gh-4427-ffi-sandwich/script.lua           | 25 +++++++
 ...gh-4476-fix-string-find-recording.test.lua |  4 +-
 .../gh-5813-resolving-of-c-symbols.test.lua   | 23 +++---
 .../gh-6065-jit-library-smoke-tests.test.lua  |  4 +-
 ...8-fix-side-exit-patching-on-arm64.test.lua |  5 +-
 test/tarantool-tests/gh-6189-cur_L.test.lua   |  7 +-
 ...ytecode-allocator-for-comparisons.test.lua |  5 +-
 .../gh-6371-string-char-no-arg.test.lua       |  5 +-
 ...6782-stitching-in-vmevent-handler.test.lua |  6 +-
 .../gh-6976-narrowing-of-unary-minus.test.lua |  5 +-
 ...4-add-proto-trace-sysprof-default.test.lua | 15 ++--
 .../lj-350-sload-typecheck.test.lua           |  8 +-
 .../lj-351-print-tostring-number.test.lua     | 34 +++------
 .../lj-351-print-tostring-number/script.lua   |  9 +++
 .../lj-356-ir-khash-non-string-obj.test.lua   | 11 ++-
 .../lj-357-arm64-hrefk.test.lua               |  6 +-
 .../lj-375-ir-bufput-signed-char.test.lua     |  4 +-
 .../lj-408-tonumber-cdata-record.test.lua     | 11 +--
 .../lj-416-xor-before-jcc.test.lua            |  6 +-
 .../lj-430-maxirconst.test.lua                | 11 +--
 ...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 +-
 ...j-584-bad-renames-for-sunk-values.test.lua |  4 +-
 .../lj-586-debug-non-string-error.test.lua    |  2 +-
 .../lj-603-err-snap-restore.test.lua          | 19 +++--
 ...lj-672-cdata-allocation-recording.test.lua | 13 ++--
 .../lj-864-varg-rec-base-offset.test.lua      |  6 +-
 .../lj-906-fix-err-mem.test.lua               | 12 +--
 .../lj-flush-on-trace.test.lua                | 74 ++++++++----------
 .../lj-flush-on-trace/script.lua              | 23 ++++++
 .../misclib-getmetrics-capi.test.lua          | 18 ++---
 .../misclib-getmetrics-lapi.test.lua          | 14 ++--
 .../misclib-memprof-lapi.test.lua             | 42 +++++------
 .../misclib-sysprof-capi.test.lua             | 18 ++---
 .../misclib-sysprof-lapi.test.lua             | 24 +++---
 test/tarantool-tests/tap.lua                  | 12 +++
 test/tarantool-tests/utils.lua                | 74 +++++-------------
 51 files changed, 371 insertions(+), 341 deletions(-)
 create mode 100644 test/tarantool-tests/gh-4427-ffi-sandwich/script.lua
 create mode 100644 test/tarantool-tests/lj-351-print-tostring-number/script.lua
 create mode 100644 test/tarantool-tests/lj-flush-on-trace/script.lua

-- 
2.30.2



More information about the Tarantool-patches mailing list