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]