mirror of
https://git.launchpad.net/~ubuntu-release/britney/+git/britney2-ubuntu
synced 2025-04-03 14:21:10 +00:00
validate list of valid excuses
This commit is contained in:
parent
8b6638c566
commit
2ccb056fa1
@ -651,8 +651,16 @@ class ExcuseFinder(object):
|
||||
|
||||
# extract the not considered packages, which are in the excuses but not in upgrade_me
|
||||
unconsidered = {ename for ename in excuses if ename not in actionable_items}
|
||||
invalidated = set()
|
||||
|
||||
invalidate_excuses(excuses, actionable_items, unconsidered)
|
||||
invalidate_excuses(excuses, actionable_items, unconsidered, invalidated)
|
||||
|
||||
# check that the list of actionable items matches the list of valid
|
||||
# excuses
|
||||
assert actionable_items == {x for x in excuses if excuses[x].is_valid}
|
||||
|
||||
# check that the rdeps for all invalid excuses were invalidated
|
||||
assert invalidated == {x for x in excuses if not excuses[x].is_valid}
|
||||
|
||||
mi_factory = self._migration_item_factory
|
||||
actionable_items = {mi_factory.parse_item(x, versioned=False, auto_correct=False) for x in actionable_items}
|
||||
|
@ -651,7 +651,7 @@ def get_dependency_solvers(block, binaries_s_a, provides_s_a, *, build_depends=F
|
||||
return packages
|
||||
|
||||
|
||||
def invalidate_excuses(excuses, valid, invalid):
|
||||
def invalidate_excuses(excuses, valid, invalid, invalidated):
|
||||
"""Invalidate impossible excuses
|
||||
|
||||
This method invalidates the impossible excuses, which depend
|
||||
@ -701,6 +701,7 @@ def invalidate_excuses(excuses, valid, invalid):
|
||||
|
||||
# loop on the invalid excuses
|
||||
for ename in iter_except(invalid.pop, KeyError):
|
||||
invalidated.add(ename)
|
||||
# if there is no reverse dependency, skip the item
|
||||
if ename not in excuses_rdeps:
|
||||
continue
|
||||
|
Loading…
x
Reference in New Issue
Block a user