Re: Support "make check" for PGXS extensions
Peter Eisentraut <peter@eisentraut.org>
From: Peter Eisentraut <peter@eisentraut.org>
To: "David E. Wheeler" <david@justatheory.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2025-03-27T16:21:47Z
Lists: pgsql-hackers
On 20.03.25 18:20, David E. Wheeler wrote: > On Mar 20, 2025, at 09:06, Peter Eisentraut <peter@eisentraut.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)) Interesting. I think to support that, we would need to do a temp install kind of thing of the extension, and then point the path settings into that temp install directory. Which is probably more sensible anyway.