Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vinMJ-00FiO9-2h for pgsql-hackers@arkaria.postgresql.org; Thu, 22 Jan 2026 05:35:56 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vinMI-00B5BB-36 for pgsql-hackers@arkaria.postgresql.org; Thu, 22 Jan 2026 05:35:55 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vinMI-00B5B0-0P for pgsql-hackers@lists.postgresql.org; Thu, 22 Jan 2026 05:35:55 +0000 Received: from fhigh-b4-smtp.messagingengine.com ([202.12.124.155]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vinMF-001qf6-2D for pgsql-hackers@lists.postgresql.org; Thu, 22 Jan 2026 05:35:54 +0000 Received: from phl-compute-03.internal (phl-compute-03.internal [10.202.2.43]) by mailfhigh.stl.internal (Postfix) with ESMTP id 90A6C7A00B5; Thu, 22 Jan 2026 00:35:48 -0500 (EST) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-03.internal (MEProxy); Thu, 22 Jan 2026 00:35:48 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=paquier.xyz; h= cc:cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm2; t=1769060148; x=1769146548; bh=IVat41MKbJ HUjHnlDsQc7D4tXy06XkE02YPWc4DsMB4=; b=flv5ofnNjA2ZvqvvG2OO0Aqc95 i0wOFYL9clBmN7U1gdp2hOxXrqvPY5UWMDgmH0uzmfVjgbJUmszTHKBIVRrjXzWG 6qg3QWZ5k9apSpcvOtExAyIhcZFZqXtY7cAkkmXLn50NevHNoAVBMdMrarSSJ6As Fvnw3mOpyBxqctTsHg4MhWnDQ8xNbQm2pD6UPEIYwHaGlhlW7SAUUZRqPvNC0K8r N+Ius9ZkJJZMagtG/Mkk7mArqglm41hcmYPBHmExYtFdvpiGyV/uNhTHA1wTVyoH bVRXofr6km60r/xvUnfO3e+mynP9/YmmS8OgCjTVDOEaOh+3hZopEWlWE1EA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1769060148; x=1769146548; bh=IVat41MKbJHUjHnlDsQc7D4tXy06XkE02YP Wc4DsMB4=; b=Xo7jQgIhQUZZfY9XoITCy9g7KNZcd6x1BvVmu9THHjSeapZaJGd vKlf9QPaZdp+o1ozh7BljMMgkINVrHB81YOfWbxPltwdvPJsf6q8kLp4EGjZHze1 eKrHoqkxFDTZX23y/BfMCPfVWXNcITpex2ra5DQJWp/0ttRo5yWs09hUQXhGFTqk du25HcwHcBiiKQ83KZTHp46ruaCHDOtYmBsj1chCaZcuXJCd4LPp3Rid3we313MA z7gjdYOx5IRxUSmGZa1bBkEi4zJM4xlwf9Qw7f+VfwGNvYihHCvJT/TVJAa/Ctkm jFksw3JqEJx551QrLLs/6CjppZz4gskDUag== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgddugeehfeefucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnegfrh hlucfvnfffucdljedtmdenucfjughrpeffhffvvefukfhfgggtuggjsehgtderredttddv necuhfhrohhmpefoihgthhgrvghlucfrrghquhhivghruceomhhitghhrggvlhesphgrqh huihgvrhdrgiihiieqnecuggftrfgrthhtvghrnhepteelieefudffhffhtdetleeggeeg fffhkeeuveetiefgudduvedutefggeeivdejnecuvehluhhsthgvrhfuihiivgeptdenuc frrghrrghmpehmrghilhhfrhhomhepmhhitghhrggvlhesphgrqhhuihgvrhdrgiihiidp nhgspghrtghpthhtohephedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtoheprghnug hrvghssegrnhgrrhgriigvlhdruggvpdhrtghpthhtoheprghlvghkshgrnhguvghrseht ihhmvghstggrlhgvrdgtohhmpdhrtghpthhtohepphhgshhqlhdqhhgrtghkvghrsheslh hishhtshdrphhoshhtghhrvghsqhhlrdhorhhgpdhrtghpthhtohepjhhirghnrdhunhhi vhgvrhhsrghlihhthiesghhmrghilhdrtghomhdprhgtphhtthhopehpghessghofihtrd hivg X-ME-Proxy: Feedback-ID: i0fe9450f:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 22 Jan 2026 00:35:45 -0500 (EST) Date: Thu, 22 Jan 2026 14:35:40 +0900 From: Michael Paquier To: Andres Freund Cc: Aleksander Alekseev , PostgreSQL Hackers , jian he , Peter Geoghegan Subject: Re: Having problems generating a code coverage report Message-ID: References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="VG8jXvqqeDObyFSc" Content-Disposition: inline In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --VG8jXvqqeDObyFSc Content-Type: multipart/mixed; boundary="l0c2ogYZ/WudF+hI" Content-Disposition: inline --l0c2ogYZ/WudF+hI Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Jan 21, 2026 at 08:59:45PM -0500, Andres Freund wrote: > I have the following .lcovrc in my postgres source dir: >=20 > ignore_errors=3Dinconsistent,gcov,range > check_data_consistency=3D0 > stop_on_error=3D0 > genhtml_hierarchical=3D1 > genhtml_show_navigation=3D1 > parallel=3D16 > geninfo_gcov_tool=3D/usr/bin/gcov-15 >=20 > (assuming you build with gcc 15) >=20 > With that meson coverage information works (i.e. ninja coverage-html) for= both > lcov 2.0 and 2.4 as long as the build directory is outside of the source > directory. Both on Debian Sid and macos. Thanks for sharing. Yes, I have a matching gcc version at 15.2 currently. I have been playing with this area of the configuration for some time without finding the correct combination before giving up, and these suggestions are actually helping for meson. So now I can get a report offline. Yeah at least it's one thing working. Hmm. configure with and without VPATH still burp at me on HEAD. If I tweak the lcov commands in src/Makefile.global.in like in the attached=20 patch then the non-VPATH build can work, where I remove the srcdir part (aka reverting c3d9a66024a9). For the VPATH build, this patch does not work at all, it generates an incomplete report, ignoring entirely contrib/, with its base index.html starting inside src/, missing a bunch of subdirectories. I can live with this custom patch for now, just wondering if anybody else sees what I am seeing for a few months now. Thoughts? At least two out of the three methods are working with the attached instead of one out of three. Not sure what to do with VPATH, but well. -- Michael --l0c2ogYZ/WudF+hI Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0001-Tweak-lcov-commands.patch" Content-Transfer-Encoding: quoted-printable =46rom db627eb90cf625249a670300e295cff1c69c0a88 Mon Sep 17 00:00:00 2001 =46rom: Michael Paquier Date: Thu, 22 Jan 2026 14:32:45 +0900 Subject: [PATCH] Tweak lcov commands This fixes coverage reports for non-VPATH builds, generates incorrect reports with VPATH builds. --- src/Makefile.global.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Makefile.global.in b/src/Makefile.global.in index 947a2d79e291..d066ed162034 100644 --- a/src/Makefile.global.in +++ b/src/Makefile.global.in @@ -1061,12 +1061,12 @@ LCOVFLAGS =3D -q --no-external all_gcno_files =3D $(shell find . -name '*.gcno' -print) =20 lcov_base.info: $(all_gcno_files) - $(LCOV) $(LCOVFLAGS) -c -i -d . -d $(srcdir) -o $@ + $(LCOV) $(LCOVFLAGS) -c -i -d . -o $@ =20 all_gcda_files =3D $(shell find . -name '*.gcda' -print) =20 lcov_test.info: $(all_gcda_files) - $(LCOV) $(LCOVFLAGS) -c -d . -d $(srcdir) -o $@ + $(LCOV) $(LCOVFLAGS) -c -d . -o $@ =20 =20 # hook for clean-up --=20 2.51.0 --l0c2ogYZ/WudF+hI-- --VG8jXvqqeDObyFSc Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEG72nH6vTowiyblFKnvQgOdbyQH0FAmlxtywACgkQnvQgOdby QH0Znw//Q/c88jOvAapyovpu+IGJzHWhVrp33j9vJEmL/tXkEWlse6fI1HviyzQu lx6BrN+zfc39XlkwP07YsICsX2t/48nimu9ONtxoU/r14k0Vq3aTHc1gF+7fIELn xAl6pIhy8rr5B+SnaVweqoQvoHOaq/FTWbl4xYMP7WYRRYDNUwYhjk8XDEt1sDnO uY4FQviISWtMDGQttjhXSvd5ZCI4L1tNQp5+pRLxva7UDKrT8MZdObXL+Ys4IZsy AkCfYC4KNC7zws3HtZnKgTQyDPNqfHqL33vMeWiGwTngO4RPmlR0CquBmfNZUQRS O9UdQY/+i47Cvx4AhQzH9BmX0f8Fcw/ZKmdfsIdzlZyNiwstPkYoslfqFJ3SsLlL tw5GTabKMBh9KblC9ReiYUMMKkMqK5z1LUxyiyT52IHdeQXmItAhSXRX3iXOYvUz cm5yf+COF4gsCcMcJ+z5Qo2KEvZNhSXd806ur8QygHZm6CjaxGtAZXcKUGobZ4wo 4jUDRm44vnTuOZPbRPWnXx5JnJQ916NkH513w0K/mkhGcflVc2N+mLC8qHd93gNj ulAA8CUfwD+tQLjJDsg9QoYo97fvJwbg+PgLuDMbOBNclQ18J4awq2dj90MgNASC Ofg4r6pxUz3RyDQkgpnLN3rhILZ+gOWRfsJIn6SZ3/zQ7oCpQh0= =LKLV -----END PGP SIGNATURE----- --VG8jXvqqeDObyFSc--