From 34b788d67498f476b539550c2b76e13ae70a53b4 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 11 May 2005 21:52:03 +0000 Subject: [PATCH] Give pg_regress a --load-language option, so that it can be used to test other PLs besides plpgsql. Andrew Dunstan --- src/test/regress/GNUmakefile | 12 ++++++------ src/test/regress/pg_regress.sh | 26 +++++++++++++++++++------- 2 files changed, 25 insertions(+), 13 deletions(-) diff --git a/src/test/regress/GNUmakefile b/src/test/regress/GNUmakefile index 4eccadea8e..381163808a 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.49 2005/05/11 21:52:03 tgl Exp $ # #------------------------------------------------------------------------- @@ -130,17 +130,17 @@ 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) --schedule=$(srcdir)/parallel_schedule --multibyte=$(MULTIBYTE) --load-language=plpgsql $(MAXCONNOPT) installcheck: all -rm -rf ./testtablespace mkdir ./testtablespace - $(SHELL) ./pg_regress --schedule=$(srcdir)/serial_schedule --multibyte=$(MULTIBYTE) + $(SHELL) ./pg_regress --schedule=$(srcdir)/serial_schedule --multibyte=$(MULTIBYTE) --load-language=plpgsql installcheck-parallel: all -rm -rf ./testtablespace mkdir ./testtablespace - $(SHELL) ./pg_regress --schedule=$(srcdir)/parallel_schedule --multibyte=$(MULTIBYTE) $(MAXCONNOPT) + $(SHELL) ./pg_regress --schedule=$(srcdir)/parallel_schedule --multibyte=$(MULTIBYTE) --load-language=plpgsql $(MAXCONNOPT) # old interfaces follow... @@ -150,10 +150,10 @@ runtest: installcheck runtest-parallel: installcheck-parallel bigtest: - $(SHELL) ./pg_regress --schedule=$(srcdir)/serial_schedule --multibyte=$(MULTIBYTE) numeric_big + $(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) $(MAXCONNOPT) numeric_big + $(SHELL) ./pg_regress --temp-install --top-builddir=$(top_builddir) --schedule=$(srcdir)/parallel_schedule --multibyte=$(MULTIBYTE) --load-language=plpgsql $(MAXCONNOPT) numeric_big ## diff --git a/src/test/regress/pg_regress.sh b/src/test/regress/pg_regress.sh index 03a349ca5f..f637bb659e 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.54 2005/05/11 21:52:03 tgl Exp $ me=`basename $0` : ${TMPDIR=/tmp} @@ -13,6 +13,8 @@ Usage: $me [options...] [extra tests...] Options: --debug turn on debug mode in programs that are run --inputdir=DIR take input files from DIR (default \`.') + --load-language=lang load the named language before running the + tests; can appear multiple times --max-connections=N maximum number of concurrent connections (default is 0 meaning unlimited) --multibyte=ENCODING use ENCODING as the multibyte encoding, and @@ -103,6 +105,7 @@ unset multibyte dbname=regression hostname=localhost maxconnections=0 +load_langs="" : ${GMAKE='@GMAKE@'} @@ -126,6 +129,11 @@ do --inputdir=*) inputdir=`expr "x$1" : "x--inputdir=\(.*\)"` shift;; + --load-language=*) + lang=`expr "x$1" : "x--load-language=\(.*\)"` + load_langs="$load_langs $lang" + unset lang + shift;; --multibyte=*) multibyte=`expr "x$1" : "x--multibyte=\(.*\)"` shift;; @@ -560,16 +568,20 @@ fi # ---------- -# Install the PL/pgSQL language in it +# Install any requested PL languages # ---------- if [ "$enable_shared" = yes ]; then - message "installing PL/pgSQL" - "$bindir/createlang" -L "$pkglibdir" $psql_options plpgsql $dbname - if [ $? -ne 0 ] && [ $? -ne 2 ]; then - echo "$me: createlang failed" - (exit 2); exit + for lang in xyzzy $load_langs ; do + if [ "$lang" != "xyzzy" ]; then + message "installing $lang" + "$bindir/createlang" -L "$pkglibdir" $psql_options $lang $dbname + if [ $? -ne 0 ] && [ $? -ne 2 ]; then + echo "$me: createlang $lang failed" + (exit 2); exit + fi fi + done fi -- GitLab