Subject: | ok_dependencies() in user module can't handle Test::Dependencies as a dependency |
Class::Accessor::Named uses your sample script to validate that it's
dependencies are there. Test::Dependencies is also listed as a
prerequisite in it's Makefile.PL. It fails to notice that T::D itself is
listed as a dependency. This causes C::A::N to fail its tests.
~/bin/perl/5.8.8/bin/prove -b -v t/01-dependencies.t
t/01-dependencies....ok 1 - requires('Hook::LexWrap') in Makefile.PL
ok 2 - requires('Sub::Name') in Makefile.PL
ok 3 - requires('UNIVERSAL::require') in Makefile.PL
not ok 4 - build_requires('Test::Dependencies') in Makefile.PL
# Failed test 'build_requires('Test::Dependencies') in Makefile.PL'
# in t/01-dependencies.t at line 5.
not ok 5 - Test::Dependencies is not a dependency
# Failed test 'Test::Dependencies is not a dependency'
# in t/01-dependencies.t at line 5.
1..5
# Looks like you failed 2 tests of 5.
dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 4-5
Failed 2/5 tests, 60.00% okay
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/01-dependencies.t 2 512 5 2 40.00% 4-5
Failed 1/1 test scripts, 0.00% okay. 2/5 subtests failed, 60.00% okay.
Here is the Module::Install using Makefile.PL:
use inc::Module::Install;
name ('Class-Accessor-Named');
author ('Jesse Vincent <jesse@bestpractical.com>');
version_from ('lib/Class/Accessor/Named.pm');
abstract_from('lib/Class/Accessor/Named.pm');
license('perl');
requires('Test::Dependencies');
requires('Hook::LexWrap');
requires('UNIVERSAL::require');
requires('Sub::Name');
auto_install();
&WriteAll;