From: Igor Munkin <imun@tarantool.org> To: Sergey Bronnikov <sergeyb@tarantool.org> Cc: tarantool-patches@dev.tarantool.org, v.shpilevoy@tarantool.org, alexander.turenko@tarantool.org Subject: Re: [Tarantool-patches] [PATCH 18/19] Add luacheck supression for luajit test Date: Tue, 21 Jul 2020 15:38:01 +0300 [thread overview] Message-ID: <20200721123801.GJ18920@tarantool.org> (raw) In-Reply-To: <20200721115236.GB88846@pony.bronevichok.ru> Sergey, On 21.07.20, Sergey Bronnikov wrote: > Igor, thanks for review! > <snipped> > > By the way, I see another problem: > > - Wait, it's all just luacheck failing on luajit tests? > > | $ git co HEAD^ > > | $ git log --oneline -1 | cat > > | c9653cbec Add luacheck supression for luajit test > > | $ make luacheck || echo "Always has been" > > | <snipped> > > | Total: 95 warnings / 0 errors in 492 files > > | make[3]: *** [CMakeFiles/luacheck.dir/build.make:58: luacheck] Error 1 > > | make[2]: *** [CMakeFiles/Makefile2:430: CMakeFiles/luacheck.dir/all] Error 2 > > | make[1]: *** [CMakeFiles/Makefile2:437: CMakeFiles/luacheck.dir/rule] Error 2 > > | make: *** [Makefile:316: luacheck] Error 2 > > | Always has been > > > > I guess the agreement to make the series passing <luacheck> after > > *every* patch still stands (like you made for src/ and extra/ > > directories). I doubt we should violate this rule for test/. > > Actually changes in a patch series are atomic and problem described > above is not related to atomicity of changes. It definitely does relate to the subj. > Paths in a luacheck config are interpreted relatively to the directory > from which config was loaded, see [1]. When you run 'make luacheck' in > separate build directory it uses absolute path to .luacheckrc and > therefore absolute paths to .lua files: One more time: I checked out the commit prior to the branch HEAD (i.e. c9653cbec), configured Tarantool in-source build and ran <make luacheck> available only in project root directory (otherwise the corresponding error is reported by make util). The root cause is not about the paths for out of source build (I didn't even test this build type) but the exclude list, that doesn't contain any line related to luajit test directory (i.e. test/luajit-tap). As a result luacheck fails until the submodule is bumped, in other words until the last commit. We already discussed this in the previous series[1], but you ignored it. Again. Well, it's not a problem for me to point out your attention to this. Again. This is about the 10th overall series for luacheck, isn't it? How more iterations do we need for it? > $ make luacheck VERBOSE=1 > ... > Perform static analysis of Lua code > ../.rocks/bin/luacheck --codes --config /home/s.bronnikov/tarantool/.luacheckrc /home/s.bronnikov/tarantool > Checking /home/s.bronnikov/tarantool/build/extra/luarocks/hardcoded.lua > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > ... > $ > > in such case exclude and include paths specified in config become > broken, luacheck simply ignores it and checks only .lua files in a build/ > directory. > > I made a small change on top of branch to fix case when we run 'make > luacheck' in a build dir: > > --- a/CMakeLists.txt > +++ b/CMakeLists.txt > @@ -158,7 +158,8 @@ add_custom_target(ctags DEPENDS tags) > > add_custom_target(luacheck) > add_custom_command(TARGET luacheck > - COMMAND ${LUACHECK} --codes --config "${PROJECT_SOURCE_DIR}/.luacheckrc" "${PROJECT_SOURCE_DIR}" > + COMMAND ${LUACHECK} --codes --config .luacheckrc . > + WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" > COMMENT "Perform static analysis of Lua code" > ) > > CI passed with a patch, see [2]. > > 1. https://luacheck.readthedocs.io/en/stable/config.html > 2. https://gitlab.com/tarantool/tarantool/-/pipelines/168992688 Spoiler alert: here is the missing line in .luacheckrc, that you've removed in scope of post-review fixes for this patch[1]. ================================================================================ diff --git a/.luacheckrc b/.luacheckrc index 21680c08c..76807b716 100644 --- a/.luacheckrc +++ b/.luacheckrc @@ -50,6 +50,7 @@ exclude_files = { "test/vinyl/*.test.lua", "test/wal_off/*.test.lua", "test/xlog/*.test.lua", + "test/luajit-tap/*.test.lua", "third_party/**/*.lua", ".rocks/**/*.lua", ".git/**/*.lua", ================================================================================ With this line everything works fine. However I proposed to bump luajit submodule prior to unmasking test/ directory, that looks more natural and convenient to me. Does it look good to you? > <snipped> > > -- > sergeyb@ [1]: https://lists.tarantool.org/pipermail/tarantool-patches/2020-April/016332.html -- Best regards, IM
next prev parent reply other threads:[~2020-07-21 12:48 UTC|newest] Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-07-16 14:11 [Tarantool-patches] [PATCH 00/19] Add static analysis of Lua code in test/ with luacheck sergeyb 2020-07-16 14:11 ` [Tarantool-patches] [PATCH 01/19] Fix luacheck warnings in test/app-tap sergeyb 2020-07-16 14:11 ` [Tarantool-patches] [PATCH 02/19] Fix luacheck warnings in test/app sergeyb 2020-07-16 14:11 ` [Tarantool-patches] [PATCH 03/19] Fix luacheck warnings in test/box sergeyb 2020-07-16 14:11 ` [Tarantool-patches] [PATCH 04/19] Fix luacheck warnings in test/box-py sergeyb 2020-07-16 14:11 ` [Tarantool-patches] [PATCH 05/19] Fix luacheck warnings in test/box-tap sergeyb 2020-07-16 14:11 ` [Tarantool-patches] [PATCH 06/19] Fix luacheck warnings in test/engine sergeyb 2020-07-16 14:11 ` [Tarantool-patches] [PATCH 07/19] Fix luacheck warnings in test/engine_long sergeyb 2020-07-16 14:11 ` [Tarantool-patches] [PATCH 08/19] Fix luacheck warnings in test/long_run-py sergeyb 2020-07-16 14:11 ` [Tarantool-patches] [PATCH 09/19] Fix luacheck warnings in test/replication sergeyb 2020-07-16 14:11 ` [Tarantool-patches] [PATCH 10/19] Fix luacheck warnings in test/replication-py sergeyb 2020-07-16 14:11 ` [Tarantool-patches] [PATCH 11/19] Fix luacheck warnings in test/sql sergeyb 2020-07-16 14:11 ` [Tarantool-patches] [PATCH 12/19] Fix luacheck warnings in test/sql-tap sergeyb 2020-07-16 14:11 ` [Tarantool-patches] [PATCH 13/19] Fix luacheck warnings in test/swim sergeyb 2020-07-16 14:11 ` [Tarantool-patches] [PATCH 14/19] Fix luacheck warnings in test/vinyl sergeyb 2020-07-16 14:11 ` [Tarantool-patches] [PATCH 15/19] Fix luacheck warnings in test/wal_off sergeyb 2020-07-16 14:11 ` [Tarantool-patches] [PATCH 16/19] Fix luacheck warnings in test/xlog sergeyb 2020-07-16 14:11 ` [Tarantool-patches] [PATCH 17/19] Fix luacheck warnings in test/xlog-py sergeyb 2020-07-16 14:11 ` [Tarantool-patches] [PATCH 18/19] Add luacheck supression for luajit test sergeyb 2020-07-20 19:46 ` Igor Munkin 2020-07-21 11:52 ` Sergey Bronnikov 2020-07-21 12:38 ` Igor Munkin [this message] 2020-07-16 14:11 ` [Tarantool-patches] [PATCH 19/19] luajit: bump new version sergeyb 2020-07-16 14:18 ` [Tarantool-patches] [PATCH] test: fix warnings spotted by luacheck sergeyb 2020-07-20 18:26 ` Igor Munkin 2020-10-30 13:59 ` Kirill Yukhin 2020-07-17 8:09 ` [Tarantool-patches] [PATCH 00/19] Add static analysis of Lua code in test/ with luacheck Sergey Bronnikov 2020-08-07 9:19 ` Igor Munkin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200721123801.GJ18920@tarantool.org \ --to=imun@tarantool.org \ --cc=alexander.turenko@tarantool.org \ --cc=sergeyb@tarantool.org \ --cc=tarantool-patches@dev.tarantool.org \ --cc=v.shpilevoy@tarantool.org \ --subject='Re: [Tarantool-patches] [PATCH 18/19] Add luacheck supression for luajit test' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox