> > Actually, I just looked over Test::Prereq, and it does look like we > > are doing different things (albeit to check a similar result). The primary > > motivation behind Test::CPAN is to test distributions where the Makefile.PL > > (or Build.PL) itself depends on a package being installed; > > I'm not sure what that really means (perhaps an example would help), but > I don't think CPAN really matters for the problem (that just happens to > be where the modules are).
This is my overall goal for this module: Seeing how CPAN.pm reacts when it tries to unpack and build your module. Right now, it just sees if your CPAN.pm manages to get to the point of making a "Makefile" to glean your dependancies. I would also like to add tests to see if it manages to get into a position to build at all, as well as create a cpan "simulator" script where you do something like: cpanemu /path/to/my/module Which would run the "distdir" action on your module and fool CPAN.pm into thinking it has just downloaded your module from CPAN and unpacked it there. The important thing here is that it's testing CPAN's reaction to your module -- the important *task* I created this first really dirty alpha of it for, is to see if CPAN realizes that you depend on other modules. The important reason for that is the case where your Makefile.PL or Build.PL makes use of another module. In my case, I have a database module I want to release on CPAN, which provides a Module::Build subclass that installs schema files into the correct directory. I havent released it on CPAN yet, but I'd like to... but then, the Module::Build subclass will be used by other distributions that make use of my module, to install *their* schemas. So when me or anybody else releases a distribution with that behaviour, I'd like the Module::Build logic to find the appropriate subclass to be testable. > >From the name, I think Test::CPAN would test CPAN. You're testing > something else, though, so I think that should be in the name. :) So as you can see I'm testing CPAN :-) I understand your reluctance to allow the module to register since it's a pretty "core" sounding name, but I intend to flesh out its functionality further, and would love it of other people contributed as well. Cheers, Tyler