postgres.git / summary / log / commit / refs

commit    68011e17d098da66070a2d648a609625241f73f6
Author:   Andrew Dunstan <andrew@dunslane.net>
Date:     Thu Jul 29 16:15:03 2021 +0000

    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.


src/test/perl/TestLib.pm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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; } [parent: 67445deb7eca]