[libconfig-model-dpkg-perl] 01/01: Add support for autopkgtest-pkg-go and others.

Martín Ferrari tincho at debian.org
Mon Aug 28 01:44:57 UTC 2017


This is an automated email from the git hooks/post-receive script.

tincho pushed a commit to branch master
in repository libconfig-model-dpkg-perl.

commit 13b6b512592f67e2607ed4cf0cd8a7701c1dcaf8
Author: Martín Ferrari <tincho at debian.org>
Date:   Mon Aug 28 03:41:14 2017 +0200

    Add support for autopkgtest-pkg-go and others.
    
    This commit adds full support for pkg-go autopkgtest, including matching with
    maintainer name.
    
    It also stops considering invalid other teams supported by autodep8.
    
    I added tests for all this, but I am doubtful of their quality.
---
 lib/Config/Model/models/Dpkg/Control/Source.pl | 12 ++++++------
 t/dpkg.t                                       | 25 +++++++++++++++++++------
 2 files changed, 25 insertions(+), 12 deletions(-)

diff --git a/lib/Config/Model/models/Dpkg/Control/Source.pl b/lib/Config/Model/models/Dpkg/Control/Source.pl
index 7739dfa..4bdc3d3 100644
--- a/lib/Config/Model/models/Dpkg/Control/Source.pl
+++ b/lib/Config/Model/models/Dpkg/Control/Source.pl
@@ -128,27 +128,27 @@ area/section if the package is in the contrib or non-free archive areas.
         'warn_unless' => {
           'defined-test' => {
             'code' => 'my $m = $self->grab_value(\'- Maintainer\');
-my ($team) = ( $m =~ /(pkg-(?:perl|ruby))/ );
+my ($team) = ( $m =~ /(pkg-(?:perl|ruby|go))/ );
 not defined $team or defined $_;',
             'fix' => 'my $m = $self->grab_value(\'- Maintainer\');
-my ($str) = ($m =~ /pkg-(perl|ruby)/);
+my ($str) = ($m =~ /pkg-(perl|ruby|go)/);
 $_ = $str ? \'autopkgtest-pkg-\'.$str : undef;',
             'msg' => 'Undefined while packaging team supports test suite'
           },
           'team-test' => {
             'code' => 'my $m = $self->grab_value(\'- Maintainer\');
-my ($team) = ( $m =~ /(pkg-(?:perl|ruby))/ );
+my ($team) = ( $m =~ /(pkg-(?:perl|ruby|go))/ );
 not defined $_ or not defined $team or $_ eq \'autopkgtest-\'.$team ;',
             'fix' => 'my $m = $self->grab_value(\'- Maintainer\');
-my ($str) = ($m =~ /pkg-(perl|ruby)/);
+my ($str) = ($m =~ /pkg-(perl|ruby|go)/);
 $_ = $str ? \'autopkgtest-pkg-\'.$str : undef;',
             'msg' => 'value does not match maintainer team'
           }
         },
         'warn_unless_match' => {
-          '^autopkgtest(-pkg-(perl|ruby))?$' => {
+          '^autopkgtest(-pkg-(dkms|elpa|go|nodejs|perl|python|r|ruby))?$' => {
             'fix' => 'my $m = $self->grab_value(\'- Maintainer\');
-my ($str) = ($m =~ /pkg-(perl|ruby)/);
+my ($str) = ($m =~ /pkg-(perl|ruby|go)/);
 $_ = $str ? \'autopkgtest-pkg-\'.$str : undef;',
             'msg' => 'Unknown value'
           }
diff --git a/t/dpkg.t b/t/dpkg.t
index ca7cc8f..0dd78af 100644
--- a/t/dpkg.t
+++ b/t/dpkg.t
@@ -20,7 +20,7 @@ if ( $@ ) {
     plan skip_all => "AptPkg::Config is not installed";
 }
 elsif ( -r '/etc/debian_version' ) {
-    plan tests => 24;
+    plan tests => 43;
 }
 else {
     plan skip_all => "Not a Debian system";
@@ -102,7 +102,16 @@ foreach my $t (@test) {
 
 warning_is {
     my $ts = $root->grab_value("control source Testsuite");
-}  undef, 'check that Testsuite does not warn for random maintainer ';
+} undef, 'check that Testsuite does not warn for random maintainer ';
+
+foreach my $target (qw(dkms elpa go nodejs perl python r ruby)) {
+    warning_is {
+        $root->load("control source Testsuite=autopkgtest-pkg-$target");
+    } undef, "check that Testsuite is accepted for autopkgtest-pkg-$target";
+    $root->grab('control source Testsuite')->apply_fixes;
+    is($root->grab_value("control source Testsuite"),
+        "autopkgtest-pkg-$target", 'check Testsuite value');
+}
 
 warning_like {
     $root->load('control source Testsuite=autopkgtest-foobar');
@@ -110,6 +119,7 @@ warning_like {
 
 my @teams = (
     'Debian Perl Group <pkg-perl-maintainers at lists.alioth.debian.org>',
+    'Debian Go Packaging Team <pkg-go-maintainers at lists.alioth.debian.org>',
     'Debian Ruby Extras Maintainers <pkg-ruby-extras-maintainers at lists.alioth.debian.org>',
 );
 
@@ -117,21 +127,24 @@ foreach my $team (@teams) {
     # reset testsuite values, maintainer cannot be null, so use John Doe instead
     # of a packaging team that triggers a special behavior
     $root->load('control source Maintainer="John Doe <john at doe.com>" Testsuite~') ;
-    my ($str) = ($team =~ /pkg-(perl|ruby)/);
+    my ($str) = ($team =~ /pkg-(perl|ruby|go)/);
     my $target =  "autopkgtest-pkg-$str";
 
     $root->load(qq!control source Maintainer="$team"!);
-    is($root->grab_value("control source Testsuite"), undef,'check Testsuite default value');
+    is($root->grab_value("control source Testsuite"), undef, 'check Testsuite default value');
     $root->grab('control source Testsuite')->apply_fixes;
 
-    is($root->grab_value("control source Testsuite"), $target,"check Testsuite $str output");
+    is($root->grab_value("control source Testsuite"), $target, "check Testsuite $str output");
 }
 
 # perl vs ruby, requires that loop above does not finish with perl team
 warning_like {
     $root->load('control source Testsuite=autopkgtest-pkg-perl');
-} qr/maintainer team/i, "check that a warning is emitted for Testsuite value mistmatch";
+} qr/maintainer team/i, "check that a warning is emitted for Testsuite value mismatch";
 
+$root->grab('control source Testsuite')->apply_fixes;
+is($root->grab_value("control source Testsuite"), "autopkgtest-pkg-ruby",
+    "check invalid Testsuite is replaced with team flavour");
 
 my $lic_text = $root->grab(steps => "copyright License:FooBar text", check => 'no');
 is($lic_text->fetch, undef, "test unknown lic text") ;

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libconfig-model-dpkg-perl.git



More information about the Pkg-perl-cvs-commits mailing list