Rename rpm and Debian makefile targets
[ric-plt/sdl.git] / README.md
index 52e6503..4c76fd9 100644 (file)
--- a/README.md
+++ b/README.md
@@ -37,20 +37,31 @@ directory named `shareddatalayer`.
 
 Build-time dependencies:
 
-    boost
+    libboost (system, filesystem, program-options)
     hiredis
+    rpm
+    valgrind
+    autoconf-archive
     doxygen (optional)
 
 Commands to install dependent packages in Fedora:
 
     sudo dnf install boost-devel
     sudo dnf install hiredis-devel
+    sudo dnf install rpm
+    sudo dnf install valgrind
+    sudo dnf install autoconf-archive
     sudo dnf install doxygen
 
 Commands to install dependent packages in Debian/Ubuntu:
 
-    sudo apt install libboost-all-dev
+    sudo apt install libboost-filesystem-dev
+    sudo apt install libboost-program-options-dev
+    sudo apt install libboost-system-dev
     sudo apt install libhiredis-dev
+    sudo apt install rpm
+    sudo apt install valgrind
+    sudo apt install autoconf-archive
     sudo apt install doxygen
 
 ### Compilation in the source directory
@@ -172,6 +183,31 @@ line options gtest supports, for example:
     make testrunner
     ./testrunner --help
 
+## Running unit tests with gcov
+
+Enable unit test gcov code coverage analysis by configuring gcov reporting
+directory:
+
+    configure --with-gcov-report-dir=DIR
+
+Directory can be an absolute path or a relative path to an SDL source root.
+Unit test build creates directory if it does not exist.
+
+Build and run unit tests with code coverage analysis:
+
+    make test_gcov
+
+After successful unit test run code coverage (.gcov) result files are in
+a directory, what was defined by '--with-gcov-report-dir' configure option.
+
+In addition, graphical gcov front-ends such as lcov can be used for coverage
+analysis:
+
+       lcov --directory tst/ --directory src --capture --output-file coverage.info
+       genhtml coverage.info --output-directory out
+
+Open the out/index.html using any web browser.
+
 ## Using SDL in application pod
 
 SDL is not yet available in O-RAN-SC PackageCloud.io repository.