From bf4bd50ff76d2049ba4a96762e729394b4f8fa22 Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Fri, 30 May 2008 00:04:32 +0000
Subject: [PATCH] =?UTF-8?q?Copy=20refint.so=20and=20autoinc.so=20into=20th?=
 =?UTF-8?q?e=20src/test/regress=20directory=20during=20"make=20all",=20and?=
 =?UTF-8?q?=20then=20reference=20them=20there=20during=20the=20actual=20te?=
 =?UTF-8?q?sts.=20=20This=20makes=20the=20handling=20of=20these=20files=20?=
 =?UTF-8?q?more=20parallel=20to=20that=20of=20regress.so,=20and=20in=20par?=
 =?UTF-8?q?ticular=20simplifies=20use=20of=20the=20regression=20tests=20ou?=
 =?UTF-8?q?tside=20the=20original=20build=20tree.=20=20The=20PGDG=20and=20?=
 =?UTF-8?q?Red=20Hat=20RPMs=20have=20been=20doing=20this=20via=20patches?=
 =?UTF-8?q?=20for=20a=20very=20long=20time.=20=20Inclusion=20of=20the=20ch?=
 =?UTF-8?q?ange=20in=20core=20was=20requested=20by=20J=C3=B8rgen=20Austvik?=
 =?UTF-8?q?=20of=20Sun,=20and=20I=20can't=20see=20any=20reason=20not=20to.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

I attempted to fix the MSVC scripts for this too, but they may need
further tweaking ...
---
 doc/src/sgml/regress.sgml                     |  9 +++---
 src/test/regress/GNUmakefile                  | 30 ++++++++++++-------
 .../regress/input/create_function_1.source    |  6 ++--
 .../regress/output/create_function_1.source   |  6 ++--
 src/tools/msvc/clean.bat                      |  4 ++-
 src/tools/msvc/vcregress.pl                   |  6 ++--
 6 files changed, 36 insertions(+), 25 deletions(-)

diff --git a/doc/src/sgml/regress.sgml b/doc/src/sgml/regress.sgml
index 9d65e4e0f4a..d09137fcc0f 100644
--- a/doc/src/sgml/regress.sgml
+++ b/doc/src/sgml/regress.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/regress.sgml,v 1.58 2007/06/12 17:49:12 mha Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/regress.sgml,v 1.59 2008/05/30 00:04:32 tgl Exp $ -->
 
  <chapter id="regress">
   <title id="regress-title">Regression Tests</title>
@@ -48,9 +48,9 @@ gmake check
    script.  At the end you should see something like
 <screen>
 <computeroutput>
-======================
- All 100 tests passed.
-======================
+=======================
+ All 115 tests passed.
+=======================
 </computeroutput>
 </screen>
    or otherwise a note about which tests failed.  See <xref
@@ -67,7 +67,6 @@ gmake check
     For example
 <screen>
 <prompt>root# </prompt><userinput>chmod -R a+w src/test/regress</userinput>
-<prompt>root# </prompt><userinput>chmod -R a+w contrib/spi</userinput>
 <prompt>root# </prompt><userinput>su - joeuser</userinput>
 <prompt>joeuser$ </prompt><userinput>cd <replaceable>top-level build directory</></userinput>
 <prompt>joeuser$ </prompt><userinput>gmake check</userinput>
diff --git a/src/test/regress/GNUmakefile b/src/test/regress/GNUmakefile
index f8eb07e8b7a..deef2c60f6a 100644
--- a/src/test/regress/GNUmakefile
+++ b/src/test/regress/GNUmakefile
@@ -6,7 +6,7 @@
 # Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
 # Portions Copyright (c) 1994, Regents of the University of California
 #
-# $PostgreSQL: pgsql/src/test/regress/GNUmakefile,v 1.73 2008/04/07 14:15:58 petere Exp $
+# $PostgreSQL: pgsql/src/test/regress/GNUmakefile,v 1.74 2008/05/30 00:04:32 tgl Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -14,8 +14,6 @@ subdir = src/test/regress
 top_builddir = ../../..
 include $(top_builddir)/src/Makefile.global
 
-contribdir = $(top_builddir)/contrib
-
 # port number for temp-installation test postmaster
 TEMP_PORT = 5$(DEF_PGPORT)
 
@@ -115,20 +113,33 @@ $(remaining_files_build): $(abs_builddir)/%: $(srcdir)/%
 endif
 
 
-# And finally some extra C modules...
+# Get some extra C modules from contrib/spi...
+
+all: refint$(DLSUFFIX) autoinc$(DLSUFFIX)
+
+refint$(DLSUFFIX): $(top_builddir)/contrib/spi/refint$(DLSUFFIX)
+	cp $< $@
+
+autoinc$(DLSUFFIX): $(top_builddir)/contrib/spi/autoinc$(DLSUFFIX)
+	cp $< $@
 
-all: all-spi tablespace-setup
+$(top_builddir)/contrib/spi/refint$(DLSUFFIX): $(top_srcdir)/contrib/spi/refint.c
+	$(MAKE) -C $(top_builddir)/contrib/spi refint$(DLSUFFIX)
+
+$(top_builddir)/contrib/spi/autoinc$(DLSUFFIX): $(top_srcdir)/contrib/spi/autoinc.c
+	$(MAKE) -C $(top_builddir)/contrib/spi autoinc$(DLSUFFIX)
 
-.PHONY: all-spi
-all-spi:
-	$(MAKE) -C $(contribdir)/spi refint$(DLSUFFIX) autoinc$(DLSUFFIX)
 
 # Tablespace setup
+
+all: tablespace-setup
+
 .PHONY: tablespace-setup
 tablespace-setup:
 	rm -rf ./testtablespace
 	mkdir ./testtablespace
 
+
 ##
 ## Run tests
 ##
@@ -162,8 +173,7 @@ bigcheck: all
 
 clean distclean maintainer-clean: clean-lib
 # things built by `all' target
-	rm -f $(OBJS)
-	$(MAKE) -C $(contribdir)/spi clean
+	rm -f $(OBJS) refint$(DLSUFFIX) autoinc$(DLSUFFIX)
 	rm -f $(output_files) $(input_files) pg_regress_main.o pg_regress.o pg_regress$(X)
 # things created by various check targets
 	rm -rf testtablespace
diff --git a/src/test/regress/input/create_function_1.source b/src/test/regress/input/create_function_1.source
index fb357d93b07..15de37ca263 100644
--- a/src/test/regress/input/create_function_1.source
+++ b/src/test/regress/input/create_function_1.source
@@ -24,17 +24,17 @@ CREATE FUNCTION int44out(city_budget)
 
 CREATE FUNCTION check_primary_key ()
 	RETURNS trigger
-	AS '@abs_builddir@/../../../contrib/spi/refint@DLSUFFIX@'
+	AS '@abs_builddir@/refint@DLSUFFIX@'
 	LANGUAGE C;
 
 CREATE FUNCTION check_foreign_key ()
 	RETURNS trigger
-	AS '@abs_builddir@/../../../contrib/spi/refint@DLSUFFIX@'
+	AS '@abs_builddir@/refint@DLSUFFIX@'
 	LANGUAGE C;
 
 CREATE FUNCTION autoinc ()
 	RETURNS trigger
-	AS '@abs_builddir@/../../../contrib/spi/autoinc@DLSUFFIX@'
+	AS '@abs_builddir@/autoinc@DLSUFFIX@'
 	LANGUAGE C;
 
 CREATE FUNCTION funny_dup17 ()
diff --git a/src/test/regress/output/create_function_1.source b/src/test/regress/output/create_function_1.source
index 1b309cf11a7..5c3779a2250 100644
--- a/src/test/regress/output/create_function_1.source
+++ b/src/test/regress/output/create_function_1.source
@@ -25,15 +25,15 @@ CREATE FUNCTION int44out(city_budget)
 NOTICE:  argument type city_budget is only a shell
 CREATE FUNCTION check_primary_key ()
 	RETURNS trigger
-	AS '@abs_builddir@/../../../contrib/spi/refint@DLSUFFIX@'
+	AS '@abs_builddir@/refint@DLSUFFIX@'
 	LANGUAGE C;
 CREATE FUNCTION check_foreign_key ()
 	RETURNS trigger
-	AS '@abs_builddir@/../../../contrib/spi/refint@DLSUFFIX@'
+	AS '@abs_builddir@/refint@DLSUFFIX@'
 	LANGUAGE C;
 CREATE FUNCTION autoinc ()
 	RETURNS trigger
-	AS '@abs_builddir@/../../../contrib/spi/autoinc@DLSUFFIX@'
+	AS '@abs_builddir@/autoinc@DLSUFFIX@'
 	LANGUAGE C;
 CREATE FUNCTION funny_dup17 ()
         RETURNS trigger
diff --git a/src/tools/msvc/clean.bat b/src/tools/msvc/clean.bat
index 9b3b278bad9..d061f7c57f5 100755
--- a/src/tools/msvc/clean.bat
+++ b/src/tools/msvc/clean.bat
@@ -1,5 +1,5 @@
 @echo off
-REM $PostgreSQL: pgsql/src/tools/msvc/clean.bat,v 1.10 2008/02/06 15:13:25 mha Exp $
+REM $PostgreSQL: pgsql/src/tools/msvc/clean.bat,v 1.11 2008/05/30 00:04:32 tgl Exp $
 
 set DIST=0
 if "%1"=="dist" set DIST=1
@@ -65,6 +65,8 @@ if exist src\test\regress\tmp_check rd /s /q src\test\regress\tmp_check
 if exist contrib\spi\refint.dll del /q contrib\spi\refint.dll
 if exist contrib\spi\autoinc.dll del /q contrib\spi\autoinc.dll
 if exist src\test\regress\regress.dll del /q src\test\regress\regress.dll
+if exist src\test\regress\refint.dll del /q src\test\regress\refint.dll
+if exist src\test\regress\autoinc.dll del /q src\test\regress\autoinc.dll
 
 REM Clean up datafiles built with contrib
 REM cd contrib
diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl
index 32e2548e976..53f6c59501f 100644
--- a/src/tools/msvc/vcregress.pl
+++ b/src/tools/msvc/vcregress.pl
@@ -1,7 +1,7 @@
 
 # -*-perl-*- hey - emacs - this is a perl file
 
-# $PostgreSQL: pgsql/src/tools/msvc/vcregress.pl,v 1.6 2007/11/13 22:49:47 tgl Exp $
+# $PostgreSQL: pgsql/src/tools/msvc/vcregress.pl,v 1.7 2008/05/30 00:04:32 tgl Exp $
 
 use strict;
 
@@ -36,8 +36,8 @@ else
 # use a capital C here because config.pl has $config
 my $Config = -e "release/postgres/postgres.exe" ? "Release" : "Debug";
 
-copy("$Config/refint/refint.dll","contrib/spi");
-copy("$Config/autoinc/autoinc.dll","contrib/spi");
+copy("$Config/refint/refint.dll","src/test/regress");
+copy("$Config/autoinc/autoinc.dll","src/test/regress");
 copy("$Config/regress/regress.dll","src/test/regress");
 
 $ENV{PATH} = "../../../$Config/libpq;../../$Config/libpq;$ENV{PATH}";
-- 
GitLab