mirror of
https://git.launchpad.net/~ubuntu-release/britney/+git/britney2-ubuntu
synced 2025-02-10 05:57:28 +00:00
Cope with missing/broken results due to outdated apt cache. Britney will not fail, but source promotion will be blocked.
This commit is contained in:
parent
496a2f3134
commit
bf8056a061
13
boottest.py
13
boottest.py
@ -215,7 +215,18 @@ class BootTest(object):
|
||||
|
||||
def get_status(self, name, version):
|
||||
"""Return test status for the given source name and version."""
|
||||
return self.pkglist[name][version]
|
||||
try:
|
||||
return self.pkglist[name][version]
|
||||
except KeyError:
|
||||
# This error handling accounts for outdated apt caches, when
|
||||
# `boottest-britney` erroneously reports results for the
|
||||
# current source version, instead of the proposed.
|
||||
# Returning None here will block source promotion with:
|
||||
# 'UNKNOWN STATUS' excuse. If the jobs are retried and its
|
||||
# results find an up-to-date cache, the problem is gone.
|
||||
print("E: [%s] - Missing boottest results for %s_%s" % (
|
||||
time.asctime(), name, version))
|
||||
return None
|
||||
|
||||
def request(self, packages):
|
||||
"""Requests boottests for the given sources list ([(src, ver),])."""
|
||||
|
@ -66,7 +66,7 @@ ADT_ENABLE = yes
|
||||
ADT_DEBUG = no
|
||||
ADT_ARCHES = amd64 i386
|
||||
|
||||
BOOTTEST_ARCHES = armhf
|
||||
BOOTTEST_ENABLE = yes
|
||||
BOOTTEST_DEBUG = yes
|
||||
BOOTTEST_ARCHES = armhf amd64
|
||||
BOOTTEST_FETCH = yes
|
||||
|
@ -301,6 +301,22 @@ args.func()
|
||||
boottest.BootTest.EXCUSE_LABELS['FAIL']),
|
||||
'<li>Not considered'])
|
||||
|
||||
def test_unknonw(self):
|
||||
# `Britney` does not block on missing boottest results for a
|
||||
# particular source/version, in this case pyqt5-src_1.2 (not
|
||||
# listed in the testing result history). Instead it renders
|
||||
# excuses with 'UNKNOWN STATUS' and links to the corresponding
|
||||
# jenkins jobs for further investigation. Source promotion is
|
||||
# blocked, though.
|
||||
context = [
|
||||
('pyqt5', {'Source': 'pyqt5-src', 'Version': '1.2',
|
||||
'Architecture': 'armhf'})]
|
||||
self.do_test(
|
||||
context,
|
||||
[r'\bpyqt5-src\b.*\(- to .*>1.2<',
|
||||
r'<li>Boottest result: UNKNOWN STATUS \(Jenkins: .*\)',
|
||||
'<li>Not considered'])
|
||||
|
||||
def create_hint(self, username, content):
|
||||
"""Populates a hint file for the given 'username' with 'content'."""
|
||||
hints_path = os.path.join(
|
||||
|
Loading…
x
Reference in New Issue
Block a user