summaryrefslogtreecommitdiff
path: root/t/t4002-diff-basic.sh
diff options
context:
space:
mode:
authorThomas Rast <trast@student.ethz.ch>2009-02-19 12:13:35 +0100
committerJunio C Hamano <gitster@pobox.com>2009-02-20 00:01:57 -0800
commit901c369af52ffcc8c08457fb5b330eab217a9cfb (patch)
treefccd010cd60643028e82e442d5ab93fd204e3a4b /t/t4002-diff-basic.sh
parent1b7e543a6e2f156536a3cf227f9da1029bba6265 (diff)
downloadgit-901c369af52ffcc8c08457fb5b330eab217a9cfb.tar.gz
Support coverage testing with GCC/gcov
With gcc's --coverage option, we can perform automatic coverage data collection for the test suite. Add a new Makefile target 'coverage' that scraps all previous coverage results, recompiles git with the required compiler/linker flags (in addition to any flags you specify manually), then runs the test suite and compiles a report. The compilation must be done with all optimizations disabled, since inlined functions (and for line-by-line coverage, also optimized branches/loops) break coverage tracking. The tests are run serially (with -j1). The coverage code should theoretically allow concurrent access to its data files, but the author saw random test failures. Obviously this could be improved. The report currently consists of a list of functions that were never executed during the tests, which is written to 'coverage-untested-functions'. Once this list becomes reasonably short, we would also want to look at branches that were never taken. Currently only toplevel *.c files are considered. It would be nice to at least include xdiff, but --coverage did not save data to subdirectories on the system used to write this (gcc 4.3.2). Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t4002-diff-basic.sh')
0 files changed, 0 insertions, 0 deletions