stefan pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=14c19e1c6f649cdd8694d8dd72129fc1a3caeddb

commit 14c19e1c6f649cdd8694d8dd72129fc1a3caeddb
Author: Stefan Schmidt <ste...@osg.samsung.com>
Date:   Wed Dec 7 17:35:57 2016 +0100

    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.
---
 .lcov-config |  2 --
 Makefile.am  | 16 ++++++++--------
 2 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/.lcov-config b/.lcov-config
index ef201f5..b069cdd 100644
--- a/.lcov-config
+++ b/.lcov-config
@@ -1,3 +1 @@
 geninfo_auto_base=1
-lcov_branch_coverage=1
-genhtml_branch_coverage=1
diff --git a/Makefile.am b/Makefile.am
index cf10724..4190502 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -451,16 +451,16 @@ lcov-reset:
 
 lcov-baseline:
        $(MKDIR_P) $(top_builddir)/coverage
-       lcov --capture --initial --compat-libtool --no-external --output-file 
$(top_builddir)/coverage/coverage-baseline.info --directory $(top_builddir) 
--config-file .lcov-config --rc lcov_branch_coverage=1
+       lcov --capture --initial --compat-libtool --no-external --output-file 
$(top_builddir)/coverage/coverage-baseline.info --directory $(top_builddir) 
--config-file .lcov-config
 
 lcov-report:
-       lcov --capture --compat-libtool --no-external --output-file 
$(top_builddir)/coverage/coverage-check.info --directory $(top_builddir) 
--config-file .lcov-config --rc lcov_branch_coverage=1
-       lcov --no-external --compat-libtool --add-tracefile 
$(top_builddir)/coverage/coverage-baseline.info --add-tracefile 
$(top_builddir)/coverage/coverage-check.info --output-file 
$(top_builddir)/coverage/coverage.info --config-file .lcov-config --rc 
lcov_branch_coverage=1
-       lcov --no-external --compat-libtool --remove 
$(top_builddir)/coverage/coverage.info '*.h' --output-file 
$(top_builddir)/coverage/coverage.cleaned.info --config-file .lcov-config --rc 
lcov_branch_coverage=1
-       lcov --no-external --compat-libtool --remove 
$(top_builddir)/coverage/coverage.cleaned.info '*/tests/*' --output-file 
$(top_builddir)/coverage/coverage.cleaned2.info --config-file .lcov-config --rc 
lcov_branch_coverage=1
-       lcov --no-external --compat-libtool --remove 
$(top_builddir)/coverage/coverage.cleaned2.info '*NONE*' --output-file 
$(top_builddir)/coverage/coverage.cleaned3.info --config-file .lcov-config --rc 
lcov_branch_coverage=1
-       lcov --no-external --compat-libtool --remove 
$(top_builddir)/coverage/coverage.cleaned3.info '*/doc/*' --output-file 
$(top_builddir)/coverage/coverage.cleaned4.info --config-file .lcov-config --rc 
lcov_branch_coverage=1
-       lcov --no-external --compat-libtool --remove 
$(top_builddir)/coverage/coverage.cleaned4.info '*usr/include*' --output-file 
$(top_builddir)/coverage/coverage.cleaned5.info --config-file .lcov-config --rc 
lcov_branch_coverage=1
+       lcov --capture --compat-libtool --no-external --output-file 
$(top_builddir)/coverage/coverage-check.info --directory $(top_builddir) 
--config-file .lcov-config
+       lcov --no-external --compat-libtool --add-tracefile 
$(top_builddir)/coverage/coverage-baseline.info --add-tracefile 
$(top_builddir)/coverage/coverage-check.info --output-file 
$(top_builddir)/coverage/coverage.info --config-file .lcov-config
+       lcov --no-external --compat-libtool --remove 
$(top_builddir)/coverage/coverage.info '*.h' --output-file 
$(top_builddir)/coverage/coverage.cleaned.info --config-file .lcov-config
+       lcov --no-external --compat-libtool --remove 
$(top_builddir)/coverage/coverage.cleaned.info '*/tests/*' --output-file 
$(top_builddir)/coverage/coverage.cleaned2.info --config-file .lcov-config
+       lcov --no-external --compat-libtool --remove 
$(top_builddir)/coverage/coverage.cleaned2.info '*NONE*' --output-file 
$(top_builddir)/coverage/coverage.cleaned3.info --config-file .lcov-config
+       lcov --no-external --compat-libtool --remove 
$(top_builddir)/coverage/coverage.cleaned3.info '*/doc/*' --output-file 
$(top_builddir)/coverage/coverage.cleaned4.info --config-file .lcov-config
+       lcov --no-external --compat-libtool --remove 
$(top_builddir)/coverage/coverage.cleaned4.info '*usr/include*' --output-file 
$(top_builddir)/coverage/coverage.cleaned5.info --config-file .lcov-config
        genhtml --config-file .lcov-config --legend -t "$(PACKAGE_STRING)" -o 
$(top_builddir)/coverage/html $(top_builddir)/coverage/coverage.cleaned5.info
        @echo "Coverage Report at $(top_builddir)/coverage/html"
 

-- 


Reply via email to