]> granicus.if.org Git - postgresql/commitdiff
Make pg_regress accept a command-line option for the temporary installation's
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 17 Jul 2005 18:28:45 +0000 (18:28 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 17 Jul 2005 18:28:45 +0000 (18:28 +0000)
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
src/test/regress/pg_regress.sh

index 381163808aef3c02dbb65d93e43fe1ce9d39bbbd..fec8983e1d570456e1ca5a70e1be9bf4fc7a7e6f 100644 (file)
@@ -7,7 +7,7 @@
 #
 #
 # IDENTIFICATION
-#    $PostgreSQL: pgsql/src/test/regress/GNUmakefile,v 1.49 2005/05/11 21:52:03 tgl Exp $
+#    $PostgreSQL: pgsql/src/test/regress/GNUmakefile,v 1.50 2005/07/17 18:28:45 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) --load-language=plpgsql $(MAXCONNOPT)
+       $(SHELL) ./pg_regress --temp-install --top-builddir=$(top_builddir) --temp-port=$(TEMP_PORT) --schedule=$(srcdir)/parallel_schedule --multibyte=$(MULTIBYTE) --load-language=plpgsql $(MAXCONNOPT)
 
 installcheck: all
        -rm -rf ./testtablespace
@@ -153,7 +156,7 @@ bigtest:
        $(SHELL) ./pg_regress --schedule=$(srcdir)/serial_schedule --multibyte=$(MULTIBYTE) --load-language=plpgsql numeric_big
 
 bigcheck:
-       $(SHELL) ./pg_regress --temp-install --top-builddir=$(top_builddir) --schedule=$(srcdir)/parallel_schedule --multibyte=$(MULTIBYTE) --load-language=plpgsql $(MAXCONNOPT) numeric_big
+       $(SHELL) ./pg_regress --temp-install --top-builddir=$(top_builddir) --temp-port=$(TEMP_PORT) --schedule=$(srcdir)/parallel_schedule --multibyte=$(MULTIBYTE) --load-language=plpgsql $(MAXCONNOPT) numeric_big
 
 
 ##
index 0ebb6621657d57520b774b3fac2ca106a5e34d8e..b68077fe9c60fe3f8d85d51298ea307e973d8da6 100644 (file)
@@ -1,5 +1,5 @@
 #! /bin/sh
-# $PostgreSQL: pgsql/src/test/regress/pg_regress.sh,v 1.58 2005/06/25 23:04:06 tgl Exp $
+# $PostgreSQL: pgsql/src/test/regress/pg_regress.sh,v 1.59 2005/07/17 18:28:45 tgl Exp $
 
 me=`basename $0`
 : ${TMPDIR=/tmp}
@@ -27,6 +27,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
@@ -106,6 +107,7 @@ unset multibyte
 dbname=regression
 hostname=localhost
 maxconnections=0
+temp_port=65432
 load_langs=""
 
 : ${GMAKE='@GMAKE@'}
@@ -160,6 +162,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
@@ -342,7 +347,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