From d1d388603e4f9233d3e01847405b239972a54fdf Mon Sep 17 00:00:00 2001 From: Tom Lane <tgl@sss.pgh.pa.us> Date: Wed, 24 Aug 2011 15:16:17 -0400 Subject: [PATCH] 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. --- contrib/sepgsql/Makefile | 4 +++- doc/src/sgml/extend.sgml | 9 +++++++++ src/makefiles/pgxs.mk | 7 +++---- 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 @@ -1049,6 +1049,15 @@ include $(PGXS) </listitem> </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> 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) -- GitLab