|Subject:||M::I substitution in PrereqCheck causes false FAILs that should be DISCARDs|
This is an example report demonstrating the issue: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.