I'v added try-except block around the critical area.
Kamil and I found out, that this error happens, when packagers push new
builds into Bodhi update, in the time of depcheck-run on the respective
update (to be more specific, after we query Koji for -pending builds,
and before we sum-up the build results to update results).
If this happens, we now add the build do problematic builds list (with
appropriate error message), which subsequently FAILs the update.
=======================================================================
diff --git a/tests/depcheck/depcheck.py b/tests/depcheck/depcheck.py
index 819748f..ea101f0 100644
--- a/tests/depcheck/depcheck.py
+++ b/tests/depcheck/depcheck.py
@@ -340,8 +340,21 @@ class depcheck(AutoQATest):
desc = 'Update %(result)s: %(title)s\n'
.
for build in update['builds']:
+ # Sometimes, update is changed during depcheck testrun
+ # and new build (which was not in -pending at the start)
+ # is added. When this happens, we want to skip the build
+ # and mark it as problematic (to subsequently fail the.
+ # update)
+ try:
+ td.output.append(digest.digest[build['nvr']]['all'])
+ except KeyError:
+ msg = "Build %s is part of update '%s', but it was
" \
+ "added during the depcheck run" %
(build['nvr'], update['title']))
+ self.log(msg, stderr = True, highlight = True, details = td)
+ td.update_result("ABORTED")
+ self.problematic[build['nvr']] = msg
+ continue
.
- td.output.append(digest.digest[build['nvr']]['all'])
td.output.append("\n\n")
for h in digest.digest[build['nvr']]['highlights']:
td.highlights.append((h, None))
@@ -349,7 +362,7 @@ class depcheck(AutoQATest):
if build['nvr'] not in pending_ok:
msg = "Build %s is part of update '%s', but it
wasn't " \
"scheduled for testing" % (build['nvr'],
update['title'])
- self.log(msg, strerr = True, highlight = True, details = td)
+ self.log(msg, stderr = True, highlight = True, details = td)
td.update_result('ABORTED')
self.problematic[build['nvr']] = msg
continue
Show replies by date