diff options
author | Andrew Dunstan <andrew@dunslane.net> | 2021-07-29 12:15:03 -0400 |
---|---|---|
committer | Andrew Dunstan <andrew@dunslane.net> | 2021-07-29 12:16:50 -0400 |
commit | 68011e17d098da66070a2d648a609625241f73f6 (patch) | |
tree | c42fdc6673a89dff4fcf7925c55f3c07e235bb4a /src | |
parent | 67445deb7eca32d25721dffb228b009bfbe415d5 (diff) | |
download | postgresql-68011e17d098da66070a2d648a609625241f73f6.tar.gz postgresql-68011e17d098da66070a2d648a609625241f73f6.zip |
Make TestLib::perl2host more consistent and robust
Sometimes cygpath has been observed to return a path with a trailing
slash. That can cause problems, Also, make "cygpath" usage
consistent with "pwd -W" with respect to the use of forward slashes.
Backpatch to release 14 where the current code was introduced.
Diffstat (limited to 'src')
-rw-r--r-- | src/test/perl/TestLib.pm | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/test/perl/TestLib.pm b/src/test/perl/TestLib.pm index 26fbe08d4be..108f393774e 100644 --- a/src/test/perl/TestLib.pm +++ b/src/test/perl/TestLib.pm @@ -304,6 +304,8 @@ except for the case of Perl=msys and host=mingw32. The subject need not exist, but its parent or grandparent directory must exist unless cygpath is available. +The returned path uses forward slashes but has no trailing slash. + =cut sub perl2host @@ -313,10 +315,11 @@ sub perl2host if ($is_msys2) { # get absolute, windows type path - my $path = qx{cygpath -a -w "$subject"}; + my $path = qx{cygpath -a -m "$subject"}; if (!$?) { chomp $path; + $path =~ s!/$!!; return $path if $path; } # fall through if this didn't work. @@ -342,6 +345,7 @@ sub perl2host # this odd way of calling 'pwd -W' is the only way that seems to work. my $dir = qx{sh -c "pwd -W"}; chomp $dir; + $dir =~ s!/$!!; chdir $here; return $dir . $leaf; } |