On Sun, Apr 18, 2010 at 11:08:00AM -0400, David Golden wrote: > On Sat, Apr 17, 2010 at 6:25 PM, Barbie <bar...@missbarbell.co.uk> wrote: > >> I fundamentally disagree with those kind of heuristics, which is why I > >> haven't implemented them in CPAN::Reporter. > > > > Why? If an OS specific distribution fails on an OS it isn't meant for a > > NA report is the correct one. > > I'm opposed to heuristics based on filename (or package name), for > three reasons (a) because they are a pain to maintan, (b) it > presupposed that *nothing* in that namespace would ever run on another > platform, (c) it doesn't reflect the end-user experience. > > With respect to (c), things like Devel::AssertOS cause an early > failure with a clear message that something doesn't work on a > particular OS. That's a much better approach than having something > die in the middle of "make" or "make test" with some obscure error > that doesn't clearly indicate it's an OS issue.
The problem is that Devel::AssertOS is a recent thing and many authors are still unaware of it. A number of namespaces (Win32, Solaris, Linux, Mac) were meant to specifically target a particular OS. As such authors often gave CPAN Testers a *REALLY* hard time if they submitted fail reports for those dists, when tested on other OSes. Maybe that isn't the case anymore, but the expectation is that those dists are still meant for a specific OS. In terms of (a), future releases should use Devel::AssertOS, and where appropriate we should try and educate authors of this. There is no maintenance, as only the existing namespaces should be supported. New ones should be using Devel::AssertOS. For (b), many authors assume their dist shouldn't work on another OS. If they do, it is most likely by accident, or more likely the tests are incomplete. If they do work on other platforms, then the author should be encouraged to make them more generic and rename their dist out of the OS specific namespace. With (c) end-user experience will be that it fails, and on closer inspection they'll likely realise that the dist was not intended for their platform. A FAIL report might imply to some that the dist is intended for their platform, whereas an NA (particular lots of them for your OS), is more likely to highlight that there is a OS dependency. Until all authors know and use Devel::AssertOS for these OS specific dists, you are potentially putting CPAN Testers in the firing line again. It was one of the reasons I quit, as I got fed up of being used for target practice. Cheers, Barbie. -- Birmingham Perl Mongers <http://birmingham.pm.org> Memoirs Of A Roadie <http://barbie.missbarbell.co.uk> CPAN Testers Blog <http://blog.cpantesters.org> YAPC Conference Surveys <http://yapc-surveys.org>