This is an automated email from the git hooks/post-receive script. guillem pushed a commit to branch master in repository dpkg.
commit d5f3d026b87c345f3158f8033e252df58899b515 Author: Guillem Jover <[email protected]> Date: Sat Jul 23 14:18:38 2016 +0200 t: Add POD coverage support for public perl modules --- Makefile.am | 1 + debian/changelog | 2 ++ t/pod-coverage.t | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 63 insertions(+) diff --git a/Makefile.am b/Makefile.am index 5f96cee..4911b61 100644 --- a/Makefile.am +++ b/Makefile.am @@ -146,6 +146,7 @@ endif test_scripts = \ t/pod.t \ t/pod-spell.t \ + t/pod-coverage.t \ t/synopsis.t \ t/minimum-version.t \ t/syntax.t \ diff --git a/debian/changelog b/debian/changelog index 3914c58..b8dd4d5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -17,6 +17,8 @@ dpkg (1.18.10) UNRELEASED; urgency=medium - Rename various private methods and functions with an underscore prefix and unified names. - Refactor perl modules directory list into a new function in Test::Dpkg. + * Test suite: + - Add new POD coverage author test for public perl modules. * Documentation: - Document Testsuite-Triggers in dsc(5). - Fix deb-changes(5) description to talk about .changes instead of .dsc. diff --git a/t/pod-coverage.t b/t/pod-coverage.t new file mode 100644 index 0000000..3281bea --- /dev/null +++ b/t/pod-coverage.t @@ -0,0 +1,60 @@ +#!/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 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; + 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', '^our \$VERSION = \'[^0]\.', $File::Find::name) == 0; + + $module =~ s{^\Q$File::Find::topdir\E/}{}; + + push @modules, $module =~ s{/}{::}gr; + }; + + my %options = ( + wanted => $scan_perl_modules, + no_chdir => 1, + ); + find(\%options, Test::Dpkg::test_get_perl_dirs()); + + return @modules; +} + +my @modules = all_pod_modules(); + +plan tests => scalar @modules; + +for my $module (@modules) { + pod_coverage_ok($module); +} -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/dpkg/dpkg.git

