# New Ticket Created by Ron Schmidt # Please include the string: [perl #93576] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=93576 >
Under Linux if you are in the rakudo build directory and type make t/spec/S02-builtin_data_types/anon_block.t (or make followed by the name of any test file) the test file is run with the right configuration and command line parameters to make "#? skip" and "#? todo" directives etc behave properly. This currently does not seem to work on Windows. It doesn't work for me and after a discussion on IRC with JimmyZ, see http://irclog.perlgeek.de/perl6/2011-06-26#i_4005711, it became clear it didn't work for him on Windows either. I have attached a patch that fixes the problem to the point of having such a command line request usable under windows. The solution is somewhat lacking in that it doesn't allow the test file names provided to make to have the '\' back slash separators that are native to Windows but includes a comment in the make file to "document around" the issue. I hope and believe that the patch makes the situation better than it is now. The patch takes out the translation of \* to \\* that, I believe, was intended to work around this at one point but after testing with gmake and strawberry Perl as well as mingw32-make and ActiveState Perl believe that the build and install work properly without that translation and with this patch. Hope this helps, Ron Schmidt
diff --git a/Configure.pl b/Configure.pl index 79c24af..b8467a2 100644 --- a/Configure.pl +++ b/Configure.pl @@ -181,7 +181,10 @@ sub create_makefile { $maketext =~ s/@(\w+)@/$config{$1}/g; if ($^O eq 'MSWin32') { $maketext =~ s{/}{\\}g; - $maketext =~ s{\\\*}{\\\\*}g; + $maketext =~ s{^\s*t\\\*.t .*}{ + my $t = $&; $t =~ s!\\!/!g; + "# under windows provide forward slashes on command line for single test file$/$t"; + }me; $maketext =~ s{(?:git|http):\S+}{ do {my $t = $&; $t =~ s'\\'/'g; $t} }eg; $maketext =~ s/.*curl.*/do {my $t = $&; $t =~ s'%'%%'g; $t}/meg; }