diff options
author | Paul Fagerburg <pfagerburg@google.com> | 2021-03-10 14:37:48 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-03-18 21:38:58 +0000 |
commit | de8f335e0a4da636fce2ec54099212c5f1689aa7 (patch) | |
tree | da1ee19a807af94c4fda4251e1a0129e758383c4 /Makefile.rules | |
parent | d7fbb48e0334957aae229d826e9df832ef3b69f8 (diff) | |
download | chrome-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.rules | 2 |
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) |