1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-07-01 14:11:15 +02:00

tests: Add llvm-cov option and run target for code coverage

Code coverage can be requested with -Dllvm_cov and run with ninja
llvm-cov-tests or llvm-cov-cli.

BUG=b:187647884
BRANCH=None
TEST=meson test; ninja llvm-cov-tests
TEST=ran test_build.sh with coverage enabled
TEST=jenkins ran test_build.sh with coverage disabled

Change-Id: Id6c73bff46e7b88d425956a80def97082b201f56
Signed-off-by: Evan Benn <evanbenn@chromium.org>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/69268
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Anastasia Klimchuk <aklm@chromium.org>
This commit is contained in:
Evan Benn
2022-11-07 14:50:35 +11:00
committed by Anastasia Klimchuk
parent 80408ceafc
commit 048aab6d66
5 changed files with 27 additions and 9 deletions

View File

@ -63,12 +63,9 @@ ninja -C buildcov coverage
#### llvm
https://clang.llvm.org/docs/SourceBasedCodeCoverage.html
```
env CFLAGS="-fprofile-instr-generate -fcoverage-mapping" CC=clang meson setup buildclangcov
env LLVM_PROFILE_FILE=default.profraw ninja -C buildclangcov test
cd buildclangcov
llvm-profdata merge -sparse default.profraw -o default.profdata
llvm-cov show ./flashrom_unit_tests -instr-profile=default.profdata --format=html --output-dir=.
open index.html
env CC=clang meson setup buildclangcov -Dllvm_cov=enabled
ninja -C buildclangcov test
ninja -C buildclangcov llvm-cov-tests
```
## System specific information