From: Tom Lane <tgl@sss.pgh.pa.us>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Cc: Stephen Frost <sfrost@snowman.net>
Cc: Magnus Hagander <magnus@hagander.net>
Cc: PostgreSQL WWW <pgsql-www@lists.postgresql.org>
Subject: Re: Bogus reports from coverage.postgresql.org
Date: Wed, 14 Mar 2018 12:15:17 -0400
Message-ID: <4710.1521044117@sss.pgh.pa.us> (raw)
In-Reply-To: <20180314154352.ao4psdohgxd4pw65@alvherre.pgsql>
References: <20180314154352.ao4psdohgxd4pw65@alvherre.pgsql>
Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
> In the coverage.pg.org box, we have:
> $ cat .lcovrc
> lcov_branch_coverage = 1
Oh, that's critical information not mentioned before :-(.
On my Fedora 26 box (gcc 7.3.1) I can reproduce the problem after
setting up ~/.lcovrc that way:
$ grep bogus coverage/src/backend/optimizer/util/predtest.c.*
coverage/src/backend/optimizer/util/predtest.c.gcov.html:<span class="lineNum"> 492 </span> :<span class="lineCov"> 10208 : elog(ERROR, "predicate_classify returned a bogus value");</span>
coverage/src/backend/optimizer/util/predtest.c.gcov.html:<span class="lineNum"> 803 </span> :<span class="lineCov"> 59482 : elog(ERROR, "predicate_classify returned a bogus value");</span>
(note "lineCov" instead of expected "lineNoCov"). This happens
with either lcov 1.12 or 1.13. I also notice an interesting
warning with either version:
$ make coverage-html
/usr/bin/lcov --gcov-tool /usr/bin/gcov -q --no-external -c -i -d . -d . -o lcov_base.info
geninfo: Note: --initial does not generate branch coverage data
/usr/bin/lcov --gcov-tool /usr/bin/gcov -q --no-external -c -d . -d . -o lcov_test.info
rm -rf coverage
/usr/bin/genhtml -q --legend -o coverage --title='PostgreSQL 11devel' --num-spaces=4 --prefix='/home/tgl/pgsql' lcov_base.info lcov_test.info
touch coverage-html-stamp
No idea what "--initial" refers to, but it suggests that we're
misusing the tool somehow with this configuration.
regards, tom lane
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-www@postgresql.org
Cc: tgl@sss.pgh.pa.us, alvherre@alvh.no-ip.org, peter.eisentraut@2ndquadrant.com, sfrost@snowman.net, magnus@hagander.net, pgsql-www@lists.postgresql.org
Subject: Re: Bogus reports from coverage.postgresql.org
In-Reply-To: <4710.1521044117@sss.pgh.pa.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox