path: root/
diff options
authorStefan Schmidt <>2016-12-07 17:35:57 +0100
committerStefan Schmidt <>2016-12-07 17:53:27 +0100
commit14c19e1c6f649cdd8694d8dd72129fc1a3caeddb (patch)
treecd57b25dc2ab06e6643cf9be549e124c3b312414 /
parenteafb05c58a0c5c724da484c2d745e7d08aa3fdc4 (diff)
build: coverage: disable branch coverage generation to avoid hangs in gcov
I have seen hangs with gcov on Jenkins and locally where the processing just keeps spinning in an infinite loop. From what I have found out this boils down to using gcov --all-blocks which is what lcov does with branch coverage enabled. It is supposed to be fixed in gcc 4.8+ but I see this here with 5.3.1. So its either a regression or not completely fixed. In any case we will ignore branch coverage for now. I hoped it would work well but it did only for a while and having line and function coverage is better than having nothing.
Diffstat (limited to '')
1 files changed, 8 insertions, 8 deletions
diff --git a/ b/
index cf10724321..4190502375 100644
--- a/
+++ b/
@@ -451,16 +451,16 @@ lcov-reset:
451 451
452lcov-baseline: 452lcov-baseline:
453 $(MKDIR_P) $(top_builddir)/coverage 453 $(MKDIR_P) $(top_builddir)/coverage
454 lcov --capture --initial --compat-libtool --no-external --output-file $(top_builddir)/coverage/ --directory $(top_builddir) --config-file .lcov-config --rc lcov_branch_coverage=1 454 lcov --capture --initial --compat-libtool --no-external --output-file $(top_builddir)/coverage/ --directory $(top_builddir) --config-file .lcov-config
455 455
456lcov-report: 456lcov-report:
457 lcov --capture --compat-libtool --no-external --output-file $(top_builddir)/coverage/ --directory $(top_builddir) --config-file .lcov-config --rc lcov_branch_coverage=1 457 lcov --capture --compat-libtool --no-external --output-file $(top_builddir)/coverage/ --directory $(top_builddir) --config-file .lcov-config
458 lcov --no-external --compat-libtool --add-tracefile $(top_builddir)/coverage/ --add-tracefile $(top_builddir)/coverage/ --output-file $(top_builddir)/coverage/ --config-file .lcov-config --rc lcov_branch_coverage=1 458 lcov --no-external --compat-libtool --add-tracefile $(top_builddir)/coverage/ --add-tracefile $(top_builddir)/coverage/ --output-file $(top_builddir)/coverage/ --config-file .lcov-config
459 lcov --no-external --compat-libtool --remove $(top_builddir)/coverage/ '*.h' --output-file $(top_builddir)/coverage/ --config-file .lcov-config --rc lcov_branch_coverage=1 459 lcov --no-external --compat-libtool --remove $(top_builddir)/coverage/ '*.h' --output-file $(top_builddir)/coverage/ --config-file .lcov-config
460 lcov --no-external --compat-libtool --remove $(top_builddir)/coverage/ '*/tests/*' --output-file $(top_builddir)/coverage/ --config-file .lcov-config --rc lcov_branch_coverage=1 460 lcov --no-external --compat-libtool --remove $(top_builddir)/coverage/ '*/tests/*' --output-file $(top_builddir)/coverage/ --config-file .lcov-config
461 lcov --no-external --compat-libtool --remove $(top_builddir)/coverage/ '*NONE*' --output-file $(top_builddir)/coverage/ --config-file .lcov-config --rc lcov_branch_coverage=1 461 lcov --no-external --compat-libtool --remove $(top_builddir)/coverage/ '*NONE*' --output-file $(top_builddir)/coverage/ --config-file .lcov-config
462 lcov --no-external --compat-libtool --remove $(top_builddir)/coverage/ '*/doc/*' --output-file $(top_builddir)/coverage/ --config-file .lcov-config --rc lcov_branch_coverage=1 462 lcov --no-external --compat-libtool --remove $(top_builddir)/coverage/ '*/doc/*' --output-file $(top_builddir)/coverage/ --config-file .lcov-config
463 lcov --no-external --compat-libtool --remove $(top_builddir)/coverage/ '*usr/include*' --output-file $(top_builddir)/coverage/ --config-file .lcov-config --rc lcov_branch_coverage=1 463 lcov --no-external --compat-libtool --remove $(top_builddir)/coverage/ '*usr/include*' --output-file $(top_builddir)/coverage/ --config-file .lcov-config
464 genhtml --config-file .lcov-config --legend -t "$(PACKAGE_STRING)" -o $(top_builddir)/coverage/html $(top_builddir)/coverage/ 464 genhtml --config-file .lcov-config --legend -t "$(PACKAGE_STRING)" -o $(top_builddir)/coverage/html $(top_builddir)/coverage/
465 @echo "Coverage Report at $(top_builddir)/coverage/html" 465 @echo "Coverage Report at $(top_builddir)/coverage/html"
466 466