summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane2008-05-30 00:04:32 +0000
committerTom Lane2008-05-30 00:04:32 +0000
commitb1b09e9cb87455d9f708c5419e37e64592b99d8b (patch)
tree768b753cb10f1a34820c90a4b06a6b2f240aeafa
parent703ac70bb53e414c09c455906629d7ae57f5bcee (diff)
Copy refint.so and autoinc.so into the src/test/regress directory during
"make all", and then reference them there during the actual tests. This makes the handling of these files more parallel to that of regress.so, and in particular simplifies use of the regression tests outside the original build tree. The PGDG and Red Hat RPMs have been doing this via patches for a very long time. Inclusion of the change in core was requested by Jørgen Austvik of Sun, and I can't see any reason not to. I attempted to fix the MSVC scripts for this too, but they may need further tweaking ...
-rw-r--r--doc/src/sgml/regress.sgml7
-rw-r--r--src/test/regress/GNUmakefile28
-rw-r--r--src/test/regress/input/create_function_1.source6
-rw-r--r--src/test/regress/output/create_function_1.source6
-rwxr-xr-xsrc/tools/msvc/clean.bat2
-rw-r--r--src/tools/msvc/vcregress.pl4
6 files changed, 32 insertions, 21 deletions
diff --git a/doc/src/sgml/regress.sgml b/doc/src/sgml/regress.sgml
index f0588c6d9f..10d81b21e6 100644
--- a/doc/src/sgml/regress.sgml
+++ b/doc/src/sgml/regress.sgml
@@ -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 8581cdd934..f86c34e672 100644
--- a/src/test/regress/GNUmakefile
+++ b/src/test/regress/GNUmakefile
@@ -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 fb357d93b0..15de37ca26 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 1b309cf11a..5c3779a225 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 353404e61d..0bb914cf65 100755
--- a/src/tools/msvc/clean.bat
+++ b/src/tools/msvc/clean.bat
@@ -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 c80b0816be..d6aa2ff0e3 100644
--- a/src/tools/msvc/vcregress.pl
+++ b/src/tools/msvc/vcregress.pl
@@ -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}";