summaryrefslogtreecommitdiffstats
path: root/extras/lcov/README.rst
diff options
context:
space:
mode:
authorNathan Skrzypczak <nathan.skrzypczak@gmail.com>2021-10-08 14:05:58 +0200
committerDave Wallace <dwallacelf@gmail.com>2021-10-13 15:32:22 +0000
commita2c9509a4ab22380937a2b613fcc518da22f5166 (patch)
tree93e0629de82c99ca4b1f9802083cf9362f1dc325 /extras/lcov/README.rst
parent8acc5ee9079d0b03229a72e72a5308e7de0a359a (diff)
docs: convert extras doc md->rst
Type: improvement Change-Id: Ie3b25a86b99098d2b3a21a11fc73234c8ed589d6 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Diffstat (limited to 'extras/lcov/README.rst')
-rw-r--r--extras/lcov/README.rst48
1 files changed, 48 insertions, 0 deletions
diff --git a/extras/lcov/README.rst b/extras/lcov/README.rst
new file mode 100644
index 00000000000..3dab9510215
--- /dev/null
+++ b/extras/lcov/README.rst
@@ -0,0 +1,48 @@
+.. _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