Tom Lane wrote:
> Well, this is darn interesting. I got the Fedora lcov maintainer
> to push an update absorbing the upstream "gcc 8" fixes. (Turned
> out he'd already done that for rawhide, but forgot to push it into
> the F28 branch.) And with that, and gcc 8.0.1, ... no bug. The
> lines are marked "lineNoCov" with or without lcov_branch_coverage.
Hmm. I wonder if this means that the reports generated with any
compiler prior to gcc 8 are unreliable. At least we know now that that
is indeed the case with branch coverage, but what about without?
While we're on this topic ... Some time ago, I looked into whether it
would be possible to make the coverage report ignore the elog(ERROR)
lines, which are --or should be-- unreachable code and thus we don't
care too much about test coverage. Finding no way to implement that, I
gave up (I tried adding exclusion markers in the elog definition, as
documented in geninfo. Perhaps I did it wrong). But maybe it is
possible with these recent improvements?
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services