aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2011-08-24 15:16:17 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2011-08-24 15:16:50 -0400
commitd1d388603e4f9233d3e01847405b239972a54fdf (patch)
tree7706216f61ffa62f2cecf5ebdb1c8a721615848c
parent4803de6f8932e2f2b96bb1243ba07a05cd2c3ae5 (diff)
downloadpostgresql-d1d388603e4f9233d3e01847405b239972a54fdf.tar.gz
postgresql-d1d388603e4f9233d3e01847405b239972a54fdf.zip
Fix pgxs.mk to always add --dbname=$(CONTRIB_TESTDB) to REGRESS_OPTS.
The previous coding resulted in contrib modules unintentionally overriding the use of CONTRIB_TESTDB. There seems no particularly good reason to allow that (after all, the makefile can set CONTRIB_TESTDB if that's really what it intends). In passing, document REGRESS_OPTS where the other pgxs.mk options are documented. Back-patch to 9.1 --- in prior versions, there were no cases of contrib modules setting REGRESS_OPTS without including the --dbname switch, so while the coding was fragile there was no actual bug.
-rw-r--r--contrib/sepgsql/Makefile4
-rw-r--r--doc/src/sgml/extend.sgml9
-rw-r--r--src/makefiles/pgxs.mk7
3 files changed, 15 insertions, 5 deletions
diff --git a/contrib/sepgsql/Makefile b/contrib/sepgsql/Makefile
index 1978ccf8c86..248b1dd7f40 100644
--- a/contrib/sepgsql/Makefile
+++ b/contrib/sepgsql/Makefile
@@ -4,8 +4,11 @@ MODULE_big = sepgsql
OBJS = hooks.o selinux.o label.o dml.o \
schema.o relation.o proc.o
DATA_built = sepgsql.sql
+
REGRESS = label dml misc
REGRESS_PREP = check_selinux_environment
+REGRESS_OPTS = --launcher $(top_builddir)/contrib/sepgsql/launcher
+
EXTRA_CLEAN = -r tmp *.pp sepgsql-regtest.if sepgsql-regtest.fc
ifdef USE_PGXS
@@ -20,7 +23,6 @@ include $(top_srcdir)/contrib/contrib-global.mk
endif
SHLIB_LINK += -lselinux
-REGRESS_OPTS += --launcher $(top_builddir)/contrib/sepgsql/launcher
check_selinux_environment:
@$(top_builddir)/contrib/sepgsql/chkselinuxenv "$(bindir)" "$(datadir)"
diff --git a/doc/src/sgml/extend.sgml b/doc/src/sgml/extend.sgml
index ab538cb5008..35a5ae8fd42 100644
--- a/doc/src/sgml/extend.sgml
+++ b/doc/src/sgml/extend.sgml
@@ -1050,6 +1050,15 @@ include $(PGXS)
</varlistentry>
<varlistentry>
+ <term><varname>REGRESS_OPTS</varname></term>
+ <listitem>
+ <para>
+ additional switches to pass to <application>pg_regress</>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><varname>EXTRA_CLEAN</varname></term>
<listitem>
<para>
diff --git a/src/makefiles/pgxs.mk b/src/makefiles/pgxs.mk
index cb4dc972a8c..84a296a60d7 100644
--- a/src/makefiles/pgxs.mk
+++ b/src/makefiles/pgxs.mk
@@ -38,6 +38,7 @@
# SCRIPTS_built -- script files (not binaries) to install into $PREFIX/bin,
# which need to be built first
# REGRESS -- list of regression test cases (without suffix)
+# REGRESS_OPTS -- additional switches to pass to pg_regress
# EXTRA_CLEAN -- extra files to remove in 'make clean'
# PG_CPPFLAGS -- will be added to CPPFLAGS
# PG_LIBS -- will be added to PROGRAM link line
@@ -225,10 +226,8 @@ distclean maintainer-clean: clean
ifdef REGRESS
-# Calling makefile can set REGRESS_OPTS, but this is the default:
-ifndef REGRESS_OPTS
-REGRESS_OPTS = --dbname=$(CONTRIB_TESTDB)
-endif
+# Select database to use for running the tests
+REGRESS_OPTS += --dbname=$(CONTRIB_TESTDB)
# where to find psql for running the tests
PSQLDIR = $(bindir)