tests docs: fix lcov code coverage report generation
- Updated/rebased version of https://gerrit.fd.io/r/c/vpp/+/34199 Type: test Change-Id: I43913ecfd11a4578bdb10c4be76253fe38d57976 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com> Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
This commit is contained in:

committed by
Andrew Yourtchenko

parent
fdf6fbe2e7
commit
1c95e12b0d
45
docs/developer/build-run-debug/code_coverage.rst
Normal file
45
docs/developer/build-run-debug/code_coverage.rst
Normal file
@ -0,0 +1,45 @@
|
||||
.. _lcov_code_coverage:
|
||||
|
||||
Code coverage with lcov
|
||||
=======================
|
||||
|
||||
Prerequisites
|
||||
-------------
|
||||
|
||||
Ensure required packages are installed:
|
||||
|
||||
::
|
||||
|
||||
$ make install-deps
|
||||
|
||||
The Linux gcov and lcov tools can be fussy about gcc / g++ compiler
|
||||
versions. As of this writing, Ubuntu 22.04 gcov / lcov works with
|
||||
the latest gcc version (``11.3.0``).
|
||||
|
||||
Generate coverage for a test case
|
||||
---------------------------------
|
||||
|
||||
As a first run, in order to generate the coverage report of
|
||||
a specific plugin or test, run for example
|
||||
|
||||
::
|
||||
|
||||
$ make test-cov TEST=fib
|
||||
|
||||
Then open the file ``.build-root/test-coverage/html/index.html`` in a Chrome browser.
|
||||
|
||||
Improving test coverage
|
||||
-----------------------
|
||||
|
||||
When doing modifications on the test cases, you can run
|
||||
|
||||
::
|
||||
|
||||
# This will run the test & report the result in the coverage data
|
||||
$ make test-cov-build TEST=fib
|
||||
|
||||
# This will generate the html report with the current coverage data
|
||||
$ make test-cov-post
|
||||
|
||||
# To reset the coverage data use
|
||||
$ make test-cov-prep
|
@ -12,3 +12,4 @@ Build, Run & Debug
|
||||
testing_vpp
|
||||
gdb_examples
|
||||
cross_compile_macos
|
||||
code_coverage
|
||||
|
Reference in New Issue
Block a user