valgrind test scripts (was Re: [PATCH] Teach remote...)
- From
Jeff King <peff@peff.net>
- Date
- Jan 14, 2008, 12:16 UTC
- Message-ID
- <20080114121615.GC12723@coredump.intra.peff.net>
- In-Reply-To
- <alpine.LSU.1.00.0801141202240.8333@wbgn129.biozentrum.uni-wuerzburg.de>
On Mon, Jan 14, 2008 at 12:18:13PM +0100, Johannes Schindelin wrote:
Show 11 quoted lines
> > * test scripts to use valgrind (Jeff King, but there was another > > one in the past -- can their efforts compared and coordinated > > better?). > > Yes, that was written in Perl by Christian Couder: > > http://article.gmane.org/gmane.comp.version-control.git/69236 > > Peff's version does not need Perl, and is better integrated with the > testsuite (via the new option -m). Christian's version parses the output, > and might therefore be nicer to look at.
I don't think parsing is necessary. Christian's version counts the errors, whereas I just barf if valgrind has mentioned any errors. And using the '-q' output of valgrind means the output is fairly cleaned up.
But of course the main difference is that I tried to integrate into the test scripts, and stop running as soon as any errors are found.
> However, I think that both versions do not account for scripts, and I > imagine that going through Git.pm and git-sh-setup is necessary for that.
Both versions use the 'alias' approach. A more comprehensive approach would be something like:
mkdir wrapper-bin
cat >wrapper-bin/git <<EOF
...
EOF
chmod 755 wrapper-bin/git
for i in $GIT_PROGRAMS; do
ln -s git wrapper-bin/git-$i
done
PATH=$PWD/wrapper-bin:$PATHwhich should get all git calls (though we should probably not wrap "git-foo" if git-foo is a script (or we should convert it to "git foo") since I have no desire to valgrind bash or perl).
> Also, it might be a good idea to be able to provide extra arguments, such > as "--attach-db=yes".
Yes. I suspect some people will need to add custom suppression files depending on their platform, as well.
> Post 1.5.4, definitely.
Agreed.
-Peff