Андрій Костенко
and 1 contributors

NAME

Test::Pod::Coverage::Permissive - Checks for pod coverage regression.

VERSION

Version 0.05

SYNOPSIS

Checks for POD coverage regressions in your code. This module is for large projects, which can't be covered by POD for a 5 minutes. If you have small module or your project is fully covered - use Test::Pod::Coverage instead.

After first run, this module creates data file, where saves all uncovered subroutines. If you create new uncovered subroutine, it will fail. If you create new package with uncovered subroutines, it will fail. Otherwise it will show diagnostic messages like these:

    t/03podcoverage.t .. 2/? # YourProject::Controller::Root: naked 4 subroutine(s)
    # YourProject::Controller::NotRoot: naked 8 subroutine(s)
    # YorProject::Controller::AlsoNotRoot: naked 3 subroutine(s)
    ...

This module will help you to cover your project step-by-step. And your new code will be covered by POD.

Interface is like Test::Pod::Coverage:

    use Test::Pod::Coverage::Permissive;

    use Test::More;
    eval "use Test::Pod::Coverage::Permissive";
    plan skip_all => "Test::Pod::Coverage::Permissive required for testing POD coverage" if $@;
    all_pod_coverage_ok();

FUNCTIONS

all_pod_coverage_ok( [$parms] )

Checks that the POD code in all modules in the distro have proper POD coverage.

If the $parms hashref if passed in, they're passed into the Pod::Coverage object that the function uses. Check the Pod::Coverage manual for what those can be.

The exception is the coverage_class parameter, which specifies a class to use for coverage testing. It defaults to Pod::Coverage.

pod_coverage_ok( $module, [$parms,] $msg )

Checks that the POD code in $module has proper POD coverage.

If the $parms hashref if passed in, they're passed into the Pod::Coverage object that the function uses. Check the Pod::Coverage manual for what those can be.

The exception is the coverage_class parameter, which specifies a class to use for coverage testing. It defaults to Pod::Coverage.

all_modules( [@dirs] )

Returns a list of all modules in $dir and in directories below. If no directories are passed, it defaults to blib if blib exists, or lib if not.

Note that the modules are as "Foo::Bar", not "Foo/Bar.pm".

The order of the files returned is machine-dependent. If you want them sorted, you'll have to sort them yourself.

AUTHOR

Andrey Kostenko, <andrey at kostenko.name>

BUGS

Please report any bugs or feature requests to bug-test-pod-coverage-permissive at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Test-Pod-Coverage-Permissive. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc Test::Pod::Coverage::Permissive

You can also look for information at:

ACKNOWLEDGEMENTS

Thanks to author of Test::Pod::Coverage. 90% of this module is a copy-paste from Test::Pod::Coverage.

LICENSE AND COPYRIGHT

Copyright 2010 Andrey Kostenko, based on Andy Lester's Test::Pod::Coverage

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.