postgres.git / summary / log / commit / refs
commit ad69bd052f8ac1edfd579ed0e32da1c33a775f78
Author: Andrew Dunstan <andrew@dunslane.net>
Date: Tue Dec 11 16:52:45 2012 +0000
First released in: 9.3.0, 9.0.12, 9.1.8, 9.2.3
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.
contrib/dblink/Makefile | 3 +++
src/Makefile.global.in | 9 +++++++++
src/makefiles/pgxs.mk | 6 +++++-
3 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/contrib/dblink/Makefile b/contrib/dblink/Makefile
index a27db884845..32314a0abb4 100644
--- a/contrib/dblink/Makefile
+++ b/contrib/dblink/Makefile
@@ -11,6 +11,9 @@ DATA = dblink--1.1.sql dblink--1.0--1.1.sql dblink--unpackaged--1.0.sql
REGRESS = dblink
+# the db name is hard-coded in the tests
+override USE_MODULE_DB =
+
ifdef USE_PGXS
PG_CONFIG = pg_config
PGXS := $(shell $(PG_CONFIG) --pgxs)
diff --git a/src/Makefile.global.in b/src/Makefile.global.in
index e10eeada874..9cc14dae683 100644
--- a/src/Makefile.global.in
+++ b/src/Makefile.global.in
@@ -428,6 +428,15 @@ submake-libpgport:
PL_TESTDB = pl_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
NOLOCALE += --no-locale
diff --git a/src/makefiles/pgxs.mk b/src/makefiles/pgxs.mk
index fd6473fd910..8acfe05813d 100644
--- a/src/makefiles/pgxs.mk
+++ b/src/makefiles/pgxs.mk
@@ -240,7 +240,11 @@ distclean maintainer-clean: clean
ifdef REGRESS
# 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
PSQLDIR = $(bindir)
[parent: acdb8c225955]