マイcpan
TAP::Formatter::HTML
インストールが01_basic.t
でハングアップし、なぜ私はよく分からない:トラブル建物TAP ::フォーマッタ:: HTMLのWindows
CPAN.pm: Going to build S/SP/SPURKIS/TAP-Formatter-HTML-0.09.tar.gz
# running Build.PL --installdirs site
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)
Set up gcc environment - 3.4.5 (mingw-vista special r3)
Created MYMETA.yml and MYMETA.json
Creating new 'Build' script for 'TAP-Formatter-HTML' version '0.09'
C:\Perl\bin\perl.exe Build --makefile_env_macros 1
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)
Building TAP-Formatter-HTML
SPURKIS/TAP-Formatter-HTML-0.09.tar.gz
C:\Perl\site\bin\dmake.exe -- OK
CPAN: YAML::XS loaded ok (v0.35)
Running make test
C:\Perl\bin\perl.exe Build --makefile_env_macros 1 test
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)
t\01_basic.t ............... 1/? Caught SIGINT. Trying to quit ...
Terminating on signal SIGINT(2)
Terminating on signal SIGINT(2)
Terminate batch job (Y/N)? Y
が良く、このの根本的な原因を理解するために、私はテストをするように変更しましたいくつかprint
Sを含め、スタンドアロン、それを実行しました:
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\01_basic.t
ok 1 - use TAP::Formatter::HTML;
Defined FileTempTFH object
Defined 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
.
これは12月に戻って報告されたように見える。https://rt.cpan.org/Public/ Bug/Display.html?id = 81922 –
どのバージョンのPerlを使用していますか? – Ilion
@llion:詳細を追加しました。 – Zaid