12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- #!/usr/bin/perl
- #
- # This program is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
- # the Free Software Foundation; either version 2 of the License, or
- # (at your option) any later version.
- #
- # This program is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- # GNU General Public License for more details.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program. If not, see <https://www.gnu.org/licenses/>.
- use strict;
- use warnings;
- use File::Find;
- use Dpkg::Util qw(any);
- use Test::More;
- use Test::Dpkg qw(:needs);
- test_needs_author();
- test_needs_module('Test::Pod::Coverage');
- test_needs_srcdir_switch();
- sub all_pod_modules
- {
- my @modules_todo = @_;
- my @modules;
- my $scan_perl_modules = sub {
- my $module = $File::Find::name;
- # Only chack modules, scripts are documented in man pages.
- return unless $module =~ s/\.pm$//;
- # As a first step just check public modules (version > 0.xx).
- return unless system('grep', '-q', '^our \$VERSION = \'[^0]\.',
- $File::Find::name) == 0;
- $module =~ s{^\Q$File::Find::topdir\E/}{};
- $module =~ s{/}{::}g;
- return if any { $module eq $_ } @modules_todo;
- push @modules, $module;
- };
- my %options = (
- wanted => $scan_perl_modules,
- no_chdir => 1,
- );
- find(\%options, Test::Dpkg::test_get_perl_dirs());
- return @modules;
- }
- my @modules_todo = qw(Dpkg::Arch Dpkg::Source::Package);
- my @modules = all_pod_modules(@modules_todo);
- plan tests => scalar @modules + scalar @modules_todo;
- for my $module (@modules) {
- pod_coverage_ok($module);
- }
- TODO: {
- local $TODO = 'modules partially documented';
- for my $module (@modules_todo) {
- pod_coverage_ok($module);
- }
- }
|