pg_upgrade: Don't use separate installation for test.
authorAndres Freund <andres@anarazel.de>
Tue, 21 May 2019 21:56:29 +0000 (14:56 -0700)
committerAndres Freund <andres@anarazel.de>
Tue, 21 May 2019 22:03:53 +0000 (15:03 -0700)
For pg_upgrade's test we (unless prevented by the caller via via
NO_TEMP_INSTALL) built a separate installation. That causes an
unnecessary slowdown after the infrastructure introduced by
dcae5faccab (and unnecessarily duplicates code).

Author: Andres Freund
Reviewed-By: Tom Lane
Discussion:
    https://postgr.es/m/20190521191918.z7kwnrlj45mk2k67@alap3.anarazel.de
    https://postgr.es/m/20190521195209.qfzwfxvymguuwlu5@alap3.anarazel.de

src/bin/pg_upgrade/Makefile
src/bin/pg_upgrade/test.sh

index 5a1894842518ce83139d864bc03479f82ae387f0..073b23b09a92f369f3288147c34d9a44b506dead 100644 (file)
@@ -14,16 +14,6 @@ OBJS = check.o controldata.o dump.o exec.o file.o function.o info.o \
 override CPPFLAGS := -DDLSUFFIX=\"$(DLSUFFIX)\" -I$(srcdir) -I$(libpq_srcdir) $(CPPFLAGS)
 LDFLAGS_INTERNAL += -L$(top_builddir)/src/fe_utils -lpgfeutils $(libpq_pgport)
 
-ifdef NO_TEMP_INSTALL
-   tbindir=$(abs_top_builddir)/tmp_install/$(bindir)
-   tlibdir=$(abs_top_builddir)/tmp_install/$(libdir)
-   DOINST =
-else
-   tbindir=$(bindir)
-   tlibdir=$(libdir)
-   DOINST = --install
-endif
-
 all: pg_upgrade
 
 pg_upgrade: $(OBJS) | submake-libpq submake-libpgport submake-libpgfeutils
@@ -45,8 +35,8 @@ clean distclean maintainer-clean:
           pg_upgrade_dump_globals.sql \
           pg_upgrade_dump_*.custom pg_upgrade_*.log
 
-check: test.sh all
-   MAKE=$(MAKE) bindir="$(tbindir)" libdir="$(tlibdir)" EXTRA_REGRESS_OPTS="$(EXTRA_REGRESS_OPTS)" $(SHELL) $< $(DOINST)
+check: test.sh all temp-install
+   MAKE=$(MAKE) $(with_temp_install) bindir=$(abs_top_builddir)/tmp_install/$(bindir) EXTRA_REGRESS_OPTS="$(EXTRA_REGRESS_OPTS)" $(SHELL) $<
 
 # installcheck is not supported because there's no meaningful way to test
 # pg_upgrade against a single already-running server
index 598f4a1e11bcbdada614616c47f9155f2bcaefd1..be0055ee6bc75905a257bc51c0087cd2ceb60b55 100644 (file)
@@ -70,39 +70,15 @@ export PGHOST
 # don't rely on $PWD here, as old shells don't set it
 temp_root=`pwd`/tmp_check
 
-if [ "$1" = '--install' ]; then
-   temp_install=$temp_root/install
-   bindir=$temp_install/$bindir
-   libdir=$temp_install/$libdir
-
-   "$MAKE" -s -C ../.. install DESTDIR="$temp_install"
-
-   # platform-specific magic to find the shared libraries; see pg_regress.c
-   LD_LIBRARY_PATH=$libdir:$LD_LIBRARY_PATH
-   export LD_LIBRARY_PATH
-   DYLD_LIBRARY_PATH=$libdir:$DYLD_LIBRARY_PATH
-   export DYLD_LIBRARY_PATH
-   LIBPATH=$libdir:$LIBPATH
-   export LIBPATH
-   SHLIB_PATH=$libdir:$SHLIB_PATH
-   export SHLIB_PATH
-   PATH=$libdir:$PATH
-
-   # We need to make it use psql from our temporary installation,
-   # because otherwise the installcheck run below would try to
-   # use psql from the proper installation directory, which might
-   # be outdated or missing. But don't override anything else that's
-   # already in EXTRA_REGRESS_OPTS.
-   EXTRA_REGRESS_OPTS="$EXTRA_REGRESS_OPTS --bindir='$bindir'"
-   export EXTRA_REGRESS_OPTS
-fi
-
 : ${oldbindir=$bindir}
 
 : ${oldsrc=../../..}
 oldsrc=`cd "$oldsrc" && pwd`
 newsrc=`cd ../../.. && pwd`
 
+# While in normal cases this will already be set up, adding bindir to
+# path allows test.sh to be invoked with different versions as
+# described in ./TESTING
 PATH=$bindir:$PATH
 export PATH