📄 recurs.t
字号:
#!/usr/bin/perl -w# This tests MakeMaker against recursive buildsBEGIN { if( $ENV{PERL_CORE} ) { chdir 't' if -d 't'; @INC = ('../lib', 'lib'); } else { unshift @INC, 't/lib'; }}use strict;use Config;use Test::More tests => 26;use MakeMaker::Test::Utils;use MakeMaker::Test::Setup::Recurs;# 'make disttest' sets a bunch of environment variables which interfere# with our testing.delete @ENV{qw(PREFIX LIB MAKEFLAGS)};my $perl = which_perl();my $Is_VMS = $^O eq 'VMS';chdir('t');perl_lib;my $Touch_Time = calibrate_mtime();$| = 1;ok( setup_recurs(), 'setup' );END { ok( chdir File::Spec->updir ); ok( teardown_recurs(), 'teardown' );}ok( chdir('Recurs'), q{chdir'd to Recurs} ) || diag("chdir failed: $!");# Check recursive Makefile building.my @mpl_out = run(qq{$perl Makefile.PL});cmp_ok( $?, '==', 0, 'Makefile.PL exited with zero' ) || diag(@mpl_out);my $makefile = makefile_name();ok( -e $makefile, 'Makefile written' );ok( -e File::Spec->catfile('prj2',$makefile), 'sub Makefile written' );my $make = make_run();my $make_out = run("$make");is( $?, 0, 'recursive make exited normally' ) || diag $make_out;ok( chdir File::Spec->updir );ok( teardown_recurs(), 'cleaning out recurs' );ok( setup_recurs(), ' setting up fresh copy' );ok( chdir('Recurs'), q{chdir'd to Recurs} ) || diag("chdir failed: $!");# Check NORECURS@mpl_out = run(qq{$perl Makefile.PL "NORECURS=1"});cmp_ok( $?, '==', 0, 'Makefile.PL NORECURS=1 exited with zero' ) || diag(@mpl_out);$makefile = makefile_name();ok( -e $makefile, 'Makefile written' );ok( !-e File::Spec->catfile('prj2',$makefile), 'sub Makefile not written' );$make = make_run();run("$make");is( $?, 0, 'recursive make exited normally' );ok( chdir File::Spec->updir );ok( teardown_recurs(), 'cleaning out recurs' );ok( setup_recurs(), ' setting up fresh copy' );ok( chdir('Recurs'), q{chdir'd to Recurs} ) || diag("chdir failed: $!");# Check that arguments aren't stomped when they have .. prepended# [rt.perl.org 4345]@mpl_out = run(qq{$perl Makefile.PL "INST_SCRIPT=cgi"});cmp_ok( $?, '==', 0, 'Makefile.PL exited with zero' ) || diag(@mpl_out);$makefile = makefile_name();my $submakefile = File::Spec->catfile('prj2',$makefile);ok( -e $makefile, 'Makefile written' );ok( -e $submakefile, 'sub Makefile written' );my $inst_script = File::Spec->catdir(File::Spec->updir, 'cgi');ok( open(MAKEFILE, $submakefile) ) || diag("Can't open $submakefile: $!");{ local $/; like( <MAKEFILE>, qr/^\s*INST_SCRIPT\s*=\s*\Q$inst_script\E/m, 'prepend .. not stomping WriteMakefile args' ) }close MAKEFILE;{ # Quiet "make test" failure noise close *STDERR; my $test_out = run("$make test"); isnt $?, 0, 'test failure in a subdir causes make to fail';}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -