Handle USE_MODULE_DB for all tests able to use an installed postmaster.
authorNoah Misch
Thu, 4 Apr 2019 00:06:01 +0000 (17:06 -0700)
committerNoah Misch
Thu, 4 Apr 2019 00:10:42 +0000 (17:10 -0700)
commit624edab582886a40a2a07e4949be82b3d6fe5f1f
tree8b61999c4d72c93cc6de0c61d67fd577648c2de9
parent3a70b66e625707bf3f8856be2a3d0ea74d6170d7
Handle USE_MODULE_DB for all tests able to use an installed post

When $(MODULES) and $(MODULE_big) are empty, derive the database name
from the first element of $(REGRESS) instead of using a constant string.
When deriving the database name from $(MODULES), use its first element
instead of the entire list; the earlier approach would fail if any
multi-module directory had $(REGRESS) tests.  Treat isolation suites and
src/pl correspondingly.  Under USE_MODULE_DB=1, installcheck-world and
check-world no longer reuse any database name in a given postmaster.
Buildfarm members axolotl, mandrill and frogfish saw spurious "is being
accessed by other users" failures that would not have happened without
database name reuse.  (The CountOtherDBBackends() 5s deadline expired
during DROP DATABASE; a backend for an earlier test suite had used the
same database name and had not yet exited.)  Back-patch to 9.4 (all
supported versions), except bits pertaining to isolation suites.

Concept reviewed by Andrew Dunstan, Andres Freund and Tom Lane.

Discussion: https://postgr.es/m/20190401135213[email protected]
src/Makefile.global.in
src/makefiles/pgxs.mk