summaryrefslogtreecommitdiff
path: root/setuptools/tests
diff options
context:
space:
mode:
Diffstat (limited to 'setuptools/tests')
-rw-r--r--setuptools/tests/__init__.py12
-rw-r--r--setuptools/tests/test_resources.py33
2 files changed, 39 insertions, 6 deletions
diff --git a/setuptools/tests/__init__.py b/setuptools/tests/__init__.py
index 913c65bf..7db37888 100644
--- a/setuptools/tests/__init__.py
+++ b/setuptools/tests/__init__.py
@@ -1,6 +1,6 @@
"""Tests for the 'setuptools' package"""
-from unittest import TestSuite, TestCase, makeSuite
+from unittest import TestSuite, TestCase, makeSuite, defaultTestLoader
import distutils.core, distutils.cmd
from distutils.errors import DistutilsOptionError, DistutilsPlatformError
from distutils.errors import DistutilsSetupError
@@ -409,13 +409,13 @@ class TestCommandTests(TestCase):
testClasses = (DependsTests, DistroTests, FeatureTests, TestCommandTests)
+testNames = ["setuptools.tests.test_resources"]
def test_suite():
- return TestSuite([makeSuite(t,'test') for t in testClasses])
-
-
-
-
+ return TestSuite(
+ [makeSuite(t,'test') for t in testClasses]+
+ [defaultTestLoader.loadTestsFromName(n) for n in testNames]
+ )
diff --git a/setuptools/tests/test_resources.py b/setuptools/tests/test_resources.py
new file mode 100644
index 00000000..f918d21b
--- /dev/null
+++ b/setuptools/tests/test_resources.py
@@ -0,0 +1,33 @@
+from unittest import TestCase, makeSuite
+from pkg_resources import *
+import pkg_resources
+
+class DistroTests(TestCase):
+ def testEmptyiter(self):
+ # empty path should produce no distributions
+ self.assertEqual(list(iter_distributions(path=[])), [])
+
+class ParseTests(TestCase):
+ def testEmptyParse(self):
+ self.assertEqual(list(parse_requirements('')), [])
+
+ def testYielding(self):
+ for inp,out in [
+ ([], []), ('x',['x']), ([[]],[]), (' x\n y', ['x','y']),
+ (['x\n\n','y'], ['x','y']),
+ ]:
+ self.assertEqual(list(pkg_resources.yield_lines(inp)),out)
+
+ def testSimple(self):
+ self.assertEqual(
+ list(parse_requirements('Twis-Ted>=1.2')),
+ [('Twis_Ted',[('>=','1.2')])]
+ )
+ self.assertEqual(
+ list(parse_requirements('Twisted >=1.2, \ # more\n<2.0')),
+ [('Twisted',[('>=','1.2'),('<','2.0')])]
+ )
+ self.assertRaises(ValueError,lambda:list(parse_requirements(">=2.3")))
+ self.assertRaises(ValueError,lambda:list(parse_requirements("x\\")))
+ self.assertRaises(ValueError,lambda:list(parse_requirements("x==2 q")))
+