Commit 990e6a27 authored by Alex Bennée's avatar Alex Bennée
Browse files

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: default avatarAlex Bennée <alex.bennee@linaro.org>
Reviewed-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
Reviewed-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org&gt;--->
parent 0708e647
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -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  ''
+8 −3
Original line number Diff line number Diff line
@@ -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
============