From: Thomas Rast <trast@inf.ethz.ch>
To: Jens Lehmann <Jens.Lehmann@web.de>
Cc: <git@vger.kernel.org>, Jeff King <peff@peff.net>
Subject: Re: [PATCH 0/4] Coverage support revisited
Date: Tue, 14 May 2013 11:14:44 +0200 [thread overview]
Message-ID: <87k3n16hyz.fsf@linux-k42r.v.cablecom.net> (raw)
In-Reply-To: <51916A2B.3060001@web.de> (Jens Lehmann's message of "Tue, 14 May 2013 00:33:15 +0200")
Jens Lehmann <Jens.Lehmann@web.de> writes:
> Am 13.05.2013 23:27, schrieb Thomas Rast:
>> Jens asked me at git-merge if coverage support was still available.
>> Turns out it is, but there were some weirdnesses. So this should fix
>> them. It is reaaaally slow as you still have to run the tests one by
>> one; despite claims in the wild that it is multiprocess- safe but
>> thread-unsafe, I am in fact observing the opposite behavior pretty
>> clearly. (As before, it switches to sequential tests automatically,
>> so you have to edit the Makefile if you want to try with parallel
>> tests.)
>
> Thx! That might explain why the coverage run I tried today didn't
> work (I saw bogus test failures).
Indeed it does. I should have mentioned it in the cover letter; it's
fixed by this series but if you set DEFAULT_TEST_TARGET=prove like
everyone else, it ignored the (existing) force-to-sequential rule.
>> unpack-trees.c: verify_clean_submodule
>
> This is the one I was after. While discussing my recursive update
> code with Peff on Saturday we wondered if that function would ever
> be called. I'll check if the tests are missing some relevant cases,
> if that function can be removed or some refactoring is necessary.
>
> Hmm, while function coverage is already extremely useful me thinks
> lcov support would be really nice. We'd have line and branch coverage,
> which help me a lot in finding dead code and missing tests at $DAYJOB
> ... will look into that when I have the recursive update ready.
Actually if you run it, it generates submodule.c.gcov as an intermediate
step to the uncovered-functions list. Of course you can also use any
other tool that can read gcov; the results are cleaned before the run,
not after, so they will remain in place.
Originally I hacked together an uncovered-functions list because that
list was so long that looking at things in even more detail seemed
extremely pointless.
--
Thomas Rast
trast@{inf,student}.ethz.ch
prev parent reply other threads:[~2013-05-14 9:14 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-13 21:27 [PATCH 0/4] Coverage support revisited Thomas Rast
2013-05-13 21:27 ` [PATCH 1/4] coverage: split build target into compile and test Thomas Rast
2013-05-13 21:27 ` [PATCH 2/4] coverage: do not delete .gcno files before building Thomas Rast
2013-05-13 21:27 ` [PATCH 3/4] coverage: set DEFAULT_TEST_TARGET to avoid using prove Thomas Rast
2013-05-13 21:27 ` [PATCH 4/4] coverage: build coverage-untested-functions by default Thomas Rast
2013-05-13 22:14 ` [PATCH 0/4] Coverage support revisited Junio C Hamano
2013-05-13 22:33 ` Jens Lehmann
2013-05-14 9:14 ` Thomas Rast [this message]
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=87k3n16hyz.fsf@linux-k42r.v.cablecom.net \
--to=trast@inf.ethz.ch \
--cc=Jens.Lehmann@web.de \
--cc=git@vger.kernel.org \
--cc=peff@peff.net \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.