From 9e545310085dd7a3692221e96c32054fee151d79 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 17 Jul 2005 18:29:37 +0000 Subject: [PATCH] Make pg_regress accept a command-line option for the temporary installation's port number, and use a default value for it that is dependent on the configuration-time DEF_PGPORT. Should make the world safe for running parallel 'make check' in different branches. Back-patch as far as 7.4 so that this actually is useful. --- src/test/regress/GNUmakefile | 7 +++++-- src/test/regress/pg_regress.sh | 13 ++++++++++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/test/regress/GNUmakefile b/src/test/regress/GNUmakefile index 04805d6eb9..1d13254408 100644 --- a/src/test/regress/GNUmakefile +++ b/src/test/regress/GNUmakefile @@ -22,6 +22,9 @@ override CFLAGS += $(CFLAGS_SL) SHLIB_LINK = $(BE_DLLLIBS) +# port number for temp-installation test postmaster +TEMP_PORT = 5$(DEF_PGPORT) + # default encoding MULTIBYTE = SQL_ASCII @@ -119,7 +122,7 @@ all-spi: ## check: all - $(SHELL) ./pg_regress --temp-install --top-builddir=$(top_builddir) --schedule=$(srcdir)/parallel_schedule --multibyte=$(MULTIBYTE) $(MAXCONNOPT) + $(SHELL) ./pg_regress --temp-install --top-builddir=$(top_builddir) --temp-port=$(TEMP_PORT) --schedule=$(srcdir)/parallel_schedule --multibyte=$(MULTIBYTE) $(MAXCONNOPT) installcheck: all $(SHELL) ./pg_regress --schedule=$(srcdir)/serial_schedule --multibyte=$(MULTIBYTE) @@ -134,7 +137,7 @@ bigtest: $(SHELL) ./pg_regress --schedule=$(srcdir)/serial_schedule --multibyte=$(MULTIBYTE) numeric_big bigcheck: - $(SHELL) ./pg_regress --temp-install --top-builddir=$(top_builddir) --schedule=$(srcdir)/parallel_schedule --multibyte=$(MULTIBYTE) $(MAXCONNOPT) numeric_big + $(SHELL) ./pg_regress --temp-install --top-builddir=$(top_builddir) --temp-port=$(TEMP_PORT) --schedule=$(srcdir)/parallel_schedule --multibyte=$(MULTIBYTE) $(MAXCONNOPT) numeric_big ## diff --git a/src/test/regress/pg_regress.sh b/src/test/regress/pg_regress.sh index 4ab3e82b88..7874065ddc 100644 --- a/src/test/regress/pg_regress.sh +++ b/src/test/regress/pg_regress.sh @@ -24,6 +24,7 @@ Options: Options for \`temp-install' mode: --top-builddir=DIR (relative) path to top level build directory + --temp-port=PORT port number to start temp postmaster on Options for using an existing installation: --host=HOST use postmaster running on HOST @@ -95,6 +96,7 @@ unset multibyte dbname=regression hostname=localhost maxconnections=0 +temp_port=65432 : ${GMAKE='@GMAKE@'} @@ -140,6 +142,9 @@ do --top-builddir=*) top_builddir=`expr "x$1" : "x--top-builddir=\(.*\)"` shift;; + --temp-port=*) + temp_port=`expr "x$1" : "x--temp-port=\(.*\)"` + shift;; --host=*) PGHOST=`expr "x$1" : "x--host=\(.*\)"` export PGHOST @@ -311,7 +316,13 @@ then unset PGHOST unset PGHOSTADDR fi - PGPORT=65432 + + # since Makefile isn't very bright, check for out-of-range temp_port + if [ "$temp_port" -ge 1024 -a "$temp_port" -le 65535 ] ; then + PGPORT=$temp_port + else + PGPORT=65432 + fi export PGPORT # Get rid of environment stuff that might cause psql to misbehave -- 2.39.5