Alien-Base-ModuleBuild
view release on metacpan or search on metacpan
t/alien_base_modulebuild.t view on Meta::CPAN
use lib 't/lib';
use Test2::V0 -no_srand => 1;
use Test2::Plugin::AlienEnv;
use Alien::Base::ModuleBuild;
use File::chdir;
use File::Temp ();
use Capture::Tiny qw( capture );
use Path::Tiny qw( path );
my $abmb_root = path('.')->absolute;
my $dir = File::Temp->newdir;
local $CWD = "$dir";
# create an extra directory to the hierarchy
# so that the env.* files will not be created
# in /tmp (see gh#167)
mkdir 'x';
$CWD = 'x';
my %basic = (
module_name => 'My::Test',
dist_version => '0.01',
dist_author => 'Joel Berger',
);
sub output_to_note (&) {
my $sub = shift;
my($out, $err) = capture { $sub->() };
note "[out]\n$out" if $out;
note "[err]\n$err" if $err;
}
our $mb_class = 'Alien::Base::ModuleBuild';
sub builder {
my @args = @_;
my $builder;
output_to_note { $builder = $mb_class->new( %basic, @args ) };
$builder;
}
###########################
# Temporary Directories #
###########################
subtest 'http + ssl' => sub {
my $builder = builder(
alien_repository => {
protocol => 'https',
location => 'src',
c_compiler_required => 0,
},
);
is $builder->build_requires->{'IO::Socket::SSL'}, '1.56', 'SSL ~ IO::Socket::SSL 1.56 or better';
is $builder->build_requires->{'Net::SSLeay'}, '1.49', 'SSL ~ Net::SSLeay 1.49 or better';
};
subtest 'http + ssl + list ref' => sub {
( run in 0.574 second using v1.01-cache-2.11-cpan-140bd7fdf52 )