[Tarantool-patches] [PATCH v2 luajit 3/5] test: adjust lua-Harness test suite for Tarantool
Sergey Kaplun
skaplun at tarantool.org
Mon Mar 15 18:29:28 MSK 2021
This patch makes it possible to run lua-Harness test suite using
Tarantool.
203-lexico.t and 301-basic.t is adjusted to valid working with
out-of-source build in Tarantool CI.
Inside Tarantool's GitHub-CI there is no defined variable LOGNAME nor
USERNAME. This leads to test failure inside CI, because a string is
expected. So, now USERNAME is set manually via CMake.
Part of tarantool/tarantool#5844
Part of tarantool/tarantool#4473
---
test/lua-Harness-tests/203-lexico.t | 14 ++++++++++----
test/lua-Harness-tests/301-basic.t | 6 +++++-
test/lua-Harness-tests/CMakeLists.txt | 4 ++++
3 files changed, 19 insertions(+), 5 deletions(-)
diff --git a/test/lua-Harness-tests/203-lexico.t b/test/lua-Harness-tests/203-lexico.t
index c1abebf..5f79b3f 100755
--- a/test/lua-Harness-tests/203-lexico.t
+++ b/test/lua-Harness-tests/203-lexico.t
@@ -117,20 +117,26 @@ do
like(msg, "^[^:]+:%d+: unfinished long comment .-near")
end
+-- XXX: If this test is run out of the tests source tree, the
+-- relative paths below become invalid. Hence, we need to
+-- prepend the directory from the script (i.e. test) name to
+-- the auxiliary files to be loaded and executed.
+local test_srcdir = arg[0]:gsub('([^/]+)%.t$', '')
+
if _VERSION >= 'Lua 5.2' or jit then
- dofile'lexico52/lexico.t'
+ dofile(test_srcdir .. 'lexico52/lexico.t')
end
if _VERSION >= 'Lua 5.3' or luajit21 then
- dofile'lexico53/lexico.t'
+ dofile(test_srcdir .. 'lexico53/lexico.t')
end
if _VERSION >= 'Lua 5.4' then
- dofile'lexico54/lexico.t'
+ dofile(test_srcdir .. 'lexico54/lexico.t')
end
if jit and pcall(require, 'ffi') then
- dofile'lexicojit/lexico.t'
+ dofile(test_srcdir .. 'lexicojit/lexico.t')
end
done_testing()
diff --git a/test/lua-Harness-tests/301-basic.t b/test/lua-Harness-tests/301-basic.t
index f4f9235..c4ab594 100755
--- a/test/lua-Harness-tests/301-basic.t
+++ b/test/lua-Harness-tests/301-basic.t
@@ -843,7 +843,11 @@ do -- xpcall
end
if jit and pcall(require, 'ffi') then
- dofile'lexicojit/basic.t'
+ -- XXX: If this test is run out of the tests source tree, the
+ -- relative paths below become invalid. Hence, we need to
+ -- prepend the directory from the script (i.e. test) name to
+ -- the auxiliary files to be loaded and executed.
+ dofile(arg[0]:gsub('([^/]+)%.t$', '') .. '/lexicojit/basic.t')
end
done_testing()
diff --git a/test/lua-Harness-tests/CMakeLists.txt b/test/lua-Harness-tests/CMakeLists.txt
index 9b35e5a..bac279f 100644
--- a/test/lua-Harness-tests/CMakeLists.txt
+++ b/test/lua-Harness-tests/CMakeLists.txt
@@ -40,6 +40,10 @@ add_custom_command(TARGET lua-Harness-tests
# for more info.
# So use less preferable way for tests.
# See the root CMakeLists.txt for more info.
+ # XXX: 309-os.t checks os.getenv() function by examine of
+ # USERNAME or LOGNAME enviroment variable. It is not present
+ # inside CI by itself, so it is set here manually.
+ USERNAME="fperrad"
${PROVE} ${CMAKE_CURRENT_SOURCE_DIR}
--exec '${LUAJIT_TEST_COMMAND} -l profile_luajit21'
${LUA_TEST_FLAGS}
--
2.28.0
More information about the Tarantool-patches
mailing list