Alien-Build
view release on metacpan or search on metacpan
t/alien_build_plugin_pkgconfig_pp.t view on Meta::CPAN
use 5.008004;
use Test2::V0 -no_srand => 1;
use lib 'corpus/lib';
use Test::Alien::Build;
use Alien::Build::Plugin::PkgConfig::PP;
use Path::Tiny qw( path );
use Capture::Tiny qw( capture_merged );
$ENV{PKG_CONFIG_PATH} = path('corpus/lib/pkgconfig')->absolute->stringify;
$ENV{PKG_CONFIG_LIBDIR} = '';
skip_all 'test requires PkgConfig 0.14026' unless eval { require PkgConfig; PkgConfig->VERSION(0.14026) };
subtest 'available' => sub {
local $INC{'PkgConfig.pm'} = __FILE__;
subtest 'new enough' => sub {
local $PkgConfig::VERSION = '0.14026';
is(Alien::Build::Plugin::PkgConfig::PP->available, T());
};
subtest 'too old!' => sub {
local $PkgConfig::VERSION = '0.14025';
is(Alien::Build::Plugin::PkgConfig::PP->available, F());
};
};
sub build
{
my $build = alienfile filename => 'corpus/blank/alienfile';
my $meta = $build->meta;
my $plugin = Alien::Build::Plugin::PkgConfig::PP->new(@_);
$plugin->init($meta);
($build, $meta, $plugin);
}
note "PKG_CONFIG_PATH=$ENV{PKG_CONFIG_PATH}";
subtest 'system not available' => sub {
my($build, $meta, $plugin) = build('bogus');
my($out, $type) = capture_merged { $build->probe };
note $out;
is( $type, 'share' );
};
subtest 'version requirements' => sub {
subtest 'atleast_version or minimum_version' => sub {
subtest 'old name bad' => sub {
my($build, $meta, $plugin) = build(
pkg_name => 'foo',
minimum_version => '1.2.4',
);
my($out, $type) = capture_merged { $build->probe };
( run in 1.527 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )