Add a --dbname option to the pg_regress script, and use pl_regression
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 17 May 2005 18:26:23 +0000 (18:26 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 17 May 2005 18:26:23 +0000 (18:26 +0000)
for testing PLs and contrib_regression for testing contrib, instead of
overwriting the core system's regression database as formerly done.
Andrew Dunstan

contrib/contrib-global.mk
contrib/dblink/expected/dblink.out
contrib/dblink/sql/dblink.sql
src/Makefile.global.in
src/makefiles/pgxs.mk
src/pl/plperl/GNUmakefile
src/pl/plpython/Makefile
src/pl/tcl/Makefile
src/test/regress/pg_regress.sh

index a6f7b9f6d78125d4424ce45cfdf82ea13610708c..c4601e1cd5bb0d88f004ee1f4f7994f9c79dc269 100644 (file)
@@ -1,4 +1,5 @@
 # $PostgreSQL$
 
 NO_PGXS = 1
+REGRESS_OPTS = --dbname=$(CONTRIB_TESTDB)
 include $(top_srcdir)/src/makefiles/pgxs.mk
index 4aebfd974da57d4ce939699c8c92b2fe6ca5d072..de09f6a8e0721794a04c4c9d62275bbf04a3b95d 100644 (file)
@@ -98,7 +98,7 @@ SELECT dblink_build_sql_delete('"MySchema"."Foo"','1 2',2,'{"0", "a"}');
 
 -- regular old dblink
 SELECT *
-FROM dblink('dbname=regression','SELECT * FROM foo') AS t(a int, b text, c text[])
+FROM dblink('dbname=contrib_regression','SELECT * FROM foo') AS t(a int, b text, c text[])
 WHERE t.a > 7;
  a | b |     c      
 ---+---+------------
@@ -112,7 +112,7 @@ FROM dblink('SELECT * FROM foo') AS t(a int, b text, c text[])
 WHERE t.a > 7;
 ERROR:  connection not available
 -- create a persistent connection
-SELECT dblink_connect('dbname=regression');
+SELECT dblink_connect('dbname=contrib_regression');
  dblink_connect 
 ----------------
  OK
@@ -260,14 +260,14 @@ WHERE t.a > 7;
 ERROR:  connection not available
 -- put more data into our slave table, first using arbitrary connection syntax
 -- but truncate the actual return value so we can use diff to check for success
-SELECT substr(dblink_exec('dbname=regression','INSERT INTO foo VALUES(10,''k'',''{"a10","b10","c10"}'')'),1,6);
+SELECT substr(dblink_exec('dbname=contrib_regression','INSERT INTO foo VALUES(10,''k'',''{"a10","b10","c10"}'')'),1,6);
  substr 
 --------
  INSERT
 (1 row)
 
 -- create a persistent connection
-SELECT dblink_connect('dbname=regression');
+SELECT dblink_connect('dbname=contrib_regression');
  dblink_connect 
 ----------------
  OK
@@ -383,7 +383,7 @@ ERROR:  could not establish connection
 DETAIL:  missing "=" after "myconn" in connection info string
 
 -- create a named persistent connection
-SELECT dblink_connect('myconn','dbname=regression');
+SELECT dblink_connect('myconn','dbname=contrib_regression');
  dblink_connect 
 ----------------
  OK
@@ -420,10 +420,10 @@ SELECT dblink_exec('myconn','ABORT');
 
 -- create a second named persistent connection
 -- should error with "duplicate connection name"
-SELECT dblink_connect('myconn','dbname=regression');
+SELECT dblink_connect('myconn','dbname=contrib_regression');
 ERROR:  duplicate connection name
 -- create a second named persistent connection with a new name
-SELECT dblink_connect('myconn2','dbname=regression');
+SELECT dblink_connect('myconn2','dbname=contrib_regression');
  dblink_connect 
 ----------------
  OK
@@ -540,7 +540,7 @@ ERROR:  could not establish connection
 DETAIL:  missing "=" after "myconn" in connection info string
 
 -- create a named persistent connection
-SELECT dblink_connect('myconn','dbname=regression');
+SELECT dblink_connect('myconn','dbname=contrib_regression');
  dblink_connect 
 ----------------
  OK
index 61d0adb02099fb585b98964a1c85bcbee1b140d7..b574869569790fc20c2f8937c0b14d3d459376e2 100644 (file)
@@ -65,7 +65,7 @@ SELECT dblink_build_sql_delete('"MySchema"."Foo"','1 2',2,'{"0", "a"}');
 
 -- regular old dblink
 SELECT *
-FROM dblink('dbname=regression','SELECT * FROM foo') AS t(a int, b text, c text[])
+FROM dblink('dbname=contrib_regression','SELECT * FROM foo') AS t(a int, b text, c text[])
 WHERE t.a > 7;
 
 -- should generate "connection not available" error
@@ -74,7 +74,7 @@ FROM dblink('SELECT * FROM foo') AS t(a int, b text, c text[])
 WHERE t.a > 7;
 
 -- create a persistent connection
-SELECT dblink_connect('dbname=regression');
+SELECT dblink_connect('dbname=contrib_regression');
 
 -- use the persistent connection
 SELECT *
@@ -138,10 +138,10 @@ WHERE t.a > 7;
 
 -- put more data into our slave table, first using arbitrary connection syntax
 -- but truncate the actual return value so we can use diff to check for success
-SELECT substr(dblink_exec('dbname=regression','INSERT INTO foo VALUES(10,''k'',''{"a10","b10","c10"}'')'),1,6);
+SELECT substr(dblink_exec('dbname=contrib_regression','INSERT INTO foo VALUES(10,''k'',''{"a10","b10","c10"}'')'),1,6);
 
 -- create a persistent connection
-SELECT dblink_connect('dbname=regression');
+SELECT dblink_connect('dbname=contrib_regression');
 
 -- put more data into our slave table, using persistent connection syntax
 -- but truncate the actual return value so we can use diff to check for success
@@ -193,7 +193,7 @@ FROM dblink('myconn','SELECT * FROM foo') AS t(a int, b text, c text[])
 WHERE t.a > 7;
 
 -- create a named persistent connection
-SELECT dblink_connect('myconn','dbname=regression');
+SELECT dblink_connect('myconn','dbname=contrib_regression');
 
 -- use the named persistent connection
 SELECT *
@@ -210,10 +210,10 @@ SELECT dblink_exec('myconn','ABORT');
 
 -- create a second named persistent connection
 -- should error with "duplicate connection name"
-SELECT dblink_connect('myconn','dbname=regression');
+SELECT dblink_connect('myconn','dbname=contrib_regression');
 
 -- create a second named persistent connection with a new name
-SELECT dblink_connect('myconn2','dbname=regression');
+SELECT dblink_connect('myconn2','dbname=contrib_regression');
 
 -- use the second named persistent connection
 SELECT *
@@ -263,7 +263,7 @@ FROM dblink('myconn','SELECT * FROM foo') AS t(a int, b text, c text[])
 WHERE t.a > 7;
 
 -- create a named persistent connection
-SELECT dblink_connect('myconn','dbname=regression');
+SELECT dblink_connect('myconn','dbname=contrib_regression');
 
 -- put more data into our slave table, using named persistent connection syntax
 -- but truncate the actual return value so we can use diff to check for success
index 81d30c54f91712cab1d592cbc6e5b4fd9813d1d0..56773b3a8e46efbf84fe13de38ffff474b57b203 100644 (file)
@@ -228,6 +228,9 @@ XGETTEXT = @XGETTEXT@
 GZIP   = gzip
 BZIP2  = bzip2
 
+PL_TESTDB = pl_regression
+CONTRIB_TESTDB = contrib_regression
+
 # Installation.
 
 INSTALL        = $(SHELL) $(top_srcdir)/config/install-sh -c
index 56569a0de66b3b8e93ca362519e6f389990a1ac3..f81a5c93620fba18de532f5e5baed390465cd218 100644 (file)
@@ -224,12 +224,12 @@ submake:
 
 # against installed postmaster
 installcheck: submake
-       $(top_builddir)/src/test/regress/pg_regress $(REGRESS)
+       $(SHELL) $(top_builddir)/src/test/regress/pg_regress $(REGRESS_OPTS) $(REGRESS)
 
 # in-tree test doesn't work yet (no way to install my shared library)
 #check: all submake
-#      $(top_builddir)/src/test/regress/pg_regress --temp-install \
-#        --top-builddir=$(top_builddir) $(REGRESS)
+#      $(SHELL) $(top_builddir)/src/test/regress/pg_regress --temp-install \
+#        --top-builddir=$(top_builddir) $(REGRESS_OPTS) $(REGRESS)
 check:
        @echo "'make check' is not supported."
        @echo "Do 'make install', then 'make installcheck' instead."
index 412f28fb9faf66ac48bb9ccd0d906e216da3ba77..cb3a676e97c7cc52b7d63c8af78a07e2ac849459 100644 (file)
@@ -36,6 +36,7 @@ OBJS = plperl.o spi_internal.o SPI.o
 
 SHLIB_LINK = $(perl_embed_ldflags) $(BE_DLLLIBS)
 
+REGRESS_OPTS = --dbname=$(PL_TESTDB) --load-language=plperl
 REGRESS = plperl
 
 include $(top_srcdir)/src/Makefile.shlib
@@ -62,7 +63,7 @@ uninstall:
        rm -f $(DESTDIR)$(pkglibdir)/plperl$(DLSUFFIX)
 
 installcheck: submake
-       $(SHELL) $(top_builddir)/src/test/regress/pg_regress --load-language=plperl $(REGRESS)
+       $(SHELL) $(top_builddir)/src/test/regress/pg_regress $(REGRESS_OPTS) $(REGRESS)
 
 .PHONY: submake
 submake:
index 154b5e231e2af2d27feea4a563fca1a10560b297..48ed3c86bb2135e68eefebf838267e44fdb4c706 100644 (file)
@@ -58,6 +58,7 @@ endif
 
 SHLIB_LINK = $(BE_DLLLIBS) $(python_libspec) $(python_additional_libs)
 
+REGRESS_OPTS = --dbname=$(PL_TESTDB) --load-language=plpythonu
 REGRESS = plpython_schema plpython_populate plpython_function plpython_test plpython_error plpython_drop
 
 include $(top_srcdir)/src/Makefile.shlib
@@ -81,7 +82,7 @@ uninstall:
        rm -f $(DESTDIR)$(pkglibdir)/plpython$(DLSUFFIX)
 
 installcheck: submake
-       $(SHELL) $(top_builddir)/src/test/regress/pg_regress --load-language=plpythonu $(REGRESS)
+       $(SHELL) $(top_builddir)/src/test/regress/pg_regress $(REGRESS_OPTS) $(REGRESS)
 
 .PHONY: submake
 submake:
index 022aec935c9d9d245033357ecc993c0bc4178235..4955a39bb5dce71a8b1a6570ae2083fc7484b62e 100644 (file)
@@ -40,6 +40,7 @@ SO_MAJOR_VERSION = 2
 SO_MINOR_VERSION = 0
 OBJS = pltcl.o
 
+REGRESS_OPTS = --dbname=$(PL_TESTDB) --load-language=pltcl
 REGRESS = pltcl_setup pltcl_queries
 
 include $(top_srcdir)/src/Makefile.shlib
@@ -68,7 +69,7 @@ uninstall:
        $(MAKE) -C modules $@
 
 installcheck: submake
-       $(SHELL) $(top_builddir)/src/test/regress/pg_regress --load-language=pltcl $(REGRESS)
+       $(SHELL) $(top_builddir)/src/test/regress/pg_regress $(REGRESS_OPTS) $(REGRESS)
 
 .PHONY: submake
 submake:
index 62be37e8ba09af1b4c1407a84d24b831b20ab2ec..de2238f0eb2bd00af775bba0bb1f5f8cc8f74a32 100644 (file)
@@ -11,6 +11,7 @@ PostgreSQL regression test driver
 Usage: $me [options...] [extra tests...]
 
 Options:
+  --dbname=DB               use database DB (default \`regression')
   --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
@@ -123,6 +124,9 @@ do
         --version)
                 echo "pg_regress (PostgreSQL @VERSION@)"
                 exit 0;;
+        --dbname=*)
+                dbname=`expr "x$1" : "x--dbname=\(.*\)"`
+                shift;;
         --debug)
                 debug=yes
                 shift;;