[Python-checkins]
python/nondist/sandbox/setuptools/setuptools/tests
test_resources.py, 1.4, 1.5
pje at users.sourceforge.net
pje at users.sourceforge.net
Sun Apr 3 20:52:24 CEST 2005
Update of /cvsroot/python/python/nondist/sandbox/setuptools/setuptools/tests
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14433/setuptools/tests
Modified Files:
test_resources.py
Log Message:
Added "AvailableDistributions" class that finds and indexes usable
distributions; this replaces the previous "iter_distributions()" API.
Added basic platform support to Distribution and AvailableDistributions so
that platform-independent distros as well as local platform-compatible
distros are acceptable. The actual platform scheme is currently delegated
to distutils.util.get_platform(), but needs to be replaced with a better
scheme of some kind, especially for OS X.
Index: test_resources.py
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/setuptools/setuptools/tests/test_resources.py,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- test_resources.py 3 Apr 2005 01:21:08 -0000 1.4
+++ test_resources.py 3 Apr 2005 18:52:21 -0000 1.5
@@ -4,21 +4,53 @@
class DistroTests(TestCase):
- def testEmptyiter(self):
+ def testCollection(self):
# empty path should produce no distributions
- self.assertEqual(list(iter_distributions(path=[])), [])
+ ad = AvailableDistributions([])
+ self.assertEqual(list(ad), [])
+ self.assertEqual(len(ad),0)
+ self.assertEqual(ad.get('FooPkg'),None)
+ self.failIf('FooPkg' in ad)
+ ad.add(Distribution.from_filename("FooPkg-1.3_1.egg"))
+ ad.add(Distribution.from_filename("FooPkg-1.4-py2.4-win32.egg"))
+ ad.add(Distribution.from_filename("FooPkg-1.2-py2.4.egg"))
+
+ # Name is in there now
+ self.failUnless('FooPkg' in ad)
+
+ # But only 1 package
+ self.assertEqual(list(ad), ['foopkg'])
+ self.assertEqual(len(ad),1)
+
+ # Distributions sort by version
+ self.assertEqual(
+ [dist.version for dist in ad['FooPkg']], ['1.4','1.3-1','1.2']
+ )
+
+ # Removing a distribution leaves sequence alone
+ ad.remove(ad['FooPkg'][1])
+ self.assertEqual(
+ [dist.version for dist in ad.get('FooPkg')], ['1.4','1.2']
+ )
+
+ # And inserting adds them in order
+ ad.add(Distribution.from_filename("FooPkg-1.9.egg"))
+ self.assertEqual(
+ [dist.version for dist in ad['FooPkg']], ['1.9','1.4','1.2']
+ )
def checkFooPkg(self,d):
self.assertEqual(d.name, "FooPkg")
self.assertEqual(d.key, "foopkg")
self.assertEqual(d.version, "1.3-1")
self.assertEqual(d.py_version, "2.4")
+ self.assertEqual(d.platform, "win32")
self.assertEqual(d.parsed_version, parse_version("1.3-1"))
-
+
def testDistroBasics(self):
d = Distribution(
"/some/path",
- name="FooPkg",version="1.3-1",py_version="2.4"
+ name="FooPkg",version="1.3-1",py_version="2.4",platform="win32"
)
self.checkFooPkg(d)
self.failUnless(d.installed_on(["/some/path"]))
@@ -26,11 +58,20 @@
d = Distribution("/some/path")
self.assertEqual(d.py_version, sys.version[:3])
+ self.assertEqual(d.platform, None)
def testDistroParse(self):
d = Distribution.from_filename("FooPkg-1.3_1-py2.4-win32.egg")
self.checkFooPkg(d)
-
+
+
+
+
+
+
+
+
+
@@ -107,7 +148,7 @@
0.79.9999+0.80.0pre2-3 0.79.9999+0.80.0pre2-2
0.77.2-1 0.77.1-1 0.77.0-1
""".split()
-
+
for p,v1 in enumerate(torture):
for v2 in torture[p+1:]:
c(v2,v1)
More information about the Python-checkins
mailing list