1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-27 12:41:57 +03:00

Improve isolation tests infrastructure.

Previously if a directory had both isolationtester and plain
regression tests, they couldn't be run in parallel, because they'd
access the same files/directories.  That, so far, only affected
contrib/test_decoding.

Rather than fix that locally in contrib/test_decoding, improve
pg_regress_isolation_[install]check to use separate resources from
plain regression tests.

That requires a minor change in pg_regress, namely that the
--outputdir is created if not already existing, that seems like good
idea anyway.

Use the improved helpers even where previously not used.

Author: Tom Lane and Andres Freund
Discussion: https://postgr.es/m/20170311194831.vm5ikpczq52c2drg@alap3.anarazel.de
This commit is contained in:
Andres Freund
2017-03-14 15:56:17 -07:00
parent eb4da3e380
commit 60f826c5e6
8 changed files with 42 additions and 26 deletions

View File

@ -1,5 +1,6 @@
# Generated subdirectories
/log/
/isolation_output/
/regression_output/
/results/
/output_iso/
/tmp_check/
/tmp_check_iso/

View File

@ -5,7 +5,7 @@ PGFILEDESC = "test_decoding - example of a logical decoding output plugin"
# Note: because we don't tell the Makefile there are any regression tests,
# we have to clean those result files explicitly
EXTRA_CLEAN = $(pg_regress_clean_files) ./regression_output ./isolation_output
EXTRA_CLEAN = $(pg_regress_clean_files)
ifdef USE_PGXS
PG_CONFIG = pg_config
@ -42,11 +42,8 @@ REGRESSCHECKS=ddl xact rewrite toast permissions decoding_in_xact \
spill slot
regresscheck: | submake-regress submake-test_decoding temp-install
$(MKDIR_P) regression_output
$(pg_regress_check) \
--temp-config $(top_srcdir)/contrib/test_decoding/logical.conf \
--temp-instance=./tmp_check \
--outputdir=./regression_output \
$(REGRESSCHECKS)
regresscheck-install-force: | submake-regress submake-test_decoding temp-install
@ -56,10 +53,8 @@ regresscheck-install-force: | submake-regress submake-test_decoding temp-install
ISOLATIONCHECKS=mxact delayed_startup ondisk_startup concurrent_ddl_dml
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 \
--outputdir=./isolation_output \
$(ISOLATIONCHECKS)
isolationcheck-install-force: all | submake-isolation submake-test_decoding temp-install