Adam Kennedy wrote:
Whether or not that is a transient thing that lasts for a week, or a serious and ongoing problem, I think it's still worth it.

But that would require regular scanning -- otherwise I might get the point one week and then a dependency might upgrade in a way that is borked. (Test::Exception did this to me a while back for some particular version of it -- actually related to CPANPLUS not recognizing Module::Build's build_requires... and on we merrily go.)

More to the point, it should lead people to spend more time looking into WHY their module isn't installing, and help us nail down the critical modules in the CPAN toolchain that have problems.

I agree. I've been stripping Test::Exception. The syntactic sugar isn't worth the headache of diagnosing build failures.

If all of a sudden you lose the clean_install point, you can go find the problem, then either help the author fix the problem or stop using that module. Either way, your module used to not install, and now it does install.

(*If* the author fixes the problem. I still can't get my patches for Sub::Uplevel high enough in Schwern's queue. But that goes back to your point about dodgy dependencies, so I'll score that argument to you.)

A testing system should only be sending FAIL reports when it believes it has a platform that is compatible with the needs of the module, but when it tries to install tests fail.

General question: Are failed prerequisite versions a FAIL or a Not Applicable if the smoke tester isn't set to automatically try to upgrade them?

I'm interested to hear what some the special cases might be though. I'm trying to put together a mental list of possible problems I need to deal with.

You need to deal with N/A's down the chain. E.g. I prereq a module that can't be built in an automated fashion but requires human intervention or choices or external libraries. If you don't have it and the automated build to try to get it fails, that really isn't my problem -- I've been clear about the dependency: "If you have version X.YZ of Module ABC::DEF, then I promise to pass my tests".

Think about the GD modules -- if the GD library isn't installed, GD won't build and anything depending on it fails. Should that fail a "clean_install"?

(Contrast that with SQLite, which installs it for you.)

A FAIL should ONLY mean that some package has told the smoke system that thinks it should be able to pass on your platform, and then it doesn't.

Failures that aren't the fault of the code (platform not compatible, or whatever) should be N/A or something else.

I think better granularity would be: "FAIL" -- failed its own test suite; "DEPFAIL" -- couldn't get dependencies to pass their test suites; and "N/A" -- incompatible platform or Perl version or not automatically chasing dependencies.

If you want to help out, we'd love to see you in irc.perl.net #pita.

Between tuit shortages and the day job (side q: what's this whole $job thing I keep seeing in people's posts/blogs), a realtime channel like IRC is hard to keep up with. Is there a mailing list or wiki or some such? (Subversion repository?)

Regards,
David

Reply via email to