xref: /openbsd-src/gnu/usr.bin/perl/cpan/Test-Simple/t/Legacy/bail_out.t (revision 5759b3d249badf144a6240f7eec4dcf9df003e6b)
1*5759b3d2Safresh1#!/usr/bin/perl -w
2*5759b3d2Safresh1# HARNESS-NO-STREAM
3*5759b3d2Safresh1# HARNESS-NO-PRELOAD
4*5759b3d2Safresh1
5*5759b3d2Safresh1BEGIN {
6*5759b3d2Safresh1    if( $ENV{PERL_CORE} ) {
7*5759b3d2Safresh1        chdir 't';
8*5759b3d2Safresh1        @INC = ('../lib', 'lib');
9*5759b3d2Safresh1    }
10*5759b3d2Safresh1    else {
11*5759b3d2Safresh1        unshift @INC, 't/lib';
12*5759b3d2Safresh1    }
13*5759b3d2Safresh1}
14*5759b3d2Safresh1
15*5759b3d2Safresh1my $Exit_Code;
16*5759b3d2Safresh1BEGIN {
17*5759b3d2Safresh1    *CORE::GLOBAL::exit = sub { $Exit_Code = shift; };
18*5759b3d2Safresh1}
19*5759b3d2Safresh1
20*5759b3d2Safresh1# This test uses multiple builders, the real one is using the top hub, we need
21*5759b3d2Safresh1# to fix the ending.
22*5759b3d2Safresh1Test2::API::test2_stack()->top->set_no_ending(1);
23*5759b3d2Safresh1
24*5759b3d2Safresh1use Test::Builder;
25*5759b3d2Safresh1use Test::More;
26*5759b3d2Safresh1
27*5759b3d2Safresh1my $output;
28*5759b3d2Safresh1my $TB = Test::More->builder;
29*5759b3d2Safresh1$TB->output(\$output);
30*5759b3d2Safresh1
31*5759b3d2Safresh1my $Test = Test::Builder->create;
32*5759b3d2Safresh1$Test->level(0);
33*5759b3d2Safresh1
34*5759b3d2Safresh1$Test->plan(tests => 3);
35*5759b3d2Safresh1
36*5759b3d2Safresh1plan tests => 4;
37*5759b3d2Safresh1
38*5759b3d2Safresh1BAIL_OUT("ROCKS FALL! EVERYONE DIES!");
39*5759b3d2Safresh1
40*5759b3d2Safresh1
41*5759b3d2Safresh1$Test->is_eq( $output, <<'OUT' );
42*5759b3d2Safresh11..4
43*5759b3d2Safresh1Bail out!  ROCKS FALL! EVERYONE DIES!
44*5759b3d2Safresh1OUT
45*5759b3d2Safresh1
46*5759b3d2Safresh1$Test->is_eq( $Exit_Code, 255 );
47*5759b3d2Safresh1
48*5759b3d2Safresh1$Test->ok( $Test->can("BAILOUT"), "Backwards compat" );
49