📄 prereq.t
字号:
#!/usr/bin/perl -w# This is a test of the verification of the arguments to# WriteMakefile.BEGIN { if( $ENV{PERL_CORE} ) { chdir 't' if -d 't'; @INC = ('../lib', 'lib'); } else { unshift @INC, 't/lib'; }}use strict;use Test::More tests => 13;use TieOut;use MakeMaker::Test::Utils;use MakeMaker::Test::Setup::BFD;use ExtUtils::MakeMaker;chdir 't';perl_lib();ok( setup_recurs(), 'setup' );END { ok( chdir File::Spec->updir ); ok( teardown_recurs(), 'teardown' );}ok( chdir 'Big-Dummy', "chdir'd to Big-Dummy" ) || diag("chdir failed: $!");{ ok( my $stdout = tie *STDOUT, 'TieOut' ); my $warnings = ''; local $SIG{__WARN__} = sub { $warnings .= join '', @_; }; WriteMakefile( NAME => 'Big::Dummy', PREREQ_PM => { strict => 0 } ); is $warnings, ''; $warnings = ''; WriteMakefile( NAME => 'Big::Dummy', PREREQ_PM => { strict => 99999 } ); is $warnings, sprintf("Warning: prerequisite strict 99999 not found. We have %s.\n", strict->VERSION); $warnings = ''; WriteMakefile( NAME => 'Big::Dummy', PREREQ_PM => { "I::Do::Not::Exist" => 0, } ); is $warnings, "Warning: prerequisite I::Do::Not::Exist 0 not found.\n"; $warnings = ''; WriteMakefile( NAME => 'Big::Dummy', PREREQ_PM => { "I::Do::Not::Exist" => 0, "strict" => 99999, } ); is $warnings, "Warning: prerequisite I::Do::Not::Exist 0 not found.\n". sprintf("Warning: prerequisite strict 99999 not found. We have %s.\n", strict->VERSION); $warnings = ''; eval { WriteMakefile( NAME => 'Big::Dummy', PREREQ_PM => { "I::Do::Not::Exist" => 0, "Nor::Do::I" => 0, "strict" => 99999, }, PREREQ_FATAL => 1, ); }; is $warnings, ''; is $@, <<'END', "PREREQ_FATAL";MakeMaker FATAL: prerequisites not found. I::Do::Not::Exist not installed Nor::Do::I not installed strict 99999Please install these modules first and rerun 'perl Makefile.PL'.END $warnings = ''; eval { WriteMakefile( NAME => 'Big::Dummy', PREREQ_PM => { "I::Do::Not::Exist" => 0, }, CONFIGURE => sub { require I::Do::Not::Exist; }, PREREQ_FATAL => 1, ); }; is $warnings, ''; is $@, <<'END', "PREREQ_FATAL happens before CONFIGURE";MakeMaker FATAL: prerequisites not found. I::Do::Not::Exist not installedPlease install these modules first and rerun 'perl Makefile.PL'.END}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -