From 20103a26094beeadb2019f5b86a57f6eee684d8e Mon Sep 17 00:00:00 2001 From: Noah Misch Date: Tue, 28 May 2019 12:58:30 -0700 Subject: [PATCH] In the pg_upgrade test suite, remove and recreate "tmp_check". This allows "vcregress upgradecheck" to pass twice in immediate succession, and it's more like how $(prove_check) works. Back-patch to 9.5, where pg_upgrade moved to src/bin. Discussion: https://postgr.es/m/20190520012436.GA1480421@rfd.leadboat.com --- src/bin/pg_upgrade/test.sh | 3 ++- src/tools/msvc/vcregress.pl | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/bin/pg_upgrade/test.sh b/src/bin/pg_upgrade/test.sh index 400deb9b54c..7bfd2e13469 100644 --- a/src/bin/pg_upgrade/test.sh +++ b/src/bin/pg_upgrade/test.sh @@ -68,6 +68,8 @@ export PGHOST # don't rely on $PWD here, as old shells don't set it temp_root=`pwd`/tmp_check +rm -rf "$temp_root" +mkdir "$temp_root" if [ "$1" = '--install' ]; then temp_install=$temp_root/install @@ -108,7 +110,6 @@ export PATH BASE_PGDATA="$temp_root/data" PGDATA="${BASE_PGDATA}.old" export PGDATA -rm -rf "$BASE_PGDATA" "$PGDATA" logdir=`pwd`/log rm -rf "$logdir" diff --git a/src/tools/msvc/vcregress.pl b/src/tools/msvc/vcregress.pl index 3e3a0587946..ba6ac9bb30f 100644 --- a/src/tools/msvc/vcregress.pl +++ b/src/tools/msvc/vcregress.pl @@ -534,7 +534,8 @@ sub upgradecheck $ENV{PGHOST} = 'localhost'; $ENV{PGPORT} ||= 50432; my $tmp_root = "$topdir/src/bin/pg_upgrade/tmp_check"; - (mkdir $tmp_root || die $!) unless -d $tmp_root; + rmtree($tmp_root); + mkdir $tmp_root || die $!; my $upg_tmp_install = "$tmp_root/install"; # unshared temp install print "Setting up temp install\n\n"; Install($upg_tmp_install, "all", $config); @@ -547,7 +548,8 @@ sub upgradecheck my $data = "$tmp_root/data"; $ENV{PGDATA} = "$data.old"; my $logdir = "$topdir/src/bin/pg_upgrade/log"; - (mkdir $logdir || die $!) unless -d $logdir; + rmtree($logdir); + mkdir $logdir || die $!; print "\nRunning initdb on old cluster\n\n"; standard_initdb() or exit 1; print "\nStarting old cluster\n\n";