In commit 11467fc640995e3dc8897c82bbc7130d5bf27d05, the
atom_not_selected variable was initialized outside of a loop, when it
should have been re-initialized for each iteration of the loop. This
caused atom_not_selected to have an incorrect value in some cases,
triggering random failures of SonameOrChoicesTestCase, as observed here:

        https://travis-ci.org/gentoo/portage/jobs/50673911#L1114

Fixes: 11467fc64099 ("depgraph: soname dependency resolution (bug 282639)")
---
 pym/_emerge/depgraph.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 63c89a4..e8a3110 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -1860,9 +1860,9 @@ class depgraph(object):
                        replacement_candidates = []
                        # Set of all packages all atoms can agree on.
                        all_candidate_pkgs = None
-                       atom_not_selected = False
 
                        for atom in atoms:
+                               atom_not_selected = False
 
                                if not atom.package:
                                        unevaluated_atom = None
-- 
2.0.5


Reply via email to