Linux iad1-shared-b7-18 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
Apache
: 67.205.6.31 | : 216.73.216.47
Cant Read [ /etc/named.conf ]
8.2.29
fernandoquevedo
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
share /
perl5 /
Test /
[ HOME SHELL ]
Name
Size
Permission
Action
Unit
[ DIR ]
drwxr-xr-x
MockTime.pm
6.49
KB
-rw-r--r--
Requires.pm
3.6
KB
-rw-r--r--
Specio.pm
40.37
KB
-rw-r--r--
TestLister.pl
498
B
-rwxr-xr-x
TypeTiny.pm
7.09
KB
-rw-r--r--
Unit.pm
3.17
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : Requires.pm
package Test::Requires; use strict; use warnings; our $VERSION = '0.11'; use base 'Test::Builder::Module'; use 5.006; sub import { my $class = shift; my $caller = caller(0); # export methods { no strict 'refs'; *{"$caller\::test_requires"} = \&test_requires; } # test arguments if (@_ == 1 && ref $_[0] && ref $_[0] eq 'HASH') { while (my ($mod, $ver) = each %{$_[0]}) { test_requires($mod, $ver, $caller); } } else { for my $mod (@_) { test_requires($mod, undef, $caller); } } } sub test_requires { my ( $mod, $ver, $caller ) = @_; return if $mod eq __PACKAGE__; if (@_ != 3) { $caller = caller(0); } $ver ||= ''; eval qq{package $caller; use $mod $ver}; ## no critic. if (my $e = $@) { my $skip_all = sub { my $builder = __PACKAGE__->builder; if (not defined $builder->has_plan) { $builder->skip_all(@_); } elsif ($builder->has_plan eq 'no_plan') { $builder->skip(@_); if ( $builder->can('parent') && $builder->parent ) { die bless {} => 'Test::Builder::Exception'; } exit 0; } else { for (1..$builder->has_plan) { $builder->skip(@_); } if ( $builder->can('parent') && $builder->parent ) { die bless {} => 'Test::Builder::Exception'; } exit 0; } }; my $msg = "$e"; if ( $e =~ /^Can't locate/ ) { $msg = "Test requires module '$mod' but it's not found"; } if ($ENV{RELEASE_TESTING}) { __PACKAGE__->builder->BAIL_OUT($msg); } else { $skip_all->($msg); } } } 1; __END__ =head1 NAME Test::Requires - Checks to see if the module can be loaded =head1 SYNOPSIS # in your Makefile.PL use inc::Module::Install; test_requires 'Test::Requires'; # in your test use Test::More tests => 10; use Test::Requires { 'HTTP::MobileAttribute' => 0.01, # skip all if HTTP::MobileAttribute doesn't installed }; isa_ok HTTP::MobileAttribute->new, 'HTTP::MobileAttribute::NonMobile'; # or use Test::More tests => 10; use Test::Requires qw( HTTP::MobileAttribute ); isa_ok HTTP::MobileAttribute->new, 'HTTP::MobileAttribute::NonMobile'; # or use Test::More tests => 10; use Test::Requires; test_requires 'Some::Optional::Test::Required::Modules'; isa_ok HTTP::MobileAttribute->new, 'HTTP::MobileAttribute::NonMobile'; =head1 DESCRIPTION Test::Requires checks to see if the module can be loaded. If this fails rather than failing tests this B<skips all tests>. Test::Requires can also be used to require a minimum version of Perl: use Test::Requires "5.010"; # quoting is necessary!! # or use Test::Requires "v5.10"; =head1 AUTHOR Tokuhiro Matsuno E<lt>tokuhirom @*(#RJKLFHFSDLJF gmail.comE<gt> =head1 THANKS TO kazuho++ # some tricky stuff miyagawa++ # original code from t/TestPlagger.pm tomyhero++ # reported issue related older test::builder tobyink++ # documented that Test::Requires "5.010" works =head1 ENVIRONMENT If the C<< RELEASE_TESTING >> environment variable is true, then instead of skipping tests, Test::Requires bails out. =head1 SEE ALSO L<t/TestPlagger.pm> =head1 LICENSE This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =cut
Close