[Tarantool-patches] [PATCH v2 luajit 00/26] More tests from LuaJIT-tests, part 1

Sergey Kaplun skaplun at tarantool.org
Mon Jan 29 13:45:00 MSK 2024


This patchset enables most of the LuaJIT-tests related to FFI and
testing of C libraries (cpptest, ctest). More tests (from the <misc>
directory) will be enabled in the future series.

FFI tests from the <unportable> directory aren't enabled because of their
inconsistency, see also [1].

This increases coverage up to 92.5%, see here [2].

Branch: https://github.com/tarantool/luajit/tree/skaplun/gh-9398-more-luajit-tests
Tarantool PR: https://github.com/tarantool/tarantool/pull/9603
Related issues:
* https://github.com/tarantool/tarantool/issues/9398
* https://github.com/tarantool/tarantool/issues/7834

[1]: https://github.com/LuaJIT/LuaJIT/pull/415
[2]: https://coveralls.io/github/tarantool/luajit?branch=skaplun/gh-9398-more-luajit-tests

Changes in the v2:
* Introduce the AddTestLib macro to avoid copy-pasting. It only adds a
  target with necessary flags without setting any variables.
* <cpptest.cpp> is renamed to <libcpptest.cpp> for consistency with
  <libctest.c>
* Rename some tests with uninformative naming (like `call_10i` ->
  `10 int args`)
* Add adjusments of arguments for long calls (~10 arguments) to make them
  comparable without changing test semantics.
* Fix some typos

Sergey Kaplun (26):
  cmake: introduce AddTestLib macro
  test: prepare lauxilarily libs for LuaJIT-tests
  test: separate LuaJIT helpers from ffi_util.inc
  test: enable <ffi_arith_ptr.lua> in LuaJIT-tests
  test: enable <ffi_bitfield.lua> in LuaJIT-tests
  test: enable <ffi_call.lua> in LuaJIT-tests
  test: enable <ffi_callback.lua> in LuaJIT-tests
  test: enable <ffi_const.lua> in LuaJIT-tests
  test: enable <ffi_convert.lua> in LuaJIT-tests
  test: enable <ffi_enum.lua> in LuaJIT-tests
  test: enable <ffi_gcstep_recursive.lua>
  test: enable <ffi_jit_arith.lua> in LuaJIT-tests
  test: enable <ffi_jit_call.lua> in LuaJIT-tests
  test: enable <ffi_jit_conv.lua> in LuaJIT-tests
  test: enable <ffi_lex_number.lua> in LuaJIT-tests
  test: enable <ffi_metatype.lua> in LuaJIT-tests
  test: enable <ffi_new.lua> in LuaJIT-tests
  test: enable <ffi_parse_array.lua> in LuaJIT-tests
  test: enable <ffi_parse_basic.lua> in LuaJIT-tests
  test: enable <ffi_parse_cdef.lua> in LuaJIT-tests
  test: enable <ffi_parse_struct.lua> LuaJIT test
  test: enable <ffi_tabov.lua> LuaJIT test
  test: enable <lightud.lua> LuaJIT test
  test: enable <api_call.lua> LuaJIT test
  test: enable <catch_wrap.lua> LuaJIT test
  test: enable <catch_cpp.lua> LuaJIT test

 test/CMakeLists.txt                           |   3 +
 test/LuaJIT-tests/CMakeLists.txt              |  45 ++-
 test/LuaJIT-tests/common/fails.lua            |   3 +
 test/LuaJIT-tests/common/ffi/checkfail.lua    |  14 +
 test/LuaJIT-tests/common/ffi/checktypes.lua   |  15 +
 test/LuaJIT-tests/common/ffi_util.inc         |  23 --
 test/LuaJIT-tests/{misc => lang}/api_call.lua |  32 +-
 .../{sysdep => lang}/catch_cpp.lua            |  36 +-
 .../{misc => lang}/catch_wrap.lua             |  29 +-
 test/LuaJIT-tests/lang/index                  |   4 +
 test/LuaJIT-tests/lang/lightud.lua            |  89 +++++
 test/LuaJIT-tests/lib/ffi/ffi_arith_ptr.lua   |  13 +-
 test/LuaJIT-tests/lib/ffi/ffi_bitfield.lua    |   4 +-
 test/LuaJIT-tests/lib/ffi/ffi_call.lua        | 185 +++++-----
 test/LuaJIT-tests/lib/ffi/ffi_callback.lua    |  45 +--
 test/LuaJIT-tests/lib/ffi/ffi_const.lua       |   4 +-
 test/LuaJIT-tests/lib/ffi/ffi_convert.lua     |  35 +-
 test/LuaJIT-tests/lib/ffi/ffi_enum.lua        |  11 +-
 .../lib/ffi/ffi_gcstep_recursive.lua          |  27 +-
 test/LuaJIT-tests/lib/ffi/ffi_jit_arith.lua   |  22 +-
 test/LuaJIT-tests/lib/ffi/ffi_jit_call.lua    |  70 ++--
 test/LuaJIT-tests/lib/ffi/ffi_jit_conv.lua    |  70 ++--
 test/LuaJIT-tests/lib/ffi/ffi_lex_number.lua  |  72 ++--
 test/LuaJIT-tests/lib/ffi/ffi_metatype.lua    |  16 +-
 test/LuaJIT-tests/lib/ffi/ffi_new.lua         |  50 +--
 test/LuaJIT-tests/lib/ffi/ffi_parse_array.lua | 106 +++---
 test/LuaJIT-tests/lib/ffi/ffi_parse_basic.lua | 251 ++++++-------
 test/LuaJIT-tests/lib/ffi/ffi_parse_cdef.lua  | 141 ++++----
 .../LuaJIT-tests/lib/ffi/ffi_parse_struct.lua | 335 +++++++++---------
 test/LuaJIT-tests/lib/ffi/ffi_tabov.lua       |  12 -
 test/LuaJIT-tests/lib/ffi/index               |  18 +
 test/LuaJIT-tests/misc/lightud.lua            |  88 -----
 test/LuaJIT-tests/src/CMakeLists.txt          |  17 +
 .../src/{cpptest.cpp => libcpptest.cpp}       |   4 +-
 test/LuaJIT-tests/src/{ctest.c => libctest.c} |   4 +-
 test/LuaJIT-tests/test.lua                    |   7 +-
 .../PUC-Rio-Lua-5.1-tests/libs/CMakeLists.txt |  25 +-
 test/cmake/AddTestLib.cmake                   |  28 ++
 test/tarantool-tests/CMakeLists.txt           |  27 +-
 test/tarantool-tests/ffi-tabov.test.lua       |  27 ++
 40 files changed, 1086 insertions(+), 921 deletions(-)
 create mode 100644 test/LuaJIT-tests/common/fails.lua
 create mode 100644 test/LuaJIT-tests/common/ffi/checkfail.lua
 create mode 100644 test/LuaJIT-tests/common/ffi/checktypes.lua
 rename test/LuaJIT-tests/{misc => lang}/api_call.lua (79%)
 rename test/LuaJIT-tests/{sysdep => lang}/catch_cpp.lua (75%)
 rename test/LuaJIT-tests/{misc => lang}/catch_wrap.lua (71%)
 create mode 100644 test/LuaJIT-tests/lang/lightud.lua
 delete mode 100644 test/LuaJIT-tests/lib/ffi/ffi_tabov.lua
 delete mode 100644 test/LuaJIT-tests/misc/lightud.lua
 create mode 100644 test/LuaJIT-tests/src/CMakeLists.txt
 rename test/LuaJIT-tests/src/{cpptest.cpp => libcpptest.cpp} (96%)
 rename test/LuaJIT-tests/src/{ctest.c => libctest.c} (99%)
 create mode 100644 test/cmake/AddTestLib.cmake
 create mode 100644 test/tarantool-tests/ffi-tabov.test.lua

-- 
2.43.0



More information about the Tarantool-patches mailing list