summaryrefslogtreecommitdiff
path: root/Makefile.rules
diff options
context:
space:
mode:
authorPaul Fagerburg <pfagerburg@google.com>2021-03-10 14:37:48 -0700
committerCommit Bot <commit-bot@chromium.org>2021-03-18 21:38:58 +0000
commitde8f335e0a4da636fce2ec54099212c5f1689aa7 (patch)
treeda1ee19a807af94c4fda4251e1a0129e758383c4 /Makefile.rules
parentd7fbb48e0334957aae229d826e9df832ef3b69f8 (diff)
downloadchrome-ec-de8f335e0a4da636fce2ec54099212c5f1689aa7.tar.gz
firmware_builder: bundle code coverage information
Add a rule to the makefile to merge code coverage into a single LCOV file, which firmware_builder.py will bundle as a build artifact. BUG=b:156895937 BRANCH=None TEST=Verify code coverage builds: ``` make clobber make coverage ls build/coverage/lcov.info ``` Verify firmware_builder tests (generate code coverage) and bundles the code coverage information with the correct metadata: ``` make clobber firmware_builder.py --code-coverage --metrics metrics.json test firmware_builder.py --code-coverage --metrics metrics.json bundle ls /tmp/artifact_bundles/coverage.tbz2 cat /tmp/artifact_bundle_metadata ``` Cq-Depend: chromium:2770601 Signed-off-by: Paul Fagerburg <pfagerburg@chromium.org> Change-Id: I355ea76cc774f566bf552741c1a1bdc94cd21bda Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2749421 Reviewed-by: LaMont Jones <lamontjones@chromium.org>
Diffstat (limited to 'Makefile.rules')
-rw-r--r--Makefile.rules2
1 files changed, 2 insertions, 0 deletions
diff --git a/Makefile.rules b/Makefile.rules
index 4f79e295ca..c30b2cd873 100644
--- a/Makefile.rules
+++ b/Makefile.rules
@@ -394,6 +394,7 @@ bldversion=$(shell (./util/getversion.sh ; echo VERSION) | $(CPP) -P -)
# lcov fails when multiple instances run at the same time.
# We need to run them sequentially by using flock
cmd_lcov=flock /tmp/ec-lcov-lock -c "lcov -q -o $@ -c -d build/coverage/$*"
+cmd_merge_cov=lcov -o build/coverage/lcov.info $(foreach info,$^,-a ${info})
cmd_report_cov=genhtml -q -o build/coverage/coverage_rpt -t \
"EC Unittest "$(bldversion) $^
@@ -437,6 +438,7 @@ build/coverage/%.info: run-coverage-%
.PHONY: coverage
coverage: TEST_FLAG=TEST_COVERAGE=y
coverage: $(cov-test-targets)
+ $(call quiet,merge_cov,MERGE )
$(call quiet,report_cov,REPORT )
$(out)/libec.a: $(ro-objs)