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.
You’ll 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