1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-28 23:42:10 +03:00

Revert all new recent changes to add PGXS options for TAP and isolation

A set of failures in buildfarm machines are proving that this is not
quite ready yet because of another set of issues:
- MSVC scripts assume that REGRESS_OPTS can only use top_builddir.  Some
test suites actually finish by using top_srcdir, like pg_stat_statements
which cause the regression tests to never run.
- Trying to enforce top_builddir does not work either when using VPATH
as this is not recognized properly.
- TAP tests of bloom are unstable on various platforms, causing various
failures.
This commit is contained in:
Michael Paquier
2018-11-26 11:12:11 +09:00
parent 3955cae0c5
commit 1d7dd18686
11 changed files with 133 additions and 128 deletions

View File

@ -46,9 +46,6 @@
# HEADERS_built_$(MODULE) -- as above but built first (also NOT cleaned)
# REGRESS -- list of regression test cases (without suffix)
# REGRESS_OPTS -- additional switches to pass to pg_regress
# TAP_TESTS -- switch to enable TAP tests
# ISOLATION -- list of isolation test cases
# ISOLATION_OPTS -- additional switches to pass to pg_isolation_regress
# NO_INSTALLCHECK -- don't define an installcheck target, useful e.g. if
# tests require special configuration, or don't use pg_regress
# EXTRA_CLEAN -- extra files to remove in 'make clean'
@ -352,12 +349,6 @@ ifeq ($(PORTNAME), win)
rm -f regress.def
endif
endif # REGRESS
ifdef TAP_TESTS
rm -rf tmp_check/
endif
ifdef ISOLATION
rm -rf output_iso/ tmp_check_iso/
endif
ifdef MODULE_big
clean: clean-lib
@ -392,47 +383,28 @@ $(test_files_build): $(abs_builddir)/%: $(srcdir)/%
$(MKDIR_P) $(dir $@)
ln -s $< $@
endif # VPATH
endif # REGRESS
.PHONY: submake
submake:
ifndef PGXS
$(MAKE) -C $(top_builddir)/src/test/regress pg_regress$(X)
$(MAKE) -C $(top_builddir)/src/test/isolation all
endif
# Standard rules to run regression tests including multiple test suites.
# Runs against an installed postmaster
# against installed postmaster
ifndef NO_INSTALLCHECK
installcheck: submake $(REGRESS_PREP)
ifdef REGRESS
$(pg_regress_installcheck) $(REGRESS_OPTS) $(REGRESS)
endif
ifdef ISOLATION
$(pg_isolation_regress_installcheck) $(ISOLATION_OPTS) $(ISOLATION)
endif
ifdef TAP_TESTS
$(prove_installcheck)
endif
endif # NO_INSTALLCHECK
# Runs independently of any installation
ifdef PGXS
check:
@echo '"$(MAKE) check" is not supported.'
@echo 'Do "$(MAKE) install", then "$(MAKE) installcheck" instead.'
else
check: submake $(REGRESS_PREP)
ifdef REGRESS
$(pg_regress_check) $(REGRESS_OPTS) $(REGRESS)
endif
ifdef ISOLATION
$(pg_isolation_regress_check) $(ISOLATION_OPTS) $(ISOLATION)
endif
ifdef TAP_TESTS
$(prove_check)
endif
endif # PGXS
endif # REGRESS
ifndef NO_TEMP_INSTALL
temp-install: EXTRA_INSTALL+=$(subdir)

View File

@ -1,3 +1,3 @@
# Generated subdirectories
/output_iso/
/isolation_output/
/tmp_check/

View File

@ -1,9 +1,12 @@
# src/test/modules/brin/Makefile
EXTRA_INSTALL = contrib/pageinspect
# 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) ./isolation_output
ISOLATION = summarization-and-inprogress-insertion
TAP_TESTS = 1
EXTRA_INSTALL=contrib/pageinspect
ISOLATIONCHECKS=summarization-and-inprogress-insertion
ifdef USE_PGXS
PG_CONFIG = pg_config
@ -15,3 +18,19 @@ top_builddir = ../../../..
include $(top_builddir)/src/Makefile.global
include $(top_srcdir)/contrib/contrib-global.mk
endif
check: isolation-check prove-check
isolation-check: | submake-isolation temp-install
$(MKDIR_P) isolation_output
$(pg_isolation_regress_check) \
--outputdir=./isolation_output \
$(ISOLATIONCHECKS)
prove-check: | temp-install
$(prove_check)
.PHONY: check isolation-check prove-check
submake-isolation:
$(MAKE) -C $(top_builddir)/src/test/isolation all

View File

@ -2,7 +2,6 @@
REGRESS = commit_timestamp
REGRESS_OPTS = --temp-config=$(top_srcdir)/src/test/modules/commit_ts/commit_ts.conf
TAP_TESTS = 1
ifdef USE_PGXS
PG_CONFIG = pg_config
@ -14,3 +13,8 @@ top_builddir = ../../../..
include $(top_builddir)/src/Makefile.global
include $(top_srcdir)/contrib/contrib-global.mk
endif
check: prove-check
prove-check: | temp-install
$(prove_check)

View File

@ -4,12 +4,7 @@
# we have to clean those result files explicitly
EXTRA_CLEAN = $(pg_regress_clean_files)
ISOLATION = sto_using_cursor sto_using_select sto_using_hash_index
ISOLATION_OPTS = --temp-config $(top_srcdir)/src/test/modules/snapshot_too_old/sto.conf
# Disabled because these tests require "old_snapshot_threshold" >= 0, which
# typical installcheck users do not have (e.g. buildfarm clients).
NO_INSTALLCHECK = 1
ISOLATIONCHECKS=sto_using_cursor sto_using_select sto_using_hash_index
ifdef USE_PGXS
PG_CONFIG = pg_config
@ -22,7 +17,31 @@ include $(top_builddir)/src/Makefile.global
include $(top_srcdir)/contrib/contrib-global.mk
endif
# Disabled because these tests require "old_snapshot_threshold" >= 0, which
# typical installcheck users do not have (e.g. buildfarm clients).
installcheck:;
# But it can nonetheless be very helpful to run tests on preexisting
# installation, allow to do so, but only if requested explicitly.
installcheck-force:
$(pg_isolation_regress_installcheck) $(ISOLATION)
installcheck-force: isolationcheck-install-force
check: isolationcheck
submake-isolation:
$(MAKE) -C $(top_builddir)/src/test/isolation all
submake-test_snapshot_too_old:
$(MAKE) -C $(top_builddir)/src/test/modules/snapshot_too_old
isolationcheck: | submake-isolation submake-test_snapshot_too_old temp-install
$(pg_isolation_regress_check) \
--temp-config $(top_srcdir)/src/test/modules/snapshot_too_old/sto.conf \
$(ISOLATIONCHECKS)
isolationcheck-install-force: all | submake-isolation submake-test_snapshot_too_old temp-install
$(pg_isolation_regress_installcheck) \
$(ISOLATIONCHECKS)
.PHONY: check submake-test_snapshot_too_old isolationcheck isolationcheck-install-force
temp-install: EXTRA_INSTALL=src/test/modules/snapshot_too_old

View File

@ -7,7 +7,6 @@ EXTENSION = test_pg_dump
DATA = test_pg_dump--1.0.sql
REGRESS = test_pg_dump
TAP_TESTS = 1
ifdef USE_PGXS
PG_CONFIG = pg_config
@ -19,3 +18,8 @@ top_builddir = ../../../..
include $(top_builddir)/src/Makefile.global
include $(top_srcdir)/contrib/contrib-global.mk
endif
check: prove-check
prove-check: | temp-install
$(prove_check)