From de0aca6a82af9c04cb4634d091ab065763fd4d5a Mon Sep 17 00:00:00 2001 From: Noah Misch Date: Wed, 22 Nov 2017 20:18:15 -0800 Subject: [PATCH] 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 380da92c75..febbcede7d 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 8eb4969e9b..efbdc40e1d 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 -- 2.40.0