]> granicus.if.org Git - postgresql/commitdiff
Give pg_regress a --load-language option, so that it can be used to test
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 11 May 2005 21:52:03 +0000 (21:52 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 11 May 2005 21:52:03 +0000 (21:52 +0000)
other PLs besides plpgsql.  Andrew Dunstan

src/test/regress/GNUmakefile
src/test/regress/pg_regress.sh

index 4eccadea8e9b8ffacfe7aff30bb1cfd2d7c9fd5b..381163808aef3c02dbb65d93e43fe1ce9d39bbbd 100644 (file)
@@ -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
 
 
 ##
index 03a349ca5fff309eda6a925d8d11edc76e991d0d..f637bb659e80417cef540228532016f5720719c5 100644 (file)
@@ -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