pg_upgrade: Don't use separate installation for test.
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
dcae5facca
(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
This commit is contained in:
parent
8e719d33fd
commit
7005389b2a
|
@ -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)
|
override CPPFLAGS := -DDLSUFFIX=\"$(DLSUFFIX)\" -I$(srcdir) -I$(libpq_srcdir) $(CPPFLAGS)
|
||||||
LDFLAGS_INTERNAL += -L$(top_builddir)/src/fe_utils -lpgfeutils $(libpq_pgport)
|
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
|
all: pg_upgrade
|
||||||
|
|
||||||
pg_upgrade: $(OBJS) | submake-libpq submake-libpgport submake-libpgfeutils
|
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_globals.sql \
|
||||||
pg_upgrade_dump_*.custom pg_upgrade_*.log
|
pg_upgrade_dump_*.custom pg_upgrade_*.log
|
||||||
|
|
||||||
check: test.sh all
|
check: test.sh all temp-install
|
||||||
MAKE=$(MAKE) bindir="$(tbindir)" libdir="$(tlibdir)" EXTRA_REGRESS_OPTS="$(EXTRA_REGRESS_OPTS)" $(SHELL) $< $(DOINST)
|
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
|
# installcheck is not supported because there's no meaningful way to test
|
||||||
# pg_upgrade against a single already-running server
|
# pg_upgrade against a single already-running server
|
||||||
|
|
|
@ -70,39 +70,15 @@ export PGHOST
|
||||||
# don't rely on $PWD here, as old shells don't set it
|
# don't rely on $PWD here, as old shells don't set it
|
||||||
temp_root=`pwd`/tmp_check
|
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}
|
: ${oldbindir=$bindir}
|
||||||
|
|
||||||
: ${oldsrc=../../..}
|
: ${oldsrc=../../..}
|
||||||
oldsrc=`cd "$oldsrc" && pwd`
|
oldsrc=`cd "$oldsrc" && pwd`
|
||||||
newsrc=`cd ../../.. && 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
|
PATH=$bindir:$PATH
|
||||||
export PATH
|
export PATH
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue