Skip to content

[PGPRO-13969] Fix a problem with isolation tests in v12 and v13 when using pgxs #154

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 32 additions & 26 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,12 @@ RELATIVE_INCLUDES = $(addprefix src/, $(INCLUDES))

LDFLAGS_SL += $(filter -lm, $(LIBS))

REGRESS = security rum rum_validate rum_hash ruminv timestamp orderby orderby_hash \
altorder altorder_hash limits \
REGRESS = security rum rum_validate rum_hash ruminv timestamp \
orderby orderby_hash altorder altorder_hash limits \
int2 int4 int8 float4 float8 money oid \
time timetz date interval \
macaddr inet cidr text varchar char bytea bit varbit \
numeric rum_weight expr
numeric rum_weight expr array

TAP_TESTS = 1

Expand All @@ -35,15 +35,6 @@ ISOLATION_OPTS = --load-extension=rum
EXTRA_CLEAN = pglist_tmp

ifdef USE_PGXS

# We cannot run isolation test for versions 12,13 in PGXS case
# because 'pg_isolation_regress' is not copied to install
# directory, see src/test/isolation/Makefile
ifeq ($(MAJORVERSION),$(filter 12% 13%,$(MAJORVERSION)))
undefine ISOLATION
undefine ISOLATION_OPTS
endif

PG_CONFIG = pg_config
PGXS := $(shell $(PG_CONFIG) --pgxs)
include $(PGXS)
Expand All @@ -57,25 +48,35 @@ endif
$(EXTENSION)--$(EXTVERSION).sql: rum_init.sql
cat $^ > $@

ifeq ($(MAJORVERSION), 9.6)
# arrays are not supported on 9.6
else
REGRESS += array
#
# On versions 12 and 13 isolation tests cannot be run using pgxs.
# Override installcheck target to avoid the error. This is just a
# shortcut version of installcheck target from pgxs.mk that runs
# all other tests besides isolation tests.
#
ifdef USE_PGXS
ifeq ($(MAJORVERSION), $(filter 12% 13%, $(MAJORVERSION)))
installcheck: submake $(REGRESS_PREP)
ifdef REGRESS
$(pg_regress_installcheck) $(REGRESS_OPTS) $(REGRESS)
endif
ifdef TAP_TESTS
$(prove_installcheck)
endif
endif
endif

# For 9.6-11 we have to make specific target with tap tests
# --------------------------------------------------------
# Make conditional targets to save backward compatibility
# with PG11, PG10 and PG9.6.
# --------------------------------------------------------
ifeq ($(MAJORVERSION), $(filter 9.6% 10% 11%, $(MAJORVERSION)))
wal-check: temp-install
$(prove_check)

check: wal-check
# arrays are not supported on 9.6
ifeq ($(MAJORVERSION), 9.6)
REGRESS := $(filter-out array, $(REGRESS))
endif

#
# Make conditional targets to save backward compatibility with PG11, PG10 and PG9.6.
#
ifeq ($(MAJORVERSION), $(filter 9.6% 10% 11%, $(MAJORVERSION)))

install: installincludes

installincludes:
Expand All @@ -99,4 +100,9 @@ isolationcheck: | submake-isolation submake-rum temp-install
$(pg_isolation_regress_check) \
--temp-config $(top_srcdir)/contrib/rum/logical.conf \
$(ISOLATIONCHECKS)
endif

# For 9.6-11 we have to make specific target with tap tests
check: temp-install
$(prove_check)

endif