Tarantool development patches archive
 help / color / mirror / Atom feed
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

  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