Alien-Build
view release on metacpan or search on metacpan
t/alien_build_plugin_pkgconfig_libpkgconf.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::LibPkgConf;
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} = '';
sub build
{
my $build = alienfile filename => 'corpus/blank/alienfile';
my $meta = $build->meta;
my $plugin = Alien::Build::Plugin::PkgConfig::LibPkgConf->new(@_);
$plugin->init($meta);
($build, $meta, $plugin);
}
skip_all 'Test requires PkgConfig::LibPkgConf'
unless eval {
my($build, $meta, $plugin) = build(pkg_name => 'foo', minimum_version => 1);
$build->load_requires('configure');
};
subtest 'available' => sub {
local $INC{'PkgConfig/LibPkgConf.pm'} = __FILE__;
subtest 'new enough' => sub {
local $PkgConfig::LibPkgConf::VERSION = '0.04';
is(Alien::Build::Plugin::PkgConfig::LibPkgConf->available, T());
};
subtest 'too old!' => sub {
local $PkgConfig::VERSION = '0.03';
is(Alien::Build::Plugin::PkgConfig::LibPkgConf->available, F());
};
};
ok $INC{'PkgConfig/LibPkgConf/Client.pm'}, 'Loaded PkgConfig::LibPkgConf::Client';
note "inc=$INC{'PkgConfig/LibPkgConf/Client.pm'}";
ok $INC{'PkgConfig/LibPkgConf/Util.pm'}, 'Loaded PkgConfig::LibPkgConf::Util';
note "inc=$INC{'PkgConfig/LibPkgConf/Util.pm'}";
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 {
( run in 2.734 seconds using v1.01-cache-2.11-cpan-cdf2f3d4e48 )