bug-gnulib
[Top][All Lists]
Advanced

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

Generating code coverage reports


From: Simon Josefsson
Subject: Generating code coverage reports
Date: Tue, 28 Oct 2008 11:19:33 +0100
User-agent: Gnus/5.110011 (No Gnus v0.11) Emacs/22.2 (gnu/linux)

FYI,

I was inspired by gnupdf's code coverage reports:

http://www.gnupdf.org/prmgt/coverage/

So I looked into how to integrate a script to generate them for some of
my projects.  I couldn't think of how to implement this as a gnulib
module, but I wrote rules for maintainer-makefile's 'cfg.mk'.

Example outputs:

http://www.gnu.org/software/libidn/coverage/
http://www.gnu.org/software/gsasl/coverage/
http://www.gnu.org/software/gnutls/coverage/

The rules I use are below.  After adding them, type 'make coverage' to
generate coverage reports into doc/coverage/.

It would be useful to generate similar reports for gnulib itself...

/Simon

# Code Coverage

init-coverage:
        make clean
        lcov --directory . --zerocounters

COVERAGE_OPTS="-g -fprofile-arcs -ftest-coverage"

build-coverage:
        make CFLAGS=$(COVERAGE_OPTS) CXXFLAGS=$(COVERAGE_OPTS) VALGRIND=
        make CFLAGS=$(COVERAGE_OPTS) CXXFLAGS=$(COVERAGE_OPTS) VALGRIND= check
        mkdir -p doc/coverage
        lcov --directory . --output-file doc/coverage/$(PACKAGE).info --capture

gen-coverage:
        genhtml --output-directory doc/coverage doc/coverage/$(PACKAGE).info \
                --highlight --frames --legend --title "$(PACKAGE_NAME)"

coverage: init-coverage build-coverage gen-coverage

web-coverage:
        rm -fv `find $(htmldir)/coverage -type f | grep -v CVS`
        cp -rv doc/coverage/* $(htmldir)/coverage/

upload-web-coverage:
        cd $(htmldir) && \
                cvs commit -m "Update." coverage




reply via email to

[Prev in Thread] Current Thread [Next in Thread]