autopkgtest: Trigger DKMS packages for new linux-meta uploads

By the kernel team's request we want to trigger DKMS package tests on new
kernel uploads, to ensure that we don't regress them with newer kernels.

Pretend that linux-meta builds the "dkms" binary, so that the existing reverse
dependency magic takes care of the actual triggering.

Note that this needs to be "linux-meta", not "linux", so that tests will
actually use the new kernel (via dist-upgrade).
This commit is contained in:
Martin Pitt 2015-08-26 16:24:13 +02:00
parent 0dfde694a9
commit 78aa12994c
2 changed files with 19 additions and 2 deletions

View File

@ -169,9 +169,16 @@ class AutoPackageTest(object):
reported_pkgs.add(src)
tests.append((src, ver))
extra_bins = []
# Hack: For new kernels trigger all DKMS packages by pretending that
# linux-meta builds a "dkms" binary as well. With that we ensure that we
# don't regress DKMS drivers with new kernel versions.
if src == 'linux-meta':
extra_bins.append('dkms')
# plus all direct reverse dependencies of its binaries which have
# an autopkgtest
for binary in srcinfo[BINARIES]:
for binary in srcinfo[BINARIES] + extra_bins:
binary = binary.split('/')[0] # chop off arch
try:
rdeps = binaries_info[binary][RDEPENDS]

View File

@ -1104,7 +1104,7 @@ lightgreen 1 i386 green 3
{'lightgreen': [('old-version', '1'), ('new-version', '2')]}
)
def test_dkms(self):
def test_detect_dkms_autodep8(self):
'''DKMS packages are autopkgtested (via autodep8)'''
self.data.add('dkms', False, {})
@ -1115,6 +1115,16 @@ lightgreen 1 i386 green 3
{'dkms': (False, {'fancy 1': {'amd64': 'RUNNING', 'i386': 'RUNNING'}})},
{'dkms': [('old-version', '1'), ('new-version', '2')]})
def test_kernel_triggers_dkms(self):
'''DKMS packages get triggered by kernel uploads'''
self.data.add('dkms', False, {})
self.data.add('fancy-dkms', False, {'Source': 'fancy', 'Depends': 'dkms (>= 1)'})
self.do_test(
[('linux-image-generic', {'Source': 'linux-meta'}, None)],
{'linux-meta': (False, {'fancy 1': {'amd64': 'RUNNING', 'i386': 'RUNNING'}})})
def test_disable_adt(self):
'''Run without autopkgtest requests'''