summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillem Jover <guillem@debian.org>2016-06-15 02:05:42 +0200
committerGuillem Jover <guillem@debian.org>2016-07-03 21:02:23 +0200
commit5104e0e0c00f90f46fcd7307234c7f76a397dfc0 (patch)
treea11ecac20c6fee4d7885513fed378726e9ec3f64
parent50a0d0c436279ae7c8024fd0d3eb07f5f9ac0051 (diff)
downloaddpkg-5104e0e0c00f90f46fcd7307234c7f76a397dfc0.tar.gz
test: Add new pod-spell unit test
-rw-r--r--Makefile.am1
-rw-r--r--README3
-rw-r--r--debian/changelog1
-rw-r--r--t/pod-spell.t96
4 files changed, 101 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
index 4ccc3ca8f..62dc5e080 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -145,6 +145,7 @@ endif
test_scripts = \
t/pod.t \
+ t/pod-spell.t \
t/syntax.t \
t/strict.t \
t/critic.t \
diff --git a/README b/README
index b82d839f0..ac2326545 100644
--- a/README
+++ b/README
@@ -76,8 +76,11 @@ To run the test suite («make check»):
IO-String perl module
Test::Pod perl module (optional)
+ Test::Spelling perl module (optional, author)
Test::Strict perl module (optional)
Test::Perl::Critic perl module (optional)
+ aspell (optional, author)
+ aspell-en (optional, author)
Define the environment variable DPKG_DEVEL_MODE to run the test suite
in development mode, to include tests that might not be pertinent during
diff --git a/debian/changelog b/debian/changelog
index 9162e6fec..4437b88e6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -75,6 +75,7 @@ dpkg (1.18.8) UNRELEASED; urgency=medium
* Test suite:
- Bump perlcritic ValuesAndExpressions::RequireNumberSeparators minimum
to 99999.
+ - Add new pod-spell unit test.
* Documentation:
- Improve dpkg-buildpackage(1) on environment expectations.
- Clarify the format of the db:Status-Abbrev virtual field in
diff --git a/t/pod-spell.t b/t/pod-spell.t
new file mode 100644
index 000000000..4d21e3e0f
--- /dev/null
+++ b/t/pod-spell.t
@@ -0,0 +1,96 @@
+#!/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 Test::More;
+use Test::Dpkg;
+
+use IPC::Cmd qw(can_run);
+
+if (defined $ENV{srcdir}) {
+ chdir $ENV{srcdir} or die "cannot chdir to source directory: $!";
+}
+
+plan skip_all => 'author test' unless $ENV{AUTHOR_TESTING};
+
+eval 'use Test::Spelling';
+plan skip_all => 'Test::Spelling required for spell checking POD' if $@;
+
+if (not can_run('aspell')) {
+ plan skip_all => 'aspell required for spell checking POD';
+}
+
+if (qx(aspell dicts) !~ m/en_US/) {
+ plan skip_all => 'aspell en_US dictionary required for spell checking POD';
+}
+
+my @files = Test::Dpkg::all_perl_files();
+
+plan tests => scalar @files;
+
+set_spell_cmd('aspell list --encoding UTF-8 -l en_US -p /dev/null');
+add_stopwords(<DATA>);
+
+for my $file (@files) {
+ pod_file_spelling_ok($file);
+}
+
+__DATA__
+CVS
+DSC
+Dpkg
+IPC
+ORed
+OpenPGP
+XDG
+archqual
+bzip2
+canonicalized
+checksum
+checksums
+cmdline
+debian
+decompressor
+dep
+deps
+dpkg
+dpkg-buildflags
+dpkg-checkbuilddeps
+dpkg-dev
+dpkg-gencontrol
+dpkg-parsechangelog
+dsc
+dup'ed
+env
+envvar
+fieldnames
+ge
+gettext
+hurd
+keyrings
+le
+lzma
+multiarch
+nocheck
+qa
+reportfile
+rfc822
+sig
+substvars
+unparsed
+update-buildflags
+xz