[Python-checkins] distutils2: Adding a check for invalid partial name matching in the get_distribution
tarek.ziade
python-checkins at python.org
Mon Apr 5 23:09:19 CEST 2010
tarek.ziade pushed cc83e566ff8b to distutils2:
http://hg.python.org/distutils2/rev/cc83e566ff8b
changeset: 99:cc83e566ff8b
user: pumazi
date: Wed Mar 31 09:28:42 2010 -0400
summary: Adding a check for invalid partial name matching in the get_distribution function test.
files: src/distutils2/_backport/pkgutil.py, src/distutils2/_backport/tests/test_pkgutil.py
diff --git a/src/distutils2/_backport/pkgutil.py b/src/distutils2/_backport/pkgutil.py
--- a/src/distutils2/_backport/pkgutil.py
+++ b/src/distutils2/_backport/pkgutil.py
@@ -730,20 +730,12 @@
value is expected. If the directory is not found, ``None`` is returned.
:rtype: :class:`Distribution` or None"""
- name = _normalize_dist_name(name)
- dist = None
- for path in sys.path:
- realpath = os.path.realpath(path)
- if not os.path.isdir(realpath):
- continue
- for dir in os.listdir(realpath):
- dir_path = os.path.join(realpath, dir)
- if dir.startswith(name) and os.path.isdir(dir_path):
- dist = Distribution(dir_path)
- break
- if dist is not None:
+ found = None
+ for dist in get_distributions():
+ if dist.name == name:
+ found = dist
break
- return dist
+ return found
def get_file_users(path):
"""
diff --git a/src/distutils2/_backport/tests/test_pkgutil.py b/src/distutils2/_backport/tests/test_pkgutil.py
--- a/src/distutils2/_backport/tests/test_pkgutil.py
+++ b/src/distutils2/_backport/tests/test_pkgutil.py
@@ -94,7 +94,7 @@
self.assertListEqual(sorted(found_dists), sorted(fake_dists))
def test_get_distribution(self):
- """Lookup a distribution by name."""
+ """Test for looking up a distribution by name."""
# Test the lookup of the towel-stuff distribution
name = 'towel-stuff' # Note: This is different from the directory name
@@ -109,6 +109,9 @@
# Verify that an unknown distribution returns None
self.assertEqual(None, get_distribution('bogus'))
+ # Verify partial name matching doesn't work
+ self.assertEqual(None, get_distribution('towel'))
+
def test_suite():
suite = unittest2.TestSuite()
--
Repository URL: http://hg.python.org/distutils2
More information about the Python-checkins
mailing list