Commit | Line | Data |
b1ddf169 |
1 | #!/usr/bin/perl -w |
2 | |
3 | BEGIN { |
4 | if( $ENV{PERL_CORE} ) { |
5 | chdir 't'; |
6 | @INC = ('../lib', 'lib'); |
7 | } |
8 | else { |
9 | unshift @INC, 't/lib'; |
10 | } |
11 | } |
12 | |
13 | my $Exit_Code; |
14 | BEGIN { |
15 | *CORE::GLOBAL::exit = sub { $Exit_Code = shift; }; |
16 | } |
17 | |
18 | |
19 | use Test::Builder; |
20 | use Test::More; |
21 | use TieOut; |
22 | |
23 | my $output = tie *FAKEOUT, 'TieOut'; |
24 | my $TB = Test::More->builder; |
25 | $TB->output(\*FAKEOUT); |
26 | |
27 | my $Test = Test::Builder->create; |
28 | $Test->level(0); |
29 | |
30 | if( $] >= 5.005 ) { |
845d7e37 |
31 | $Test->plan(tests => 3); |
b1ddf169 |
32 | } |
33 | else { |
34 | $Test->plan(skip_all => |
35 | 'CORE::GLOBAL::exit, introduced in 5.005, is needed for testing'); |
36 | } |
37 | |
38 | |
39 | plan tests => 4; |
40 | |
41 | BAIL_OUT("ROCKS FALL! EVERYONE DIES!"); |
42 | |
43 | |
44 | $Test->is_eq( $output->read, <<'OUT' ); |
45 | 1..4 |
46 | Bail out! ROCKS FALL! EVERYONE DIES! |
47 | OUT |
48 | |
49 | $Test->is_eq( $Exit_Code, 255 ); |
845d7e37 |
50 | |
51 | $Test->ok( $Test->can("BAILOUT"), "Backwards compat" ); |