This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Fix test file per George Greer comment.
authorJames E Keenan <jkeenan@cpan.org>
Sat, 21 Jun 2014 21:14:46 +0000 (23:14 +0200)
committerJames E Keenan <jkeenan@cpan.org>
Sat, 21 Jun 2014 21:14:46 +0000 (23:14 +0200)
ext/IPC-Open3/t/IPC-Open3.t

index a07cc48..e306aec 100644 (file)
@@ -14,7 +14,7 @@ BEGIN {
 }
 
 use strict;
-use Test::More tests => 38;
+use Test::More tests => 44;
 
 use IO::Handle;
 use IPC::Open3;
@@ -188,29 +188,33 @@ foreach my $handle (qw (DUMMY STDIN STDOUT STDERR)) {
     waitpid $pid, 0;
 }
 
-## Test that tied STDIN, STDOUT, and STDERR do not cause open3 any discomfort.
-## In particular, tied STDERR used to be able to prevent open3 from working
-## correctly.  RT #119843.
-#{
-#    { # This just throws things out
-#      package My::Tied::FH;
-#      sub TIEHANDLE { bless \my $self }
-#      sub PRINT {}
-#      # Note the absence of OPEN and FILENO
-#    }
-#    my $message = "japh\n";
-#    foreach my $handle (*STDIN, *STDOUT, *STDERR) {
-#      tie $handle, 'My::Tied::FH';
-#      my ($in, $out);
-#      my $pid = eval {
-#          open3 $in, $out, undef, $perl, '-ne', 'print';
-#      };
-#      is($@, '', "no errors calling open3 with tied $handle");
-#      print $in $message;
-#      close $in;
-#      my $japh = <$out>;
-#      waitpid $pid, 0;
-#      is($japh, $message, "read input correctly");
-#      untie $handle;
-#    }
-#}
+# Test that tied STDIN, STDOUT, and STDERR do not cause open3 any discomfort.
+# In particular, tied STDERR used to be able to prevent open3 from working
+# correctly.  RT #119843.
+{
+    if (&IPC::Open3::DO_SPAWN) {
+      skip "Calling open3 with tied filehandles does not work here", 6
+    }
+
+    {  # This just throws things out
+       package My::Tied::FH;
+       sub TIEHANDLE { bless \my $self }
+       sub PRINT {}
+       # Note the absence of OPEN and FILENO
+    }
+    my $message = "japh\n";
+    foreach my $handle (*STDIN, *STDOUT, *STDERR) {
+       tie $handle, 'My::Tied::FH';
+       my ($in, $out);
+       my $pid = eval {
+           open3 $in, $out, undef, $perl, '-ne', 'print';
+       };
+       is($@, '', "no errors calling open3 with tied $handle");
+       print $in $message;
+       close $in;
+       my $japh = <$out>;
+       waitpid $pid, 0;
+       is($japh, $message, "read input correctly");
+       untie $handle;
+    }
+}