diff options
Diffstat (limited to 'lib/ExtUtils/t/MM_Cygwin.t')
-rw-r--r-- | lib/ExtUtils/t/MM_Cygwin.t | 53 |
1 files changed, 30 insertions, 23 deletions
diff --git a/lib/ExtUtils/t/MM_Cygwin.t b/lib/ExtUtils/t/MM_Cygwin.t index df29ae214a..3c995b7d13 100644 --- a/lib/ExtUtils/t/MM_Cygwin.t +++ b/lib/ExtUtils/t/MM_Cygwin.t @@ -5,6 +5,9 @@ BEGIN { chdir 't' if -d 't'; @INC = '../lib'; } + else { + unshift @INC, 't/lib'; + } } chdir 't'; @@ -12,7 +15,7 @@ use Test::More; BEGIN { if ($^O =~ /cygwin/i) { - plan tests => 17; + plan tests => 15; } else { plan skip_all => "This is not cygwin"; } @@ -20,9 +23,7 @@ BEGIN { use Config; use File::Spec; - -# MM package faked up by messy MI entanglement -@MM::ISA = qw( ExtUtils::MM_Unix ExtUtils::Liblist::Kid ExtUtils::MakeMaker ); +require ExtUtils::MM; use_ok( 'ExtUtils::MM_Cygwin' ); @@ -44,7 +45,10 @@ is( $args->cflags(), 'fakeflags', delete $args->{CFLAGS}; # ExtUtils::MM_Cygwin::cflags() calls this, fake the output -*ExtUtils::MM_Unix::cflags = sub { return $_[1] }; +{ + no warnings 'redefine'; + sub ExtUtils::MM_Unix::cflags { return $_[1] }; +} # respects the config setting, should ignore whitespace around equal sign my $ccflags = $Config{useshrplib} eq 'true' ? ' -DUSEIMPORTLIB' : ''; @@ -66,6 +70,7 @@ $args = bless({ NOECHO => 'noecho', MAN3PODS => {}, MAN1PODS => {}, + MAKEFILE => 'Makefile', }, 'MM'); like( $args->manifypods(), qr/pure_all\n\tnoecho/, 'manifypods() should return without PODS values set' ); @@ -73,31 +78,33 @@ like( $args->manifypods(), qr/pure_all\n\tnoecho/, $args->{MAN3PODS} = { foo => 1 }; my $out = tie *STDOUT, 'FakeOut'; { - local *MM::perl_script = sub { return }; - my $res = $args->manifypods(); - like( $$out, qr/could not locate your pod2man/, - '... should warn if pod2man cannot be located' ); - like( $res, qr/POD2MAN_EXE = -S pod2man/, - '... should use default pod2man target' ); - like( $res, qr/pure_all.+foo/, '... should add MAN3PODS targets' ); + no warnings 'once'; + local *MM::perl_script = sub { return }; + my $res = $args->manifypods(); + like( $$out, qr/could not locate your pod2man/, + '... should warn if pod2man cannot be located' ); + like( $res, qr/POD2MAN_EXE = -S pod2man/, + '... should use default pod2man target' ); + like( $res, qr/pure_all.+foo/, '... should add MAN3PODS targets' ); +} + +SKIP: { + skip "Only relevent in the core", 2 unless $ENV{PERL_CORE}; + $args->{PERL_SRC} = File::Spec->updir; + $args->{MAN1PODS} = { bar => 1 }; + $$out = ''; + $res = $args->manifypods(); + is( $$out, '', '... should not warn if PERL_SRC provided' ); + like( $res, qr/bar \\\n\t1 \\\n\tfoo/, + '... should join MAN1PODS and MAN3PODS'); } -$args->{PERL_SRC} = File::Spec->updir; -$args->{MAN1PODS} = { bar => 1 }; -$$out = ''; -$res = $args->manifypods(); -is( $$out, '', '... should not warn if PERL_SRC provided' ); -like( $res, qr/bar \\\n\t1 \\\n\tfoo/, '... should join MAN1PODS and MAN3PODS'); # test perl_archive my $libperl = $Config{libperl} || 'libperl.a'; -$libperl =~ s/.a/.dll.a/; +$libperl =~ s/\.a/.dll.a/; is( $args->perl_archive(), "\$(PERL_INC)/$libperl", 'perl_archive() should respect libperl setting' ); -# test import of $Verbose and &neatvalue -can_ok( 'ExtUtils::MM_Cygwin', 'neatvalue' ); -is( $ExtUtils::MM_Cygwin::Verbose, $ExtUtils::MakeMaker::Verbose, - 'ExtUtils::MM_Cygwin should import $Verbose from ExtUtils::MakeMaker' ); package FakeOut; |