http://www.perlmonks.org?node_id=967847


in reply to Re^3: CPAN tests failing
in thread CPAN tests failing

Close. It should be:

lib /RandomJungle <= note spelling /File |- DB.pm |- OOB.pm |- RAW.pm |- XML.pm /Tree |- Node.pm |- Tree.pm |- Jungle.pm |- TestData.pm

Thanks for the congrats. There is definitely a learning curve involved. I've been creating private modules for local use for years, but this is the first time I've tried to package one up for public release.

FWIW, I used ExtUtils::ModuleMaker to create the stubs and then copied my files into the structure. For some reason I assumed the parent directory (RandomJungle) was taken from the name of the distro and /lib contained everything in that virtual directory. As I said above, I added the parent dir into /lib and re-released. Fingers crossed. :-)

I also tested the packaged dist locally before I uploaded it to PAUSE, but I think the other files in my path were helping the tests to pass when they should have failed.

Update: Thanks very much for offering to test the dist! The new release (ver 0.03) hasn't been pushed from the PAUSE FTP directory into my CPAN dir as of this post, but it should show up soon.

Replies are listed 'Best First'.
Re^5: CPAN tests failing
by stevieb (Canon) on Apr 28, 2012 at 19:55 UTC

    After downloading the tarball of v0.03:

    steve@ubuntu:~/devel/RandomJungle-0.03$ make test PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_h +arness(0, 'blib/lib', 'blib/arch')" t/*.t t/DB_01.t ......... ok t/Jungle_01.t ..... ok t/OOB_01.t ........ ok t/RAW_01.t ........ ok t/Tree_01.t ....... ok t/Tree_02.t ....... ok t/Tree_Node_01.t .. ok t/XML_01.t ........ ok All tests successful. Files=8, Tests=1346, 6 wallclock secs ( 0.29 usr 0.05 sys + 5.04 cu +sr 0.71 csys = 6.09 CPU) Result: PASS

    However, I had to install DBM::Deep and XML::Twig, so you might want to throw them into the PREREQ_PM in your Makefile.PL

      That's quite encouraging. Thanks for testing it for me!

      Thanks for pointing out the missed dependencies, too. I thought I combed through things carefully, but I still missed them. I'll update the prereq list.

      Update: Update complete. Released as 0.04.

        I've got to run out again for a little while, but when I get back, I plan on cloning a clean, pristine FreeBSD vm and running it for you again to ensure all deps are caught. I've needed to do this for one of my own modules anyways ;)

        Update: XML::Parser is failing miserably on a FBSD 9.0 box to the point it can't even be installed with force. Although I've gone relatively deep into the problem, I don't have time to go further. I'll configure a Ubuntu box to see if I can get you the info you need to satisfy your module's reqs, and then see if the problem is FBSD specific or not regarding XML::Parser. If XML::Parser continues to be a problem, I'll get help looking into that, and give the author a bug report.

Re^5: CPAN tests failing
by stevieb (Canon) on Apr 28, 2012 at 18:53 UTC

    I too have written hundreds of modules, but only have a few on CPAN. Over the years I used h2xs, but lately I've been testing out Module::Starter's command line util to build my skeleton.

    I've also recently found the cpan-upload binary installed via CPAN::Uploader to be very handy... no need to visit PAUSE at all :)

    Later on this afternoon when I get back in, I'll let you know how my install and tests go of your module.

    Cheers,

    Steve

      Better yet, I've got a shell alias "cpan-publish" that does all this:

      sudo cpanm $distfile cpan-upload $distfile mv $distfile ~/perl5/published/ echo "Don't forget to 'hg tag' the release!"
      perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'

      I've recently switched to github + Dist::Zilla. The learning curve was, in my experience, very steep. However, the simplified actions seem to be worth it.

      Well, except for one thing: I don't think anyone has downloaded any of my modules (and, if they did, they didn't use them). But that's tangential to the upload method. :-)