summaryrefslogtreecommitdiff
path: root/cpan/Test-Simple/t/Legacy/Builder/fork_with_new_stdout.t
blob: f084571570e6126985a4055051ca7d54e28933b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!perl -w
use strict;
use warnings;

use Test2::Util qw/CAN_FORK/;

BEGIN {
    unless (CAN_FORK) {
        require Test::More;
        Test::More->import(skip_all => "fork is not supported");
    }
}

use IO::Pipe;
use Test::Builder;
use Config;

my $b = Test::Builder->new;
$b->reset;

$b->plan('tests' => 2);

my $pipe = IO::Pipe->new;
if (my $pid = fork) {
    $pipe->reader;
    my ($one, $two) = <$pipe>;
    $b->like($one, qr/ok 1/,   "ok 1 from child");
    $b->like($two, qr/1\.\.1/, "1..1 from child");
    waitpid($pid, 0);
}
else {
    require Test::Builder::Formatter;
    $b->{Stack}->top->format(Test::Builder::Formatter->new());
    $pipe->writer;
    $b->reset;
    $b->no_plan;
    $b->output($pipe);
    $b->ok(1);
    $b->done_testing;
}


=pod
#actual
1..2
ok 1
1..1
ok 1
ok 2
#expected
1..2
ok 1
ok 2
=cut