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