Add a temp-install prerequisite to "check"-like targets not having one.

Makefile.global assigns this prerequisite to every target named "check",
but similar targets must mention it explicitly.  Affected targets
failed, tested $PATH binaries, or tested a stale temporary installation.
The src/test/modules examples worked properly when called as "make -C
src/test/modules/$FOO check", but "make -j" allowed the test to start
before the temporary installation was in place.  Back-patch to 9.5,
where commit dcae5facca introduced the
shared temp-install.
This commit is contained in:
Noah Misch 2017-11-05 18:51:08 -08:00
parent b35b185bf7
commit c66b438db6
6 changed files with 9 additions and 8 deletions

View file

@ -81,7 +81,7 @@ check: all
$(with_temp_install) ./pg_regress $(REGRESS_OPTS) --temp-instance=./tmp_check $(TEMP_CONF) --bindir= $(pg_regress_locale_flags) $(THREAD) --schedule=$(srcdir)/ecpg_schedule sql/twophase
# the same options, but with --listen-on-tcp
checktcp: all
checktcp: all | temp-install
$(with_temp_install) ./pg_regress $(REGRESS_OPTS) --temp-instance=./tmp_check $(TEMP_CONF) --bindir= $(pg_regress_locale_flags) $(THREAD) --schedule=$(srcdir)/ecpg_schedule_tcp --host=localhost
installcheck: all
@ -95,5 +95,5 @@ installcheck: all
installcheck-prepared-txns: all
./pg_regress $(REGRESS_OPTS) --bindir='$(bindir)' $(pg_regress_locale_flags) $(THREAD) --schedule=$(srcdir)/ecpg_schedule sql/twophase
check-prepared-txns: all
check-prepared-txns: all | temp-install
$(with_temp_install) ./pg_regress $(REGRESS_OPTS) --temp-instance=./tmp_check $(TEMP_CONF) --bindir= $(pg_regress_locale_flags) $(THREAD) --schedule=$(srcdir)/ecpg_schedule sql/twophase

View file

@ -16,5 +16,6 @@ clean distclean maintainer-clean:
$(MAKE) -C $$d clean || exit; \
done
# These behave like installcheck targets.
check-%: all
@$(MAKE) -C `echo $@ | sed 's/^check-//'` test

View file

@ -21,13 +21,13 @@ endif
check: isolation-check prove-check
isolation-check: | submake-isolation
isolation-check: | submake-isolation temp-install
$(MKDIR_P) isolation_output
$(pg_isolation_regress_check) \
--outputdir=./isolation_output \
$(ISOLATIONCHECKS)
prove-check:
prove-check: | temp-install
$(prove_check)
.PHONY: check isolation-check prove-check

View file

@ -16,5 +16,5 @@ endif
check: prove-check
prove-check:
prove-check: | temp-install
$(prove_check)

View file

@ -21,5 +21,5 @@ endif
check: prove-check
prove-check:
prove-check: | temp-install
$(prove_check)

View file

@ -129,7 +129,7 @@ REGRESS_OPTS = --dlpath=. --max-concurrent-tests=20 $(EXTRA_REGRESS_OPTS)
check: all tablespace-setup
$(pg_regress_check) $(REGRESS_OPTS) --schedule=$(srcdir)/parallel_schedule $(MAXCONNOPT) $(EXTRA_TESTS)
check-tests: all tablespace-setup
check-tests: all tablespace-setup | temp-install
$(pg_regress_check) $(REGRESS_OPTS) $(MAXCONNOPT) $(TESTS) $(EXTRA_TESTS)
installcheck: all tablespace-setup
@ -153,7 +153,7 @@ runtest-parallel: installcheck-parallel
bigtest: all tablespace-setup
$(pg_regress_installcheck) $(REGRESS_OPTS) --schedule=$(srcdir)/serial_schedule numeric_big
bigcheck: all tablespace-setup
bigcheck: all tablespace-setup | temp-install
$(pg_regress_check) $(REGRESS_OPTS) --schedule=$(srcdir)/parallel_schedule $(MAXCONNOPT) numeric_big