Subject: | [PATCH] IPC::Run fails under bleadperl |
Hello,
Attached is a patch to remove the use of pseudo-hashes from IPC-Run 0.74, which break under 5.9.0.
Also, when installing under the most recent development perl (@17702), I see tests failing in both t/bogus.t (test 2), and t/run.t (tests 34-264) on both linux (i686-linux-thread-multi) and Mac OS X (darwin-thread-multi). The output of `make test` follows below.
Thanks,
Greg Williams
PERL_DL_NONLAZY=1 /opt/perl/perl@17702-thread/bin/perl5.9.0 "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/adopt............ok
29/29 skipped: adopt not done yet
t/binmode..........ok
t/bogus............ok 1/2# Test 2 got: 'Illegal option '_simulate_exec_failure' at t/bogus.t line 48
Illegal option '1' at t/bogus.t line 48
' (t/bogus.t at line 51)
# Expected: 'exec failed' (starting /opt/perl/perl@17702-thread/bin/perl5.9.0 with simulated_exec_failure => 1)
t/bogus............NOK 2# t/bogus.t line 51 is: ok $got, $expected, "starting $^X with simulated_exec_failure => 1" ;
t/bogus............FAILED test 2
Failed 1/2 tests, 50.00% okay
t/filter...........ok
t/harness..........ok
t/io...............ok
t/kill_kill........ok
t/parallel.........ok
t/pty..............Use of uninitialized value in concatenation (.) or string at t/pty.t line 256.
Use of uninitialized value in concatenation (.) or string at t/pty.t line 257.
t/pty..............ok
32/32 skipped: various reasons
t/pump.............ok
t/run..............ok 33/264Illegal option 'noinherit' at t/run.t line 21
Illegal option '1' at t/run.t line 21
t/run..............dubious
Test returned status 42 (wstat 10752, 0x2a00)
DIED. FAILED tests 34-264
Failed 231/264 tests, 12.50% okay
t/signal...........ok
t/timeout..........ok
t/timer............ok
t/win32_compile....v-string in use/require non-portable at (eval 1) line 3.
Prototype mismatch: sub Socket::TCP_NODELAY () vs none at /opt/perl/perl@17702-thread/lib/5.9.0/i686-linux-thread-multi/Socket.pm line 395.
t/win32_compile....ok
diff -rpu /Users/greg/.cpan/build/IPC-Run-0.74/Run/IO.pm IPC-Run-0.74/Run/IO.pm
--- /Users/greg/.cpan/build/IPC-Run-0.74/Run/IO.pm Fri Apr 26 07:12:55 2002
+++ IPC-Run-0.74/Run/IO.pm Mon Aug 26 21:40:40 2002
@@ -162,10 +162,7 @@ sub _new_internal {
if Win32_MODE && $class eq "IPC::Run::IO";
my IPC::Run::IO $self ;
- {
- no strict 'refs' ;
- $self = bless [ \%{"$class\::FIELDS"} ], $class ;
- }
+ $self = bless {}, $class ;
my ( $type, $kfd, $pty_id, $internal, $binmode, @filters ) = @_ ;
diff -rpu /Users/greg/.cpan/build/IPC-Run-0.74/Run/Timer.pm IPC-Run-0.74/Run/Timer.pm
--- /Users/greg/.cpan/build/IPC-Run-0.74/Run/Timer.pm Fri Apr 26 07:13:10 2002
+++ IPC-Run-0.74/Run/Timer.pm Mon Aug 26 21:40:21 2002
@@ -313,10 +313,7 @@ sub new {
$class = ref $class || $class ;
my IPC::Run::Timer $self ;
- {
- no strict 'refs' ;
- $self = bless [ \%{"$class\::FIELDS"} ], $class ;
- }
+ $self = bless {}, $class ;
$self->{STATE} = 0 ;
$self->{DEBUG} = 0 ;
diff -rpu /Users/greg/.cpan/build/IPC-Run-0.74/Run.pm IPC-Run-0.74/Run.pm
--- /Users/greg/.cpan/build/IPC-Run-0.74/Run.pm Thu May 23 06:26:10 2002
+++ IPC-Run-0.74/Run.pm Mon Aug 26 21:41:20 2002
@@ -1725,10 +1725,7 @@ sub harness {
my $handle_num = 0 ; # 1... is which handle we're parsing
my IPC::Run $self ;
- {
- no strict 'refs' ;
- $self = bless [ \%{"FIELDS"} ], __PACKAGE__ ;
- }
+ $self = bless {}, __PACKAGE__ ;
local $cur_self = $self ;