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 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers