aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Hutchings <ben@decadent.org.uk>2015-08-11 23:42:35 +0200
committerBen Hutchings <ben@decadent.org.uk>2015-10-31 22:04:13 +0000
commit5c869ad70b32001c3d3db8de13d7d49e4535472b (patch)
tree631f730f7c2b62c8470302fb5814962a53c4f78b
parent9c8d371306ec4d01456faba55188fc8ac1413c6e (diff)
downloadkernel_replicant_linux-5c869ad70b32001c3d3db8de13d7d49e4535472b.tar.gz
kernel_replicant_linux-5c869ad70b32001c3d3db8de13d7d49e4535472b.tar.bz2
kernel_replicant_linux-5c869ad70b32001c3d3db8de13d7d49e4535472b.zip
debian_linux.{debian,utils}: Support templates for debian/tests/control
-rw-r--r--debian/lib/python/debian_linux/debian.py21
-rw-r--r--debian/lib/python/debian_linux/utils.py6
2 files changed, 27 insertions, 0 deletions
diff --git a/debian/lib/python/debian_linux/debian.py b/debian/lib/python/debian_linux/debian.py
index e0780ba7eae6..e59e64f4458a 100644
--- a/debian/lib/python/debian_linux/debian.py
+++ b/debian/lib/python/debian_linux/debian.py
@@ -434,3 +434,24 @@ class Package(dict):
def values(self):
for i in self.keys():
yield self[i]
+
+
+class TestsControl(dict):
+ _fields = {
+ 'Tests': str,
+ 'Test-Command': str,
+ 'Restrictions': str,
+ 'Features': str,
+ 'Depends': PackageRelation,
+ 'Tests-Directory': str,
+ 'Classes': str,
+ }
+
+ 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 a7d4b1dbd8b8..f2fb6c39cd69 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