vAB1-0002-Canonicalize-test-with-infrastructure.patch
application/octet-stream
Filename: vAB1-0002-Canonicalize-test-with-infrastructure.patch
Type: application/octet-stream
Part: 1
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)