CPAN Testers, I love you, but, seriously, we need to talk.

renodino on 2008-03-18T15:35:35

I got a couple CPAN tester failures in my email today:

FAIL Win32-Font-NameToFile-0.10 x86_64-linux-thread-multi-ld 2.6.22.10
FAIL Win32-WebBrowser-1.02 x86_64-linux-thread-multi-ld 2.6.22.10
Yes, I'm shocked, shocked! to learn my Win32 modules failed on 64 bit Linux!

Seriously: I think we can do a better filtering job than this...if for no other reason than running tests for Win32 packages on Linux is a waste of CPANTester resources. How about

if (($filename=~/^Win32/) && ($^O ne 'MSWin32'))
{
    next;  # NO SOUP FOR YOU!!!
}


You are to blame here...

Alias on 2008-03-18T16:02:04

That's not their fault for running it, it's your fault for not telling them not to.

You are supposed to have your Makefile.PL abort appropriately if you see you are on a platform that you don't support.

There are, in fact, some Win32:: modules that DO run on Linux under certain wine'y scenarios. So a filename-related shortcut wouldn't work.

Your Makefile.PL already says what dependencies and what perl version it needs. It should also abort cleanly if it doesn't support some host.

That way they don't have to guess (the worst enemy of testing) because you've told them explicitly.

Re:You are to blame here...

barbie on 2008-03-18T17:03:39

And if you need some pointers regards the best way to do it, the CPAN Testers Wiki has an Authors Notes page that will help :)

Mea culpa...no soup for me!

renodino on 2008-03-18T18:59:30

I suppose you're right, and I should know better.

But it still bothers me...

...as I sheepishly slouch off to touchup my Makefile's

Re:Mea culpa...no soup for me!

renodino on 2008-03-18T19:25:01

I retract my mea culpa; both failing distributions contain test and die code of the following nature in their Makefile's:

unless ($^O eq 'MSWin32') {
    die <<'EOMSG';
#######################################
#    This module is only intended for Microsoft
#    Windows platforms.
#######################################
EOMSG
}
So what gives ?

Re:Mea culpa...no soup for me!

Alias on 2008-03-18T22:22:50

Curious... the problem might be that you don't use an error message in one of the two formats that CPAN Testers understands?

Re:Mea culpa...no soup for me!

daxim on 2008-03-18T22:27:46

"How can I indicate that my distribution only works on a particular operating system?"

Further questions about testing are better asked on the list cpan-testers-discuss.

Re:You are to blame here...

slanning on 2008-03-19T08:54:52

That's not their fault for running it, it's your fault for not telling them not to. You are supposed to have your Makefile.PL abort appropriately if you see you are on a platform that you don't support.

In which holy book is this documented?

Re: CPAN Testers

davorg on 2008-03-18T17:04:39

Sounds like it might be a job for Devel::AssertOS.

Re: CPAN Testers

Alias on 2008-03-18T18:01:18

Except that it would be a configure-time dependency, which isn't officially supported yet...