From db14c04f1bd2b9001678abac0e2c7e89433793cf Mon Sep 17 00:00:00 2001
From: Andrey Borodin <amborodin@acm.org>
Date: Mon, 4 May 2026 11:57:35 +0500
Subject: [PATCH vAB1 2/3] Canonicalize test with infrastructure

---
 src/test/modules/prockill_race/Makefile       | 36 +++++--------------
 src/test/modules/prockill_race/meson.build    | 10 +++---
 .../t/001_prockill_lockgroup_injection.pl     |  4 +--
 3 files changed, 15 insertions(+), 35 deletions(-)

diff --git a/src/test/modules/prockill_race/Makefile b/src/test/modules/prockill_race/Makefile
index 738e3314653..eb9694d5195 100644
--- a/src/test/modules/prockill_race/Makefile
+++ b/src/test/modules/prockill_race/Makefile
@@ -1,26 +1,22 @@
 # src/test/modules/prockill_race/Makefile
-#
-# TAP test: concurrent ProcKill in a lock group must not put a PGPROC on the
-# freelist while procLatch is still owned.  With the server fix, this test passes.
 
 MODULE_big = prockill_race
-OBJS = $(WIN32RES) prockill_race.o
+OBJS = \
+	$(WIN32RES) \
+	prockill_race.o
 PGFILEDESC = "prockill_race - ProcKill lock-group race test helpers"
 
+EXTRA_INSTALL=src/test/modules/injection_points
+export enable_injection_points
+TAP_TESTS = 1
+
 EXTENSION = prockill_race
 DATA = prockill_race--1.0.sql
 
-TAP_TESTS = 1
+# Disabled because these tests require a temporary installation with
+# injection points enabled.
 NO_INSTALLCHECK = 1
 
-# Temp-install: ensure injection_points and this module are installed.
-REGRESS_PREP = prockill_race_tap_install
-
-.PHONY: prockill_race_tap_install
-prockill_race_tap_install:
-	$(MAKE) -C '$(top_builddir)'/src/test/modules/injection_points DESTDIR='$(abs_top_builddir)'/tmp_install install
-	$(MAKE) -C '$(top_builddir)'/src/test/modules/prockill_race DESTDIR='$(abs_top_builddir)'/tmp_install install
-
 ifdef USE_PGXS
 PG_CONFIG = pg_config
 PGXS := $(shell $(PG_CONFIG) --pgxs)
@@ -29,19 +25,5 @@ else
 subdir = src/test/modules/prockill_race
 top_builddir = ../../../..
 include $(top_builddir)/src/Makefile.global
-
-ifeq ($(enable_injection_points),yes)
-ifndef NO_TEMP_INSTALL
-prockill_race_tap_install: temp-install
-endif
 include $(top_srcdir)/contrib/contrib-global.mk
-else
-all install installdirs uninstall distprep:
-	@echo "prockill_race TAP test requires --enable-injection-points"
-check:
-	@echo "prockill_race TAP test requires --enable-injection-points"
-clean distclean maintainer-clean:
-	@:
-endif
-
 endif
diff --git a/src/test/modules/prockill_race/meson.build b/src/test/modules/prockill_race/meson.build
index 98bee360dc1..fbdd81a6d53 100644
--- a/src/test/modules/prockill_race/meson.build
+++ b/src/test/modules/prockill_race/meson.build
@@ -1,10 +1,8 @@
 # Copyright (c) 2025-2026, PostgreSQL Global Development Group
 
-if not get_option('injection_points')
-  subdir_done()
-endif
-
-prockill_race_sources = files('prockill_race.c')
+prockill_race_sources = files(
+  'prockill_race.c',
+)
 
 if host_system == 'windows'
   prockill_race_sources += rc_lib_gen.process(win32ver_rc, extra_args: [
@@ -29,7 +27,7 @@ tests += {
   'bd': meson.current_build_dir(),
   'tap': {
     'env': {
-      'enable_injection_points': get_option('injection_points') ? 'yes' : 'no',
+       'enable_injection_points': get_option('injection_points') ? 'yes' : 'no',
     },
     'tests': [
       't/001_prockill_lockgroup_injection.pl',
diff --git a/src/test/modules/prockill_race/t/001_prockill_lockgroup_injection.pl b/src/test/modules/prockill_race/t/001_prockill_lockgroup_injection.pl
index 70808608005..b5e76b3d36d 100644
--- a/src/test/modules/prockill_race/t/001_prockill_lockgroup_injection.pl
+++ b/src/test/modules/prockill_race/t/001_prockill_lockgroup_injection.pl
@@ -20,9 +20,9 @@
 use strict;
 use warnings FATAL => 'all';
 
-use PostgreSQL::Test::Utils qw(slurp_file);
-use Test::More;
 use PostgreSQL::Test::Cluster;
+use PostgreSQL::Test::Utils;
+use Test::More;
 
 use constant PANIC_RE => qr/PANIC:.*latch already owned by PID/s;
 
-- 
2.50.1 (Apple Git-155)

