From: Jeff King <peff@peff.net>
To: Thomas Rast <trast@inf.ethz.ch>
Cc: Junio C Hamano <gitster@pobox.com>, git@vger.kernel.org
Subject: Re: What's cooking in git.git (May 2013, #05; Mon, 20)
Date: Wed, 29 May 2013 01:19:25 -0400 [thread overview]
Message-ID: <20130529051924.GD31762@sigill.intra.peff.net> (raw)
In-Reply-To: <87hahwajgl.fsf@linux-k42r.v.cablecom.net>
On Tue, May 21, 2013 at 09:19:22AM +0200, Thomas Rast wrote:
> Junio C Hamano <gitster@pobox.com> writes:
>
> > * tr/test-v-and-v-subtest-only (2013-05-16) 6 commits
> > - test-lib: support running tests under valgrind in parallel
> > - test-lib: allow prefixing a custom string before "ok N" etc.
> > - test-lib: valgrind for only tests matching a pattern
> > - test-lib: verbose mode for only tests matching a pattern
> > - test-lib: refactor $GIT_SKIP_TESTS matching
> > - test-lib: enable MALLOC_* for the actual tests
> >
> > Allows N instances of tests run in parallel, each running 1/N parts
> > of the test suite under Valgrind, to speed things up.
> >
> > The tip one may be useful in practice but is a tad ugly ;-)
>
> I was hoping for some success stories ;-)
Sorry, none yet, as I am just returning from vacation. Thanks very much
for working on it, though. I'm looking forward to trying it out for
real.
> I think Peff (who I stupidly managed to not Cc in the series, there's
> another git-send-email usability issue there) asked for the third from
> the tip, which lets you run valgrind only on a certain test. (For
> example, if you've already had two coffees while your computer found out
> which test it was, this is a much faster way of seeing if the failure
> disappeared.)
Like Junio, I find the tip one a bit gross, and I do not expect to ever
use it myself. If I want to run more than one test, I am much more
likely to be running the whole suite, which already parallelizes nicely.
The "run one test under valgrind" may be used when double-checking a
failed test, as you mention. But the use case I had in mind was actually
more like:
1. Notice a heisenbug/segfault.
2. Write a new test for it, that logically goes into tXXXX. It may
become tXXXX.85.
3. Run tXXXX.85 under valgrind to confirm the bug.
4. Fix, and re-run tXXXX.85 to confirm the fix.
This is the same procedure for a non-valgrind bugfix, and usually it is
not too big a deal to run all of tests 1-84, because it only wastes a
few seconds (and you need to run them anyway to create the proper
state). But under valgrind, running 1-84 may take minutes. With your
patches, it is no more painful than the non-valgrind case.
I just posted some feedback as a reply to the series itself, but
certainly I think the first four in the series (with that feedback
addressed) would be great to have. The top two I do not care about, but
I also do not mind if they are there for people to play with.
> So one obvious way of going forward is cooking this for a while and
> seeing whether people find the one-test-only or the massively-parallel
> feature useful (or maybe both).
One of the annoying things about test improvements is that you often
want them while working on something else. In the scenario above, it
does not help me when building a fix on "master" that the feature is
cooking in "next" or on a topic branch. But since the feature should not
hurt anybody who does not use it, and it involves no change to actual
git code, only test scripts, I would be inclined to move it fairly
quickly to master, and let it prove its worth there. We can always
improve it or revert it as a failed experiment later if we wish, without
worrying about compatibility issues.
The only downside would be the potential for textual conflicts with
other people improving the test scripts.
-Peff
next prev parent reply other threads:[~2013-05-29 5:19 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-21 0:15 What's cooking in git.git (May 2013, #05; Mon, 20) Junio C Hamano
2013-05-21 0:22 ` Felipe Contreras
2013-05-21 1:16 ` Johan Herland
2013-05-21 15:35 ` Junio C Hamano
2013-05-22 7:49 ` Johan Herland
2013-07-01 21:56 ` Junio C Hamano
2013-07-02 13:02 ` Johan Herland
2013-05-21 7:19 ` Thomas Rast
2013-05-21 15:36 ` Junio C Hamano
2013-05-29 5:19 ` Jeff King [this message]
2013-05-21 11:47 ` activate color.ui by default (Re: What's cooking in git.git (May 2013, #05; Mon, 20)) Matthieu Moy
2013-05-21 15:52 ` Junio C Hamano
2013-05-22 7:30 ` What's cooking in git.git (May 2013, #05; Mon, 20) Michael J Gruber
2013-05-22 7:36 ` Michael J Gruber
2013-05-22 16:36 ` Junio C Hamano
2013-05-23 10:07 ` Michael J Gruber
2013-05-23 14:40 ` Junio C Hamano
2013-05-23 15:31 ` Michael J Gruber
2013-05-23 17:37 ` Junio C Hamano
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=20130529051924.GD31762@sigill.intra.peff.net \
--to=peff@peff.net \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=trast@inf.ethz.ch \
/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.
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).