perl – 在Windows上构建TAP :: Formatter :: HTML的麻烦

perl – 在Windows上构建TAP :: Formatter :: HTML的麻烦,第1张

概述我的cpan TAP::Formatter::HTML安装在01_basic.t挂起,我不知道为什么: CPAN.pm: Going to build S/SP/SPURKIS/TAP-Formatter-HTML-0.09.tar.gz# running Build.PL --installdirs siteSet up gcc environment - 3.4.5 (mingw-vis 我的cpan TAP::Formatter::HTML安装在01_basic.t挂起,我不知道为什么:

CPAN.pm: Going to build S/SP/SPURKIS/TAP-Formatter-HTML-0.09.tar.gz# running Build.PL --installdirs siteSet up gcc environment - 3.4.5 (mingw-vista special r3)Set up gcc environment - 3.4.5 (mingw-vista special r3)Set up gcc environment - 3.4.5 (mingw-vista special r3)Set up gcc environment - 3.4.5 (mingw-vista special r3)Created MYMeta.yml and MYMeta.JsonCreating new 'Build' script for 'TAP-Formatter-HTML' version '0.09'C:\Perl\bin\perl.exe Build --makefile_env_macros 1Set up gcc environment - 3.4.5 (mingw-vista special r3)Set up gcc environment - 3.4.5 (mingw-vista special r3)Set up gcc environment - 3.4.5 (mingw-vista special r3)Building TAP-Formatter-HTML  SPURKIS/TAP-Formatter-HTML-0.09.tar.gz  C:\Perl\site\bin\dmake.exe -- OKCPAN: YAML::XS loaded ok (v0.35)Running make testC:\Perl\bin\perl.exe Build --makefile_env_macros 1 testSet up gcc environment - 3.4.5 (mingw-vista special r3)Set up gcc environment - 3.4.5 (mingw-vista special r3)Set up gcc environment - 3.4.5 (mingw-vista special r3)t_basic.t ............... 1/? Caught SIGINT. Trying to quit ...Terminating on signal SIGINT(2)Terminating on signal SIGINT(2)Terminate batch job (Y/N)? Y

为了更好地理解这个的根本原因,我修改了测试以包含一些打印并独立运行:

use strict;use warnings;$|++;use lib 'lib';use lib 't/lib';use feature 'say';use Test::More 'no_plan';use fileTempTFH;use file::Basename qw( basename );use TAP::Harness;use_ok( 'TAP::Formatter::HTML' );my $stdout_fh      = fileTempTFH->new;say "defined fileTempTFH object";my $stdout_orig_fh = IO::file->new_from_fd( fileno(STDOUT),'w' )  or dIE "Error opening STDOUT for writing: $!";say "defined IO::file object";STDOUT->fdopen( fileno($stdout_fh),'w' )  or dIE "Error redirecting STDOUT: $!";say "Opened STDOUT";my @tests = glob( 't/data/*.pl' );say "Tests defined : @tests";my $h = TAP::Harness->new({ merge => 1,formatter_class => 'TAP::Formatter::HTML' });$h->runtests(@tests);say "Tests run";STDOUT->fdopen( fileno($stdout_orig_fh),'w' )  or dIE "Error resetting STDOUT: $!";my $stdout = $stdout_fh->get_all_output || '';isnt( $stdout,'','captured test output to stdout' );foreach my $file (@tests) {    my $test = basename( $file );    $test    =~ s/\.pl$//;    ok( $stdout =~ qr|$test|,"output contains test '$test'" );}

这也挂起:

C:\Perl\cpan\sources\authors\ID\S\SP\SPURKIS\TAP-Formatter-HTML-0.09>perl t_basic.tok 1 - use TAP::Formatter::HTML;defined fileTempTFH objectdefined IO::file object

似乎挂起的语句是STDOUT-> fdopen(fileno($stdout_fh),’w’).

为什么会发生这种情况,如何在我的设置上安装模块?

PS,fileTempTFH的内容:

package fileTempTFH;use strict;use warnings;use Fcntl qw( SEEK_SET );use base qw( file::Temp );sub get_all_output {    my $self = shift;    $self->seek( 0,SEEK_SET );    my $HTML;    {    local $/ = undef;    $HTML = <$self>;    }    return $HTML;}1;

我的perl -V细节:

Set up gcc environment - 3.4.5 (mingw-vista special r3) Summary of my perl5 (revision 5 version 14 subversion 2) configuration:  Platform:    osname=MSWin32,osvers=5.2,archname=MSWin32-x86-multi-thread    uname=''    config_args='undef'    hint=recommended,useposix=true,d_sigaction=undef    useithreads=define,usemultiplicity=define    useperlio=define,d_sfio=undef,uselargefiles=define,usesocks=undef    use64bitint=undef,use64bitall=undef,uselongdouble=undef    usemymalloc=n,bincompat5005=undef   Compiler:    cc='C:/Perl/site/bin/gcc.exe',ccflags ='-DNDEBUG -DWIN32 -D_CONSolE -DNO_STRICT -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPliCIT_CONTE XT -DPERL_IMPliCIT_SYS -DUSE_PERliO -D_USE_32BIT_TIME_T -DHASATTRIBUTE -fno-strict-aliasing -mms-bitfIElds',optimize='-O2',cppflags='-DWIN32'    ccversion='',gccversion='3.4.5 (mingw-vista special r3)',gccosandvers=''    intsize=4,longsize=4,ptrsize=4,doublesize=8,byteorder=1234    d_longlong=undef,longlongsize=8,d_longdbl=define,longdblsize=8    ivtype='long',ivsize=4,nvtype='double',nvsize=8,Off_t='__int64',lseeksize=8    alignbytes=8,prototype=define   linker and librarIEs:    ld='C:\Perl\site\bin\g++.exe',ldflags ='-L"C:\Perl\lib\CORE"'    libpth=\lib    libs=-lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvAPI32 -lshell32 -lole32 -loleaut32 -lnetAPI32 -luuID -lws2_32 -lmpr -lwinmm -lversion-lodbc32 -lodbccp32 -lcomctl32 -lmsvcrt    perllibs=-lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvAPI32 -lshell32 -lole32 -loleaut32 -lnetAPI32 -luuID -lws2_32 -lmpr -lwinmm -lvers ion -lodbc32 -lodbccp32 -lcomctl32 -lmsvcrt    libc=msvcrt.lib,so=dll,useshrplib=true,libperl=perl514.lib    gnulibc_version=''   Dynamic linking:    dlsrc=dl_win32.xs,dlext=dll,d_dlsymun=undef,ccdlflags=' '    cccdlflags=' ',lddlflags='-mdll -L"C:\Perl\lib\CORE"'characteristics of this binary (from libperl):   Compile-time options: MulTIPliCITY PERL_DONT_CREATE_GVSV                        PERL_IMPliCIT_CONTEXT PERL_IMPliCIT_SYS                        PERL_MALLOC_WRAP PERL_PRESERVE_IVUV PL_OP_SLAB_ALLOC                        USE_ITHREADS USE_LARGE_fileS USE_PERliO USE_PERL_ATOF                        USE_SITECUSTOMIZE   Locally applIEd patches:        ActivePerl Build 1402 [295342]   Built under MSWin32   Compiled at Oct  7 2011 15:49:44   @INC:    C:/Perl/site/lib    C:/Perl/lib    .
解决方法 尝试更新的一个,从RT票证似乎在当前版本中解决:

“我在v0.11中解决了这个问题.”

因为只有测试失败,你可以强制安装它.测试:

http://howto.eyeoncomputers.com/programming/cpan-force-install/

fforce install TAP::Formatter::HTML

或者用cpanm

cpanm --notest TAP::Formatter::HTML

问候,

@H_502_70@ 总结

以上是内存溢出为你收集整理的perl – 在Windows上构建TAP :: Formatter :: HTML的麻烦全部内容,希望文章能够帮你解决perl – 在Windows上构建TAP :: Formatter :: HTML的麻烦所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1269991.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-08
下一篇2022-06-08

发表评论

登录后才能评论

评论列表(0条)

    保存