Skip to content

Latest commit

 

History

History
34 lines (22 loc) · 1.15 KB

code_coverage.md

File metadata and controls

34 lines (22 loc) · 1.15 KB

Code Coverage

Provides an overview of how to use code coverage tools when running the unit tests in the EC codebase.

[TOC]

Availability

Code coverage is only available for host-based unit tests, as opposed to manual tests that run on target hardware.

Building for code coverage

To build host-based unit tests for code coverage, invoke make with the coverage target, as follows:

make coverage -j

This target will compile and link the unit tests with --coverage flag (which pulls in the gcov libraries), run the tests, and then process the profiling data into a code coverage report using the lcov and genhtml tools.

The coverage report top-level page is build/coverage/coverage_rpt/index.html.

Noise in the build output

When building for code coverage, you may see multiple warnings of the form geninfo: WARNING: no data found for /mnt/host/source/src/platform/ec/core/host/cpu.h and genhtml: WARNING: function data mismatch at /mnt/host/source/src/platform/ec/common/math_util.c:134

These warnings can be ignored. (FYI, the "function data mismatch" warnings appear to be caused in part by using relative paths instead of absolute paths.)