From db14c04f1bd2b9001678abac0e2c7e89433793cf Mon Sep 17 00:00:00 2001 From: Andrey Borodin 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)