Alien-Build

 view release on metacpan or  search on metacpan

t/alien_build_plugin_build_autoconf.t  view on Meta::CPAN

use 5.008004;
use lib 'corpus/lib';
use Test2::V0 -no_srand => 1;
use Test::Alien::Build;
use Alien::Build::Plugin::Build::Autoconf;
use Alien::Build::Util qw( _dump );
use Path::Tiny qw( path );

subtest 'basic' => sub {

  my $plugin = Alien::Build::Plugin::Build::Autoconf->new;
  isa_ok $plugin, 'Alien::Build::Plugin';
  isa_ok $plugin, 'Alien::Build::Plugin::Build::Autoconf';

  my $build = alienfile_ok q{ use alienfile };
  my $meta = $build->meta;

  $plugin->init($meta);

  my $configure = $meta->interpolator->interpolate('%{configure}');
  isnt $configure, '', "\%{configure} = $configure";
  like $configure, qr{configure};
  like $configure, qr{--with-pic};

  is($build->meta_prop->{destdir}, 1);
  is($meta->prop->{destdir}, 1);
};

subtest 'turn off --with-pic' => sub {

  my $plugin = Alien::Build::Plugin::Build::Autoconf->new( with_pic => 0 );

  is( $plugin->with_pic, 0 );

  my $build = alienfile_ok q{ use alienfile };
  my $meta = $build->meta;

  $plugin->init($meta);

  my $configure = $meta->interpolator->interpolate('%{configure}');
  isnt $configure, '', "\%{configure} = $configure";
  like $configure, qr{configure$};

};

subtest 'out-of-source' => sub {

  skip_all 'test requires Archive::Tar' unless eval { require Archive::Tar; 1 };

  local $Alien::Build::VERSION = '1.08';

  my $build = alienfile_ok q{
    use alienfile;
    use Alien::Build::Util qw( _dump );
    use Path::Tiny qw( path );

    share {
      meta->prop->{out_of_source} = 1;
      plugin 'Download::Foo';
      plugin 'Build::Autoconf' => (
        with_pic => 0,
      );



( run in 1.134 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )