From f6cb7198edd278067c11560b01c0421c1a616466 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 17 Jul 2005 18:29:13 +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 | 9 ++++++--- src/test/regress/pg_regress.sh | 15 +++++++++++++-- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/test/regress/GNUmakefile b/src/test/regress/GNUmakefile index 4eccadea8e..646aceb666 100644 --- a/src/test/regress/GNUmakefile +++ b/src/test/regress/GNUmakefile @@ -7,7 +7,7 @@ # # # IDENTIFICATION -# $PostgreSQL: pgsql/src/test/regress/GNUmakefile,v 1.48 2004/11/17 18:05:06 tgl Exp $ +# $PostgreSQL: pgsql/src/test/regress/GNUmakefile,v 1.48.4.1 2005/07/17 18:29:13 tgl Exp $ # #------------------------------------------------------------------------- @@ -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 @@ -130,7 +133,7 @@ all-spi: check: all -rm -rf ./testtablespace mkdir ./testtablespace - $(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 -rm -rf ./testtablespace @@ -153,7 +156,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 03a349ca5f..aeb385b9ec 100644 --- a/src/test/regress/pg_regress.sh +++ b/src/test/regress/pg_regress.sh @@ -1,5 +1,5 @@ #! /bin/sh -# $PostgreSQL: pgsql/src/test/regress/pg_regress.sh,v 1.53 2005/01/15 04:15:51 tgl Exp $ +# $PostgreSQL: pgsql/src/test/regress/pg_regress.sh,v 1.53.4.1 2005/07/17 18:29:13 tgl Exp $ me=`basename $0` : ${TMPDIR=/tmp} @@ -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 @@ -103,6 +104,7 @@ unset multibyte dbname=regression hostname=localhost maxconnections=0 +temp_port=65432 : ${GMAKE='@GMAKE@'} @@ -148,6 +150,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 @@ -330,7 +335,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.50.1