[Tarantool-patches] [PATCH luajit v3 03/29] test: adapt PUC-Rio suite for out-of-source build

Sergey Kaplun skaplun at tarantool.org
Wed Apr 14 16:54:33 MSK 2021


Hi, Igor!

Thanks for the review!
I see fixups on branch and they LGTM.
AFAIU, do you want to squash them by yourself?

On 14.04.21, Igor Munkin wrote:
> Sergey,
> 
> Thanks for the patch! LGTM with the following nits: I fixed them on your
> branch[1] and guess no re-testing is needed.
> 
> On 13.04.21, Sergey Kaplun wrote:
> > The redefined `dofile()` function failed to find the test file to load,
> > when tests are run out-of-source. So, fullpath is detected considering
> > `arg[0]` value. Moreover, some tests use `loadfile()` instead, so their
> > argument has to be adjusted to the full path to the files.
> > 
> > Usage of functions invoking source test files was changed to
> > `_loadfile()` and `_dofile()` correspondingly. They equal
> 
> Typo: s/They equal/They equal to/.
> 
> > `loadfile()` and `dofile()` by default and can be overloaded via running
> > lua code from LUAJIT_TEST_INIT. This patch introduces the
> 
> Typo: s/lua/Lua/.
> 
> > <test/luajit-test-init.lua> file to be executed before tests and
> > redefines the functions considering the path from `arg[0]` variable.
> > 
> > Part of tarantool/tarantool#5845
> > Part of tarantool/tarantool#4473
> > ---
> >  CMakeLists.txt                     |  4 +--
> >  test/PUC-Rio-Lua-5.1-tests/all.lua | 51 +++++++++++++++++-------------
> >  test/luajit-test-init.lua          | 18 +++++++++++
> >  3 files changed, 49 insertions(+), 24 deletions(-)
> >  create mode 100644 test/luajit-test-init.lua
> > 
> > diff --git a/CMakeLists.txt b/CMakeLists.txt
> > index eb562923..df82d57c 100644
> > --- a/CMakeLists.txt
> > +++ b/CMakeLists.txt
> > @@ -302,8 +302,8 @@ set(LUAJIT_TEST_BINARY ${LUAJIT_BINARY} CACHE STRING
> >  # tweaked, the introduced option can be used.
> >  # XXX: The default behaviour is nop, so /dev/null is the best
> 
> Comment need to be adjusted.
> 
> >  # option for this.
> > -set(LUAJIT_TEST_INIT "/dev/null" CACHE STRING
> > -  "Lua code need to be run before tests are started. Default is nop."
> > +set(LUAJIT_TEST_INIT "${PROJECT_SOURCE_DIR}/test/luajit-test-init.lua" CACHE STRING
> > +  "Lua code need to be run before tests are started."
> >  )
> >  
> >  add_subdirectory(test)
> 
> <snipped>
> 
> > diff --git a/test/luajit-test-init.lua b/test/luajit-test-init.lua
> > new file mode 100644
> > index 00000000..aadd15af
> > --- /dev/null
> > +++ b/test/luajit-test-init.lua
> > @@ -0,0 +1,18 @@
> > +-- XXX: PUC Rio Lua 5.1 test suite checks that global variable
> > +-- `_loadfile()` exists and use it for code loading from test
> 
> Typo: s/use/uses/.
> 
> > +-- files If the variable is not defined then suite uses
> 
> Typo: s/files/files./.
> 
> > +-- `loadfile()` as default. Same for the `_dofile()`.
> > +
> > +-- XXX: Some tests in PUC Rio Lua 5.1 test suite clean `arg`
> > +-- variable, so evaluate this once and use later.
> > +local path_to_sources = arg[0]:gsub("[^/]+$", "")
> > +
> > +-- luacheck: no global
> > +function _loadfile(filename)
> > +  return loadfile(path_to_sources..filename)
> > +end
> > +
> > +-- luacheck: no global
> > +function _dofile(filename)
> > +  return dofile(path_to_sources..filename)
> > +end
> > -- 
> > 2.31.0
> > 
> 
> [1]: https://github.com/tarantool/luajit/commit/c28985b
> 
> -- 
> Best regards,
> IM

-- 
Best regards,
Sergey Kaplun


More information about the Tarantool-patches mailing list