From c8f666abde2af3060af41afe4b03ced2f62d94a9 Mon Sep 17 00:00:00 2001 From: Andrew Dunstan Date: Sun, 2 Dec 2012 17:30:18 -0500 Subject: [PATCH] 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. --- 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 519c73b68f..ebdb3931da 100644 --- a/contrib/dblink/Makefile +++ b/contrib/dblink/Makefile @@ -10,6 +10,9 @@ DATA = uninstall_dblink.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 280578a4c3..6fe87f33c3 100644 --- a/src/Makefile.global.in +++ b/src/Makefile.global.in @@ -284,6 +284,15 @@ BZIP2 = bzip2 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 # Installation. diff --git a/src/makefiles/pgxs.mk b/src/makefiles/pgxs.mk index 4f1ae19101..6b501f40c2 100644 --- a/src/makefiles/pgxs.mk +++ b/src/makefiles/pgxs.mk @@ -233,7 +233,11 @@ ifdef REGRESS # Calling makefile can set REGRESS_OPTS, but this is the default: ifndef REGRESS_OPTS -REGRESS_OPTS = --dbname=$(CONTRIB_TESTDB) + ifdef USE_MODULE_DB + REGRESS_OPTS = --dbname=$(CONTRIB_TESTDB_MODULE) + else + REGRESS_OPTS = --dbname=$(CONTRIB_TESTDB) + endif endif # where to find psql for running the tests