[linux] 02/12: debian_linux.{debian, utils}: Support templates for debian/tests/control

debian-kernel at lists.debian.org debian-kernel at lists.debian.org
Thu Aug 13 13:23:26 UTC 2015


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

benh pushed a commit to branch benh/autopkgtest
in repository linux.

commit 0e1b9da9b2e998deaacd5a6542607433b77725ed
Author: Ben Hutchings <ben at decadent.org.uk>
Date:   Tue Aug 11 23:42:35 2015 +0200

    debian_linux.{debian,utils}: Support templates for debian/tests/control
---
 debian/lib/python/debian_linux/debian.py | 21 +++++++++++++++++++++
 debian/lib/python/debian_linux/utils.py  |  6 ++++++
 2 files changed, 27 insertions(+)

diff --git a/debian/lib/python/debian_linux/debian.py b/debian/lib/python/debian_linux/debian.py
index 936a9ab..75f7e1a 100644
--- a/debian/lib/python/debian_linux/debian.py
+++ b/debian/lib/python/debian_linux/debian.py
@@ -446,3 +446,24 @@ class Package(dict):
     def itervalues(self):
         for i in self.iterkeys():
             yield self[i]
+
+
+class TestsControl(dict):
+    _fields = {
+        'Tests': six.text_type,
+        'Test-Command': six.text_type,
+        'Restrictions': six.text_type,
+        'Features': six.text_type,
+        'Depends': PackageRelation,
+        'Tests-Directory': six.text_type,
+        'Classes': six.text_type,
+    }
+
+    def __setitem__(self, key, value):
+        try:
+            cls = self._fields[key]
+            if not isinstance(value, cls):
+                value = cls(value)
+        except KeyError:
+            pass
+        super(TestsControl, self).__setitem__(key, value)
diff --git a/debian/lib/python/debian_linux/utils.py b/debian/lib/python/debian_linux/utils.py
index d6b9766..f45e7c3 100644
--- a/debian/lib/python/debian_linux/utils.py
+++ b/debian/lib/python/debian_linux/utils.py
@@ -26,6 +26,8 @@ class Templates(object):
                     f = codecs.open(filename, 'r', 'utf-8')
                     if prefix == 'control':
                         return read_control(f)
+                    if prefix == 'tests-control':
+                        return read_tests_control(f)
                     return f.read()
 
     def get(self, key, default=None):
@@ -42,6 +44,10 @@ def read_control(f):
     from .debian import Package
     return _read_rfc822(f, Package)
 
+def read_tests_control(f):
+    from .debian import TestsControl
+    return _read_rfc822(f, TestsControl)
+
 def _read_rfc822(f, cls):
     entries = []
     eof = False

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/kernel/linux.git



More information about the Kernel-svn-changes mailing list