]> granicus.if.org Git - postgresql/commitdiff
Add mode where contrib installcheck runs each module in a separately named database.
authorAndrew Dunstan <andrew@dunslane.net>
Sun, 2 Dec 2012 22:20:38 +0000 (17:20 -0500)
committerAndrew Dunstan <andrew@dunslane.net>
Sun, 2 Dec 2012 22:20:38 +0000 (17:20 -0500)
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.

contrib/dblink/Makefile
src/Makefile.global.in
src/makefiles/pgxs.mk

index a27db884845310913568f814a502b7e7f819d21b..24fde477ee3b2e3976d95feabaeb46d737cf5ed4 100644 (file)
@@ -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 undefine USE_MODULE_DB
+
 ifdef USE_PGXS
 PG_CONFIG = pg_config
 PGXS := $(shell $(PG_CONFIG) --pgxs)
index e10eeada87454f4f3e68718de8e16a829d5339e7..9cc14dae6831d9211e1812679d68c997f45612fa 100644 (file)
@@ -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
index fd6473fd91097dcae8c91b9bf8092d92c66f0278..78e113916ca9fc3488c807699fcb926193996777 100644 (file)
@@ -240,7 +240,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)