Dist::Zilla Improved POD

laying with another seven sisters here is the Dist-Pen today

Well the good news for today seems Dist::Zilla::Plugin::Test::Legal is finally pointing to the correct version at meta::cpan I guess if finally got indexed. Now on with today’s review of seven more Test case Plug-ins.

Pod::No404s

An 'Author' level test case that implements Test::Pod::No404s this is one for me as I can't tell you how annoying it is to have links that point to nowhere in your POD. So after the usual five minutes or so of installing from cpan I added


[Test::Pod::LinkCheck]
++[Test::Pod::No404s]
[Git::Check]

to my '.ini' and gave 'dzil xtest author/pod-no' a go and got;

xt/author/pod-no404s.t .. 1/4 # Checking http://dev.perl.org/licenses/
xt/author/pod-no404s.t .. ok
All tests successful.
Files=1, Tests=4, 1 wallclock secs ( 0.05 usr 0.00 sys + 0.34 cusr 0.06 csys = 0.45 CPU)
Result: PASS

great but then again I do not have much POD yet.

PodSpelling

I don't know where this 'Author' level tests plug-in and Test::Spelling has been hiding all of my life but I am just glad I found it now. Spelling has always being one of my weak spots not to mention my ham-fisted typing skills so I think this plug-in should improve my releases so in it goes after the usual round of installs;


[Test::Pod::No404s]
[Test::PodSpelling]
[Git::Check] 
into the '.ini' and without any config I did 'dzil xtest author/pod-sp' and got

xt/author/pod-spell.t .. 1/3
#   Failed test 'POD spelling for lib/Database/Accessor.pm'
#   at xt/author/pod-spell.t line 11.
# Errors:
#     Reteive
#     abstration
#     progammer
#     provieds
#     vdersion

# Failed test 'POD spelling for lib/Database/Accessor/Constants.pm'
# at xt/author/pod-spell.t line 11.
# Errors:
# DaCRUD
#
# All incorrect words, by number of occurrences:
# 1: DaCRUD, Reteive, abstration, progammer, provieds, vdersion
# Looks like you failed 2 tests of 3.
xt/author/pod-spell.t .. Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/3 subtests


so a little work needed in me POD even at this early stage;

Portability

This 'Author' level test plug-in that provides  Test::Portability::Files which has a whole bundle of canned test cases that are there to ensure that you do not make any file name goofs like '? __--~'. Myself I tend to have good naming habits so I think I will give this one a miss. Though I could see how useful it could be to a large team using a few different OSes and having to release a universally good version of a code-base.

ReportMetadata

This is a 'Module' or if you prefer a 'Automated' level test plug-in that reports on the prerequisites that your distribution may have. Useful for some I guess but I think for now I will just give this one a miss.

ReportPrereqs

This 'Module' level test plug-in does much the same as the last one I looked at so I will just go onto the next.

Rinci

A 'Release' level test will check your Rinci metadata. As this is the first time I have ever heard of such a thing. I will give it a miss, but at first read Rinci seem like a very good idea.

Synopsis

Another 'Author' test plug-in that gives you the Test::Synopsis test case. At this point I think this one is overkill. Though it is a nice Idea to ensure that the code in your POD's synopsis works, but given the nature of Database::Accessor I can't see this test being that useful. So not going to use it.

Well I can guarantee one thing when my module is release, I am going to my best first crack a POD with all these POD test cases.

godzilla-replica-in-tokyo-japan.jpg

Leave a comment

About byterock

user-pic Long time Perl guy, a few CPAN mods allot of work on DBD::Oracle and a few YAPC presentations