build-system: add clean-coverage target

This can be used to remove any stale coverage data before any
particular test run. This is useful for analysing individual tests.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>---
This commit is contained in:
Alex Bennée 2018-06-20 12:34:45 +01:00
parent 0708e6476f
commit 990e6a2754
2 changed files with 19 additions and 3 deletions

View File

@ -723,6 +723,14 @@ module_block.h: $(SRC_PATH)/scripts/modules/module_block.py config-host.mak
$(addprefix $(SRC_PATH)/,$(patsubst %.mo,%.c,$(block-obj-m))), \
"GEN","$@")
ifdef CONFIG_GCOV
.PHONY: clean-coverage
clean-coverage:
$(call quiet-command, \
find . \( -name '*.gcda' -o -name '*.gcov' \) -type f -exec rm {} +, \
"CLEAN", "coverage files")
endif
clean:
# avoid old build problems by removing potentially incorrect old files
rm -f config.mak op-i386.h opc-i386.h gen-op-i386.h op-arm.h opc-arm.h gen-op-arm.h
@ -1073,6 +1081,9 @@ endif
echo '')
@echo 'Cleaning targets:'
@echo ' clean - Remove most generated files but keep the config'
ifdef CONFIG_GCOV
@echo ' clean-coverage - Remove coverage files'
endif
@echo ' distclean - Remove all generated files'
@echo ' dist - Build a distributable tarball'
@echo ''

View File

@ -161,9 +161,14 @@ GCC gcov support
``gcov`` is a GCC tool to analyze the testing coverage by
instrumenting the tested code. To use it, configure QEMU with
``--enable-gcov`` option and build. Then run ``make check`` as usual.
Reports can be obtained by running ``gcov`` command on the output
files under ``$build_dir/tests/``, please read the ``gcov``
documentation for more information.
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.
QEMU iotests
============