Re: Adding facility for injection points (or probe points?) for more advanced tests

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
Cc: Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2023-11-24T14:07:23Z
Lists: pgsql-hackers
On Fri, Nov 24, 2023 at 04:37:58PM +0530, Ashutosh Bapat wrote:
> Interesting idea. For that the callback needs to know the injection
> point name. At least we should pass that to the callback. It's trivial
> thing to do.

This is what's done from the beginning, as well as of 0001 in the v5
series:
+INJECTION_POINT(name);
[...]
+   injection_callback(name);

> That might work, but in order to run tests in that directory one has
> to also install the extension. Do we have precedence for such kind of
> dependency?

Yes, please see EXTRA_INSTALL in some of the Makefiles.  This can
install stuff from paths different than the location where the tests
are run.

>> and that there are no string objections, so feel free
>> to comment.
> 
> Let's get some more opinions on the design. I will review the detailed
> code then.

Sure.  Thanks.

>> I don't want to propose 0003 in the tree, just an improved version of
>> 0004 for the test coverage (still need to improve that).
> 
> Are you working on v6 already?

No, what would be the point at this stage?  I dont have much more to
add to 0001 and 0002 at the moment, which focus on the core of the
problem.
--
Michael

Commits

  1. ci: Enable injection points in builds

  2. Fix two memcpy() bugs in the new injection point code

  3. Add test module injection_points

  4. Add backend support for injection points

  5. Refactor code checking for file existence