mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-09-06 09:55:55 +00:00
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.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:'
|
||||
|
|
|
@ -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
|
||||
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 create
|
||||
./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
|
||||
============
|
||||
|
|
Loading…
Reference in a new issue