Re: Injection points: some tools to wait and wake - Mailing list pgsql-hackers

From Jelte Fennema-Nio
Subject Re: Injection points: some tools to wait and wake
Date
Msg-id CAGECzQSfAeYJKQpU6Q-DU8s1TavP11rA6cmei-PSj2MpVU2hGQ@mail.gmail.com
Whole thread Raw
In response to Re: Injection points: some tools to wait and wake  (Michael Paquier <michael@paquier.xyz>)
Responses Re: Injection points: some tools to wait and wake
List pgsql-hackers
On Mon, 4 Mar 2024 at 23:23, Michael Paquier <michael@paquier.xyz> wrote:
> In my experience, anybody who does serious testing with their product
> integrated with Postgres have two or three types of builds with their
> own scripts: one with assertions, -DG and other developer-oriented
> options enabled, and one for production deployments with more
> optimized options like -O2.  Once there are custom scripts to build
> and package Postgres, do we really need to move that to contrib/ at
> all?

I do think there is quite a bit of a difference from a user
perspective to providing a few custom configure flags and having to go
to a separate directory and run "make install" there too. Simply
because it's yet another step. For dev environments most/all of my
team uses pgenv: https://github.com/theory/pgenv There I agree we
could add functionality to it to also install test modules when given
a certain flag/environment variable, but it would be nice if that
wasn't needed.

One big downside to not having it in contrib is that we also run tests
of Citus against official PGDG postgres packages and those would
likely not include these test modules, so we wouldn't be able to run
all our tests then.

Also I think the injection points extension is quite different from
the other modules in src/modules/test. All of these other modules are
basically test binaries that need to be separate modules, but they
don't provide any useful functionality when installing them. The
injection_poinst one actually provides useful functionality itself,
that can be used by other people testing things against postgres.

> make install would work for a test module as long as the command
> is run locally in its directory.

What would I need to do for meson builds? I tried the following
command but it doesn't seem to actually install the injection points
command:
ninja -C build install-test-files



pgsql-hackers by date:

Previous
From: Alexander Kukushkin
Date:
Subject: Re: Infinite loop in XLogPageRead() on standby
Next
From: shveta malik
Date:
Subject: Re: Missing LWLock protection in pgstat_reset_replslot()