vpp/extras/lcov/README.rst
Nathan Skrzypczak a2c9509a4a docs: convert extras doc md->rst
Type: improvement

Change-Id: Ie3b25a86b99098d2b3a21a11fc73234c8ed589d6
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2021-10-13 15:32:22 +00:00

49 lines
1.3 KiB
ReStructuredText
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.. _lcov_code_coverage:
Code coverage with lcov
=======================
Prerequisites
-------------
The Linux gcov and lcov tools are fussy about gcc / g++ compiler
versions. As of this writing, Ubuntu 18.04 gcov / lcov work with these
toolchain versions:
$ gcc version gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0 $ g++ version
g++ (Ubuntu 8.3.0-6ubuntu1~18.04.1) 8.3.0
Refer to
https://askubuntu.com/questions/26498/how-to-choose-the-default-gcc-and-g-version
for information on how to install multiple gcc / g++ versions, and
switch between them.
Youll need to install the following additional packages:
$ sudo apt-get install gcovr ggcov lcov
Compile an instrumented vpp image
---------------------------------
Two ways:
$ cd $ make test-gcov $ ## interrupt compilation after building the
image
or $ cd /build-root $ make PLATFORM=vpp TAG=vpp_gcov vpp-install
Initialize the lcov database
----------------------------
$ cd $ ./extras/lcov/lcov_prep $ make test-gcov or make TEST=my_test
test-gcov $ # repeat or vary as desired to increase reported coverage $
# Generate the report: $ ./extras/lcov/lcov_post
You can run vpp manually, do anything you like. Results are cumulative
until you re-run the “prep” script.
Look at the results
-------------------
Point a browser at file:////build-root/html/index.html