make tests pass with spaces in $^X - #82
Conversation
|
|
||
| my $Perl = ($ENV{'FULLPERL'} or $^X or 'perl') ; | ||
| $Perl = qq["$Perl"] if $^O eq 'MSWin32' ; | ||
| $Perl = qq["$Perl"]; |
There was a problem hiding this comment.
The code has been like this for a very, very long time without any issues being raised against it.
Is this change fixing a real issue that you have found or is it just a robustness fix?
There was a problem hiding this comment.
See the linked bug report:
If the path to the working directory containing the source which Perl is being built from has a space in it, Perl's build process fails.
On darwin since the earliest releases, if you have 2 volumes with the same name, darwin will automatically add a space followed by a number to the mount point to resolve the conflict so even if you ensure not to use spaces, it doesn't mean the operating system will not automatically add it to the mount point.
I didn't find the issue myself, but it is real and I was able to replicate it.
IO::Compress is included in the perl core. If the the path to the perl build directory contains any spaces, those spaces will show up in $^X during make test. Quoting $Perl makes make test pass.
See Perl/perl5#24670.