⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test_types.t

📁 source of perl for linux application,
💻 T
字号:
#!/usr/bin/perl -wuse strict;use lib $ENV{PERL_CORE} ? '../lib/Module/Build/t/lib' : 't/lib';use MBTest tests => 14 + 12;use Cwd ();my $cwd = Cwd::cwd();my $tmp = MBTest->tmpdir;use DistGen;my $dist = DistGen->new(dir => $tmp);$dist->add_file('t/special_ext.st', <<'---');#!perl use Test::More tests => 2;ok(1, 'first test in special_ext');ok(1, 'second test in special_ext');---$dist->add_file('t/another_ext.at', <<'---');#!perl use Test::More tests => 2;ok(1, 'first test in another_ext');ok(1, 'second test in another_ext');---$dist->add_file('t/foo.txt', <<'---');#!perl use Test::More tests => 1;ok 0, "don't run this non-test file";die "don't run this non-test file";---$dist->regen;chdir($dist->dirname) or die "Can't chdir to '@{[$dist->dirname]}': $!";#########################use_ok 'Module::Build';my $mb = Module::Build->subclass(   code => q#        sub ACTION_testspecial {             shift->generic_test(type => 'special');        }        sub ACTION_testanother {             shift->generic_test(type => 'another');        }  #  )->new(      module_name => $dist->name,      test_types  => {          special => '.st',          another => '.at',      },  );ok $mb;my $special_output = uc(stdout_of(    sub {$mb->dispatch('testspecial', verbose => 1)}));like($special_output, qr/^OK 1 - FIRST TEST IN SPECIAL_EXT/m,    'saw expected output from first test');like($special_output, qr/^OK 2 - SECOND TEST IN SPECIAL_EXT/m,    'saw expected output from second test');my $another_output = uc(stdout_of(    sub {$mb->dispatch('testanother', verbose => 1)}));ok($another_output, 'we have some test output');like($another_output, qr/^OK 1 - FIRST TEST IN ANOTHER_EXT/m,    'saw expected output from first test');like($another_output, qr/^OK 2 - SECOND TEST IN ANOTHER_EXT/m,    'saw expected output from second test');my $all_output = uc(stdout_of(    sub {$mb->dispatch('testall', verbose => 1)}));0 and warn "\ntestall said >>>\n$all_output\n<<<\n";like($all_output, qr/^OK 1 - FIRST TEST IN SPECIAL_EXT/m,    'expected output from basic.t');like($all_output, qr/^OK 2 - SECOND TEST IN SPECIAL_EXT/m,    'expected output from basic.t');like($all_output, qr/^OK 1 - FIRST TEST IN ANOTHER_EXT/m);like($all_output, qr/^OK 2 - SECOND TEST IN ANOTHER_EXT/m);# we get a third one from basic.tis(scalar(@{[$all_output =~ m/OK 1/mg]}), 3 );is(scalar(@{[$all_output =~ m/OK/mg]}),   8 );is(scalar(@{[$all_output =~ m/ALL TESTS SUCCESSFUL\./mg]}),   1);chdir($cwd) or die "Can't chdir to '$cwd': $!";$dist->remove;{ # once-again$dist->add_file('t/foo/special.st', <<'---');#!perl use Test::More tests => 2;ok(1, 'first test in special_ext');ok(1, 'second test in special_ext');---$dist->add_file('t/foo/basic_foo.t', <<'---');use Test::More tests => 1;use strict; use Simple;ok 1;---$dist->regen;chdir($dist->dirname) or die "Can't chdir to '@{[$dist->dirname]}': $!";my $mb = Module::Build->subclass(   code => q#        sub ACTION_testspecial {             shift->generic_test(type => 'special');        }        sub ACTION_testanother {             shift->generic_test(type => 'another');        }  #  )->new(      recursive_test_files => 1,      module_name => $dist->name,      test_types  => {          special => '.st',          another => '.at',      },  );ok $mb;my $special_output = uc(stdout_of(    sub {$mb->dispatch('testspecial', verbose => 1)}));like($special_output, qr/^OK 1 - FIRST TEST IN SPECIAL_EXT/m,    'saw expected output from first test');like($special_output, qr/^OK 2 - SECOND TEST IN SPECIAL_EXT/m,    'saw expected output from second test');my $another_output = uc(stdout_of(    sub {$mb->dispatch('testanother', verbose => 1)}));ok($another_output, 'we have some test output');like($another_output, qr/^OK 1 - FIRST TEST IN ANOTHER_EXT/m,    'saw expected output from first test');like($another_output, qr/^OK 2 - SECOND TEST IN ANOTHER_EXT/m,    'saw expected output from second test');my $all_output = uc(stdout_of(    sub {$mb->dispatch('testall', verbose => 1)}));like($all_output, qr/^OK 1 - FIRST TEST IN SPECIAL_EXT/m,    'expected output from basic.t');like($all_output, qr/^OK 2 - SECOND TEST IN SPECIAL_EXT/m,    'expected output from basic.t');like($all_output, qr/^OK 1 - FIRST TEST IN ANOTHER_EXT/m);like($all_output, qr/^OK 2 - SECOND TEST IN ANOTHER_EXT/m);# we get a third one from basic.tis(scalar(@{[$all_output =~ m/(OK 1)/mg]}), 5 );is(scalar(@{[$all_output =~ m/(OK)/mg]}),   13 );chdir($cwd) or die "Can't chdir to '$cwd': $!";$dist->remove;} # end once-again# vim:ts=4:sw=4:et:sta

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -