From 3d8c2245cb09e0db917648f2cf57f99fd10caca1 Mon Sep 17 00:00:00 2001 From: Steve Kowalik Date: Wed, 6 Apr 2016 14:49:02 +1000 Subject: Reinstate the or guard in WorkingSet._markers_pass --- pkg_resources/__init__.py | 2 +- pkg_resources/tests/test_resources.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'pkg_resources') diff --git a/pkg_resources/__init__.py b/pkg_resources/__init__.py index 08677719..c3e3e96c 100644 --- a/pkg_resources/__init__.py +++ b/pkg_resources/__init__.py @@ -861,7 +861,7 @@ class WorkingSet(object): result = [] if req in extra_req_mapping: - for extra in extra_req_mapping[req]: + for extra in extra_req_mapping[req] or ['']: result.append(req.marker.evaluate({'extra': extra})) else: result.append(req.marker.evaluate()) diff --git a/pkg_resources/tests/test_resources.py b/pkg_resources/tests/test_resources.py index 7f86c797..7907224e 100644 --- a/pkg_resources/tests/test_resources.py +++ b/pkg_resources/tests/test_resources.py @@ -186,6 +186,12 @@ class TestDistro: res = ws.resolve(parse_requirements("Foo;python_version>='2'"), ad) assert list(res) == [Foo] + def test_environment_marker_evaluation_called(self): + ws = WorkingSet([]) + req, = parse_requirements("bar;python_version<'4'") + extra_req_mapping = {req: ()} + assert ws._markers_pass(req, extra_req_mapping) == True + def test_marker_evaluation_with_extras(self): """Extras are also evaluated as markers at resolution time.""" ad = pkg_resources.Environment([]) -- cgit v1.2.3