use strict;
use warnings;
use Test::More;
BEGIN { plan skip_all => "Install Capture::Tiny to test installation"
unless eval { require Capture::Tiny; 1 } }
use Capture::Tiny qw(capture);
use File::Temp qw(tempdir);
use File::Spec;
use Cwd;
use Config;
plan tests => 2;
my $dir = tempdir('test_local_lib-XXXXX', DIR => Cwd::abs_path('t'), CLEANUP => 1);
use local::lib ();
local::lib->import($dir);
my $orig_dir = cwd;
SKIP: for my $dist_type (qw(EUMM MB)) {
chdir File::Spec->catdir($orig_dir, qw(t dist), $dist_type);
if ($dist_type eq 'EUMM') {
my ($stdout, $stderr) = capture { eval {
system($^X, 'Makefile.PL') && die "Makefile.PL failed";
system($Config{make}, 'install') && die "$Config{make} install failed";
} };
diag $stdout, $stderr if $@;
} else {
my ($stdout, $stderr) = capture { eval {
system($^X, 'Build.PL') && die "Build.PL failed";
system($^X, 'Build', 'install') && die "Build install failed";
} };
diag $stdout, $stderr if $@;
}
ok(
-e File::Spec->catfile(
$dir, qw(lib perl5), "$dist_type.pm",
),
"$dist_type.pm installed into the correct location",
);
}