X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Finstall.t;h=cbceb647b705735527b3b883f6db95467c77fc5b;hb=3c5f2fc26b9ecd07dc16e24b78afdf8018615b3f;hp=874e3e165e3839b495a59274398b95570777a9e1;hpb=93b577b582750b1e84d1bfaf916e2d0f5ef9d0ba;p=p5sagit%2Flocal-lib.git diff --git a/t/install.t b/t/install.t index 874e3e1..cbceb64 100644 --- a/t/install.t +++ b/t/install.t @@ -13,6 +13,13 @@ use lib 't/lib'; use TempDir; use local::lib (); +delete @ENV{ + 'PERL_MM_OPT', + 'PERL_MB_OPT', + 'PERL_LOCAL_LIB_ROOT', + grep /^MAKE/, keys %ENV +}; + my @dirs = ( 'plain', 'with space', @@ -22,10 +29,23 @@ my @dirs = ( my %dist_types = ( EUMM => sub { + open my $fh, '>', 'Makefile.PL' or die "can't create Makefile.PL: $!"; + print $fh 'use ExtUtils::MakeMaker; WriteMakefile( NAME => "EUMM" );'; + close $fh; system($^X, 'Makefile.PL') && die "Makefile.PL failed"; system($Config{make}, 'install') && die "$Config{make} install failed"; }, MB => sub { + open my $fh, '>', 'Build.PL' or die "can't create Build.PL: $!"; + print $fh <new( + module_name => "MB", + dist_version => 1, + license => "perl", +)->create_build_script; +END_BUILD + close $fh; system($^X, 'Build.PL') && die "Build.PL failed"; system($^X, 'Build', 'install') && die "Build install failed"; }, @@ -37,12 +57,20 @@ my $orig_dir = cwd; for my $dir_base (@dirs) { for my $dist_type (sort keys %dist_types) { chdir $orig_dir; - my $temp = mk_temp_dir('test_local_lib-XXXXX'); + my $temp = mk_temp_dir("install-$dist_type-XXXXX"); my $ll_dir = "$dist_type-$dir_base"; - mkpath(my $ll = "$temp/$ll_dir"); + my $ll = "$temp/$ll_dir"; + mkpath(File::Spec->canonpath($ll)); + local::lib->import($ll); - chdir File::Spec->catdir($orig_dir, qw(t dist), $dist_type); + my $dist_dir = mk_temp_dir("source-$dist_type-XXXXX"); + chdir $dist_dir; + mkdir 'lib'; + open my $fh, '>', "lib/$dist_type.pm"; + print $fh '1;'; + close $fh; + my $output = capture_merged { eval { $dist_types{$dist_type}->(); } };