git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: git@vger.kernel.org
Cc: "Junio C Hamano" <gitster@pobox.com>,
	"Thomas Rast" <trast@student.ethz.ch>,
	"Jonathan Nieder" <jrnieder@gmail.com>,
	"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Subject: [PATCH v2 0/7] Detailed test coverage reports for Git
Date: Sun, 25 Jul 2010 14:40:54 +0000	[thread overview]
Message-ID: <1280068861-17701-1-git-send-email-avarab@gmail.com> (raw)

This is v2 of the test coverage series. It addresses all the points
that were raised for v1. Here's the diffstat against v1:
    
     .gitignore |   15 +++------------
     Makefile   |   19 +++++++++----------
     t/README   |   21 ++++++++++++++++-----
     3 files changed, 28 insertions(+), 27 deletions(-)

And the diff since v2:
    
    diff --git a/.gitignore b/.gitignore
    index e02f1f9..baed247 100644
    --- a/.gitignore
    +++ b/.gitignore
    @@ -207,12 +207,3 @@
    -/*.gcda
    -/*.gcno
    -/*.gcov
    -/builtin/*.gcda
    -/builtin/*.gcno
    -/builtin/*.gcov
    -/xdiff/*.gcda
    -/xdiff/*.gcno
    -/xdiff/*.gcov
    -/compat/*.gcda
    -/compat/*.gcno
    -/compat/*.gcov
    +*.gcda
    +*.gcno
    +*.gcov
    diff --git a/Makefile b/Makefile
    index c35c348..b6975aa 100644
    --- a/Makefile
    +++ b/Makefile
    @@ -2282,0 +2283 @@ coverage:
    +object_dirs := $(sort $(dir $(OBJECTS)))
    @@ -2284,4 +2285,3 @@ coverage-clean:
    -	$(RM) *.gcov *.gcda *.gcno
    -	$(RM) builtin/*.gcov
    -	$(RM) builtin/*.gcda
    -	$(RM) builtin/*.gcno
    +	$(RM) $(addsuffix *.gcov,$(object_dirs))
    +	$(RM) $(addsuffix *.gcda,$(object_dirs))
    +	$(RM) $(addsuffix *.gcno,$(object_dirs))
    @@ -2298,4 +2298,3 @@ coverage-report:
    -	gcov -b *.c
    -	gcov -b -o builtin builtin/*.c
    -	gcov -b -o xdiff xdiff/*.c
    -	gcov -b -o compat compat/*.c
    +	for dir in $(object_dirs); do \
    +		gcov --preserve-paths --branch-probabilities --all-blocks --object-directory=$$dir $$dir*.c; \
    +	done
    @@ -2303 +2302 @@ coverage-report:
    -coverage-report-untested-functions:
    +coverage-untested-functions: coverage-report
    @@ -2308 +2307 @@ coverage-report-untested-functions:
    -coverage-report-cover-db:
    +coverage-report-cover-db: coverage-report
    diff --git a/t/README b/t/README
    index 718f35d..400e2da 100644
    --- a/t/README
    +++ b/t/README
    @@ -273,0 +274,9 @@ Do:
    +   Don't blindly follow test coverage metrics, they're a good way to
    +   spot if you've missed something. If a new function you added
    +   doesn't have any coverage you're probably doing something wrong,
    +   but having 100% coverage doesn't necessarily mean that you tested
    +   everything.
    +
    +   Tests that are likely to smoke out future regressions are better
    +   than tests that just inflate the coverage metrics.
    +
    @@ -518,3 +527,5 @@ Test coverage
    -You can use the coverage tests to find out if your tests are really
    -testing your code code. To do that, run the coverage target at the
    -top-level (not in the t/ directory):
    +You can use the coverage tests to find code paths that are not being
    +used or properly exercised yet.
    +
    +To do that, run the coverage target at the top-level (not in the t/
    +directory):
    @@ -532 +543 @@ functions:
    -    make coverage-report-untested-functions
    +    make coverage-untested-functions
    @@ -537 +548 @@ Devel::Cover module. To install it do:
    -   # On Debian:
    +   # On Debian or Ubuntu:
    
I also rewrote some of the commit messages.
    
Ævar Arnfjörð Bjarmason (7):
  gitignore: Ignore files generated by "make coverage"
  Makefile: Include subdirectories in "make cover" reports
  Makefile: Split out the untested functions target
  Makefile: Add coverage-report-cover-db target
  Makefile: Add coverage-report-cover-db-html target
  t/README: A new section about test coverage
  t/README: Add a note about the dangers of coverage chasing

 .gitignore |    6 ++++++
 Makefile   |   17 +++++++++++++++--
 t/README   |   51 +++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 72 insertions(+), 2 deletions(-)

             reply	other threads:[~2010-07-25 14:41 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-25 14:40 Ævar Arnfjörð Bjarmason [this message]
2010-07-25 14:40 ` [PATCH v2 1/7] gitignore: Ignore files generated by "make coverage" Ævar Arnfjörð Bjarmason
2010-07-25 16:37   ` Jonathan Nieder
2010-07-25 14:40 ` [PATCH v2 2/7] Makefile: Include subdirectories in "make cover" reports Ævar Arnfjörð Bjarmason
2010-07-25 17:02   ` Jonathan Nieder
2010-07-25 14:40 ` [PATCH v2 3/7] Makefile: Split out the untested functions target Ævar Arnfjörð Bjarmason
2010-07-25 14:40 ` [PATCH v2 4/7] Makefile: Add coverage-report-cover-db target Ævar Arnfjörð Bjarmason
2010-07-25 17:13   ` Jonathan Nieder
2010-07-25 14:40 ` [PATCH v2 5/7] Makefile: Add coverage-report-cover-db-html target Ævar Arnfjörð Bjarmason
2010-07-25 17:17   ` Jonathan Nieder
2010-07-25 14:41 ` [PATCH v2 6/7] t/README: A new section about test coverage Ævar Arnfjörð Bjarmason
2010-07-25 14:41 ` [PATCH v2 7/7] t/README: Add a note about the dangers of coverage chasing Ævar Arnfjörð Bjarmason
2010-07-25 16:05   ` Jonathan Nieder
2010-07-25 19:27     ` Ævar Arnfjörð Bjarmason
2010-07-25 17:20 ` [PATCH v2 0/7] Detailed test coverage reports for Git Jonathan Nieder
2010-07-25 17:46   ` Ævar Arnfjörð Bjarmason
2010-07-25 17:48     ` Jonathan Nieder

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=1280068861-17701-1-git-send-email-avarab@gmail.com \
    --to=avarab@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jrnieder@gmail.com \
    --cc=trast@student.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).