1#!/usr/bin/perl -w 2 3BEGIN { 4 if( $ENV{PERL_CORE} ) { 5 chdir 't'; 6 @INC = ('../lib', 'lib/'); 7 } 8 else { 9 unshift @INC, 't/lib/'; 10 } 11} 12chdir 't'; 13 14use File::Spec; 15 16use Test::More tests => 3; 17 18# Having the CWD in @INC masked a bug in finding hint files 19my $curdir = File::Spec->curdir; 20@INC = grep { $_ ne $curdir && $_ ne '.' } @INC; 21 22mkdir('hints', 0777); 23my $hint_file = File::Spec->catfile('hints', "$^O.pl"); 24open(HINT, ">$hint_file") || die "Can't write dummy hints file $hint_file: $!"; 25print HINT <<'CLOO'; 26$self->{CCFLAGS} = 'basset hounds got long ears'; 27CLOO 28close HINT; 29 30use TieOut; 31use ExtUtils::MakeMaker; 32 33my $out = tie *STDERR, 'TieOut'; 34my $mm = bless {}, 'ExtUtils::MakeMaker'; 35$mm->check_hints; 36is( $mm->{CCFLAGS}, 'basset hounds got long ears' ); 37is( $out->read, "Processing hints file $hint_file\n" ); 38 39open(HINT, ">$hint_file") || die "Can't write dummy hints file $hint_file: $!"; 40print HINT <<'CLOO'; 41die "Argh!\n"; 42CLOO 43close HINT; 44 45$mm->check_hints; 46is( $out->read, <<OUT, 'hint files produce errors' ); 47Processing hints file $hint_file 48Argh! 49OUT 50 51END { 52 use File::Path; 53 rmtree ['hints']; 54} 55