Re: test_compression, test module for low-level compression APIs (for 2b5ba2a0a141)

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Michael Paquier <michael@paquier.xyz>
Cc: Postgres hackers <pgsql-hackers@lists.postgresql.org>, Andrew Dunstan <andrew@dunslane.net>
Date: 2026-04-13T14:08:16Z
Lists: pgsql-hackers
Hi,

On 2026-04-13 12:52:59 +0900, Michael Paquier wrote:
> On Sun, Apr 12, 2026 at 10:20:43PM -0400, Andres Freund wrote:
> > There's really no reason for something like this to be a test doing tests via
> > SQL from what I can tell.
> > 
> > If it does not to be via SSL, can we please start to find a way to combine
> > tiny stuff like this?  We're working hard at making our tests grow
> > unsustainable.
> 
> If we care about `make check` rather than `make installcheck`

I don't really see the difference WRT that in this case? installcheck still
has regress.so available, no?


> it seems to me that a solution already exists in the shape of C function
> called through the main regression test suite.

I guess that'd work.  I don't really see the point in calling these via SQL,
tbh, but if that's easier for you, using a regress.c helper woul do the trick.


> Would this idea work for you when it comes to this proposal?

Yes.


I think we need to combine about half the modules in src/test/modules, the
current course is absurd:

16:  37
17:  46
18:  49
dev: 62


[Almost] All of them create a new initdb'd cluster. ~50MB of writes for a
short test is insane.  Doing low-level unittests by doing inter-process
communication from psql to the server, marshalling everything through text, is
insane.

Greetings,

Andres Freund



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Add tests for low-level PGLZ [de]compression routines

  2. Fix heap-buffer-overflow in pglz_decompress() on corrupt input.