mirror of
https://git.launchpad.net/~ubuntu-release/britney/+git/britney2-ubuntu
synced 2025-05-23 00:11:32 +00:00
Repair requests without testpkg-version
We're supposed to synthesise an "unknown" version for these, but a bug in the worker meant we didn't do that in some cases and these leaked into swift. Let's repair it client-side.
This commit is contained in:
parent
ff6ba2553a
commit
77ee66fcb3
@ -852,7 +852,19 @@ class AutopkgtestPolicy(BasePolicy):
|
|||||||
try:
|
try:
|
||||||
with tarfile.open(None, 'r', tar_bytes) as tar:
|
with tarfile.open(None, 'r', tar_bytes) as tar:
|
||||||
exitcode = int(tar.extractfile('exitcode').read().strip())
|
exitcode = int(tar.extractfile('exitcode').read().strip())
|
||||||
srcver = tar.extractfile('testpkg-version').read().decode().strip()
|
try:
|
||||||
|
srcver = tar.extractfile('testpkg-version').read().decode().strip()
|
||||||
|
except KeyError as e:
|
||||||
|
# We have some buggy results in Ubuntu's swift that break a
|
||||||
|
# full reimport. Sometimes we fake up the exit code (when
|
||||||
|
# we want to convert tmpfails to permanent fails), but an
|
||||||
|
# early bug meant we sometimes didn't include a
|
||||||
|
# testpkg-version.
|
||||||
|
if exitcode in (4, 12, 20):
|
||||||
|
# repair it
|
||||||
|
srcver = "%s unknown" % (src)
|
||||||
|
else:
|
||||||
|
raise
|
||||||
(ressrc, ver) = srcver.split()
|
(ressrc, ver) = srcver.split()
|
||||||
testinfo = json.loads(tar.extractfile('testinfo.json').read().decode())
|
testinfo = json.loads(tar.extractfile('testinfo.json').read().decode())
|
||||||
except (KeyError, ValueError, tarfile.TarError) as e:
|
except (KeyError, ValueError, tarfile.TarError) as e:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user