Hi, Sergey! Thanks for the patch! LGTM -- Best regards, Maxim Kokryashkin     >Суббота, 11 ноября 2023, 20:05 +03:00 от Sergey Bronnikov via Tarantool-patches : >  >Hi, Igor > >On 10/31/23 22:17, Igor Munkin wrote: >> Sergey, >> >> Thanks for the patch! I have some general comments prior to make more >> precise review for the particular changeset. >> >> 1. Unfortunately, the old scenario is broken: >> The recipe I used to run for building and running LuaJIT test is the >> following one: >> | $ cmake . -DCMAKE_BUILD_TYPE=Debug -DLUA_USE_ASSERT=ON -DLUA_USE_APICHECK=ON && make -j test >> As a result of the changes, target doesn't build the >> dependencies (neither luajit per se, nor particular test helpers >> required to be compiled). So the recipe is transformed to this one: >> | $ cmake . -DCMAKE_BUILD_TYPE=Debug -DLUA_USE_ASSERT=ON -DLUA_USE_APICHECK=ON >> | $ make -j # build LuaJIT >> | $ make -j tarantool-tests # run the particular suite to build the requirements >> | $ make -j tarantool-c-tests # ditto >> | $ make -j PUC-Rio-Lua-5.1-tests # some binary artefacts for Lua suite >> | $ make -j test >> Looks not such convenient comparing to the old mantra. > >Updated patch a bit. Now steps are the same: > >     $ cmake -S . -B build >     $ cmake --build build >     $ cmake --build --target LuaJIT-test > >ctest and test target works too. > > >> >> 2. The new CTest targets should follow the existing naming practice >> (i.e. use the directory name, or its distinctive prefix), since the >> following command runs three suites. >> | $ ctest -L lua # runs lua, luajit and lua-harness >Updated labels, now labels are equals to prefix of appropriate testsuite. >> >> 3. It looks like the logs will not be showed in CI to debug a >> hard-reproducible issue if one occurs. <--output-on-failure> can be a >> saviour here for us. > >This option is already used by test targets, see TEST_FLAGS in >test/CMakeLists.txt. > >If you run tests by ctest then you should set env variable >CTEST_OUTPUT_ON_FAILURE=1. > >Another option is setting default ctest options via >CMAKE_CTEST_ARGUMENTS, but it is available since CMake 3.17. > >> >> 4. I'm afraid the current changes break integration with Tarantool >> tests. The reason is duplication of target both in LuaJIT and >> Tarantool build systems. AFAIU, moving under the >> condition similar to the one handled with LUAJIT_USE_TEST option >> doesn't solve the issue, since no test will be run as a result. >> Please check this part: it might be the main technical blocker for >> this changeset. > >No, it doesn't break integration. Letter with patch has  a link to PR to >tarantool repository, > >all CI tests are passed. > >> 5. I remember that we're talking regarding running particular tests for >> all suites, but I see this is done only for tarantool* and lua-Harness. >> Is it experimental and you'll fix it later in scope of this PR? There >> is definitely the way to run a particular test in LuaJIT suite >> (AFAIR, you can just use its number). Regarding PUC-Rio-Lua-5.1 we >> can think about replacing all.lua as a runner as it's done in uJIT. > >The patch replaces prove with ctest. Updating test runner for PUC Rio >Lua and LuaJIT testsuites > >is out of scope for this patch. This could be done later and by someone >else. > >> >> I believe that's all for the starters.