On Wed, Jan 15, 2025 at 4:44 PM Tom Lane <t...@sss.pgh.pa.us> wrote:
> With this, I got plausible-looking html output (I didn't vet it
> in detail, but a couple of spot checks looked sane).
>
> I'm curious whether a similar workaround will help with the
> Debian toolchain.

Looks like it will.

I was able to get the lcov git master branch's tip to produce a
Postgres coverage report (same compiler version and OS as before).
Unfortunately, I had to use an even grottier incantation to get this
to work:

make -s coverage-html GENHTML_FLAGS="-q --legend --ignore-errors
unmapped,unmapped,empty,empty,inconsistent,inconsistent,corrupt,corrupt,range,range"
LCOVFLAGS="--ignore-errors
empty,empty,negative,negative,inconsistent,inconsistent"

(As you can imagine, I came up with this through pure trial and error.)

The final report seems fine, though -- at least on a quick look. The
number of times that we actually relied on the suppressions seems to
have been fairly limited, in the end:

Message summary:
  11 ignore messages:
    empty: 1
    inconsistent: 3
    negative: 7
Overall coverage rate:
  source files: 1527
  lines.......: 78.7% (396815 of 504471 lines)
  functions...: 86.3% (23710 of 27474 functions)

Note also: I had to install gcov to /usr/local this time. I couldn't
get away with installing it to my home directory (something about Perl
not being able to see lcovutil.pm in @INC).

--
Peter Geoghegan


Reply via email to