There is also the problem of installing on a perl release that predates
Devel::AssertOS. Win32::SerialPort works fine on 5.6.0 (actually version
0.19 worked fine on 5.003 - but I no longer have a test bed for that).

I will add the $^O test directly and bail from Makefile.PL if it fails
(with the recommended string from the FAQ).

I'll also add "Win32" (the module) and "Win32::API" as dependencies.
That should eliminate the irrelevant testing.

There is also a hardware addressing dependency. In 1997, when the module
was originally created, it was safe to assume in the tests that a COM1
would always exist. The Makefile.PL already provides for overriding with
a different port for testing via @ARGV (i.e. TESTPORT=COMxx). But a lot
of Windows systems no longer have any serial ports hard wired...and USB
drivers sometimes begin numbering with COM3 or something else. I've
added a sanity test - should it bail completely or just warn that most
tests will fail?

-bill

On Mon, 2010-04-19 at 17:42 +0100, Barbie wrote:
> On Mon, Apr 19, 2010 at 05:05:49PM +0100, David Cantrell wrote:
> > On Sat, Apr 17, 2010 at 09:09:07PM +0100, Barbie wrote:
> > 
> > > Having said that I wonder whether the installer/smokebot is at fault
> > > with the non-Win32 testing. In CPANPLUS there is a specific check to
> > > flag any OS specific distributions as NA if on another OS. In these
> > > FAIL cases they are all running CPAN-Reporter-1.1711 and variants of
> > > CPAN-1.94XX. Is there a similar check in CPAN/CPAN-Reporter?
> > > 
> > > See RELEVANT_TEST_RESULT in CPANPLUS::Internals::Constants::Report.pm
> > > [1] for an example.
> > > 
> > > [1]
> > > http://cpansearch.perl.org/src/BINGOS/CPANPLUS-0.9003/lib/CPANPLUS/Internals/Constants/Report.pm
> > 
> > That's a *really* bad way of checking.  If I'm reading it correctly,
> > then it will flag as OS-specific the following hypothetical modules:
> > 
> > Date::Holidays::AU::Darwin (public holidays specific to Darwin,
> >   Australia)
> > Test::Glob::Like::Win32 (fake up Win32-style globbing, whatever the
> >   hell that might be)
> > etc
> 
> It should be checking from the beginning of the name, and match exactly
> up to the first non-alphanumeric character. It should only be checking
> the top level namespace.
> 
> > It's also missing Haiku, Dragonfly BSD, MirOS, Midnight BSD and maybe
> > some others that I've forgotten.
> 
> As mentioned in my other post, newer OS specific distributions should be
> using Devel::AssertOS :)
> 
> My concern is older released dists, which may get retested with a
> more recent perl release (e.g. 5.12.0). They were released before
> Devel::AssertOS  was released.
> 
> Cheers,
> Barbie.

Reply via email to