In the pg_upgrade test suite, remove and recreate "tmp_check".
authorNoah Misch <noah@leadboat.com>
Tue, 28 May 2019 19:58:30 +0000 (12:58 -0700)
committerNoah Misch <noah@leadboat.com>
Tue, 28 May 2019 19:58:30 +0000 (12:58 -0700)
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
src/tools/msvc/vcregress.pl

index fecc157bf0c345b96f2137ed275cac16b93bb8d4..85e303c3dcf716bfdd2870444f12cf902267c270 100644 (file)
@@ -69,6 +69,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"
 
 : ${oldbindir=$bindir}
 
@@ -93,7 +95,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"
index 30b86e7521f1c3534836b118325a4f773d252541..388c9d6d14031d99b9cf5074596f38ce63e7675b 100644 (file)
@@ -546,7 +546,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);
@@ -559,7 +560,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";