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

📄 40_cpanplus-internals-report.t

📁 source of perl for linux application,
💻 T
📖 第 1 页 / 共 2 页
字号:
    }    {   my $prereqs = REPORT_MISSING_PREREQS->('foo','bar@example.com','Foo::Bar');        ok( $prereqs,                   "Test output generated" );        like( $prereqs, qr/'foo \(bar\@example\.com\)'/,                                         "   Proper content found" );        like( $prereqs, qr/Foo::Bar/,   "   Proper content found" );        like( $prereqs, qr/prerequisi/, "   Proper content found" );        like( $prereqs, qr/PREREQ_PM/,  "   Proper content found" );    }    {   my $prereqs = REPORT_MISSING_PREREQS->(undef,undef,'Foo::Bar');            ok( $prereqs,                   "Test output generated" );        like( $prereqs, qr/Your Name/,  "   Proper content found" );        like( $prereqs, qr/Foo::Bar/,   "   Proper content found" );        like( $prereqs, qr/prerequisi/, "   Proper content found" );        like( $prereqs, qr/PREREQ_PM/,  "   Proper content found" );    }    {   my $missing = REPORT_MISSING_TESTS->();        ok( $missing,                   "Missing test string generated" );        like( $missing, qr/tests/,      "   Proper content found" );        like( $missing, qr/Test::More/, "   Proper content found" );    }    {   my $missing = REPORT_MESSAGE_FOOTER->();        ok( $missing,                   "Message footer string generated" );        like( $missing, qr/NOTE/,       "   Proper content found" );        like( $missing, qr/identical/,  "   Proper content found" );        like( $missing, qr/mistaken/,   "   Proper content found" );        like( $missing, qr/appreciate/, "   Proper content found" );        like( $missing, qr/Additional/, "   Proper content found" );    }    {   my @libs = MISSING_EXTLIBS_LIST->("No library found for -lfoo\nNo library found for -lbar");        ok( @libs,                      "Missing external libraries found" );        my @list = qw(foo bar);        is_deeply( \@libs, \@list,      "   Proper content found" );    }        {   my $clone   = $Mod->clone;        my $prereqs = { $ModPrereq => $HighVersion };            $clone->status->prereqs( $prereqs );        my $str = REPORT_LOADED_PREREQS->( $clone );                like($str, qr/PREREQUISITES:/,  "Listed loaded prerequisites" );        like($str, qr/\! $ModPrereq\s+\S+\s+\S+/,                                        "   Proper content found" );    }}### callback tests{   ### as reported in bug 13086, this callback returned the wrong item     ### from the list:    ### $self->_callbacks->munge_test_report->($Mod, $message, $grade);         my $rv = $CB->_callbacks->munge_test_report->( 1..4 );       is( $rv, 2,                 "Default 'munge_test_report' callback OK" );}### test creating test reports ###SKIP: {	skip "You have chosen not to enable test reporting", $total_tests,        unless $CB->configure_object->get_conf('cpantest');    skip "No report send & query modules installed", $total_tests        unless $CB->_have_query_report_modules(verbose => 0);    SKIP: {           my $mod = $CB->module_tree( TEST_CONF_PREREQ ); # is released to CPAN        ok( $mod,                           "Module retrieved" );                ### so we're not pinned down to this specific version of perl        my @list = $mod->fetch_report( all_versions => 1 );        skip "Possibly no net connection, or server down", 7 unless @list;             my $href = $list[0];        ok( scalar(@list),                  "Fetched test report" );        is( ref $href, ref {},              "   Return value has hashrefs" );        ok( $href->{grade},                 "   Has a grade" );        ### XXX use constants for grades?        like( $href->{grade}, qr/pass|fail|unknown|na/i,                                            "   Grade as expected" );        my $pkg_name = $mod->package_name;        ok( $href->{dist},                  "   Has a dist" );        like( $href->{dist}, qr/$pkg_name/, "   Dist as expected" );        ok( $href->{platform},              "   Has a platform" );    }    skip "No report sending modules installed", $send_tests        unless $CB->_have_send_report_modules(verbose => 0);    for my $type ( keys %$map ) {        ### never enter the editor for test reports        ### but check if the callback actually gets called;        my $called_edit; my $called_send;        $CB->_register_callback(            name => 'edit_test_report',            code => sub { $called_edit++; 0 }        );        $CB->_register_callback(            name => 'send_test_report',            code => sub { $called_send++; 1 }        );		### reset from earlier tests		$CB->_register_callback(            name => 'munge_test_report',            code => sub { return $_[1] }        );        my $mod = $map->{$type}->{'pre_hook'}                    ? $map->{$type}->{'pre_hook'}->( $Mod )                    : $Mod;        my $file = $CB->_send_report(                        module        => $mod,                        buffer        => $map->{$type}{'buffer'},                        failed        => $map->{$type}{'failed'},                        tests_skipped => ($map->{$type}{'skiptests'} ? 1 : 0),                        save          => 1,                        dontcc        => 1, # no need to send, and also skips                                            # fetching reports from testers.cpan                    );        ok( $file,              "Type '$type' written to file" );        ok( -e $file,           "   File exists" );        my $fh = FileHandle->new($file);        ok( $fh,                "   Opened file for reading" );        my $in = do { local $/; <$fh> };        ok( $in,                "   File has contents" );        for my $regex ( @{$map->{$type}->{match}} ) {            like( $in, $regex,  "   File contains expected contents" );        }        ### check if our registered callback got called ###        if( $map->{$type}->{check} ) {            ok( $called_edit,   "   Callback to edit was called" );            ok( $called_send,   "   Callback to send was called" );        }        #unlink $file;### T::R tests don't even try to mail, let's not try and be smarter### ourselves#        {   ### use a dummy 'editor' and see if the editor#            ### invocation doesn't break things#            $conf->set_program( editor => "$^X -le1" );#            $CB->_callbacks->edit_test_report( sub { 1 } );##            ### XXX whitebox test!!! Might change =/#            ### this makes test::reporter not ask for what editor to use#            ### XXX stupid lousy perl warnings;#            local $Test::Reporter::MacApp = 1;#            local $Test::Reporter::MacApp = 1;##            ### now try and mail the report to a /dev/null'd mailbox#            my $ok = $CB->_send_report(#                            module  => $Mod,#                            buffer  => $map->{$type}->{'buffer'},#                            failed  => $map->{$type}->{'failed'},#                            address => NOBODY,#                            dontcc  => 1,#                        );#            ok( $ok,                "   Mailed report to NOBODY" );#       }    }}sub missing_prereq_buffer {    return q[MAKE TEST:Can't locate floo.pm in @INC (@INC contains: /Users/kane/sources/p4/other/archive-extract/lib /Users/kane/sources/p4/other/file-fetch/lib /Users/kane/sources/p4/other/archive-tar-new/lib /Users/kane/sources/p4/other/carp-trace/lib /Users/kane/sources/p4/other/log-message/lib /Users/kane/sources/p4/other/module-load/lib /Users/kane/sources/p4/other/params-check/lib /Users/kane/sources/p4/other/qmail-checkpassword/lib /Users/kane/sources/p4/other/module-load-conditional/lib /Users/kane/sources/p4/other/term-ui/lib /Users/kane/sources/p4/other/ipc-cmd/lib /Users/kane/sources/p4/other/config-auto/lib /Users/kane/sources/NSA /Users/kane/sources/NSA/misc /Users/kane/sources/NSA/test /Users/kane/sources/beheer/perl /opt/lib/perl5/5.8.3/darwin-2level /opt/lib/perl5/5.8.3 /opt/lib/perl5/site_perl/5.8.3/darwin-2level /opt/lib/perl5/site_perl/5.8.3 /opt/lib/perl5/site_perl .).BEGIN failed--compilation aborted.    ];}sub missing_tests_buffer {    return q[cp lib/Acme/POE/Knee.pm blib/lib/Acme/POE/Knee.pmcp demo_race.pl blib/lib/Acme/POE/demo_race.plcp demo_simple.pl blib/lib/Acme/POE/demo_simple.plMAKE TEST:No tests defined for Acme::POE::Knee extension.    ];}sub perl_version_too_low_buffer_mm {    return q[Running [/usr/bin/perl5.8.1 Makefile.PL ]...Perl v5.8.3 required--this is only v5.8.1, stopped at Makefile.PL line 1.BEGIN failed--compilation aborted at Makefile.PL line 1.[ERROR] Could not run '/usr/bin/perl5.8.1 Makefile.PL': Perl v5.8.3 required--this is only v5.8.1, stopped at Makefile.PL line 1.BEGIN failed--compilation aborted at Makefile.PL line 1. -- cannot continue    ];}    sub perl_version_too_low_buffer_build {    my $type = shift;    return q[ERROR: perl: Version 5.006001 is installed, but we need version >= 5.008001ERROR: version: Prerequisite version isn't installedERRORS/WARNINGS FOUND IN PREREQUISITES.  You may wish to install the versions of the modules indicated above before proceeding with this installation.    ]   if($type == 1);    return q[ERROR: Version 5.006001 of perl is installed, but we need version >= 5.008001ERROR: version: Prerequisite version isn't installedERRORS/WARNINGS FOUND IN PREREQUISITES.  You may wish to install the versions of the modules indicated above before proceeding with this installation.    ]   if($type == 2);}    # Local variables:# c-indentation-style: bsd# c-basic-offset: 4# indent-tabs-mode: nil# End:# vim: expandtab shiftwidth=4:

⌨️ 快捷键说明

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