Alien-Build

 view release on metacpan or  search on metacpan

t/alien_build_util.t  view on Meta::CPAN

  $lib->spew('XYZ');
  $tmp1->child('lib/pkgconfig/foo.pc')->spew('name=foo');

  if($Config{d_symlink})
  {
    foreach my $new (map { $tmp1->child("lib/libfoo$_") } qw( .so.1.2 .so.1 .so ))
    {
      my $old = 'libfoo.so.1.2.3';
      symlink($old, $new->stringify) || die "unable to symlink $new => $old $!";
    }
  }

  my $tmp2 = Path::Tiny->tempdir("mirror_dst_XXXX");

  _mirror "$tmp1", "$tmp2", { empty_directory => 1 };

  my($out, $exit) = capture_merged { system 'diff', '-r', "$tmp1", "$tmp2" };

  is $exit, 0, 'diff -r returned true';

  $exit ? diag $out : note $out if $out ne '';

  if(-x $tmp1->child('bin/foomake'))
  {
    ok(-x $tmp2->child('bin/foomake'), 'dst bin/foomake is executable');
  }

  subtest 'filter' => sub {

    my $tmp2 = Path::Tiny->tempdir("mirror_dst_XXXX");

    note capture_merged {
      _mirror "$tmp1", "$tmp2", { filter => qr/^(bin|etc)\/.*$/, verbose => 1 };
    };

    ok( -f $tmp2->child('bin/foomake'), 'bin/foomake' );
    ok( -f $tmp2->child('etc/foorc'), 'bin/foomake' );
    ok( ! -f $tmp2->child('lib/libfoo.so.1.2.3'), 'lib/libfoo.so.1.2.3' );

  };
};

subtest 'destdir_prefix' => sub {

  my($destdir) = tempdir( CLEANUP => 1 );
  my($prefix) = tempdir( CLEANUP => 1 );

  my $destdir_prefix = path _destdir_prefix($destdir, $prefix);
  note "destdir_prefix = $destdir_prefix";
  eval { $destdir_prefix->mkpath };
  is $@, '';

};

subtest '_ssl_reqs' => sub {

  is(
    _ssl_reqs,
    hash {
      field 'Net::SSLeay' => D();
      field 'IO::Socket::SSL' => D();
      etc;
    },
  );

  note _dump(_ssl_reqs);

};

subtest '_has_ssl' => sub {

  eval { _has_ssl() };

  is $@, '';

  note "_has_ssl = @{[ _has_ssl() ]}";

};

done_testing;



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