Patch 0001 fixes this issue with vpath postgres builds:
$ make -C src/test/regress install-tests
/usr/bin/install: cannot create regular file 'PGPREFIX/lib/postgresql/regress/PGPREFIX/src/test/regress/expected/errors.out': No such file or directory make: *** [GNUmakefile:90: install-tests] Error 1
(where PGPREFIX is your --prefix)
It also makes the install-tests target a toplevel target for convenience.
Three related bonus patches are attached in case anyone thinks they're a good idea:
- 0002 changes the install location of src/test/regress's install-tests output files (sql/, expected/ etc) to $(pkglibdir)/pgxs/src/test/regress so that PGXS resolves it as $(top_srcdir)/src/test/regress, same as for in-tree builds. Presently it installs in $(pkglibdir)/regress/ for some reason. This patch applies on top of 0001. It will affect packagers.
- 0003 makes the toplevel install-tests target also install src/test/isolation test resources and the test modules. This patch applies on top of either 0001 or 0002, depending on whether you want to include 0002.
- 0004 makes the dummy 'check' target in pgxs.mk optional for extensions that define the new PGXS variable NO_DUMMY_CHECK_TARGET . This lets extensions that want to define a 'check' target do so without having make complain at them about redefined targets. This patch is independent of the others and can apply on master directly.