libdpkg: Add varbuf_add_strn()
[dpkg.git] / t / po.t
blobce48395eb6a6cc2db79ec0a4931218d1c5e8adad
1 #!/usr/bin/perl
3 # This program is free software; you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation; either version 2 of the License, or
6 # (at your option) any later version.
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # GNU General Public License for more details.
13 # You should have received a copy of the GNU General Public License
14 # along with this program. If not, see <https://www.gnu.org/licenses/>.
16 use strict;
17 use warnings;
19 use Test::More;
20 use Test::Dpkg qw(:needs);
22 test_needs_author();
23 test_needs_command('i18nspector');
24 test_needs_srcdir_switch();
26 my @files = Test::Dpkg::all_po_files();
28 plan skip_all => 'no PO files distributed' if @files == 0;
29 plan tests => scalar @files;
31 sub po_ok {
32 my $file = shift;
34 my $tags = qx(i18nspector \"$file\" 2>&1);
36 # Fixup the output:
37 $tags =~ s/^.*\.pot: boilerplate-in-initial-comments .*\n//mg;
38 $tags =~ s/^.*\.po: duplicate-header-field X-POFile-SpellExtra\n//mg;
39 chomp $tags;
41 my $ok = length $tags == 0;
43 ok($ok, "PO check $file");
44 if (not $ok) {
45 diag($tags);
49 for my $file (@files) {
50 po_ok($file);