Debian lenny version packages
[pkg-perl] / deb-src / libtest-simple-perl / libtest-simple-perl-0.80 / t / bail_out.t
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 ) {
31     $Test->plan(tests => 3);
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 );
50
51 $Test->ok( $Test->can("BAILOUT"), "Backwards compat" );