This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Revert Test::Builder changes in prep for 5.21.3
[perl5.git] / cpan / Test-Simple / t / Builder / fork_with_new_stdout.t
index 1e0e977..e38c1d0 100644 (file)
@@ -8,12 +8,13 @@ use Config;
 my $b = Test::Builder->new;
 $b->reset;
 
-my $Can_Fork = $Config{d_fork}
-    || (($^O eq 'MSWin32' || $^O eq 'NetWare')
-    and $Config{useithreads}
-    and $Config{ccflags} =~ /-DPERL_IMPLICIT_SYS/);
+my $Can_Fork = $Config{d_fork} ||
+               (($^O eq 'MSWin32' || $^O eq 'NetWare') and
+                $Config{useithreads} and
+                $Config{ccflags} =~ /-DPERL_IMPLICIT_SYS/
+               );
 
-if (!$Can_Fork) {
+if( !$Can_Fork ) {
     $b->plan('skip_all' => "This system cannot fork");
 }
 else {
@@ -21,26 +22,23 @@ else {
 }
 
 my $pipe = IO::Pipe->new;
-if (my $pid = fork) {
-    $pipe->reader;
-    my @output = <$pipe>;
-    $b->like($output[0], qr/ok 1/,   "ok 1 from child");
-    $b->like($output[1], qr/1\.\.1/, "1..1 from child");
-    waitpid($pid, 0);
+if ( my $pid = fork ) {
+  $pipe->reader;
+  $b->ok((<$pipe> =~ /FROM CHILD: ok 1/), "ok 1 from child");
+  $b->ok((<$pipe> =~ /FROM CHILD: 1\.\.1/), "1..1 from child");
+  waitpid($pid, 0);
 }
 else {
-    Test::Builder::Formatter::TAP->full_reset;
-    Test::Builder::Stream->clear;
-    $pipe->writer;
-    my $pipe_fd = $pipe->fileno;
-    close STDOUT;
-    open(STDOUT, ">&$pipe_fd");
-    my $b = Test::Builder->create(shared_stream => 1);
-    $b->reset;
-    $b->no_plan;
-    $b->ok(1);
-    exit 0;
-}
+  $pipe->writer;
+  my $pipe_fd = $pipe->fileno;
+  close STDOUT;
+  open(STDOUT, ">&$pipe_fd");
+  my $b = Test::Builder->new;
+  $b->reset;
+  $b->no_plan;
+  $b->ok(1);
+} 
+
 
 =pod
 #actual