To the CPANPLUS developers, and various CPAN organizers or testers,
I am a registered CPAN developer and regularly contribute new and improved modules, usually making several uploads per month. Several of my distributions have dependencies on each other, and I often make complementary updates to modules in several parts of the dependency chain at once (they are pre-alpha), and upload their corresponding distributions within a very short time of each other. I believe my distros follow all of CPAN's published best-practice guidelines as for what standard files to include and how to format them.
However, I am often receiving FAIL reports from the CPAN Testers group that are inappropriate, and seeing as how, from their own reports, they seem to be using CPANPLUS as a framework to automate their testing, these test failures are something that an update to CPANPLUS itself should be able to fix. Hence I am writing you.
The problem is that testers are often testing dependent modules before installing and testing other modules that they depend on. More specifically, they usually have a version of the depended-on module installed beforehand, but that version is too old. Since my modules always assert a minimum required version number, the tests die right at the start, at 'use <module-name>'. But this problem should be easily avoidable because I explicitly state right in the Makefile.PL of dependent distributions as to what versions of each depended-on module are needed, in the PREREQ_PM hash. And META.yml has the same info.
My *strong* suggestion to you is that the automation tools which CPAN Testers use should make sure to try downloading the correct dependency before failing a dependent module. They can easily know what the dependencies and versions are from the META.yml.
Note that, even if they are mere seconds apart, I always upload related distributions via PAUSE in dependency order, with the depended-on distros always being uploaded first. So the very fact that a tester sees a dependent distro to test, the correct version of the dependency is not unavailable from whatever mirror they are using.
There is an example inappropriate failure report below this letter. The problem happens the same way on various testing platforms.
This problem is happening repeatedly and often, for many months. The only work-around I have is to wait several days between uploading synchronized depended-on and dependent distributions to CPAN, and that is an awful cludge.
Please advise as to when this situation can be fixed.
Or alternately, please advise as to whether I am doing something wrong with my meta-data, and if I can change something at my end to fix the problem.
Thank you. -- Darren Duncan
-------------------
Cc: [EMAIL PROTECTED] Subject: FAIL Rosetta-0.35 sparc64-linux 2.4.18 To: [EMAIL PROTECTED]
-- This is an error report generated automatically by CPANPLUS, version 0.049.
Below is the error stack during 'make test':
PERL_DL_NONLAZY=1 /usr/local/perl-5.8.5/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/Rosetta....SQL::SyntaxModel version 0.41 required--this is only version 0.40 at /home/alian/.cpanplus/5.8.5/build/Rosetta-0.35/blib/lib/Rosetta.pm line 16.
BEGIN failed--compilation aborted at /home/alian/.cpanplus/5.8.5/build/Rosetta-0.35/blib/lib/Rosetta.pm line 16.
Compilation failed in require at t/Rosetta.t line 8.
BEGIN failed--compilation aborted at t/Rosetta.t line 8.
dubious
Test returned status 255 (wstat 65280, 0xff00)
DIED. FAILED test 1
Failed 1/1 tests, 0.00% okay
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/Rosetta.t 255 65280 1 1 100.00% 1
Failed 1/1 test scripts, 0.00% okay. 1/1 subtests failed, 0.00% okay.
make: *** [test_dynamic] Erreur 2