DBus has an extensive test suite, but just how extensive is it, and
are there any bits which could be improved? The
can help answer these questions.
Using gcov is pretty straightford - compile and link with
-fprofile-arcs -ftest-coverage GCC flags. Then run the
test suite / application, and upon exit you'll notice a bunch of extra binary
files have appeared with a file extension
tool will read the .o files, the .gcda files and original .c source files and
produce source code annotated to show execution coverage.
Unfortunately reading the annotated files is rather slow & tedious, with no provision made to ease visualization of coverage across an entire library or application. Fortunately with a little Perl code, one can easily generate HTML reports giving a clear visualization of results. To see an example of what can be produced here are the reports run against DBus CVS tip of May 9th, 2006:
If people want to generate similar reports for other applications, here are the links to the handful of scripts used to generate the reports:
Last updated on Tuesday, May 9th, 2006