#8 Provide per-environment last_tested stats in json
Merged 3 years ago by adamwill. Opened 3 years ago by jskladan.

file modified
+11 -3
@@ -69,6 +69,7 @@

          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 @@

          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 @@

              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 @@

          # 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

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.

rebased onto 3378073

3 years ago

Pull-Request has been merged by adamwill

3 years ago
Metadata