From: Sebastian Luther Date: Sat, 7 Aug 2010 08:22:46 +0000 (+0200) Subject: Test: resolver/test_autounmask: Check the suggested use changes X-Git-Tag: v2.2_rc68~361 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=7a0227049551d919d3bb766a57834d7dc3ccc9c8;p=portage.git Test: resolver/test_autounmask: Check the suggested use changes --- diff --git a/pym/portage/tests/resolver/ResolverPlayground.py b/pym/portage/tests/resolver/ResolverPlayground.py index 5d6d9d123..6f658d8c1 100644 --- a/pym/portage/tests/resolver/ResolverPlayground.py +++ b/pym/portage/tests/resolver/ResolverPlayground.py @@ -203,7 +203,7 @@ class ResolverPlaygroundResult(object): self.depgraph = mydepgraph self.favorites = favorites self.mergelist = None - self.use_changes = self.depgraph._dynamic_config._needed_use_config_changes + self.use_changes = None if self.depgraph._dynamic_config._serialized_tasks_cache is not None: self.mergelist = [] @@ -212,3 +212,10 @@ class ResolverPlaygroundResult(object): self.mergelist.append(x.atom) else: self.mergelist.append(x.cpv) + + if self.depgraph._dynamic_config._needed_use_config_changes: + self.use_changes = {} + for pkg, needed_use_config_changes in \ + self.depgraph._dynamic_config._needed_use_config_changes.items(): + new_use, changes = needed_use_config_changes + self.use_changes[pkg.cpv] = changes diff --git a/pym/portage/tests/resolver/test_autounmask.py b/pym/portage/tests/resolver/test_autounmask.py index 19d91484f..74cd98bea 100644 --- a/pym/portage/tests/resolver/test_autounmask.py +++ b/pym/portage/tests/resolver/test_autounmask.py @@ -41,69 +41,68 @@ class AutounmaskTestCase(TestCase): #Test USE changes. #The simple case. - (["dev-libs/A:1"], {"--autounmask": "n"}, None, False, None), + (["dev-libs/A:1"], {"--autounmask": "n"}, None, False, None, None), (["dev-libs/A:1"], {"--autounmask": True}, None, False, \ - ["dev-libs/C-1", "dev-libs/B-1", "dev-libs/A-1"]), + ["dev-libs/C-1", "dev-libs/B-1", "dev-libs/A-1"], { "dev-libs/B-1": {"foo": True} }), #Make sure we restart if needed. - (["dev-libs/B", "dev-libs/A:1"], {"--autounmask": True}, None, False, \ - ["dev-libs/C-1", "dev-libs/B-1", "dev-libs/A-1"]), + ["dev-libs/C-1", "dev-libs/B-1", "dev-libs/A-1"], { "dev-libs/B-1": {"foo": True} }), (["dev-libs/A:1", "dev-libs/B"], {"--autounmask": True}, None, False, \ - ["dev-libs/C-1", "dev-libs/B-1", "dev-libs/A-1"]), + ["dev-libs/C-1", "dev-libs/B-1", "dev-libs/A-1"], { "dev-libs/B-1": {"foo": True} }), (["dev-libs/A:1", "dev-libs/A:2"], {"--autounmask": True}, None, False, \ - ["dev-libs/D-1", "dev-libs/C-1", "dev-libs/B-1", "dev-libs/A-1", "dev-libs/A-2"]), + ["dev-libs/D-1", "dev-libs/C-1", "dev-libs/B-1", "dev-libs/A-1", "dev-libs/A-2"], { "dev-libs/B-1": {"foo": True, "bar": True} }), (["dev-libs/B", "dev-libs/A:1", "dev-libs/A:2"], {"--autounmask": True}, None, False, \ - ["dev-libs/D-1", "dev-libs/C-1", "dev-libs/B-1", "dev-libs/A-1", "dev-libs/A-2"]), + ["dev-libs/D-1", "dev-libs/C-1", "dev-libs/B-1", "dev-libs/A-1", "dev-libs/A-2"], { "dev-libs/B-1": {"foo": True, "bar": True} }), (["dev-libs/A:1", "dev-libs/B", "dev-libs/A:2"], {"--autounmask": True}, None, False, \ - ["dev-libs/D-1", "dev-libs/C-1", "dev-libs/B-1", "dev-libs/A-1", "dev-libs/A-2"]), + ["dev-libs/D-1", "dev-libs/C-1", "dev-libs/B-1", "dev-libs/A-1", "dev-libs/A-2"], { "dev-libs/B-1": {"foo": True, "bar": True} }), (["dev-libs/A:1", "dev-libs/A:2", "dev-libs/B"], {"--autounmask": True}, None, False, \ - ["dev-libs/D-1", "dev-libs/C-1", "dev-libs/B-1", "dev-libs/A-1", "dev-libs/A-2"]), + ["dev-libs/D-1", "dev-libs/C-1", "dev-libs/B-1", "dev-libs/A-1", "dev-libs/A-2"], { "dev-libs/B-1": {"foo": True, "bar": True} }), #Test keywording. #The simple case. - (["app-misc/Z"], {"--autounmask": "n"}, None, False, None), + (["app-misc/Z"], {"--autounmask": "n"}, None, False, None, None), (["app-misc/Z"], {"--autounmask": True}, None, False, \ - ["app-misc/Y-1", "app-misc/Z-1"]), + ["app-misc/Y-1", "app-misc/Z-1"], None), #Make sure that the backtracking for slot conflicts handles our mess. (["=app-misc/V-1", "app-misc/W"], {"--autounmask": True}, None, False, \ - ["app-misc/W-2", "app-misc/V-1"]), + ["app-misc/W-2", "app-misc/V-1"], None), (["app-misc/W", "=app-misc/V-1"], {"--autounmask": True}, None, False, \ - ["app-misc/W-2", "app-misc/V-1"]), + ["app-misc/W-2", "app-misc/V-1"], None), #Mixed testing #Make sure we don't change use for something in a || dep if there is another choice #that needs no change. (["=sci-libs/K-1"], {"--autounmask": True}, None, True, \ - ["sci-libs/P-1", "sci-libs/K-1"]), + ["sci-libs/P-1", "sci-libs/K-1"], None), (["=sci-libs/K-2"], {"--autounmask": True}, None, True, \ - ["sci-libs/P-1", "sci-libs/K-2"]), + ["sci-libs/P-1", "sci-libs/K-2"], None), (["=sci-libs/K-3"], {"--autounmask": True}, None, True, \ - ["sci-libs/P-1", "sci-libs/K-3"]), + ["sci-libs/P-1", "sci-libs/K-3"], None), (["=sci-libs/K-4"], {"--autounmask": True}, None, True, \ - ["sci-libs/P-1", "sci-libs/K-4"]), + ["sci-libs/P-1", "sci-libs/K-4"], None), (["=sci-libs/K-5"], {"--autounmask": True}, None, True, \ - ["sci-libs/P-1", "sci-libs/K-5"]), + ["sci-libs/P-1", "sci-libs/K-5"], None), (["=sci-libs/K-6"], {"--autounmask": True}, None, True, \ - ["sci-libs/P-1", "sci-libs/K-6"]), + ["sci-libs/P-1", "sci-libs/K-6"], None), #Make sure we prefer use changes over keyword changes. (["=sci-libs/K-7"], {"--autounmask": True}, None, False, \ - ["sci-libs/L-1", "sci-libs/K-7"]), + ["sci-libs/L-1", "sci-libs/K-7"], { "sci-libs/L-1": { "bar": True } }), (["=sci-libs/K-8"], {"--autounmask": True}, None, False, \ - ["sci-libs/L-1", "sci-libs/K-8"]), + ["sci-libs/L-1", "sci-libs/K-8"], { "sci-libs/L-1": { "bar": True } }), ) playground = ResolverPlayground(ebuilds=ebuilds) try: for atoms, options, action, \ - expected_result, expected_mergelist in requests: + expected_result, expected_mergelist, expected_use_changes in requests: result = playground.run(atoms, options, action) - self.assertEqual((result.success, result.mergelist), - (expected_result, expected_mergelist)) + self.assertEqual((result.success, result.mergelist, result.use_changes), + (expected_result, expected_mergelist, expected_use_changes)) finally: playground.cleanup()