The rule that gets executed if you do `make installcheck` with something using PGXS is        $(pg_regress_installcheck) $(REGRESS_OPTS) $(REGRESS)

where $(pg_regress_installcheck) is set in to

pg_regress_installcheck = $(top_builddir)/src/test/regress/pg_regress 
--inputdir=$(srcdir) --bindir='$(bindir)' $(pg_regress_locale_flags) 

The problem here is that in a PGXS make, srcdir is set to '.'[1], and --inputdir is specified a second time in REGRESS_OPTS. Normally that works OK (for some reason ignoring what's in ./sql), but if you happen to have a file in your test/sql directory that matches a file in ./sql, pg_regress runs the first file and not the second.

Presumably that's exactly what you'd want in most of the tree, but it's definitely not what you want in an extension.

Is the best way to fix this to add a pg_regress_installcheck_pgxs variable in and modify accordingly?

decibel@decina:[16:18]~/git/trunklet (master=)$make 
print-pg_regress_installcheck print-REGRESS_OPTS print-REGRESS
pg_regress_installcheck = 
 --inputdir=./ --psqldir=/Users/decibel/pgsql/9.4/i/bin
REGRESS_OPTS = --inputdir=test --load-language=plpgsql 
REGRESS = all build
Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX
Experts in Analytics, Data Architecture and PostgreSQL
Data in Trouble? Get it in Treble!

Sent via pgsql-hackers mailing list (
To make changes to your subscription:

Reply via email to