differential code coverage

From: Andres Freund <andres(at)anarazel(dot)de>
To: pgsql-hackers(at)postgresql(dot)org, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Subject: differential code coverage
Date: 2023-04-04 16:03:45
Message-ID: 20230404160345.2ztwz44eyzm7heuf@awork3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

For quite a while I'd been wishing to see *differential* code coverage, to see
what changed in code coverage between two major releases. Unfortunately lcov
didn't provide that. A few months ago a PR for it has been merged into lcov
([1]). There hasn't yet been a release though. And the feature definitely has
some rough edges, still.

I'm planning to generate the 15->16 differential code coverage, once the
feature freeze has been reached.

Another nice thing provided by the in-development lcov is hierarchical
output. I find that to be much easier to navigate than the current flat
output, as e.g. used on coverage.postgresql.org.

I've attached a screenshot showing the coverage differences of the backend
between 15 and HEAD, as of a few days ago. "UNC" is uncovered new code, "LBC"
is lost baseline coverage.

I think for now it'd likely be a small script that'd generate the code
coverage across versions. Do we want to have that in the source tree?

Is there any interest in a) using the hierarchical output b) differential
output on coverage.pg.o?

Greetings,

Andres Freund

[1] https://github.com/linux-test-project/lcov/pull/169

Attachment Content-Type Size
differential-coverage-15-HEAD.png image/png 455.4 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2023-04-04 16:09:58 Re: running logical replication as the subscription owner
Previous Message Tom Lane 2023-04-04 15:47:31 Re: Fix the description of GUC "max_locks_per_transaction" and "max_pred_locks_per_transaction" in guc_table.c