Alien-Build
view release on metacpan or search on metacpan
t/alien_build_plugin_build_searchdep.t view on Meta::CPAN
use 5.008004;
use Test2::V0 -no_srand => 1;
use Test::Alien::Build;
use Alien::Build::Plugin::Build::SearchDep;
use lib 'corpus/lib';
use Alien::libfoo1;
use Alien::libfoo2;
use Capture::Tiny qw( capture_merged );
use Path::Tiny qw( path );
eval { require Archive::Tar; };
skip_all 'test requires Archive::Tar' if $@;
eval { require Env::ShellWords };
skip_all 'test requires Env::ShellWords' if $@;
my $corpus = path('corpus')->absolute;
$corpus =~ s{(\s)}{\\$1}g;
subtest basic => sub {
delete $ENV{$_} for qw( CFLAGS CXXFLAGS LDFLAGS );
my $build = alienfile q{
use alienfile;
share {
plugin 'Download::Foo';
plugin 'Build::SearchDep' => (
aliens => 'Alien::libfoo2',
);
build sub {
my($build) = @_;
for(qw( CFLAGS CXXFLAGS LDFLAGS ))
{
die "$_ not defined !!" unless defined $ENV{$_};
#print "$_=$ENV{$_}\n";
$build->runtime_prop->{"my_$_"} = $ENV{$_};
}
};
gather sub {
my($build) = @_;
$build->runtime_prop->{cflags} = '-core-cflag';
$build->runtime_prop->{cflags_static} = '-core-cflag-static';
$build->runtime_prop->{libs} = '-core-flag';
$build->runtime_prop->{libs_static} = '-core-flag-static';
};
};
};
ok $build->requires('configure')->{'Alien::Build::Plugin::Build::SearchDep'}, 'set configure require for self';
ok $build->requires('share')->{'Env::ShellWords'}, 'set share require for Env::ShellWords';
is $build->requires('share')->{'Alien::libfoo2'}, 0, 'set share require for Alien::libfoo2';
note scalar capture_merged {
$build->load_requires($build->install_type);
$build->download;
$build->build;
( run in 1.945 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )