diff options
author | Jeremy Bettis <jbettis@google.com> | 2022-01-10 13:07:47 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2022-01-14 16:47:46 +0000 |
commit | 0e0865f84590297ffb26a260fb29127476dcac29 (patch) | |
tree | b97eab2139ab571c3c5f6b77c6993bf74199d94f | |
parent | 2dc7d4c8ad0f1a5e831ed7c3863343204aa87d61 (diff) | |
download | chrome-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.yml | 20 | ||||
-rw-r--r-- | Makefile.rules | 7 | ||||
-rw-r--r-- | zephyr/test/drivers/README.md | 8 |
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 |