It's increasingly common to see Pod coverage tests with Test::Pod::Coverage included with module distributions, thanks to the awareness (hype?) from automated CPANTS Kwalitee testing. Many distribution-building tools, like Module::Starter::PBP generate a pod-coverage.t like this:
use Test::More; eval "use Test::Pod::Coverage 1.04"; plan skip_all => "Test::Pod::Coverage 1.04 required for testing POD co +verage" if $@; all_pod_coverage_ok();
The danger here is that Test::Pod::Coverage doesn't require any particular underlying version of Pod::Coverage, so if you are using a recent version of Pod::Coverage, but are documenting in a style that isn't recognized under older versions, those installing your module with an out-of-date Pod::Coverage will mysteriously fail your pod-coverage.t test.
Documentation styles to watch out for, based on the bug in a prereq module that I recently encountered, are method-style documentation syntaxes with semicolons or parens on the end:
=head2 $self->foo(); =head2 $self->foo;
If you feel you must include a pod-coverage.t file with a distribution, I encourage you to check that your documentation syntax is backwards compatible, or else add an explicit check for the necessary version of Pod::Coverage.
-xdg
Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.
|
|---|