From 337807357816df9d081e5f5bde4ab66462d3b2d9 Mon Sep 17 00:00:00 2001 From: Josef Skladanka Date: Jan 30 2019 10:53:58 +0000 Subject: Provide per-environment last_tested stats in json The change adds more granular data about the last_tested property of each testcase to the json export. With this change, the landing page can show more relevant information to the user, when an "I want to do some manual testing" action is selected. --- diff --git a/relval/testcase_stats.py b/relval/testcase_stats.py index 9eabb6d..3a33bdb 100644 --- a/relval/testcase_stats.py +++ b/relval/testcase_stats.py @@ -69,6 +69,7 @@ class Test(object): self.last_tested = "" self.envs = set() self.resultenvs = set() + self.last_tested_by_env = dict() def update(self, compose, row): """Passed a result row and the 2-tuple that identifies the @@ -89,6 +90,7 @@ class Test(object): warn = 0 envs = 0 for (env, rlist) in rlists: + self.last_tested_by_env.setdefault(env, 'nottested') if rlist: # these are all the envs for which we have real # results in any compose; used by the post-processor @@ -97,14 +99,17 @@ class Test(object): for result in rlist: if result.status == 'pass': self.last_tested = compose + self.last_tested_by_env[env] = compose self.passes[compose].append((env, result)) pas += 1 if result.status == 'fail': self.last_tested = compose + self.last_tested_by_env[env] = compose self.fails[compose].append((env, result)) fail += 1 if result.status == 'warn': self.last_tested = compose + self.last_tested_by_env[env] = compose self.warns[compose].append((env, result)) warn += 1 self.coverage[compose] = envs*100 // len(row.results) @@ -455,18 +460,21 @@ def get_results_data(allcomposes, tests): # Look ma, no hands! data.setdefault(section, list()) if testcase != name: - dispname = ' - ' + name + dispname = name else: - dispname = '' + dispname = None bitmap = {c: [0, 'n/a'] for c in allcomposes} bitmap.update(test.bitmap) trow = { 'testcase_url': 'https://fedoraproject.org/wiki/%s' % testcase, - 'testcase_name': '%s%s' % (testcase, dispname), + 'testcase_name': testcase, + 'testcase_display_name': dispname, 'milestone': test.milestone, 'last_tested': test.last_tested, + 'last_tested_by_env': test.last_tested_by_env, 'bitmap': bitmap, + 'inactive': bitmap[allcomposes[-1]] == 'n/a', } data[section].append(trow) return data