15759b3d2Safresh1package Test2::Event::Bail;
25759b3d2Safresh1use strict;
35759b3d2Safresh1use warnings;
45759b3d2Safresh1
5*5486feefSafresh1our $VERSION = '1.302199';
65759b3d2Safresh1
75759b3d2Safresh1
85759b3d2Safresh1BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
95759b3d2Safresh1use Test2::Util::HashBase qw{reason buffered};
105759b3d2Safresh1
115759b3d2Safresh1# Make sure the tests terminate
125759b3d2Safresh1sub terminate { 255 };
135759b3d2Safresh1
145759b3d2Safresh1sub global { 1 };
155759b3d2Safresh1
165759b3d2Safresh1sub causes_fail { 1 }
175759b3d2Safresh1
185759b3d2Safresh1sub summary {
195759b3d2Safresh1    my $self = shift;
205759b3d2Safresh1    return "Bail out!  " . $self->{+REASON}
215759b3d2Safresh1        if $self->{+REASON};
225759b3d2Safresh1
235759b3d2Safresh1    return "Bail out!";
245759b3d2Safresh1}
255759b3d2Safresh1
265759b3d2Safresh1sub diagnostics { 1 }
275759b3d2Safresh1
285759b3d2Safresh1sub facet_data {
295759b3d2Safresh1    my $self = shift;
305759b3d2Safresh1    my $out = $self->common_facet_data;
315759b3d2Safresh1
325759b3d2Safresh1    $out->{control} = {
335759b3d2Safresh1        global    => 1,
345759b3d2Safresh1        halt      => 1,
355759b3d2Safresh1        details   => $self->{+REASON},
365759b3d2Safresh1        terminate => 255,
375759b3d2Safresh1    };
385759b3d2Safresh1
395759b3d2Safresh1    return $out;
405759b3d2Safresh1}
415759b3d2Safresh1
425759b3d2Safresh11;
435759b3d2Safresh1
445759b3d2Safresh1__END__
455759b3d2Safresh1
465759b3d2Safresh1=pod
475759b3d2Safresh1
485759b3d2Safresh1=encoding UTF-8
495759b3d2Safresh1
505759b3d2Safresh1=head1 NAME
515759b3d2Safresh1
525759b3d2Safresh1Test2::Event::Bail - Bailout!
535759b3d2Safresh1
545759b3d2Safresh1=head1 DESCRIPTION
555759b3d2Safresh1
565759b3d2Safresh1The bailout event is generated when things go horribly wrong and you need to
575759b3d2Safresh1halt all testing in the current file.
585759b3d2Safresh1
595759b3d2Safresh1=head1 SYNOPSIS
605759b3d2Safresh1
615759b3d2Safresh1    use Test2::API qw/context/;
625759b3d2Safresh1    use Test2::Event::Bail;
635759b3d2Safresh1
645759b3d2Safresh1    my $ctx = context();
655759b3d2Safresh1    my $event = $ctx->bail('Stuff is broken');
665759b3d2Safresh1
675759b3d2Safresh1=head1 METHODS
685759b3d2Safresh1
695759b3d2Safresh1Inherits from L<Test2::Event>. Also defines:
705759b3d2Safresh1
715759b3d2Safresh1=over 4
725759b3d2Safresh1
735759b3d2Safresh1=item $reason = $e->reason
745759b3d2Safresh1
755759b3d2Safresh1The reason for the bailout.
765759b3d2Safresh1
775759b3d2Safresh1=back
785759b3d2Safresh1
795759b3d2Safresh1=head1 SOURCE
805759b3d2Safresh1
815759b3d2Safresh1The source code repository for Test2 can be found at
82*5486feefSafresh1L<https://github.com/Test-More/test-more/>.
835759b3d2Safresh1
845759b3d2Safresh1=head1 MAINTAINERS
855759b3d2Safresh1
865759b3d2Safresh1=over 4
875759b3d2Safresh1
885759b3d2Safresh1=item Chad Granum E<lt>exodist@cpan.orgE<gt>
895759b3d2Safresh1
905759b3d2Safresh1=back
915759b3d2Safresh1
925759b3d2Safresh1=head1 AUTHORS
935759b3d2Safresh1
945759b3d2Safresh1=over 4
955759b3d2Safresh1
965759b3d2Safresh1=item Chad Granum E<lt>exodist@cpan.orgE<gt>
975759b3d2Safresh1
985759b3d2Safresh1=back
995759b3d2Safresh1
1005759b3d2Safresh1=head1 COPYRIGHT
1015759b3d2Safresh1
102256a93a4Safresh1Copyright 2020 Chad Granum E<lt>exodist@cpan.orgE<gt>.
1035759b3d2Safresh1
1045759b3d2Safresh1This program is free software; you can redistribute it and/or
1055759b3d2Safresh1modify it under the same terms as Perl itself.
1065759b3d2Safresh1
107*5486feefSafresh1See L<https://dev.perl.org/licenses/>
1085759b3d2Safresh1
1095759b3d2Safresh1=cut
110