Subject: | M::I substitution in PrereqCheck causes false FAILs that should be DISCARDs |
This is an example report demonstrating the issue:
http://www.cpantesters.org/cpan/report/0529fdb8-6d2e-1014-a4e5-
ad769f735aaf
This issue currently affects many (if not all) M::I::* modules.
What happens is this:
When Module::Install fails to install due to failing tests, a module
that depends on it actually being fully installed on the system (and
not just in inc/) will attempt to test anyhow, fail the test and then
defer to CPAN::Reporter for grading.
At this point CPAN::Reporter will use C::R::PrereqCheck to try and
pinpoint missing dependencies. However due to the following
substitution, it will incorrectly find Module::Install in the dist's
inc/ directory and consider the dependency to be fulfilled despite it
not actually being installed on the system:
my %substitute = (
'Module::Install' => 'inc::Module::Install',
);
This causes CPAN::Reporter to report a false FAIL, instead of the
correct DISCARD.