Commit ad69bd05 authored by Andrew Dunstan's avatar Andrew Dunstan

Add mode where contrib installcheck runs each module in a separately named database.

Normally each module is tested in a database named contrib_regression,
which is dropped and recreated at the beginhning of each pg_regress run.
This new mode, enabled by adding USE_MODULE_DB=1 to the make command
line, runs most modules in a database with the module name embedded in
it.

This will make testing pg_upgrade on clusters with the contrib modules
a lot easier.

Second attempt at this, this time accomodating make versions older
than 3.82.

Still to be done: adapt to the MSVC build system.

Backpatch to 9.0, which is the earliest version it is reasonably
possible to test upgrading from.
parent acdb8c22
...@@ -11,6 +11,9 @@ DATA = dblink--1.1.sql dblink--1.0--1.1.sql dblink--unpackaged--1.0.sql ...@@ -11,6 +11,9 @@ DATA = dblink--1.1.sql dblink--1.0--1.1.sql dblink--unpackaged--1.0.sql
REGRESS = dblink REGRESS = dblink
# the db name is hard-coded in the tests
override USE_MODULE_DB =
ifdef USE_PGXS ifdef USE_PGXS
PG_CONFIG = pg_config PG_CONFIG = pg_config
PGXS := $(shell $(PG_CONFIG) --pgxs) PGXS := $(shell $(PG_CONFIG) --pgxs)
......
...@@ -428,6 +428,15 @@ submake-libpgport: ...@@ -428,6 +428,15 @@ submake-libpgport:
PL_TESTDB = pl_regression PL_TESTDB = pl_regression
CONTRIB_TESTDB = contrib_regression CONTRIB_TESTDB = contrib_regression
ifneq ($(MODULE_big),)
CONTRIB_TESTDB_MODULE = contrib_regression_$(MODULE_big)
else
ifneq ($(MODULES),)
CONTRIB_TESTDB_MODULE = contrib_regression_$(MODULES)
else
CONTRIB_TESTDB_MODULE = contrib_regression
endif
endif
ifdef NO_LOCALE ifdef NO_LOCALE
NOLOCALE += --no-locale NOLOCALE += --no-locale
......
...@@ -240,7 +240,11 @@ distclean maintainer-clean: clean ...@@ -240,7 +240,11 @@ distclean maintainer-clean: clean
ifdef REGRESS ifdef REGRESS
# Select database to use for running the tests # Select database to use for running the tests
REGRESS_OPTS += --dbname=$(CONTRIB_TESTDB) ifneq ($(USE_MODULE_DB),)
REGRESS_OPTS += --dbname=$(CONTRIB_TESTDB_MODULE)
else
REGRESS_OPTS += --dbname=$(CONTRIB_TESTDB)
endif
# where to find psql for running the tests # where to find psql for running the tests
PSQLDIR = $(bindir) PSQLDIR = $(bindir)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment