I got burnt tonight by the fact that the earthdistance contrib module
runs its regression test in database "regression", not
"contrib_regression" as I was expecting and as every other contrib
module does. The reason turns out to be that
earthdistance/Makefile does this:

REGRESS_OPTS = --extra-install=contrib/cube

while pgxs.mk does this:

# Calling makefile can set REGRESS_OPTS, but this is the default:
ifndef REGRESS_OPTS
REGRESS_OPTS = --dbname=$(CONTRIB_TESTDB)
endif

so of course the dbname provided here doesn't take effect and we fall
back to pg_regress' default.

There are at least two ways we could fix this: change
earthdistance/Makefile to do this:

REGRESS_OPTS = --extra-install=contrib/cube --dbname=$(CONTRIB_TESTDB)

or change pgxs.mk to do this:

REGRESS_OPTS += --dbname=$(CONTRIB_TESTDB)

I'm leaning towards the latter as being less prone to mistakes of
omission. If there's some reason for a pgxs-using makefile to override
the target DB name, it can set CONTRIB_TESTDB instead of messing with
REGRESS_OPTS.

Comments?

regards, tom lane

Search Discussions

Discussion Posts

Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 1 of 2 | next ›
Discussion Overview
grouppgsql-hackers @
categoriespostgresql
postedAug 24, '11 at 1:17a
activeAug 24, '11 at 6:30p
posts2
users2
websitepostgresql.org...
irc#postgresql

2 users in discussion

Peter Eisentraut: 1 post Tom Lane: 1 post

People

Translate

site design / logo © 2022 Grokbase