1*5486feefSafresh1package Test2::Require::RealFork;
2*5486feefSafresh1use strict;
3*5486feefSafresh1use warnings;
4*5486feefSafresh1
5*5486feefSafresh1use base 'Test2::Require';
6*5486feefSafresh1
7*5486feefSafresh1our $VERSION = '0.000162';
8*5486feefSafresh1
9*5486feefSafresh1use Test2::Util qw/CAN_REALLY_FORK/;
10*5486feefSafresh1
11*5486feefSafresh1sub skip {
12*5486feefSafresh1    return undef if CAN_REALLY_FORK;
13*5486feefSafresh1    return "This test requires a perl capable of true forking.";
14*5486feefSafresh1}
15*5486feefSafresh1
16*5486feefSafresh11;
17*5486feefSafresh1
18*5486feefSafresh1__END__
19*5486feefSafresh1
20*5486feefSafresh1=pod
21*5486feefSafresh1
22*5486feefSafresh1=encoding UTF-8
23*5486feefSafresh1
24*5486feefSafresh1=head1 NAME
25*5486feefSafresh1
26*5486feefSafresh1Test2::Require::RealFork - Skip a test file unless the system supports true
27*5486feefSafresh1forking
28*5486feefSafresh1
29*5486feefSafresh1=head1 DESCRIPTION
30*5486feefSafresh1
31*5486feefSafresh1It is fairly common to write tests that need to fork. Not all systems support
32*5486feefSafresh1forking. This library does the hard work of checking if forking is supported on
33*5486feefSafresh1the current system. If forking is not supported then this will skip all tests
34*5486feefSafresh1and exit true.
35*5486feefSafresh1
36*5486feefSafresh1=head1 SYNOPSIS
37*5486feefSafresh1
38*5486feefSafresh1    use Test2::Require::RealFork;
39*5486feefSafresh1
40*5486feefSafresh1    ... Code that forks ...
41*5486feefSafresh1
42*5486feefSafresh1=head1 SEE ALSO
43*5486feefSafresh1
44*5486feefSafresh1=over 4
45*5486feefSafresh1
46*5486feefSafresh1=item L<Test2::Require::Canfork>
47*5486feefSafresh1
48*5486feefSafresh1Similar to this module, but will allow fork emulation.
49*5486feefSafresh1
50*5486feefSafresh1=item L<Test2::Require::CanThread>
51*5486feefSafresh1
52*5486feefSafresh1Skip the test file if the system does not support threads.
53*5486feefSafresh1
54*5486feefSafresh1=back
55*5486feefSafresh1
56*5486feefSafresh1=head1 SOURCE
57*5486feefSafresh1
58*5486feefSafresh1The source code repository for Test2-Suite can be found at
59*5486feefSafresh1F<https://github.com/Test-More/Test2-Suite/>.
60*5486feefSafresh1
61*5486feefSafresh1=head1 MAINTAINERS
62*5486feefSafresh1
63*5486feefSafresh1=over 4
64*5486feefSafresh1
65*5486feefSafresh1=item Chad Granum E<lt>exodist@cpan.orgE<gt>
66*5486feefSafresh1
67*5486feefSafresh1=back
68*5486feefSafresh1
69*5486feefSafresh1=head1 AUTHORS
70*5486feefSafresh1
71*5486feefSafresh1=over 4
72*5486feefSafresh1
73*5486feefSafresh1=item Chad Granum E<lt>exodist@cpan.orgE<gt>
74*5486feefSafresh1
75*5486feefSafresh1=back
76*5486feefSafresh1
77*5486feefSafresh1=head1 COPYRIGHT
78*5486feefSafresh1
79*5486feefSafresh1Copyright 2018 Chad Granum E<lt>exodist@cpan.orgE<gt>.
80*5486feefSafresh1
81*5486feefSafresh1This program is free software; you can redistribute it and/or
82*5486feefSafresh1modify it under the same terms as Perl itself.
83*5486feefSafresh1
84*5486feefSafresh1See F<http://dev.perl.org/licenses/>
85*5486feefSafresh1
86*5486feefSafresh1=cut
87