[PATCH v2 0/7] Detailed test coverage reports for Git

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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(-)

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]