NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.
All the Perl that's Practical to Extract and Report
Stories, comments, journals, and other submissions on use Perl; are Copyright 1998-2006, their respective owners.
Virtual servers (Score:1)
I use Parallels on my mac, but vmware should work the same.
Create a image with a bare minimal installation of your target OS (I keep 3 or 4 around), and in the final test, boot a pristine copy of it, and try to install your app.
Not only you'll detect missing CPAN dependencies, but also missing package dependencies that you didn't even know you needed.
For complex projects, it really tests your deployment documentation
Best regards,
life is short
Re: (Score:2)
While that sounds like a fantastic idea (I already have Parallels on my MacBook, along with Vista), I suspect it's a bit more than most developers are looking for, or are able to implement. Ease of use is of paramount importance here. If we can get an 80% solution with 20% of the work, that would be a huge win.
Of course, if you want to write the code which automates setting all of this up, I'm sure folks would consider it :)
Re: (Score:1)
Product of the PITA work, comes in handy from time to time.
http://pitatesting.net/guests/x86-linux-debian-sarge-perl.tar.gz [pitatesting.net]
Warning: About 600 meg in size, expands to a 4gig disk image.
Overkill, ok maybe
Re: (Score:2)
So far, I've given access to everyone who's asked. I'd probably only refuse for those very few people who I know abuse community resources. The minimal barrier to entry is that you have to email me to get access.
I vote for (b) (Score:1)
Perhaps this could be done with a special test target, but I think this is a brillant solution.
Re: (Score:2)
I was thinking about a test target, though I'm unsure of how to remotely capture %INC. I'm wondering if it's something that would have to be built into each of the tests?
Now that I stop to think about it, it would be trivial to write a simple Test::More wrapper that Module::Build could load. This would only work with tests which use Test::More, but that would cover the vast majority of them.
Re: (Score:1)
Why not list core modules as dependencies? (Score:1)
Re: (Score:1)
Yes, there is (Score:1)
This is hard. (Score:1)
Woah there! I agree this would be a nice author test, but it's is much harder than just using %INC.
1) Testing for core status
--> For what version of perl? Needs to know what's the minimum version of perl this module runs on. I think since there is no META.yml attribute which is reliable and agreed upon, this needs
Re: (Score:1)
Module::CoreList [cpan.org]
I have no idea what compells you to mention PPI in this context.
You think a simple implementation that gets us ¾ of the value of a completely airtight implementation is worthless? Why?
Re: (Score:1)
That's because you misunderstood me. Given a distribution to be tested, you need to know the minimum perl version it's compatible with to be able to USE Module::CoreList at all. To get a list of core modules, you need a perl version, remember? I mention PPI because it's used to implement Perl::MinimumVersion.
You think a simple implementation that gets us ¾ of the value of a completely airtight implementation is worthless? Why?
Because suppo
Re: (Score:1)
Ah. I can see that in your previous comment now, but you weren’t quite explicit enough about the point, so I didn’t understand you correctly on first read.
I thought it was a given that checking the dependency list is done before you upload to PAUSE. This sort of test would be useless if it ran after your distro ship had sailed.
Re: (Score:2)
How touchingly naive :-) It's amazing how many people don't bother checking. Aside from plain and simple coding errors, undeclared dependencies are one of the most common problems with modules. It's hard to blame the authors though. If you use LWP::UserAgent every day it's hard to remember that it's not core. Even harder to remem
Re: (Score:1)
No, what I meant is that I thought it was a given that any automatic depency list checker would be for use before, not after, uploading.
If anyone thought people always checked the list themselves, we wouldn’t even be having this discussion…
Test::Prereq (Score:2)
If you look over to the Linux distributions... (Score:1)
For something closer to The Perl Way, we have good ol' dirty dh-make-perl [debian.org], which takes a CPAN package, extracts -among other things- its dependencies, and builds (or at least, tries to - But if it doesn't, we treat it as a bug) a Debian pac
In Debian and Ubuntu, pbuilder (and cowbuilder)... (Score:1)
Now, this approach is good for building packages, not necessarily for testing Perl modules' completeness. Of
Now, doesn't it make you feel stupid... (Score:1)