summaryrefslogtreecommitdiffstats
path: root/tests/Makefile
diff options
context:
space:
mode:
authorPetteri Aimonen <jpa@git.mail.kapsi.fi>2014-04-05 13:26:37 +0300
committerPetteri Aimonen <jpa@git.mail.kapsi.fi>2014-04-05 13:26:37 +0300
commita8de6acf2df23104be8907b9e3ed8647b33df6e2 (patch)
tree7246f8d4607220cd3e6770907699e40431519323 /tests/Makefile
parent7880f308ea996292d5e28a81618370d79e2bdf26 (diff)
Add rule for building coverage summary using lcov.
Also modified a few tests to be more compatible with coverage information, so that they use the same pb_encode/decode.c instead of making a copy.
Diffstat (limited to 'tests/Makefile')
-rw-r--r--tests/Makefile15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/Makefile b/tests/Makefile
index fb37e630..3c4e0b04 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -4,3 +4,18 @@ all:
clean:
scons -c
+coverage:
+ rm -rf build coverage
+
+ # LCOV does not like the newer gcov format
+ scons CC=gcc-4.6 CXX=gcc-4.6
+
+ # We are only interested in pb_encode.o and pb_decode.o
+ find build -name '*.gcda' -and \! \( -name '*pb_encode*' -or -name '*pb_decode*' \) -exec rm '{}' \;
+
+ # Collect the data
+ mkdir build/coverage
+ lcov --base-directory . --directory build/ --gcov-tool gcov-4.6 -c -o build/coverage/nanopb.info
+
+ # Generate HTML
+ genhtml -o build/coverage build/coverage/nanopb.info