Hi Alex, On 07/02/2018 11:30 AM, Alex Bennée wrote: > 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.ben...@linaro.org> > Reviewed-by: Daniel P. Berrangé <berra...@redhat.com> > --- > > v2 > - s/to any/to delete any/ > --- > Makefile | 11 +++++++++++ > docs/devel/testing.rst | 11 ++++++++--- > 2 files changed, 19 insertions(+), 3 deletions(-) > > diff --git a/Makefile b/Makefile > index 7ed9cc4a21..2b3413a5ba 100644 > --- a/Makefile > +++ b/Makefile > @@ -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")
Would "find $(BUILD_DIR) ..." be safer? Regardless: Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org> Tested-by: Philippe Mathieu-Daudé <f4...@amsat.org> > +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 '' > diff --git a/docs/devel/testing.rst b/docs/devel/testing.rst > index 66ef219f69..7f04ca104e 100644 > --- a/docs/devel/testing.rst > +++ b/docs/devel/testing.rst > @@ -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 > ============ >