Fix TAP tests and MSVC scripts for pathnames with spaces.
authorTom Lane <[email protected]>
Mon, 11 Jul 2016 15:24:04 +0000 (11:24 -0400)
committerTom Lane <[email protected]>
Mon, 11 Jul 2016 15:24:04 +0000 (11:24 -0400)
Back-patch relevant parts of commit 30b2731bd into 9.1-9.3.

Michael Paquier, Kyotaro Horiguchi

Discussion: <20160704.160213.111134711[email protected]>

src/tools/msvc/Install.pm
src/tools/msvc/vcregress.pl

index 5bd2637c854f1d6c690b0e68159b3d5d5ea926a4..4674ab3a7f4abc4d789a114a7a2a8ba2192bcdaf 100644 (file)
@@ -316,12 +316,21 @@ sub GenerateTimezoneFiles
        my $mf     = read_file("src/timezone/Makefile");
        $mf =~ s{\\\s*[\r\n]+}{}mg;
        $mf =~ /^TZDATA\s*:?=\s*(.*)$/m
-         || die "Could not find TZDATA row in timezone makefile\n";
+         || die "Could not find TZDATA line in timezone makefile\n";
        my @tzfiles = split /\s+/, $1;
-       unshift @tzfiles, '';
+
        print "Generating timezone files...";
-       system("$conf\\zic\\zic -d \"$target/share/timezone\" "
-                 . join(" src/timezone/data/", @tzfiles));
+
+       my @args = ("$conf/zic/zic",
+                               '-d',
+                               "$target/share/timezone");
+       foreach (@tzfiles)
+       {
+               my $tzfile = $_;
+               push(@args, "src/timezone/data/$tzfile")
+       }
+
+       system(@args);
        print "\n";
 }
 
@@ -550,9 +559,10 @@ sub CopyIncludeFiles
                next unless (-d "src/include/$d");
 
                EnsureDirectories("$target/include/server/$d");
-               system(
-qq{xcopy /s /i /q /r /y src\\include\\$d\\*.h "$ctarget\\include\\server\\$d\\"}
-               ) && croak("Failed to copy include directory $d\n");
+               my @args = ('xcopy', '/s', '/i', '/q', '/r', '/y',
+                                "src\\include\\$d\\*.h",
+                                "$ctarget\\include\\server\\$d\\");
+               system(@args) && croak("Failed to copy include directory $d\n");
        }
        closedir($D);
 
@@ -605,9 +615,11 @@ sub GenerateNLSFiles
 
                        EnsureDirectories($target, "share/locale/$lang",
                                "share/locale/$lang/LC_MESSAGES");
-                       system(
-"\"$nlspath\\bin\\msgfmt\" -o \"$target\\share\\locale\\$lang\\LC_MESSAGES\\$prgm-$majorver.mo\" $_"
-                       ) && croak("Could not run msgfmt on $dir\\$_");
+                       my @args = ("$nlspath\\bin\\msgfmt",
+                          '-o',
+                          "$target\\share\\locale\\$lang\\LC_MESSAGES\\$prgm-$majorver.mo",
+                          $_);
+                       system(@args) && croak("Could not run msgfmt on $dir\\$_");
                        print ".";
                }
        }
index 244c2b127a0bf5a528b86ffcbf850853045080a1..5285d9746208ff6d51ecb7301d1b35910baee5a0 100644 (file)
@@ -282,35 +282,41 @@ sub upgradecheck
        print "\nRunning initdb on old cluster\n\n";
        standard_initdb() or exit 1;
        print "\nStarting old cluster\n\n";
-       system("pg_ctl start -l $logdir/postmaster1.log -w") == 0 or exit 1;
+       my @args = ('pg_ctl', 'start', '-l', "$logdir/postmaster1.log", '-w');
+       system(@args) == 0 or exit 1;
        print "\nSetting up data for upgrading\n\n";
        installcheck();
 
        # now we can chdir into the source dir
        chdir "$topdir/contrib/pg_upgrade";
        print "\nDumping old cluster\n\n";
-       system("pg_dumpall -f $tmp_root/dump1.sql") == 0 or exit 1;
+       @args = ('pg_dumpall', '-f', "$tmp_root/dump1.sql");
+       system(@args) == 0 or exit 1;
        print "\nStopping old cluster\n\n";
        system("pg_ctl -m fast stop") == 0 or exit 1;
        $ENV{PGDATA} = "$data";
        print "\nSetting up new cluster\n\n";
        standard_initdb() or exit 1;
        print "\nRunning pg_upgrade\n\n";
-       system("pg_upgrade -d $data.old -D $data -b $bindir -B $bindir") == 0
-         or exit 1;
+       @args = ('pg_upgrade', '-d', "$data.old", '-D', $data, '-b', $bindir,
+                        '-B', $bindir);
+       system(@args) == 0 or exit 1;
        print "\nStarting new cluster\n\n";
-       system("pg_ctl -l $logdir/postmaster2.log -w start") == 0 or exit 1;
+       @args = ('pg_ctl', '-l', "$logdir/postmaster2.log", '-w', 'start');
+       system(@args) == 0 or exit 1;
        print "\nSetting up stats on new cluster\n\n";
        system(".\\analyze_new_cluster.bat") == 0 or exit 1;
        print "\nDumping new cluster\n\n";
-       system("pg_dumpall -f $tmp_root/dump2.sql") == 0 or exit 1;
+       @args = ('pg_dumpall', '-f', "$tmp_root/dump2.sql");
+       system(@args) == 0 or exit 1;
        print "\nStopping new cluster\n\n";
        system("pg_ctl -m fast stop") == 0 or exit 1;
        print "\nDeleting old cluster\n\n";
        system(".\\delete_old_cluster.bat") == 0 or exit 1;
        print "\nComparing old and new cluster dumps\n\n";
 
-       system("diff -q $tmp_root/dump1.sql $tmp_root/dump2.sql");
+       @args = ('diff', '-q', "$tmp_root/dump1.sql", "$tmp_root/dump2.sql");
+       system(@args);
        $status = $?;
        if (!$status)
        {