Re: Support "make check" for PGXS extensions

From: "David E(dot) Wheeler" <david(at)justatheory(dot)com>
To: Peter Eisentraut <peter(at)eisentraut(dot)org>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Support "make check" for PGXS extensions
Date: 2025-03-20 17:20:30
Message-ID: 9137D788-F622-4B2F-9EC1-487A035A4256@justatheory.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mar 20, 2025, at 09:06, Peter Eisentraut <peter(at)eisentraut(dot)org> wrote:
>
> This is a quick follow-up to the extension_control_path patch. With this little additional patch, you can now run "make check" in PGXS-using extensions (instead of having to do make install; make installcheck with a running instance). I think this would be very convenient for extension development.

I LOVE this idea! But one thing to keep in mind is that not all files are in CURDIR. Might make sense to use `dirname` on all the entires in DATA and MODULES to figure out what to put in the search paths. I usually have my C files in `src` and SQL files in `sql`, and wrote the PGXN tutorial[1] back in 2012 with that pattern (for better or worse). A simple example is the envvar extension[2]:

DATA = $(wildcard sql/*.sql)
MODULES = $(patsubst %.c,%,$(wildcard src/*.c))

Best,

David

[1]: https://manager.pgxn.org/howto#neworder
[2]: https://github.com/theory/pg-envvar/blob/main/Makefile

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2025-03-20 17:32:02 Re: why there is not VACUUM FULL CONCURRENTLY?
Previous Message Fujii Masao 2025-03-20 17:15:24 Re: Change log level for notifying hot standby is waiting non-overflowed snapshot