Avoid renaming data directory during MSVC upgrade testing.
authorAndrew Dunstan <andrew@dunslane.net>
Sat, 23 Mar 2013 20:26:06 +0000 (16:26 -0400)
committerAndrew Dunstan <andrew@dunslane.net>
Sat, 23 Mar 2013 20:26:06 +0000 (16:26 -0400)
This appears to cause some intermittent file system problems
on Windows 8. Instead, set up the old data directory in its
intended final location to start with.

src/tools/msvc/vcregress.pl

index c0f9fc674cb244ab93db289235b7b155c968662d..cdba9a5fb719c16cc88246d2b2367a05be281e90 100644 (file)
@@ -257,7 +257,7 @@ sub upgradecheck
      ("$tmp_install/bin", "$tmp_install/lib", $topdir, $topdir);
    $ENV{PATH} = "$bindir;$ENV{PATH}";
    my $data = "$tmp_root/data";
-   $ENV{PGDATA} = $data;
+   $ENV{PGDATA} = "$data.old";
    my $logdir = "$topdir/contrib/pg_upgrade/log";
    (mkdir $logdir || die $!) unless -d $logdir;
    print "\nRunning initdb on old cluster\n\n";
@@ -272,10 +272,7 @@ sub upgradecheck
    system("pg_dumpall -f $tmp_root/dump1.sql") == 0 or exit 1;
    print "\nStopping old cluster\n\n";
    system("pg_ctl -m fast stop") == 0 or exit 1;
-   rename $data, "$data.old";
-   # take a breather in case Windows hasn't quite got
-   # the message about the directory moving
-   sleep(5);
+   $ENV{PGDATA} = "$data";
    print "\nSetting up new cluster\n\n";
    system("initdb") == 0 or exit 1;
    print "\nRunning pg_upgrade\n\n";