Tarantool development patches archive
 help / color / mirror / Atom feed
From: Sergey Kaplun via Tarantool-patches <tarantool-patches@dev.tarantool.org>
To: Sergey Bronnikov <sergeyb@tarantool.org>
Cc: tarantool-patches@dev.tarantool.org
Subject: Re: [Tarantool-patches] [PATCH luajit 1/8] test: introduce LUAJIT_TEST_VARDIR variable
Date: Thu, 18 Aug 2022 11:27:15 +0300	[thread overview]
Message-ID: <Yv334/WWMpMRh0/t@root> (raw)
In-Reply-To: <d98192a9-1e10-1022-e8ec-9acdc1ff4cea@tarantool.org>

Hi, Igor!

Thanks for the patch!

LGTM, after fixes for commit message mentioned by Sergey.

On 15.08.22, Sergey Bronnikov wrote:
> Igor,
> 
>   thanks for the patch. See my comments inline.
> 
> On 11.08.2022 14:17, Igor Munkin wrote:
> > Before the patch both memprof and sysprof artefacts are generated within
> > the binary artefacts tree (i.e. in the same directory LuaJIT binary is
> > generated). However, more convenient way is producing these temporary
> > profiles in a separate directory (e.g. located on the partition with
> > more strict space limits). As a result of the patch all memprof and
> > sysprof test chunks consider LUAJIT_TEST_VARDIR environment variable to
> > set the directory where test profiles are generated. For the case when
> > LUAJIT_TEST_VARDIR is not set, everything works as before.
> 
> Commit message is inconsistent a bit with a patch itself.
> 
> As far as I understand many hunks are not related to introducing 
> LUAJIT_TEST_VARDIR.
> 
> Probably it is better to change commit one-line message from "test: 
> introduce LUAJIT_TEST_VARDIR variable"
> 
> to something like "test: refactoring and introduce LUAJIT_TEST_VARDIR 
> variable". It allows to keep patch

Agree with Sergey here. This patch is more about prerequisites for this
variable.

> 
> as is and change expectations for those who will look at your patch.
> 
> 
> >
> > Part of tarantool/tarantool#7472
> >
> > Signed-off-by: Igor Munkin <imun@tarantool.org>
> > ---
> >   .../gh-5813-resolving-of-c-symbols.test.lua   |  6 +++--
> >   .../misclib-memprof-lapi.test.lua             | 22 ++++++++++---------
> >   .../misclib-sysprof-lapi.test.lua             |  8 ++++---
> >   test/tarantool-tests/utils.lua                | 12 ++++++++++
> >   4 files changed, 33 insertions(+), 15 deletions(-)
> >
> > diff --git a/test/tarantool-tests/gh-5813-resolving-of-c-symbols.test.lua b/test/tarantool-tests/gh-5813-resolving-of-c-symbols.test.lua
> > index d589dddf..e0b6d86d 100644
> > --- a/test/tarantool-tests/gh-5813-resolving-of-c-symbols.test.lua
> > +++ b/test/tarantool-tests/gh-5813-resolving-of-c-symbols.test.lua
> > @@ -1,5 +1,7 @@
> >   -- Memprof is implemented for x86 and x64 architectures only.
> > -require("utils").skipcond(
> > +local utils = require("utils")
> > +
> > +utils.skipcond(
> >     jit.arch ~= "x86" and jit.arch ~= "x64" or jit.os ~= "Linux",
> >     jit.arch.." architecture or "..jit.os..
> >     " OS is NIY for memprof c symbols resolving"
> > @@ -18,7 +20,7 @@ local testboth = require "resboth"
> >   local testhash = require "reshash"
> >   local testgnuhash = require "resgnuhash"
> >   
> > -local TMP_BINFILE = arg[0]:gsub(".+/([^/]+)%.test%.lua$", "%.%1.memprofdata.tmp.bin")
> > +local TMP_BINFILE = utils.profilename("memprofdata.tmp.bin")
> >   
> >   local function tree_contains(node, name)
> >     if node == nil then
> > diff --git a/test/tarantool-tests/misclib-memprof-lapi.test.lua b/test/tarantool-tests/misclib-memprof-lapi.test.lua
> > index a11f0be1..bae0c27c 100644
> > --- a/test/tarantool-tests/misclib-memprof-lapi.test.lua
> > +++ b/test/tarantool-tests/misclib-memprof-lapi.test.lua
> > @@ -1,5 +1,7 @@
> >   -- Memprof is implemented for x86 and x64 architectures only.
> > -require("utils").skipcond(
> > +local utils = require("utils")
> > +
> > +utils.skipcond(
> >     jit.arch ~= "x86" and jit.arch ~= "x64",
> >     jit.arch.." architecture is NIY for memprof"
> >   )
> > @@ -26,8 +28,8 @@ local memprof = require "memprof.parse"
> >   local process = require "memprof.process"
> >   local symtab = require "utils.symtab"
> >   
> > -local TMP_BINFILE = arg[0]:gsub(".+/([^/]+)%.test%.lua$", "%.%1.memprofdata.tmp.bin")
> > -local BAD_PATH = arg[0]:gsub(".+/([^/]+)%.test%.lua$", "%1/memprofdata.tmp.bin")
> > +local TMP_BINFILE = utils.profilename("memprofdata.tmp.bin")
> > +local BAD_PATH = utils.profilename("memprofdata/tmp.bin")
> >   local SRC_PATH = "@"..arg[0]
> >   
> >   local function default_payload()
> > @@ -189,9 +191,9 @@ test:test("output", function(subtest)
> >     -- one is the number of allocations. 1 event - alocation of
> >     -- table by itself + 1 allocation of array part as far it is
> >     -- bigger than LJ_MAX_COLOSIZE (16).
> > -  subtest:ok(check_alloc_report(alloc, { line = 35, linedefined = 33 }, 2))
> > +  subtest:ok(check_alloc_report(alloc, { line = 37, linedefined = 35 }, 2))
> >     -- 20 strings allocations.
> > -  subtest:ok(check_alloc_report(alloc, { line = 40, linedefined = 33 }, 20))
> > +  subtest:ok(check_alloc_report(alloc, { line = 42, linedefined = 35 }, 20))
> What are these magic numbers mean and why we should change them for 
> introducing LUAJIT_TEST_VARDIR?

Yes, this is nasty problems with the lines where allocation happens. As
far as we add new lines before tested function these numbers change.

> >   
> >     -- Collect all previous allocated objects.
> >     subtest:ok(free.INTERNAL.num == 22)

<snipped>

> >   return M

-- 
Best regards,
Sergey Kaplun

  reply	other threads:[~2022-08-18  8:29 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-11 11:17 [Tarantool-patches] [PATCH luajit 0/8] LuaJIT tests and CI enhancements Igor Munkin via Tarantool-patches
2022-08-11 11:17 ` [Tarantool-patches] [PATCH luajit 1/8] test: introduce LUAJIT_TEST_VARDIR variable Igor Munkin via Tarantool-patches
2022-08-15 12:08   ` Sergey Bronnikov via Tarantool-patches
2022-08-18  8:27     ` Sergey Kaplun via Tarantool-patches [this message]
2022-08-31 14:53     ` Igor Munkin via Tarantool-patches
2022-09-02 12:06       ` Sergey Bronnikov via Tarantool-patches
2022-10-05 19:51         ` Igor Munkin via Tarantool-patches
2022-08-11 11:17 ` [Tarantool-patches] [PATCH luajit 2/8] test: introduce MakeLuaPath.cmake helper Igor Munkin via Tarantool-patches
2022-08-15 12:08   ` Sergey Bronnikov via Tarantool-patches
2022-08-31 15:07     ` Igor Munkin via Tarantool-patches
2022-09-02 12:09       ` Sergey Bronnikov via Tarantool-patches
2022-08-18  9:37   ` Sergey Kaplun via Tarantool-patches
2022-08-31 15:19     ` Igor Munkin via Tarantool-patches
2022-09-01 10:16       ` Sergey Kaplun via Tarantool-patches
2022-08-11 11:17 ` [Tarantool-patches] [PATCH luajit 3/8] test: fix tarantool suite for out of source build Igor Munkin via Tarantool-patches
2022-08-15 12:10   ` Sergey Bronnikov via Tarantool-patches
2022-08-18  9:49   ` Sergey Kaplun via Tarantool-patches
2022-08-31 17:20     ` Igor Munkin via Tarantool-patches
2022-08-11 11:17 ` [Tarantool-patches] [PATCH luajit 4/8] ci: use out of source build in GitHub Actions Igor Munkin via Tarantool-patches
2022-08-15 12:13   ` Sergey Bronnikov via Tarantool-patches
2022-08-18  9:58     ` Sergey Kaplun via Tarantool-patches
2022-08-31 15:34       ` Igor Munkin via Tarantool-patches
2022-08-31 15:33     ` Igor Munkin via Tarantool-patches
2022-09-02 12:09       ` Sergey Bronnikov via Tarantool-patches
2022-08-11 11:17 ` [Tarantool-patches] [PATCH luajit 5/8] ci: remove excess parallel level setup Igor Munkin via Tarantool-patches
2022-08-15 12:14   ` Sergey Bronnikov via Tarantool-patches
2022-08-18 10:09   ` Sergey Kaplun via Tarantool-patches
2022-08-11 11:17 ` [Tarantool-patches] [PATCH luajit 6/8] ci: remove arch prefix for macOS M1 workflow Igor Munkin via Tarantool-patches
2022-08-15 12:17   ` Sergey Bronnikov via Tarantool-patches
2022-08-18 10:14   ` Sergey Kaplun via Tarantool-patches
2022-08-31 15:55     ` Igor Munkin via Tarantool-patches
2022-08-11 11:17 ` [Tarantool-patches] [PATCH luajit 7/8] ci: merge x86_64 and ARM64 workflows Igor Munkin via Tarantool-patches
2022-08-15 12:22   ` Sergey Bronnikov via Tarantool-patches
2022-08-18 10:21   ` Sergey Kaplun via Tarantool-patches
2022-08-31 16:02     ` Igor Munkin via Tarantool-patches
2022-08-11 11:17 ` [Tarantool-patches] [PATCH luajit 8/8] ci: merge Linux and macOS workflows Igor Munkin via Tarantool-patches
2022-08-15 12:27   ` Sergey Bronnikov via Tarantool-patches
2022-08-18 10:32   ` Sergey Kaplun via Tarantool-patches
2022-11-11  8:56 ` [Tarantool-patches] [PATCH luajit 0/8] LuaJIT tests and CI enhancements Igor Munkin via Tarantool-patches

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=Yv334/WWMpMRh0/t@root \
    --to=tarantool-patches@dev.tarantool.org \
    --cc=sergeyb@tarantool.org \
    --cc=skaplun@tarantool.org \
    --subject='Re: [Tarantool-patches] [PATCH luajit 1/8] test: introduce LUAJIT_TEST_VARDIR variable' \
    /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