From dbf2ec1a1c053379e2f9a5913979a1ca4dccbd43 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Wed, 29 Apr 2015 20:34:22 -0400 Subject: [PATCH] Fix parallel make risk with new check temp-install setup The "check" target no longer needs to depend on "all", because it now runs "install" directly, which in turn depends on "all". Doing both will cause problems with parallel make, because two builds will run next to each other. Also remove the redirection of the temp-install output into a log file. This was appropriate when this was done from within pg_regress, but now it's just a regular make run, and especially with the above changes this will now take the place of running the "all" target before the test suites. problem report by Jeff Janes, patch in part by Michael Paquier --- GNUmakefile.in | 2 -- contrib/test_decoding/Makefile | 4 ++-- src/Makefile.global.in | 5 ++--- src/bin/initdb/Makefile | 2 +- src/bin/pg_basebackup/Makefile | 2 +- src/bin/pg_config/Makefile | 2 +- src/bin/pg_controldata/Makefile | 2 +- src/bin/pg_ctl/Makefile | 2 +- src/bin/scripts/Makefile | 2 +- src/interfaces/ecpg/Makefile | 2 +- src/makefiles/pgxs.mk | 2 +- src/pl/plperl/GNUmakefile | 2 +- src/pl/plpython/Makefile | 2 +- src/pl/tcl/Makefile | 2 +- 14 files changed, 15 insertions(+), 18 deletions(-) diff --git a/GNUmakefile.in b/GNUmakefile.in index 361897a80b..ba39bf1330 100644 --- a/GNUmakefile.in +++ b/GNUmakefile.in @@ -62,8 +62,6 @@ distclean maintainer-clean: # Garbage from autoconf: @rm -rf autom4te.cache/ -check check-tests: all - check check-tests installcheck installcheck-parallel installcheck-tests: $(MAKE) -C src/test/regress $@ diff --git a/contrib/test_decoding/Makefile b/contrib/test_decoding/Makefile index 656eabfa00..a362e69691 100644 --- a/contrib/test_decoding/Makefile +++ b/contrib/test_decoding/Makefile @@ -40,7 +40,7 @@ submake-test_decoding: REGRESSCHECKS=ddl rewrite toast permissions decoding_in_xact decoding_into_rel \ binary prepared replorigin -regresscheck: all | submake-regress submake-test_decoding temp-install +regresscheck: | submake-regress submake-test_decoding temp-install $(MKDIR_P) regression_output $(pg_regress_check) \ --temp-config $(top_srcdir)/contrib/test_decoding/logical.conf \ @@ -54,7 +54,7 @@ regresscheck-install-force: | submake-regress submake-test_decoding temp-install ISOLATIONCHECKS=mxact delayed_startup ondisk_startup concurrent_ddl_dml -isolationcheck: all | submake-isolation submake-test_decoding temp-install +isolationcheck: | submake-isolation submake-test_decoding temp-install $(MKDIR_P) isolation_output $(pg_isolation_regress_check) \ --temp-config $(top_srcdir)/contrib/test_decoding/logical.conf \ diff --git a/src/Makefile.global.in b/src/Makefile.global.in index 81cae942d9..a0fe8e43eb 100644 --- a/src/Makefile.global.in +++ b/src/Makefile.global.in @@ -308,10 +308,9 @@ check: temp-install temp-install: ifeq ($(MAKELEVEL),0) rm -rf '$(abs_top_builddir)'/tmp_install - $(MKDIR_P) '$(abs_top_builddir)'/tmp_install/log - $(MAKE) -C '$(top_builddir)' DESTDIR='$(abs_top_builddir)'/tmp_install install >'$(abs_top_builddir)'/tmp_install/log/install.log 2>&1 + $(MAKE) -C '$(top_builddir)' DESTDIR='$(abs_top_builddir)'/tmp_install install endif - $(if $(EXTRA_INSTALL),for extra in $(EXTRA_INSTALL); do $(MAKE) -C '$(top_builddir)'/$$extra DESTDIR='$(abs_top_builddir)'/tmp_install install >>'$(abs_top_builddir)'/tmp_install/log/install.log 2>&1 || exit; done) + $(if $(EXTRA_INSTALL),for extra in $(EXTRA_INSTALL); do $(MAKE) -C '$(top_builddir)'/$$extra DESTDIR='$(abs_top_builddir)'/tmp_install install || exit; done) PROVE = @PROVE@ PG_PROVE_FLAGS = -I $(top_srcdir)/src/test/perl/ diff --git a/src/bin/initdb/Makefile b/src/bin/initdb/Makefile index fc809a0706..d4797880dd 100644 --- a/src/bin/initdb/Makefile +++ b/src/bin/initdb/Makefile @@ -58,7 +58,7 @@ clean distclean maintainer-clean: # ensure that changes in datadir propagate into object file initdb.o: initdb.c $(top_builddir)/src/Makefile.global -check: all +check: $(prove_check) installcheck: diff --git a/src/bin/pg_basebackup/Makefile b/src/bin/pg_basebackup/Makefile index 58f8b66494..0d8421a71e 100644 --- a/src/bin/pg_basebackup/Makefile +++ b/src/bin/pg_basebackup/Makefile @@ -50,7 +50,7 @@ clean distclean maintainer-clean: $(OBJS) rm -rf tmp_check -check: all +check: $(prove_check) installcheck: diff --git a/src/bin/pg_config/Makefile b/src/bin/pg_config/Makefile index 71ce236b9e..dbc98990fb 100644 --- a/src/bin/pg_config/Makefile +++ b/src/bin/pg_config/Makefile @@ -49,7 +49,7 @@ clean distclean maintainer-clean: rm -f pg_config$(X) $(OBJS) rm -rf tmp_check -check: all +check: $(prove_check) installcheck: diff --git a/src/bin/pg_controldata/Makefile b/src/bin/pg_controldata/Makefile index f7a4010bf8..fd7399ba98 100644 --- a/src/bin/pg_controldata/Makefile +++ b/src/bin/pg_controldata/Makefile @@ -35,7 +35,7 @@ clean distclean maintainer-clean: rm -f pg_controldata$(X) $(OBJS) rm -rf tmp_check -check: all +check: $(prove_check) installcheck: diff --git a/src/bin/pg_ctl/Makefile b/src/bin/pg_ctl/Makefile index 525e1d4750..37eb482a5c 100644 --- a/src/bin/pg_ctl/Makefile +++ b/src/bin/pg_ctl/Makefile @@ -38,7 +38,7 @@ clean distclean maintainer-clean: rm -f pg_ctl$(X) $(OBJS) rm -rf tmp_check -check: all +check: $(prove_check) installcheck: diff --git a/src/bin/scripts/Makefile b/src/bin/scripts/Makefile index 8b6f54ccee..c8317164f8 100644 --- a/src/bin/scripts/Makefile +++ b/src/bin/scripts/Makefile @@ -69,7 +69,7 @@ clean distclean maintainer-clean: rm -f dumputils.c print.c mbprint.c kwlookup.c keywords.c rm -rf tmp_check -check: all +check: $(prove_check) installcheck: diff --git a/src/interfaces/ecpg/Makefile b/src/interfaces/ecpg/Makefile index b80de4e247..41460a17c9 100644 --- a/src/interfaces/ecpg/Makefile +++ b/src/interfaces/ecpg/Makefile @@ -26,5 +26,5 @@ install-ecpglib-recurse: install-pgtypeslib-recurse clean distclean maintainer-clean: $(MAKE) -C test clean -check checktcp installcheck: all +check checktcp installcheck: $(MAKE) -C test $@ diff --git a/src/makefiles/pgxs.mk b/src/makefiles/pgxs.mk index 08e25da723..b511372684 100644 --- a/src/makefiles/pgxs.mk +++ b/src/makefiles/pgxs.mk @@ -291,7 +291,7 @@ check: @echo '"$(MAKE) check" is not supported.' @echo 'Do "$(MAKE) install", then "$(MAKE) installcheck" instead.' else -check: all submake $(REGRESS_PREP) +check: submake $(REGRESS_PREP) $(pg_regress_check) $(REGRESS_OPTS) $(REGRESS) temp-install: EXTRA_INSTALL+=$(subdir) diff --git a/src/pl/plperl/GNUmakefile b/src/pl/plperl/GNUmakefile index cebffde79d..904a320cf6 100644 --- a/src/pl/plperl/GNUmakefile +++ b/src/pl/plperl/GNUmakefile @@ -114,7 +114,7 @@ uninstall-data: .PHONY: install-data uninstall-data -check: all submake +check: submake $(pg_regress_check) $(REGRESS_OPTS) $(REGRESS) installcheck: submake diff --git a/src/pl/plpython/Makefile b/src/pl/plpython/Makefile index e70e285611..de97cbb780 100644 --- a/src/pl/plpython/Makefile +++ b/src/pl/plpython/Makefile @@ -141,7 +141,7 @@ uninstall-data: include $(srcdir)/regress-python3-mangle.mk -check: all submake +check: submake $(pg_regress_check) $(REGRESS_OPTS) $(REGRESS) installcheck: submake diff --git a/src/pl/tcl/Makefile b/src/pl/tcl/Makefile index 851e3c063f..533d3b4efd 100644 --- a/src/pl/tcl/Makefile +++ b/src/pl/tcl/Makefile @@ -92,7 +92,7 @@ uninstall-data: .PHONY: install-data uninstall-data -check: all submake +check: submake $(pg_regress_check) $(REGRESS_OPTS) $(REGRESS) installcheck: submake