mirror of
https://git.launchpad.net/~ubuntu-release/britney/+git/britney2-ubuntu
synced 2025-03-12 03:41:08 +00:00
Leverage defaultdict to simplify some code
Notable omissions are "pending_tests" and "tests_results". This is omission is due to these (some times) being initialized from the output of "json.load" (so we cannot assume defaultdict semantics without manually imported the data into one). Signed-off-by: Niels Thykier <niels@thykier.net>
This commit is contained in:
parent
641df09570
commit
d7045af2b7
@ -16,6 +16,7 @@
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
import collections
|
||||
import os
|
||||
import json
|
||||
import tarfile
|
||||
@ -209,7 +210,7 @@ class AutopkgtestPolicy(BasePolicy):
|
||||
# results per architecture for technical/efficiency reasons, but we
|
||||
# want to evaluate and present the results by tested source package
|
||||
# first
|
||||
pkg_arch_result = {}
|
||||
pkg_arch_result = collections.defaultdict(dict)
|
||||
for arch in self.adt_arches:
|
||||
if arch in excuse.missing_builds:
|
||||
verdict = PolicyVerdict.REJECTED_TEMPORARILY
|
||||
@ -228,7 +229,7 @@ class AutopkgtestPolicy(BasePolicy):
|
||||
for (testsrc, testver) in tests:
|
||||
self.pkg_test_request(testsrc, arch, trigger, huge=is_huge)
|
||||
(result, real_ver, run_id, url) = self.pkg_test_result(testsrc, testver, arch, trigger)
|
||||
pkg_arch_result.setdefault((testsrc, real_ver), {})[arch] = (result, run_id, url)
|
||||
pkg_arch_result[(testsrc, real_ver)][arch] = (result, run_id, url)
|
||||
|
||||
# add test result details to Excuse
|
||||
cloud_url = self.options.adt_ci_url + "packages/%(h)s/%(s)s/%(r)s/%(a)s"
|
||||
@ -485,10 +486,10 @@ class AutopkgtestPolicy(BasePolicy):
|
||||
continue
|
||||
if run_id > latest_run_id:
|
||||
latest_run_id = run_id
|
||||
self.latest_run_for_package._cache.setdefault(src, {})[arch] = latest_run_id
|
||||
self.latest_run_for_package._cache[arch] = latest_run_id
|
||||
return latest_run_id
|
||||
|
||||
latest_run_for_package._cache = {}
|
||||
latest_run_for_package._cache = collections.defaultdict(dict)
|
||||
|
||||
def fetch_swift_results(self, swift_url, src, arch):
|
||||
'''Download new results for source package/arch from swift'''
|
||||
@ -753,7 +754,7 @@ class AutopkgtestPolicy(BasePolicy):
|
||||
except KeyError:
|
||||
self.logger.info('Found NO result for src %s in reference: pass=%s', src, passed_reference)
|
||||
pass
|
||||
self.passed_in_baseline._cache.setdefault(src, {})[arch] = passed_reference
|
||||
self.passed_in_baseline._cache[arch] = passed_reference
|
||||
return passed_reference
|
||||
|
||||
passed_ever = False
|
||||
@ -765,11 +766,11 @@ class AutopkgtestPolicy(BasePolicy):
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
self.passed_in_baseline._cache.setdefault(src, {})[arch] = passed_ever
|
||||
self.passed_in_baseline._cache[arch] = passed_ever
|
||||
self.logger.info('Result for src %s ever: pass=%s', src, passed_ever)
|
||||
return passed_ever
|
||||
|
||||
passed_in_baseline._cache = {}
|
||||
passed_in_baseline._cache = collections.defaultdict(dict)
|
||||
|
||||
def pkg_test_result(self, src, ver, arch, trigger):
|
||||
'''Get current test status of a particular package
|
||||
|
Loading…
x
Reference in New Issue
Block a user