提交 990e6a27 编写于 作者: A Alex Bennée

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: NAlex Bennée <alex.bennee@linaro.org>
Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
Reviewed-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>---
上级 0708e647
...@@ -723,6 +723,14 @@ module_block.h: $(SRC_PATH)/scripts/modules/module_block.py config-host.mak ...@@ -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))), \ $(addprefix $(SRC_PATH)/,$(patsubst %.mo,%.c,$(block-obj-m))), \
"GEN","$@") "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: clean:
# avoid old build problems by removing potentially incorrect old files # 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 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 ...@@ -1073,6 +1081,9 @@ endif
echo '') echo '')
@echo 'Cleaning targets:' @echo 'Cleaning targets:'
@echo ' clean - Remove most generated files but keep the config' @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 ' distclean - Remove all generated files'
@echo ' dist - Build a distributable tarball' @echo ' dist - Build a distributable tarball'
@echo '' @echo ''
......
...@@ -161,9 +161,14 @@ GCC gcov support ...@@ -161,9 +161,14 @@ GCC gcov support
``gcov`` is a GCC tool to analyze the testing coverage by ``gcov`` is a GCC tool to analyze the testing coverage by
instrumenting the tested code. To use it, configure QEMU with instrumenting the tested code. To use it, configure QEMU with
``--enable-gcov`` option and build. Then run ``make check`` as usual. ``--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`` If you want to gather coverage information on a single test the ``make
documentation for more information. 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 QEMU iotests
============ ============
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册