build-system: add coverage-report target
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.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
parent
990e6a2754
commit
fe8bf5f629
13
Makefile
13
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.txt docs/interop/qemu-qmp-ref.7: \
|
||||||
docs/interop/qemu-qmp-ref.texi docs/interop/qemu-qmp-qapi.texi
|
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
|
ifdef CONFIG_WIN32
|
||||||
|
|
||||||
@ -1095,6 +1105,9 @@ endif
|
|||||||
@echo 'Documentation targets:'
|
@echo 'Documentation targets:'
|
||||||
@echo ' html info pdf txt'
|
@echo ' html info pdf txt'
|
||||||
@echo ' - Build documentation in specified format'
|
@echo ' - Build documentation in specified format'
|
||||||
|
ifdef CONFIG_GCOV
|
||||||
|
@echo ' coverage-report - Create code coverage report'
|
||||||
|
endif
|
||||||
@echo ''
|
@echo ''
|
||||||
ifdef CONFIG_WIN32
|
ifdef CONFIG_WIN32
|
||||||
@echo 'Windows targets:'
|
@echo 'Windows targets:'
|
||||||
|
@ -166,9 +166,14 @@ If you want to gather coverage information on a single test the ``make
|
|||||||
clean-coverage`` target can be used to delete any existing coverage
|
clean-coverage`` target can be used to delete any existing coverage
|
||||||
information before running a single test.
|
information before running a single test.
|
||||||
|
|
||||||
Reports can be obtained by running ``gcov`` command
|
You can generate a HTML coverage report by executing ``make
|
||||||
on the output files under ``$build_dir/tests/``, please read the
|
coverage-report`` which will create
|
||||||
``gcov`` documentation for more information.
|
./reports/coverage/coverage-report.html. If you want to create it
|
||||||
|
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.
|
||||||
|
|
||||||
QEMU iotests
|
QEMU iotests
|
||||||
============
|
============
|
||||||
|
Loading…
Reference in New Issue
Block a user