Alien-Base

 view release on metacpan or  search on metacpan

t/alien_base.t  view on Meta::CPAN

use Test2::Bundle::Extended;
use lib 'corpus/lib';
use Env qw( @PKG_CONFIG_PATH );
use File::Glob qw( bsd_glob );
use File::chdir;
use File::Spec;

eval {
  use File::Temp qw( tempfile );
  use File::Spec;
  my($fh, $filename) = tempfile();
  close $fh;
  unlink $filename;
};

if(my $error = $@)
{
  bail_out "tempfile failed: $error";
}

unshift @PKG_CONFIG_PATH, File::Spec->rel2abs(File::Spec->catdir( qw( corpus pkgconfig )));

subtest 'AB::MB sys install' => sub {

  skip_all 'test requires Alien::Base::PkgConfig'
    unless eval { require Alien::Base::PkgConfig; 1 };

  require Alien::Foo1;

  my $cflags  = Alien::Foo1->cflags;
  my $libs    = Alien::Foo1->libs;
  my $version = Alien::Foo1->version;

  $libs =~ s{^\s+}{};

  is $cflags, '-DFOO=stuff', "cflags: $cflags";
  is $libs,   '-lfoo1', "libs: $libs";
  is $version, '3.99999', "version: $version";
};

subtest 'AB::MB share install' => sub {

  skip_all 'test requires Alien::Base::PkgConfig'
    unless eval { require Alien::Base::PkgConfig; 1 };

  require Alien::Foo2;

  my $cflags  = Alien::Foo2->cflags;
  my $libs    = Alien::Foo2->libs;
  my $version = Alien::Foo2->version;
    
  ok $cflags,  "cflags: $cflags";
  ok $libs,    "libs:   $libs";
  is $version, '3.2.1', "version: $version";

  if($cflags =~ /-I(.*)$/)
  {
    ok -f "$1/foo2.h", "include path: $1";
  }
  else
  {
    fail "include path: ?";
  }
  
  if($libs =~ /-L([^ ]*)/)
  {
    ok -f "$1/libfoo2.a", "lib path: $1";
  }
  else
  {
    fail "lib path: ?";
  }

};

subtest 'Alien::Build system' => sub {

  require Alien::libfoo1;



( run in 1.150 second using v1.01-cache-2.11-cpan-411bb0df24b )