aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dunstan <andrew@dunslane.net>2012-12-02 17:29:30 -0500
committerAndrew Dunstan <andrew@dunslane.net>2012-12-02 17:29:30 -0500
commit513e546a6e75b0a79c3102ce22c583ccd1053ac6 (patch)
treef92b93e80f99de2f7eb3d1580e263f426482ea8f
parent31ab8936c770545d6aaa09d348661ce175f9b33d (diff)
downloadpostgresql-513e546a6e75b0a79c3102ce22c583ccd1053ac6.tar.gz
postgresql-513e546a6e75b0a79c3102ce22c583ccd1053ac6.zip
Add mode where contrib installcheck runs each module in a separately named database.
Normally each module is tested in aq database named contrib_regression, which is dropped and recreated at the beginhning of each pg_regress run. This 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. 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.
-rw-r--r--contrib/dblink/Makefile3
-rw-r--r--src/Makefile.global.in9
-rw-r--r--src/makefiles/pgxs.mk6
3 files changed, 17 insertions, 1 deletions
diff --git a/contrib/dblink/Makefile b/contrib/dblink/Makefile
index ac637480eb5..9674a149ee0 100644
--- a/contrib/dblink/Makefile
+++ b/contrib/dblink/Makefile
@@ -11,6 +11,9 @@ DATA = dblink--1.0.sql dblink--unpackaged--1.0.sql
REGRESS = dblink
+# the db name is hard-coded in the tests
+override undefine 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 3bf658d6b0c..9830b17830e 100644
--- a/src/Makefile.global.in
+++ b/src/Makefile.global.in
@@ -431,6 +431,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 30c4b573e40..2059c07eabb 100644
--- a/src/makefiles/pgxs.mk
+++ b/src/makefiles/pgxs.mk
@@ -230,7 +230,11 @@ distclean maintainer-clean: clean
ifdef REGRESS
# Select database to use for running the tests
-REGRESS_OPTS += --dbname=$(CONTRIB_TESTDB)
+ifdef 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)