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.
