Commit 58ad1e14 authored by jeffrey k eliasen's avatar jeffrey k eliasen

python 2.7 does not implement object.__dir__()

parent 1a90187c
...@@ -2676,6 +2676,10 @@ class Distribution(object): ...@@ -2676,6 +2676,10 @@ class Distribution(object):
) )
) )
if not hasattr(object, '__dir__'):
# python 2.7 not supported
del __dir__
@classmethod @classmethod
def from_filename(cls, filename, metadata=None, **kw): def from_filename(cls, filename, metadata=None, **kw):
return cls.from_location( return cls.from_location(
......
...@@ -145,6 +145,16 @@ class TestDistro: ...@@ -145,6 +145,16 @@ class TestDistro:
for v in "Twisted>=1.5", "Twisted>=1.5\nZConfig>=2.0": for v in "Twisted>=1.5", "Twisted>=1.5\nZConfig>=2.0":
self.checkRequires(self.distRequires(v), v) self.checkRequires(self.distRequires(v), v)
needs_object_dir = pytest.mark.skipif(
not hasattr(object, '__dir__'),
reason='object.__dir__ necessary for self.__dir__ implementation',
)
def test_distribution_dir(self):
d = pkg_resources.Distribution()
dir(d)
@needs_object_dir
def test_distribution_dir_includes_provider_dir(self): def test_distribution_dir_includes_provider_dir(self):
d = pkg_resources.Distribution() d = pkg_resources.Distribution()
before = d.__dir__() before = d.__dir__()
...@@ -154,6 +164,7 @@ class TestDistro: ...@@ -154,6 +164,7 @@ class TestDistro:
assert len(after) == len(before) + 1 assert len(after) == len(before) + 1
assert 'test_attr' in after assert 'test_attr' in after
@needs_object_dir
def test_distribution_dir_ignores_provider_dir_leading_underscore(self): def test_distribution_dir_ignores_provider_dir_leading_underscore(self):
d = pkg_resources.Distribution() d = pkg_resources.Distribution()
before = d.__dir__() before = d.__dir__()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment