postgres.git / summary / log / commit / refs

commit    5c48d68de575645a668f76f9ec4afc082fd3d73b
Author:   Noah Misch <noah@leadboat.com>
Date:     Thu Nov 23 04:18:15 2017 +0000
First released in: 11.0, 10.2

    Build src/test/isolation during "make" and "make install".
    
    This hack closes a race condition in "make -j check-world" and "make -j
    installcheck-world".  Back-patch to v10, before which these parallel
    invocations had worse problems.
    
    Discussion: https://postgr.es/m/20171106080752.GA1298146@rfd.leadboat.com


src/Makefile | 1 + src/test/isolation/Makefile | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/src/Makefile b/src/Makefile index 380da92c75e..febbcede7d0 100644 --- a/src/Makefile +++ b/src/Makefile @@ -28,6 +28,7 @@ SUBDIRS = \ pl \ makefiles \ test/regress \ + test/isolation \ test/perl # There are too many interdependencies between the subdirectories, so diff --git a/src/test/isolation/Makefile b/src/test/isolation/Makefile index 8eb4969e9b8..efbdc40e1d3 100644 --- a/src/test/isolation/Makefile +++ b/src/test/isolation/Makefile @@ -15,6 +15,13 @@ OBJS = specparse.o isolationtester.o $(WIN32RES) all: isolationtester$(X) pg_isolation_regress$(X) +# Though we don't install these binaries, build them during installation +# (including temp-install). Otherwise, "make -j check-world" and "make -j +# installcheck-world" would spawn multiple, concurrent builds in this +# directory. Later builds would overwrite files while earlier builds are +# reading them, causing occasional failures. +install: | all + submake-regress: $(MAKE) -C $(top_builddir)/src/test/regress pg_regress.o [parent: 5b2a87707091]