zsh-workers
 help / color / mirror / code / Atom feed
From: Sebastian Gniazdowski <sgniazdowski@gmail.com>
To: Daniel Shahaf <d.s@daniel.shahaf.name>
Cc: Zsh hackers list <zsh-workers@zsh.org>
Subject: Re: Valgrind tests (was: Re: Zsh: [7] + 23074 suspended (tty output))
Date: Thu, 4 Jul 2019 01:29:51 +0200	[thread overview]
Message-ID: <CAKc7PVDFnYkS4sX+==ivpyegO4t5TUh_752u6-x-bPV+bg1SPA@mail.gmail.com> (raw)
In-Reply-To: <1537286139.1154549.1512322472.101174D6@webmail.messagingengine.com>

On Tue, 18 Sep 2018 at 17:55, Daniel Shahaf <d.s@daniel.shahaf.name> wrote:
>
> Sebastian Gniazdowski wrote on Tue, 18 Sep 2018 07:21 +0200:
> > On Mon, 17 Sep 2018 at 16:50, Daniel Shahaf <d.s@daniel.shahaf.name> 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

  parent reply	other threads:[~2019-07-03 23:30 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-15 17:22 Zsh: [7] + 23074 suspended (tty output) TS
2018-09-15 18:10 ` Bart Schaefer
2018-09-15 18:51   ` TS
2018-09-15 19:06     ` TS
2018-09-16  8:40       ` Vincent Lefevre
2018-09-16 15:40         ` TS
2018-09-16 17:51           ` Peter Stephenson
2018-09-17 20:13           ` TS
2018-09-18 17:59             ` Peter Stephenson
2018-09-18  1:16         ` Vincent Lefevre
2018-09-18 17:58           ` Peter Stephenson
2018-09-20 12:01             ` Vincent Lefevre
2018-09-20 16:11               ` Daniel Shahaf
2018-09-18 19:30           ` TS
2018-09-19  3:38             ` TS
2018-09-19 14:23               ` Daniel Tameling
2018-09-19 16:12               ` Peter Stephenson
2018-09-19 18:15                 ` TS
2018-09-17 14:01 ` Sebastian Gniazdowski
2018-09-17 14:49   ` Valgrind tests (was: Re: Zsh: [7] + 23074 suspended (tty output)) Daniel Shahaf
2018-09-18  5:21     ` Sebastian Gniazdowski
2018-09-18 15:55       ` Daniel Shahaf
2018-09-19  5:04         ` Sebastian Gniazdowski
2019-07-03 23:29         ` Sebastian Gniazdowski [this message]
2019-07-03 23:31           ` Sebastian Gniazdowski
2019-07-03 23:45             ` Sebastian Gniazdowski
2019-07-13 14:31               ` Sebastian Gniazdowski
2019-07-14  6:39                 ` Daniel Shahaf
2019-07-14 22:17                   ` Sebastian Gniazdowski
2019-07-15  8:54                     ` Peter Stephenson
2019-07-15  9:29           ` Peter Stephenson
2019-07-15 18:45             ` Sebastian Gniazdowski

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='CAKc7PVDFnYkS4sX+==ivpyegO4t5TUh_752u6-x-bPV+bg1SPA@mail.gmail.com' \
    --to=sgniazdowski@gmail.com \
    --cc=d.s@daniel.shahaf.name \
    --cc=zsh-workers@zsh.org \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).