Quantcast
Channel: ActiveState Community Site - PPM
Viewing all articles
Browse latest Browse all 154

ActiveState Testing Fails My Module on Non-Windows Platforms...problem with $^O ?

$
0
0

I just released a perl module, and noticed that ActiveState does some automated testing.

It passed testing on your Windows machines, but failed on all non-windows machines.

I looked at the test results, and it appears that it's some sort of oddity where the perl $^O variable is set to "MSWin32", even when you test on non-windows platforms. At least that's what I'm guessing is going on.

My module uses $^O in the Build.PL script to decide whether to mark Win32::SerialPort as a prerequisite, or to use Device::SerialPort. That setup works fine when I install the module by hand on a non-windows machine...it only seems to be failing under ActiveState testing on non-windows machines.

Here's the Build.PL, so you can see what I mean:

http://cpansearch.perl.org/src/KSCHWAB/Device-MiniLED-1.00/Build.PL

And here's your grid showing my module failing on everything but windows boxes:

http://code.activestate.com/ppm/Device-MiniLED/

Here's one example where it fails on a linux machine:
http://ppm4.activestate.com/x86_64-linux/5.14/1400/K/KS/KSCHWAB/Device-M...

You can see it's trying to build Win32::SerialPort as a dependency, which of course, fails. This doesn't happen if I build it myself on a Linux box, so I'm assuming there's some oddity where ActiveState perl hard sets $^O to "MSWin32" on all platforms? Or maybe it's specific to your test environments?

Is this something that can be changed?

Or is there something different I can do?


Viewing all articles
Browse latest Browse all 154

Trending Articles