summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Bettis <jbettis@google.com>2022-01-10 13:07:47 -0700
committerCommit Bot <commit-bot@chromium.org>2022-01-14 16:47:46 +0000
commit0e0865f84590297ffb26a260fb29127476dcac29 (patch)
treeb97eab2139ab571c3c5f6b77c6993bf74199d94f
parent2dc7d4c8ad0f1a5e831ed7c3863343204aa87d61 (diff)
downloadchrome-ec-0e0865f84590297ffb26a260fb29127476dcac29.tar.gz
zephyr: Add branch coverage to all lcov cmds
If you don't include --rc lcov_branch_coverage=1 on every lcov command, lcov will drop the branch information at that stage of processing. Add --rc lcov_branch_coverage=1 to all lcov commands. BRANCH=None BUG=None TEST=None Change-Id: I3fd2a036f9f2fcfaeec60bdc55cfcba28e6c8228 Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3381536 Tested-by: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Aaron Massey <aaronmassey@google.com> Commit-Queue: Aaron Massey <aaronmassey@google.com>
-rw-r--r--.gitlab-ci.yml20
-rw-r--r--Makefile.rules7
-rw-r--r--zephyr/test/drivers/README.md8
3 files changed, 17 insertions, 18 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 845c7bd654..94711e24f4 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -100,25 +100,25 @@ seed_cache:
--modules-dir "${MODULES_DIR}" -l DEBUG configure -b --coverage
-B "${BUILD_DIR}/${PROJECT}" -t ${TOOLCHAIN:-zephyr}
"${PROJECT}"
- - lcov -o "${BUILD_DIR}/${PROJECT}/merged_twister.info" -a "${BUILD_DIR}/${PROJECT}/lcov.info" -a "${BUILD_DIR}/zephyr_codecov/fixed.info"
- - lcov -o "${BUILD_DIR}/${PROJECT}/merged_twister_no_ec.info" -e "${BUILD_DIR}/${PROJECT}/merged_twister.info" "${ZEPHYR_BASE}/**" "${MODULES_DIR}/**"
+ - lcov --rc lcov_branch_coverage=1 -o "${BUILD_DIR}/${PROJECT}/merged_twister.info" -a "${BUILD_DIR}/${PROJECT}/lcov.info" -a "${BUILD_DIR}/zephyr_codecov/fixed.info"
+ - lcov --rc lcov_branch_coverage=1 -o "${BUILD_DIR}/${PROJECT}/merged_twister_no_ec.info" -e "${BUILD_DIR}/${PROJECT}/merged_twister.info" "${ZEPHYR_BASE}/**" "${MODULES_DIR}/**"
- grep "SF:" "${BUILD_DIR}/${PROJECT}/lcov.info" | sort -u |
- sed -e 's|^SF:||' | xargs lcov
+ sed -e 's|^SF:||' | xargs lcov --rc lcov_branch_coverage=1
-o "${BUILD_DIR}/${PROJECT}/filtered_twister.info"
-e "${BUILD_DIR}/${PROJECT}/merged_twister_no_ec.info"
- /usr/bin/genhtml -q -o "${BUILD_DIR}/${PROJECT}/filtered_twister_rpt"
-t "${PROJECT} coverage of twister tests"
-s "${BUILD_DIR}/${PROJECT}/filtered_twister.info"
- - lcov -o "${BUILD_DIR}/${PROJECT}/merged.info"
+ - lcov --rc lcov_branch_coverage=1 -o "${BUILD_DIR}/${PROJECT}/merged.info"
-a "${BUILD_DIR}/${PROJECT}/lcov.info" -a build/merged.info
- - lcov -o "${BUILD_DIR}/${PROJECT}/no_zephyr.info"
+ - lcov --rc lcov_branch_coverage=1 -o "${BUILD_DIR}/${PROJECT}/no_zephyr.info"
-r "${BUILD_DIR}/${PROJECT}/lcov.info" "${ZEPHYR_BASE}/**"
"${MODULES_DIR}/*" "${EC_DIR}/zephyr/drivers/*" '/usr/include/x86_64-linux-gnu/*'
- - lcov -o "${BUILD_DIR}/${PROJECT}/merged_no_zephyr.info"
+ - lcov --rc lcov_branch_coverage=1 -o "${BUILD_DIR}/${PROJECT}/merged_no_zephyr.info"
-r "${BUILD_DIR}/${PROJECT}/merged.info" "${ZEPHYR_BASE}/**"
"${MODULES_DIR}/*" "${EC_DIR}/zephyr/drivers/*" '/usr/include/x86_64-linux-gnu/*'
- grep "SF:" "${BUILD_DIR}/${PROJECT}/no_zephyr.info" | sort -u |
- sed -e 's|^SF:||' | xargs lcov
+ sed -e 's|^SF:||' | xargs lcov --rc lcov_branch_coverage=1
-o "${BUILD_DIR}/${PROJECT}/filtered_no_zephyr.info"
-e "${BUILD_DIR}/${PROJECT}/merged_no_zephyr.info"
- /usr/bin/genhtml -q -o "${BUILD_DIR}/${PROJECT}/filtered_no_zephyr_rpt"
@@ -242,8 +242,8 @@ merged_coverage:
stage: test
needs: ["ec_coverage", "zephyr_coverage"]
script:
- - lcov -o build/merged.info -a build/coverage/lcov.info -a build/zcoverage/lcov.info
- - lcov -o build/merged_no_zephyr.info -r build/merged.info
+ - lcov --rc lcov_branch_coverage=1 -o build/merged.info -a build/coverage/lcov.info -a build/zcoverage/lcov.info
+ - lcov --rc lcov_branch_coverage=1 -o build/merged_no_zephyr.info -r build/merged.info
"${ZEPHYR_BASE}/**" "${MODULES_DIR}/**"
"${EC_DIR}/zephyr/drivers/**" "${EC_DIR}/zephyr/include/drivers/**"
"${EC_DIR}/zephyr/shim/chip/**" "${EC_DIR}/zephyr/shim/core/**"
@@ -283,7 +283,7 @@ twister_coverage:
break ;
fi ;
done
- - lcov --summary build/zephyr_codecov/fixed.info
+ - lcov --rc lcov_branch_coverage=1 --summary build/zephyr_codecov/fixed.info
artifacts:
paths:
- build/zephyr_codecov/fixed.info
diff --git a/Makefile.rules b/Makefile.rules
index bf621f0191..1002bb6ff8 100644
--- a/Makefile.rules
+++ b/Makefile.rules
@@ -409,13 +409,14 @@ cov-test-targets=$(foreach t,$(cov-test-list-host),build/coverage/$(t).info)
cov-initial-targets=$(foreach t,$(cov-boards),build/coverage/initial-$(t).info)
bldversion=$(shell (./util/getversion.sh ; echo VERSION) | $(CPP) -P -)
-cmd_lcov=lcov --gcov-tool \
+cmd_lcov=lcov --rc lcov_branch_coverage=1 --gcov-tool \
$(HOSTGCOV) -q -o $@ -c -d build/coverage/$* -t $* \
--exclude '*/ec/test/*' --exclude '*/ec/include/tests/*'
-cmd_lcov-initial=lcov --gcov-tool \
+cmd_lcov-initial=lcov --rc lcov_branch_coverage=1 --gcov-tool \
$(GCOV) -q -o $@ -c -d build/coverage/initial-$* \
-i -t $* --exclude '*/ec/test/*' --exclude '*/ec/include/tests/*'
-cmd_merge_cov=lcov -o build/coverage/lcov.info $(foreach info,$^,-a ${info})
+cmd_merge_cov=lcov --rc lcov_branch_coverage=1 -o build/coverage/lcov.info \
+ $(foreach info,$^,-a ${info})
cmd_report_cov=genhtml -q -o build/coverage/coverage_rpt -t \
"EC Unittest "$(bldversion) -s $^
cmd_strip_lcov=sed -i build/coverage/lcov.info \
diff --git a/zephyr/test/drivers/README.md b/zephyr/test/drivers/README.md
index 1d264a4f67..bab73cebd8 100644
--- a/zephyr/test/drivers/README.md
+++ b/zephyr/test/drivers/README.md
@@ -20,13 +20,11 @@ To calculate code coverage for this test only
```bash
(chroot) zmake configure --coverage --test zephyr/test/drivers
-(chroot) lcov --gcov-tool ~/trunk/src/platform/ec/util/llvm-gcov.sh -q \
- -o build/zephyr/test/drivers/lcov.info -c -d build/zephyr/test/drivers
-(chroot) genhtml -q -o build/zephyr/test/drivers/coverage_rpt \
- build/zephyr/test/drivers/lcov.info
+(chroot) genhtml -q -o build/zephyr/test-drivers/output/coverage_rpt \
+ build/zephyr/test-drivers/output/zephyr.info
```
-The report will be in build/zephyr/test/drivers/coverage_rpt/index.html
+The report will be in build/zephyr/test-drivers/output/coverage_rpt/index.html
## Debugging