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