Hi there,
I migrating my distro to Dist::Zilla and spot a problem when trying to to run 
"dzil test" with it: my tests fails due dependency failure in installing 
Test::TempDir::Tiny. That happened in a Windows 7 with Strawberry Perl 
installed:
his is perl 5, version 18, subversion 2 (v5.18.2) built for 
MSWin32-x64-multi-thread

The problem is that this distro is not stated as missing. I tried with "dzil 
build", checked the Makefile.PL and Test::TempDir::Tiny is inside the 
TEST_REQUIRES:
  "TEST_REQUIRES" => {
    "Class::Data::Inheritable" => "0.08",
    "Config::IniFiles" => "2.83",
    "Cwd" => 0,
    "Devel::Gladiator" => "0.07",
    "Proc::Background" => "1.10",
    "Proc::Daemon" => "0.18",
    "Test::Class" => "0.36",
    "Test::Moose" => "2.0801",
    "Test::More" => 0,
    "Test::Most" => "0.25",
    "Test::Pod" => "1.22",
    "Test::Pod::Coverage" => "1.08",
    "Test::TempDir::Tiny" => "0.004"
  },
C:\temp\siebel-monitoring-tools\Siebel-Srvrmgr\Siebel-Srvrmgr-0.21>prove -l
t\ActionCheckComps.t ............ Can't locate Test/TempDir/Tiny.pm in @INC 
(you may need to install the Test::TempDir::Tiny module) (@INC contains: t 
C:\temp\siebel-monitoring-tools\Siebel-Srvrmgr\Siebel-Srvrmgr-0.21\lib 
C:/strawberry/perl/site/lib/MSWin32-x64-multi-thre
ad C:/strawberry/perl/site/lib C:/strawberry/perl/vendor/lib 
C:/strawberry/perl/lib .) at t/Test/Siebel/Srvrmgr/Daemon/Action.pm line 6.
BEGIN failed--compilation aborted at t/Test/Siebel/Srvrmgr/Daemon/Action.pm 
line 6.
Compilation failed in require at C:/strawberry/perl/lib/parent.pm line 20.
BEGIN failed--compilation aborted at 
t/Test/Siebel/Srvrmgr/Daemon/Action/CheckComps.pm line 3.
Compilation failed in require at t\ActionCheckComps.t line 2.
BEGIN failed--compilation aborted at t\ActionCheckComps.t line 2.
t\ActionCheckComps.t ............ Dubious, test returned 2 (wstat 512, 0x200)
No subtests run
t\ActionCheckCompsRoleComp.t .... ok
t\ActionCheckCompsRoleServer.t .. ok
t\ActionDumper.t ................ Terminating on signal SIGINT(2)
Terminate batch job (Y/N)? y
If I move Test::TempDir::Tiny (directly in the Makefile.PL) to BUILD_REQUIRES, 
I do get a warning for the missing dependency (which is the expected thing). 
But I think that defeats the purpose of TEST_REQUIRES.
The current version of Extutils::MakeMaker is above the minimum required to 
understand TEST_REQUIRES:

C:\temp\siebel-monitoring-tools\Siebel-Srvrmgr\Siebel-Srvrmgr-0.21>mversion 
ExtUtils::MakeMaker
7.10
And finally, Test::TempDir::Tiny is referenced in the Makefile itself:
#   MakeMaker Parameters:

#     ABSTRACT => q[utilities to be used with the Siebel srvrmgr program]
#     AUTHOR => [q[Alceu Rodrigues de Freitas Junior <arfrei...@cpan.org>]]
#     BUILD_REQUIRES => {  }
#     CONFIGURE_REQUIRES => { ExtUtils::MakeMaker=>q[0] }
#     DISTNAME => q[Siebel-Srvrmgr]
#     EXE_FILES => [q[bin/srvrmgr-mock.pl]]
#     LICENSE => q[gpl]
#     MIN_PERL_VERSION => q[5.008009]
#     NAME => q[Siebel::Srvrmgr]
#     PREREQ_PM => { Carp=>q[0], Class::Data::Inheritable=>q[0.08], 
Config::IniFiles=>q[2.83], Cwd=>q[0], Data::Dumper=>q[0], DateTime=>q[1.12], 
Devel::Gladiator=>q[0.07], Encode=>q[0], Exporter=>q[0], FSA::Rules=>q[0.34], 
Fcntl=>q[0], File::BOM=>q[0.14], File::Copy=>q[0], File::Spec=>q[0], 
File::Temp=>q[0.2304], Getopt::Std=>q[0], Hash::Util=>q[0], IO::Select=>q[0], 
IO::Socket=>q[0], IPC::Open3=>q[0], List::Util=>q[1.42], 
Log::Log4perl=>q[1.41], Moose=>q[2.0401], Moose::Role=>q[2.1604], 
Moose::Util=>q[2.1604], Moose::Util::TypeConstraints=>q[2.0402], 
MooseX::AbstractFactory=>q[0.004000], MooseX::FollowPBP=>q[0.05], 
MooseX::Singleton=>q[0], MooseX::Storage=>q[0.33], POSIX=>q[0], 
Proc::Background=>q[1.10], Proc::Daemon=>q[0.18], Scalar::Util=>q[0], 
Scalar::Util::Numeric=>q[0.40], Set::Tiny=>q[0.02], Storable=>q[2.51], 
String::BOM=>q[0.3], Symbol=>q[0], Test::Class=>q[0.36], 
Test::Moose=>q[2.0801], Test::More=>q[0], Test::Most=>q[0.25], 
Test::Pod=>q[1.22], Test::Pod::Coverage=>q[1.08], 
Test::TempDir::Tiny=>q[0.004], YAML::Syck=>q[1.29], 
namespace::autoclean=>q[0.13] }
#     TEST_REQUIRES => { Class::Data::Inheritable=>q[0.08], 
Config::IniFiles=>q[2.83], Cwd=>q[0], Devel::Gladiator=>q[0.07], 
Proc::Background=>q[1.10], Proc::Daemon=>q[0.18], Test::Class=>q[0.36], 
Test::Moose=>q[2.0801], Test::More=>q[0], Test::Most=>q[0.25], 
Test::Pod=>q[1.22], Test::Pod::Coverage=>q[1.08], Test::TempDir::Tiny=>q[0.004] 
}
#     VERSION => q[0.21]
#     test => { TESTS=>q[t/*.t] }
Maybe I just caught a bug in ExtUtils::MakeMaker? Or I'm missing something?
I'm still to try the same test in other OS without those dependencies installed.

Thanks,
Alceu

Reply via email to