aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xsetuptools/package_index.py4
-rw-r--r--setuptools/tests/test_packageindex.py19
2 files changed, 22 insertions, 1 deletions
diff --git a/setuptools/package_index.py b/setuptools/package_index.py
index e4d7e6b9..e4f96f0b 100755
--- a/setuptools/package_index.py
+++ b/setuptools/package_index.py
@@ -581,7 +581,9 @@ class PackageIndex(Environment):
return v
except urllib2.URLError, v:
if warning: self.warn(warning, v.reason)
- else: raise DistutilsError("Download error: %s" % v.reason)
+ else:
+ raise DistutilsError("Download error for %s: %s"
+ % (url, v.reason))
def _download_url(self, scheme, url, tmpdir):
# Determine download filename
diff --git a/setuptools/tests/test_packageindex.py b/setuptools/tests/test_packageindex.py
new file mode 100644
index 00000000..a2ca36ad
--- /dev/null
+++ b/setuptools/tests/test_packageindex.py
@@ -0,0 +1,19 @@
+"""Package Index Tests
+"""
+# More would be better!
+
+import os, shutil, tempfile, unittest
+import pkg_resources
+import setuptools.package_index
+
+class TestPackageIndex(unittest.TestCase):
+
+ def test_bad_urls(self):
+ index = setuptools.package_index.PackageIndex()
+ url = 'http://127.0.0.1/nonesuch/test_package_index'
+ try:
+ index.open_url(url)
+ except Exception, v:
+ self.assert_(url in str(v))
+ else:
+ self.assert_(False)