Split force-autopkgtest into force-badtest (tested package) and force-skiptest (triggering package).

bzr-import-20160707
Colin Watson 12 years ago
parent c04c71055e
commit b45bc14d4f

@ -254,7 +254,7 @@ class Britney(object):
HINTS_HELPERS = ("easy", "hint", "remove", "block", "block-udeb", "unblock", "unblock-udeb", "approve") HINTS_HELPERS = ("easy", "hint", "remove", "block", "block-udeb", "unblock", "unblock-udeb", "approve")
HINTS_STANDARD = ("urgent", "age-days") + HINTS_HELPERS HINTS_STANDARD = ("urgent", "age-days") + HINTS_HELPERS
HINTS_ALL = ("force", "force-hint", "force-autopkgtest", "block-all") + HINTS_STANDARD HINTS_ALL = ("force", "force-hint", "force-badtest", "force-skiptest", "block-all") + HINTS_STANDARD
def __init__(self): def __init__(self):
"""Class constructor """Class constructor
@ -917,7 +917,7 @@ class Britney(object):
elif len(l) == 1: elif len(l) == 1:
# All current hints require at least one argument # All current hints require at least one argument
self.__log("Malformed hint found in %s: '%s'" % (filename, line), type="W") self.__log("Malformed hint found in %s: '%s'" % (filename, line), type="W")
elif l[0] in ["approve", "block", "block-all", "block-udeb", "unblock", "unblock-udeb", "force", "force-autopkgtest", "urgent", "remove"]: elif l[0] in ["approve", "block", "block-all", "block-udeb", "unblock", "unblock-udeb", "force", "force-badtest", "force-skiptest", "urgent", "remove"]:
for package in l[1:]: for package in l[1:]:
hints.add_hint('%s %s' % (l[0], package), who) hints.add_hint('%s %s' % (l[0], package), who)
elif l[0] in ["age-days"]: elif l[0] in ["age-days"]:
@ -926,7 +926,7 @@ class Britney(object):
else: else:
hints.add_hint(l, who) hints.add_hint(l, who)
for x in ["approve", "block", "block-all", "block-udeb", "unblock", "unblock-udeb", "force", "force-autopkgtest", "urgent", "remove", "age-days"]: for x in ["approve", "block", "block-all", "block-udeb", "unblock", "unblock-udeb", "force", "force-badtest", "force-skiptest", "urgent", "remove", "age-days"]:
z = {} z = {}
for hint in hints[x]: for hint in hints[x]:
package = hint.package package = hint.package
@ -1802,7 +1802,7 @@ class Britney(object):
"autopkgtest for %s %s: %s" % (adtsrc, adtver, status)) "autopkgtest for %s %s: %s" % (adtsrc, adtver, status))
if status != "PASS": if status != "PASS":
hints = self.hints.search( hints = self.hints.search(
'force-autopkgtest', package=adtsrc) 'force-badtest', package=adtsrc)
hints.extend( hints.extend(
self.hints.search('force', package=adtsrc)) self.hints.search('force', package=adtsrc))
forces = [ forces = [
@ -1815,10 +1815,21 @@ class Britney(object):
else: else:
adtpass = False adtpass = False
if not adtpass and e.is_valid: if not adtpass and e.is_valid:
upgrade_me.remove(e.name) hints = self.hints.search('force-skiptest', package=e.name)
unconsidered.append(e.name) hints.extend(self.hints.search('force', package=e.name))
e.addhtml("Not considered") forces = [
e.is_valid = False x for x in hints
if self.same_source(e.ver[1], x.version) ]
if forces:
e.addhtml(
"Should wait for tests relating to %s %s, but "
"forced by %s" %
(e.name, e.ver[1], forces[0].user))
else:
upgrade_me.remove(e.name)
unconsidered.append(e.name)
e.addhtml("Not considered")
e.is_valid = False
# invalidate impossible excuses # invalidate impossible excuses
for e in self.excuses: for e in self.excuses:

Loading…
Cancel
Save