Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Valgrind tests (was: Re: Zsh: [7] + 23074 suspended (tty output))



I've made a 20 seconds asciinema to show the new test-descriptions
feature: https://asciinema.org/a/255371

On Thu, 4 Jul 2019 at 01:31, Sebastian Gniazdowski
<sgniazdowski@xxxxxxxxx> wrote:
>
> Ah, also: using the ztst.zsh from the repo will cause the descriptions
> of all tests to be printed before executing – to allow matching up the
> valgrind reports against concrete Zsh code. The change to the file is
> very simple:
>
> diff --git a/Test/ztst.zsh b/Test/ztst.zsh
> index d835e0edb..d20893f53 100755
> --- a/Test/ztst.zsh
> +++ b/Test/ztst.zsh
> @@ -402,6 +402,7 @@ $ZTST_curline"
>             ZTST_xstatus=$match[1]
>             ZTST_flags=$match[2]
>             ZTST_message=${match[3]:+${match[3][2,-1]}}
> +            [[ $VLGRND_TEST_DESC = 1 ]] && print -- "VATS-test-desc:
> $ZTST_message"
>           else
>             ZTST_testfailed "expecting test status at:
>
> On Thu, 4 Jul 2019 at 01:29, Sebastian Gniazdowski
> <sgniazdowski@xxxxxxxxx> wrote:
> >
> > On Tue, 18 Sep 2018 at 17:55, Daniel Shahaf <d.s@xxxxxxxxxxxxxxxxxx> wrote:
> > >
> > > Sebastian Gniazdowski wrote on Tue, 18 Sep 2018 07:21 +0200:
> > > > On Mon, 17 Sep 2018 at 16:50, Daniel Shahaf <d.s@xxxxxxxxxxxxxxxxxx> wrote:
> > > >
> > > > > Can you describe what changes would be involved?  Would the test
> > > > > suite remain as portable as it should be?
> >
> > What's needed is currently only this +-2 patch. It makes passing
> > VALGRIND=1 to the tests' make run the tests through VATS/valgrind. It
> > creates a conditional variable VLGRND which has a value of "v" in such
> > case, making the tests go throguh vruntests.zsh and not runtests.zsh:
> >
> > @@ -35,6 +35,7 @@ VPATH           = @srcdir@
> >  sdir            = @srcdir@
> >  sdir_top        = @top_srcdir@
> >  INSTALL         = @INSTALL@
> > +VLGRND                 = $(VALGRIND:1=v)
> >
> >  @DEFS_MK@
> >
> > @@ -49,7 +50,7 @@ check test:
> >             do echo $$f; done`" \
> >          ZTST_srcdir="$(sdir)" \
> >          ZTST_exe=$(dir_top)/Src/zsh@EXEEXT@ \
> > -        $(dir_top)/Src/zsh@EXEEXT@ +Z -f $(sdir)/runtests.zsh; then \
> > +        $(dir_top)/Src/zsh@EXEEXT@ +Z -f $(sdir)/$(VLGRND)runtests.zsh; then \
> >          stat=0; \
> >         else \
> >          stat=1; \
> >
> > > > The readme of this project is unnecessarily very long, the thing is
> > > > very simple, I need some time to approach this again with original
> > > > Test/ in mind.
> > >
> > > For avoidance of doubt, I am simply asking for information on the
> > > proposal.  I am not yet sold on it.
> >
> > I hope the valgrind tests will be added. I've spend 2 days on
> > carefully building the errors database on OS X. I think that on Linux
> > there will be no such problem, as it seems that it's OS X that
> > embraces the fact that freed memory is actually never returned to the
> > OS (so it apparently does allocations here and there, without any code
> > to release the memory). The tests apparently reveal one memory leak
> > currently:
> >
> > ==52847== 79 (24 direct, 55 indirect) bytes in 1 blocks are definitely
> > lost in loss record 349 of 550
> > ==52847==    at 0x10017B545: malloc (vg_replace_malloc.c:302)
> > ==52847==    by 0x10004899E: zalloc (mem.c:966)
> > ==52847==    by 0x10004316D: znewlinklist (linklist.c:120)
> > ==52847==    by 0x10003989D: addfilelist (jobs.c:1297)
> > ==52847==    by 0x100017AC0: getoutputfile (exec.c:4796)
> > ==52847==    by 0x100078474: stringsubst (subst.c:254)
> > ==52847==    by 0x100077E46: prefork (subst.c:142)
> > ==52847==    by 0x10001A24F: execfuncdef (exec.c:2567)
> > ==52847==    by 0x10001DC23: execcmd_exec (exec.c:3896)
> > ==52847==    by 0x10001AAF6: execpline2 (exec.c:1927)
> > ==52847==    by 0x100015938: execpline (exec.c:1658)
> > ==52847==    by 0x1000150E2: execlist (exec.c:1413)
> >
> > The full procedure to add the valgrind tests to Zsh is:
> > 1. Apply the patch
> > 2. Add files: vruntests.zsh, vtest.conf, zsh-valgrind-parse.cmd to the
> > Test subdirectory
> >
> > After this running make VALGRIND=1 inside the Test subdirectory will
> > run the valgrind tests.
> >
> > The files and additional information are available at:
> > https://github.com/zdharma/VATS-zsh
> >
> > --
> > Sebastian Gniazdowski
> > News: https://twitter.com/ZdharmaI
> > IRC: https://kiwiirc.com/client/chat.freenode.net:+6697/#zplugin
> > Blog: http://zdharma.org
>
>
>
> --
> Sebastian Gniazdowski
> News: https://twitter.com/ZdharmaI
> IRC: https://kiwiirc.com/client/chat.freenode.net:+6697/#zplugin
> Blog: http://zdharma.org



-- 
Sebastian Gniazdowski
News: https://twitter.com/ZdharmaI
IRC: https://kiwiirc.com/client/chat.freenode.net:+6697/#zplugin
Blog: http://zdharma.org



Messages sorted by: Reverse Date, Date, Thread, Author