I've found that by using Module::Install, I can often just bundle those small miscellaneous testing modules, and occasionally a few of their dependencies.

And for something simple as "the tests don't generate warnings", I would think "module has excessive dependencies" is a bug in Test::Deep, rather than a more general problem.

With the Email:: family we certainly went through a period where we discovered there was a hell of a lot of dependencies that had crept in, some of which were merely conveniences, and underwent a process to remove them where possible.

Another solution you might want to look into is this new MegaDisto package that seems to be able to do a large recursive installation of a number of modules out in an Internet-accessible location, package the entire thing up as a rpm of deb, and then take the combined installation alone into the Internet-disabled zone and install it in one hit (assuming the same setup both outside and inside presumably).

Adam K

Tels wrote:
-----BEGIN PGP SIGNED MESSAGE-----

Moin,

you are in a maze of Test modules, all looking alike. You are likely being beaten by a dependecy.

This is a mini-rant on how complex the tesing world for Perl modules has become. It starts harmless, like you want to install some module. This time it was CPAN-Depency. Since for security reasons your Perl box is not connected to the net, you fetch it and all dependencies from CPAN and transfer them via sneaker net and USB stick. It includes some gems like:

        'Test::Deep' => 0,
        'Test::Warn' => 0,

Huh? Never heard of them, but if it needs them, well, we get 'em. Presumable they are only needed for testing the module, but who knows?

However, as you soon find out, Test::Deep needs these two:

                Test::Tester => '0.04',
                Test::NoWarnings => '0.02',

Put on your high-speed sneakers, grumble shortly and fetch them.

Test::Tester is moderate, it only needs Test::Builder, which we somehow already got. And Test::NoWarnings needs only Test::Tester (are you confused yet?), so we are clear. Except for one test failure in Test::NoWarnings:

        t/none........You should load Test::Tester before Test::Builder (or
        anything that loads Test::Builder)

I call that warning ironic. Anyway, now on to Test::Warn (not to be confused with test::NoWarnings). It needs:

        Warning: prerequisite Array::Compare 0 not found.
        Warning: prerequisite Sub::Uplevel 0 not found.
        Warning: prerequisite Test::Builder::Tester 0 not found.
        Warning: prerequisite Test::Exception 0 not found.
        Warning: prerequisite Tree::DAG_Node 0 not found.

Ugh! Test::Builder::Tester? Is there also a Test::Tester::Builder? And when does the madness end? At this point I got testy (no pun intended) and seriously considered screwing CPAN-Dependecy...

One saw me continuing, however, until I found out that Array::Compare needs Module::Build, and I don't have this, either - and most of it's dependecies are missing here, also. Aaaaaarg!

I am all for putting often used stuff into extra modules, but I think this has gone way to far, especially the user will go through all this just so that Random-Module-0.01 can run it's freaky test suite....

</rant>

Best wishes,

Tels, who was last seen FYAMFC (Fetching Yet Another Module From CPAN)

- -- Signed on Sat Sep 10 17:23:26 2005 with key 0x93B84C15.
 Visit my photo gallery at http://bloodgate.com/photos/
 PGP key on http://bloodgate.com/tels.asc or per email.

 "Duke Nukem Forever will come out before Unreal 2." - George Broussard,
 2001 (http://tinyurl.com/6m8nh)

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iQEVAwUBQyL+jncLPEOTuEwVAQFiyQf9Fx/C+mqQNaQt4i9PQsSfJX9Td2U3UeMp
dHBpBAGl8pNIZUtKFOFXHqLhrR/d94SM69MfN9VpFEfnLD5h6DjPsqXoO9FTWswV
ALyll3uHX8M8S+hm6qGWewXY7wk8o0WekFe70zQ4qCgBQO7P2nnXZEZzCV/Pzw9Q
WEb/GULo2z1PvhLfgvieTCGb8kt1JKIKZI0OpO6MZcoB8GvoQ7XxfXt44zPKdFTc
2pxo7UVlIun3dfJI4CDkFx1jIgazmWpBAFd0BYcljhZgcp8J64WZc2twfQlSpxzt
wjtSmaWCGdMXsZyfoQWvPY4R5WAVSo/1AOThCQSzPABEH2aoWw0H0w==
=CRZL
-----END PGP SIGNATURE-----

Reply via email to