Subject: | Test harness hangs forever on Windows |
Hi,
I am the author of Statistics::R. I currently have a problems with a
test file in Statistics::R that passes on GNU/Linux systems but not on
Windows. I have spend several hours to reduce the problem to a
manageable form...
Running the individual test file works fine, even on Windows:
Show quoted text
>perl -I lib ./test.t
>
Running the test in a harness causes the process to hang on Windows:
Show quoted text>perl -I lib "-MExtUtils::Command::MM" "-e" "test_harness(1, 'inc',
'blib\lib', 'blib\arch')" test.t
test.t ..
ok 1
1..1
The place where the process gets stuck in at line 282 of
C:/Perl/lib/TAP/Parser/Iterator/Process.pm:
Show quoted text>perl -d debug.pl
Loading DB routines from perl5db.pl version 1.33
Editor support available.
Enter h or `h h' for help, or `perldoc perldebug' for more help.
main::(debug.pl:6): my %args = (
main::(debug.pl:7): command => ['C:\\Perl\\bin\\perl.exe', '-I',
'lib', 'test.t'],
main::(debug.pl:8): merge => 0,
main::(debug.pl:9): );
DB<1> c 11
main::(debug.pl:11): my $line = $it->next;
DB<2> s
TAP::Parser::Iterator::next(C:/Perl/lib/TAP/Parser/Iterator.pm:68):
68: my $self = shift;
DB<2> c 69
TAP::Parser::Iterator::next(C:/Perl/lib/TAP/Parser/Iterator.pm:69):
69: my $line = $self->next_raw;
DB<3> s
TAP::Parser::Iterator::Process::next_raw(C:/Perl/lib/TAP/Parser/Iterator/Process.pm:310):
310: my $self = shift;
DB<3> c 292
TAP::Parser::Iterator::Process::CODE(0x268da6c)(C:/Perl/lib/TAP/Parser/Iterator/Process.pm:292):
292: if ( defined( my $line = <$out> ) ) {
DB<4> s
Then the process needs to be interrupted manually.
I have attached scripts to reproduce the issue. I used Windows 7 with
Perl 5.14.2 and Test::Harness 3.25.
Best,
Florent