On Mon, Jun 25, 2018 at 12:19:33PM +0100, Alex Bennée wrote: > This will build a coverage report under the current directory in > reports/coverage. At the users option a report can be generated by > directly invoking something like: > > make foo/bar/coverage-report.html > > Signed-off-by: Alex Bennée <alex.ben...@linaro.org> > Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org> > Tested-by: Philippe Mathieu-Daudé <f4...@amsat.org> > --- > Makefile | 13 +++++++++++++ > docs/devel/testing.rst | 11 ++++++++--- > 2 files changed, 21 insertions(+), 3 deletions(-) > > diff --git a/Makefile b/Makefile > index 2b3413a5ba..68af7b5d7c 100644 > --- a/Makefile > +++ b/Makefile > @@ -986,6 +986,16 @@ docs/interop/qemu-qmp-ref.dvi > docs/interop/qemu-qmp-ref.html \ > docs/interop/qemu-qmp-ref.txt docs/interop/qemu-qmp-ref.7: \ > docs/interop/qemu-qmp-ref.texi docs/interop/qemu-qmp-qapi.texi > > +# Reports/Analysis > + > +%/coverage-report.html: > + @mkdir -p $* > + $(call quiet-command,\ > + gcovr -p --html --html-details -o $@, \ > + "GEN", "coverage-report.html") > + > +.PHONY: coverage-report > +coverage-report: $(CURDIR)/reports/coverage/coverage-report.html > > ifdef CONFIG_WIN32 > > @@ -1095,6 +1105,9 @@ endif > @echo 'Documentation targets:' > @echo ' html info pdf txt' > @echo ' - Build documentation in specified format' > +ifdef CONFIG_GCOV > + @echo ' coverage-report - Create code coverage report' > +endif > @echo '' > ifdef CONFIG_WIN32 > @echo 'Windows targets:' > diff --git a/docs/devel/testing.rst b/docs/devel/testing.rst > index a3652aea14..9dcdd19260 100644 > --- a/docs/devel/testing.rst > +++ b/docs/devel/testing.rst > @@ -166,9 +166,14 @@ If you want to gather coverage information on a single > test the ``make > clean-coverage`` target can be used to any existing coverage > information before running a single test. > > -Reports can be obtained by running ``gcov`` command > -on the output files under ``$build_dir/tests/``, please read the > -``gcov`` documentation for more information. > +You can generate a HTML coverage report by executing ``make > +coverage-report`` which will generate into
I think it reads slightly better with s/generate into/create/ > +./reports/coverage/coverage-report.html. If you want to generate it s/generate/create/ > +elsewhere simply execute ``make /foo/bar/baz/coverage-report.html``. > + > +Further analysis can be conducted by running the ``gcov`` command > +directly on the various .gcda output files. Please read the ``gcov`` > +documentation for more information. Reviewed-by: Daniel P. Berrangé <berra...@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|