From e1711b0e9a762b1a7bf500896c9a972562cc30aa Mon Sep 17 00:00:00 2001 From: Guenter Knauf Date: Fri, 20 Jul 2012 15:30:41 +0200 Subject: Fixed MSYS <-> Windows path convertion. Replaced the Windows real path from mount hack with a more reliable and simpler hack: the MSYS shell has a builtin pwd which understands a -W option which does convertion to Windows paths. Tested and confirmed that this works on all MSYS versions I have back to a 3 year old one. --- tests/runtests.pl | 42 ++++-------------------------------------- 1 file changed, 4 insertions(+), 38 deletions(-) diff --git a/tests/runtests.pl b/tests/runtests.pl index 902033448..461efe420 100755 --- a/tests/runtests.pl +++ b/tests/runtests.pl @@ -2204,44 +2204,10 @@ sub checksystem { $libcurl = $2; if($curl =~ /mingw32/) { # This is a windows minw32 build, we need to translate the - # given path to the "actual" windows path. - - my @m = `mount`; - my $matchlen = 0; - my $bestmatch; - my $mount; - -# example mount output: -# C:\DOCUME~1\Temp on /tmp type user (binmode,noumount) -# c:\ActiveState\perl on /perl type user (binmode) -# C:\msys\1.0\bin on /usr/bin type user (binmode,cygexec,noumount) -# C:\msys\1.0\bin on /bin type user (binmode,cygexec,noumount) - - foreach $mount (@m) { - if( $mount =~ /(.*) on ([^ ]*) type /) { - my ($mingw, $real)=($2, $1); - if($pwd =~ /^$mingw/) { - # the path we got from pwd starts with the path - # we found on this line in the mount output - - my $len = length($real); - if($len > $matchlen) { - # we remember the match that is the longest - $matchlen = $len; - $bestmatch = $real; - } - } - } - } - if(!$matchlen) { - logmsg "Serious error, can't find our \"real\" path\n"; - } - else { - # now prepend the prefix from the mount command to build - # our "actual path" - $pwd = "$bestmatch$pwd"; - } - $pwd =~ s#\\#/#g; + # given path to the "actual" windows path. The MSYS shell + # has a builtin 'pwd -W' command which converts the path. + $pwd = `sh -c "echo \$(pwd -W)"`; + chomp($pwd); } elsif ($curl =~ /win32/) { # Native Windows builds don't understand the -- cgit v1.2.3