[Tarantool-patches] [PATCH v2 luajit 0/5] Adapt lua-Harness test suite

Igor Munkin imun at tarantool.org
Wed Mar 17 03:46:24 MSK 2021


Thanks for the series! I've looked onto the updated version on your
branch and it is almost cool! I've polished it a bit: commit message,
typos, etc -- you can see the changes on my branch[1] (CI is green[2]).
If you're OK with them, I'll push the changeset to the trunk.

Speaking about the changes in Tarantool, I almost OK with them except
the test/luajit-test-init.lua. Consider the comments below.


diff --git a/cmake/luajit.cmake b/cmake/luajit.cmake
index 1c05e085b..3d37164e8 100644
--- a/cmake/luajit.cmake
+++ b/cmake/luajit.cmake
@@ -40,16 +40,19 @@ set(LUAJIT_TEST_BINARY $<TARGET_FILE:tarantool> CACHE STRING
     "Generate <test> target" FORCE)
-# Enable internal LuaJIT assertions for Tarantool Debug build.
 # XXX: There is <strict> module enabled by default in Tarantool
 # built in Debug, so we need to tweak LuaJIT testing environment.
+# XXX: Also, this script "unloads" internal Tarantool's modules
+# and remove globals conflicting with LuaJIT test suites.
+set(LUAJIT_TEST_INIT "${PROJECT_SOURCE_DIR}/test/luajit-test-init.lua"
+    CACHE STRING "Lua code need to be run before tests are started" FORCE)
+# Enable internal LuaJIT assertions for Tarantool Debug build.
         "Assertions for the Lua/C API" FORCE)
         "Assertions for the whole LuaJIT VM" FORCE)
-    set(LUAJIT_TEST_INIT "${PROJECT_SOURCE_DIR}/test/luajit-test-init.lua"
-        CACHE STRING "Lua code need to be run before tests are started" FORCE)
 # Valgrind can be used only with the system allocator. For more
diff --git a/test/luajit-test-init.lua b/test/luajit-test-init.lua
index bc4af9748..d3f637156 100644
--- a/test/luajit-test-init.lua
+++ b/test/luajit-test-init.lua
@@ -1,2 +1,16 @@
 -- Disable strict for Tarantool.
+-- XXX: lua-Harness test suite uses it's own tap.lua module
+-- that conflicts with the Tarantool's one.
+package.loaded.tap = nil
+-- XXX: lua-Harness test suite checks that utf8 module presents
+-- only in Lua5.3 or moonjit.
+utf8 = nil
+-- Add `strict.off()` to `progname` command, that runs child tests

# If only strict.off is required for child processes, please mention why
# others are not.

+-- in some LuaJIT test suites to disable strict there too.
+-- Quotes type is important.
+-- XXX: luacheck thinks that `arg` is read-only global variable.
+-- luacheck: no global
+arg[-1] = arg[-1]..' -e "require[[strict]].off()"'

# Please, mention how Tarantool parses CLI arguments and why arg[-1]
# contains the binary name despite the given flags.

# Furthermore, you can get the file path via `debug.getinfo(1).source`,
# so you can reassemble LUAJIT_TEST_COMMAND. However, if this is
# unnecessary, then nevermind.


On 15.03.21, Sergey Kaplun wrote:
> In this patchset lua-Harness test suite is adapted for the LuaJIT fork
> and Tarantool.
> Branch: https://github.com/tarantool/luajit/tree/skaplun/gh-5844-adapt-lua-harness-test-suite
> Tarantool's branch for tests:
> https://github.com/tarantool/tarantool/tree/skaplun/gh-5844-adapt-lua-harness-test-suite
> Issues:
> * https://github.com/tarantool/tarantool/issues/5844
> * https://github.com/tarantool/tarantool/issues/5473
> Changes in v2:
> * glanced commit message for the first patch
> * dropped module renaming
> * separate suite introduction and adjustment
> * dropped unnecessary commits with disabled tests
> Mergen Imeev (1):
>   test: add lua-Harness test suite
> Sergey Kaplun (4):
>   test: adjust lua-Harness suite for LuaJIT
>   test: adjust lua-Harness test suite for Tarantool
>   test: disable 241-standalone of lua-Harness suite
>   test: disable 411-luajit of lua-Harness suite


> -- 
> 2.28.0

[1]: https://github.com/tarantool/luajit/tree/imun/gh-5844-adapt-lua-harness-test-suite
[2]: https://github.com/tarantool/tarantool/tree/imun/gh-5844-adapt-lua-harness-test-suite


Best regards,

More information about the Tarantool-patches mailing list