From e3ad79bdfb2505702105e1ad1bb208629293904b Mon Sep 17 00:00:00 2001 From: Martin Pitt Date: Tue, 14 Jul 2015 18:11:39 +0200 Subject: [PATCH] Don't ignore incomplete result.tar files These usually stem from repeatedly tmpfailing runs where we did not even get as far as unpacking the source (e. g. repeatedly hitting the ceiling of max allowed instances/CPUs/etc.). In that case, consider this run a tmpfail result, instead of ignoring it, as otherwise we end up with that entry being orphaned in pending.txt. --- autopkgtest.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/autopkgtest.py b/autopkgtest.py index 5260609..ff579d1 100644 --- a/autopkgtest.py +++ b/autopkgtest.py @@ -309,7 +309,11 @@ class AutoPackageTest(object): (ressrc, ver) = srcver.split() except (KeyError, ValueError, tarfile.TarError) as e: self.log_error('%s is damaged: %s' % (url, str(e))) - return + # we can't just ignore this, as it would leave an orphaned request + # in pending.txt; consider it tmpfail + exitcode = 16 + ressrc = src + ver = None if src != ressrc: self.log_error('%s is a result for package %s, but expected package %s' % @@ -326,6 +330,9 @@ class AutoPackageTest(object): # remove matching test requests, remember triggers satisfied_triggers = set() for pending_ver, pending_archinfo in self.pending_tests.get(src, {}).copy().items(): + # if we encounter a tmpfail above, attribute it to the pending test + if ver is None: + ver = pending_ver # don't consider newer requested versions if apt_pkg.version_compare(pending_ver, ver) <= 0: try: