class CheckRequirement(unittest.TestCase):
def test_check_requirement(self):
- check_requirement("setuptools >= 0.6c6", {"setuptools": ("0.6", "", "")})
- check_requirement("pycrypto == 2.0.1, == 2.1, >= 2.3", {"pycrypto": ("2.1.0", "", "")})
- check_requirement("pycrypto == 2.0.1, == 2.1, >= 2.3", {"pycrypto": ("2.4.0", "", "")})
+ check_requirement("setuptools >= 0.6c6", {"setuptools": ("0.6", "", None)})
+ check_requirement("setuptools >= 0.6c6", {"setuptools": ("0.6", "", "distribute")})
+ check_requirement("pycrypto == 2.0.1, == 2.1, >= 2.3", {"pycrypto": ("2.1.0", "", None)})
+ check_requirement("pycrypto == 2.0.1, == 2.1, >= 2.3", {"pycrypto": ("2.4.0", "", None)})
- check_requirement("zope.interface", {"zope.interface": ("unknown", "", "")})
- check_requirement("mock", {"mock": ("0.6.0", "", "")})
- check_requirement("foo >= 1.0", {"foo": ("1.0", "", ""), "bar": ("2.0", "", "")})
+ check_requirement("zope.interface", {"zope.interface": ("unknown", "", None)})
+ check_requirement("mock", {"mock": ("0.6.0", "", None)})
+ check_requirement("foo >= 1.0", {"foo": ("1.0", "", None), "bar": ("2.0", "", None)})
- check_requirement("foolscap[secure_connections] >= 0.6.0", {"foolscap": ("0.7.0", "", "")})
+ check_requirement("foolscap[secure_connections] >= 0.6.0", {"foolscap": ("0.7.0", "", None)})
self.failUnlessRaises(PackagingError, check_requirement,
- "foolscap[secure_connections] >= 0.6.0", {"foolscap": ("0.5.1", "", "")})
+ "foolscap[secure_connections] >= 0.6.0", {"foolscap": ("0.5.1", "", None)})
self.failUnlessRaises(PackagingError, check_requirement,
- "pycrypto == 2.0.1, == 2.1, >= 2.3", {"pycrypto": ("2.2.0", "", "")})
+ "pycrypto == 2.0.1, == 2.1, >= 2.3", {"pycrypto": ("2.2.0", "", None)})
self.failUnlessRaises(PackagingError, check_requirement,
"foo >= 1.0", {})
+ self.failUnlessRaises(ImportError, check_requirement,
+ "foo >= 1.0", {"foo": (None, None, "foomodule")})
+
# based on https://bitbucket.org/tarek/distutilsversion/src/17df9a7d96ef/test_verlib.py
self.failUnlessEqual(suggest('9.0.0pre1'), '9.0.0c1')
# we want to be able to parse Tcl-TK
- # they us "p1" "p2" for post releases
+ # they use "p1" "p2" for post releases
self.failUnlessEqual(suggest('1.4p1'), '1.4.post1')
# from darcsver