#!/usr/bin/perl
use strict;
BEGIN {
$| = 1;
$^W = 1;
}
use Test::More;
use File::Spec;
use t::lib::Test;
plan tests => 45;
# Let's see how MakeMaker behaves first
# normal run
SCOPE: {
ok( create_dist( 'Foo', { 'Makefile.PL' => <<"END_DSL" }), 'create_dist' );
use ExtUtils::MakeMaker;
WriteMakefile(
NAME => 'Foo',
INC => '-I/usr/include/',
);
END_DSL
ok( run_makefile_pl(), 'build_dist' );
my $file = makefile();
ok( -f $file, 'Makefile exists' );
my $content = _read($file);
ok( $content,'file is not empty');
my ($inc) = $content =~ /^INC\s*=\s*(.+)$/m;
diag "INC: $inc" if $ENV{TEST_VERBOSE};
ok $inc && $inc =~ m{/usr/include/}, "correct INC";
ok( kill_dist(), 'kill_dist' );
}
# added as ARGV
SCOPE: {
ok( create_dist( 'Foo', { 'Makefile.PL' => <<"END_DSL" }), 'create_dist' );
use ExtUtils::MakeMaker;
WriteMakefile(
NAME => 'Foo',
);
END_DSL
ok( run_makefile_pl(run_params => ['INC=-I/usr/opt/include/']), 'build_dist' );
my $file = makefile();
ok( -f $file, 'Makefile exists' );
my $content = _read($file);
ok( $content,'file is not empty');
my ($inc) = $content =~ /^INC\s*=\s*(.+)$/m;
diag "INC: $inc" if $ENV{TEST_VERBOSE};
ok $inc && $inc =~ m{/usr/opt/include/}, "correct INC";
ok( kill_dist(), 'kill_dist' );
}
# combined
SCOPE: {
ok( create_dist( 'Foo', { 'Makefile.PL' => <<"END_DSL" }), 'create_dist' );
use ExtUtils::MakeMaker;
WriteMakefile(
NAME => 'Foo',
INC => '-I/usr/include/',
);
END_DSL
ok( run_makefile_pl(run_params => ['INC=-I/usr/opt/include/']), 'build_dist' );
my $file = makefile();
ok( -f $file, 'Makefile exists' );
my $content = _read($file);
ok( $content,'file is not empty');
my ($inc) = $content =~ /^INC\s*=\s*(.+)$/m;
diag "INC: $inc" if $ENV{TEST_VERBOSE};
ok $inc && $inc !~ m{/usr/include/}, "INC is overriden";
ok $inc && $inc =~ m{/usr/opt/include/}, "correct INC";
ok( kill_dist(), 'kill_dist' );
}
# Now test Module::Install
# normal run
SCOPE: {
ok( create_dist( 'Foo', { 'Makefile.PL' => <<"END_DSL" }), 'create_dist' );
use inc::Module::Install 0.81;
name 'Foo';
perl_version '5.005';
all_from 'lib/Foo.pm';
cc_inc_paths '/usr/include/';
WriteAll;
END_DSL
ok( run_makefile_pl(), 'build_dist' );
my $file = makefile();
ok( -f $file, 'Makefile exists' );
my $content = _read($file);
ok( $content,'file is not empty');
my ($inc) = $content =~ /^INC\s*=\s*(.+)$/m;
diag "INC: $inc" if $ENV{TEST_VERBOSE};
ok $inc && $inc =~ m{/usr/include/}, "correct INC";
ok( kill_dist(), 'kill_dist' );
}
# multiple inc paths
SCOPE: {
ok( create_dist( 'Foo', { 'Makefile.PL' => <<"END_DSL" }), 'create_dist' );
use inc::Module::Install 0.81;
name 'Foo';
perl_version '5.005';
all_from 'lib/Foo.pm';
cc_inc_paths '/usr/include/';
cc_inc_paths '/usr/opt/include/';
WriteAll;
END_DSL
ok( run_makefile_pl(), 'build_dist' );
my $file = makefile();
ok( -f $file, 'Makefile exists' );
my $content = _read($file);
ok( $content,'file is not empty');
my ($inc) = $content =~ /^INC\s*=\s*(.+)$/m;
diag "INC: $inc" if $ENV{TEST_VERBOSE};
ok $inc && $inc =~ m{/usr/include/}, "correct INC";
ok $inc && $inc =~ m{/usr/opt/include/}, "correct INC";
ok( kill_dist(), 'kill_dist' );
}
# added as ARGV
SCOPE: {
ok( create_dist( 'Foo', { 'Makefile.PL' => <<"END_DSL" }), 'create_dist' );
use inc::Module::Install 0.81;
name 'Foo';
perl_version '5.005';
all_from 'lib/Foo.pm';
WriteAll;
END_DSL
ok( run_makefile_pl(run_params => ['INC=-I/usr/opt/include/']), 'build_dist' );
my $file = makefile();
ok( -f $file, 'Makefile exists' );
my $content = _read($file);
ok( $content,'file is not empty');
my ($inc) = $content =~ /^INC\s*=\s*(.+)$/m;
diag "INC: $inc" if $ENV{TEST_VERBOSE};
ok $inc && $inc =~ m{/usr/opt/include/}, "correct INC";
ok( kill_dist(), 'kill_dist' );
}
# combined
SCOPE: {
ok( create_dist( 'Foo', { 'Makefile.PL' => <<"END_DSL" }), 'create_dist' );
use inc::Module::Install 0.81;
name 'Foo';
perl_version '5.005';
all_from 'lib/Foo.pm';
cc_inc_paths '/usr/include/';
WriteAll;
END_DSL
ok( run_makefile_pl(run_params => ['INC=-I/usr/opt/include/']), 'build_dist' );
my $file = makefile();
ok( -f $file, 'Makefile exists' );
my $content = _read($file);
ok( $content,'file is not empty');
my ($inc) = $content =~ /^INC\s*=\s*(.+)$/m;
diag "INC: $inc" if $ENV{TEST_VERBOSE};
ok $inc && $inc !~ m{/usr/include/}, "INC is overriden";
ok $inc && $inc =~ m{/usr/opt/include/}, "correct INC";
ok( kill_dist(), 'kill_dist' );
}