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>


Reply via email to