[PATCH v2] Add coverage target
Mark Wielaard
mark@klomp.org
Tue Jan 12 11:48:17 GMT 2021
On Tue, 2021-01-12 at 07:29 +0300, Dmitry V. Levin wrote:
> Implement a target for capturing code coverage using lcov.
> It is available when elfutils is configured using --enable-gcov.
Very nice.
> +$(COVERAGE_OUTPUT_INDEX_HTML): $(COVERAGE_OUTPUT_FILE)
> + LC_ALL=C $(GENHTML) \
> + --legend \
> + --show-details \
> + --rc=genhtml_branch_coverage=1 \
> + --title='$(COVERAGE_TITLE)' \
> + --prefix='$(abspath $(abs_srcdir))' \
> + --prefix='$(abspath $(abs_builddir)/..)' \
> + --output-directory='$(COVERAGE_OUTPUT_DIRECTORY)' \
> + $<
Now that it is a top-level target the buildir /.. can be removed.
Also depending on how I build there seems to be a combination of
absolute and real paths in the coverage files (I have symlinks in my
src and build dirs to make them go on separate disks). So I am using
both:
diff --git a/Makefile.am b/Makefile.am
index 30f763a9..69edcb02 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -79,8 +79,10 @@ $(COVERAGE_OUTPUT_INDEX_HTML):
$(COVERAGE_OUTPUT_FILE)
--show-details \
--rc=genhtml_branch_coverage=1 \
--title='$(COVERAGE_TITLE)' \
+ --prefix='$(realpath $(abs_srcdir))' \
--prefix='$(abspath $(abs_srcdir))' \
- --prefix='$(abspath $(abs_builddir)/..)' \
+ --prefix='$(realpath $(abs_builddir))' \
+ --prefix='$(abspath $(abs_builddir))' \
--output-directory='$(COVERAGE_OUTPUT_DIRECTORY)' \
$<
Make that makes sense? Either way feel free to push this.
Thanks,
Mark
More information about the Elfutils-devel
mailing list