Esempio n. 1
0
def check_result(all_versions, acceptable_versions, expected_range):
    version_ranges = find_version_ranges(all_versions, acceptable_versions)
    assert expected_range == version_ranges
    if expected_range:
        specifier = VersionSpec(expected_range)
        try:
            assert all(specifier.any_match(v) for v in acceptable_versions)
        except AttributeError:
            assert all(specifier.match(v) for v in acceptable_versions)
Esempio n. 2
0
 def test_local_identifier(self):
     """The separator for the local identifier should be either `.` or `+`"""
     # a valid versionstr should match itself
     versions = (
         '1.7.0'
         '1.7.0.post123'
         '1.7.0.post123.gabcdef9',
         '1.7.0.post123+gabcdef9',
     )
     for version in versions:
         m = VersionSpec(version)
         self.assertTrue(m.match(version))
Esempio n. 3
0
 def test_local_identifier(self):
     """The separator for the local identifier should be either `.` or `+`"""
     # a valid versionstr should match itself
     versions = (
         '1.7.0'
         '1.7.0.post123'
         '1.7.0.post123.gabcdef9',
         '1.7.0.post123+gabcdef9',
     )
     for version in versions:
         m = VersionSpec(version)
         self.assertTrue(m.match(version))
Esempio n. 4
0
 def test_compound_versions(self):
     vs = VersionSpec('>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*')
     assert not vs.match('2.6.8')
     assert vs.match('2.7.2')
     assert not vs.match('3.3')
     assert not vs.match('3.3.4')
     assert vs.match('3.4')
     assert vs.match('3.4a')
Esempio n. 5
0
 def test_compound_versions(self):
     vs = VersionSpec('>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*')
     assert not vs.match('2.6.8')
     assert vs.match('2.7.2')
     assert not vs.match('3.3')
     assert not vs.match('3.3.4')
     assert vs.match('3.4')
     assert vs.match('3.4a')
Esempio n. 6
0
 def test_match(self):
     for vspec, res in [
         ('1.7.*', True),
         ('1.7.1', True),
         ('1.7.0', False),
         ('1.7', False),
         ('1.5.*', False),
         ('>=1.5', True),
         ('!=1.5', True),
         ('!=1.7.1', False),
         ('==1.7.1', True),
         ('==1.7', False),
         ('==1.7.2', False),
         ('==1.7.1.0', True),
         ('1.7.*|1.8.*', True),
             # ('1.8/*|1.9.*', False),  what was this supposed to be?
         ('>1.7,<1.8', True),
         ('>1.7.1,<1.8', False),
         ('^1.7.1$', True),
         ('^1\.7\.1$', True),
         ('^1\.7\.[0-9]+$', True),
         ('^1\.8.*$', False),
         ('^1\.[5-8]\.1$', True),
         ('^[^1].*$', False),
         ('^[0-9+]+\.[0-9+]+\.[0-9]+$', True),
         ('^$', False),
         ('^.*$', True),
         ('1.7.*|^0.*$', True),
         ('1.6.*|^0.*$', False),
         ('1.6.*|^0.*$|1.7.1', True),
         ('^0.*$|1.7.1', True),
         ('1.6.*|^.*\.7\.1$|0.7.1', True),
         ('*', True),
         ('1.*.1', True),
         ('1.5.*|>1.7,<1.8', True),
         ('1.5.*|>1.7,<1.7.1', False),
     ]:
         m = VersionSpec(vspec)
         assert VersionSpec(m) is m
         assert str(m) == vspec
         assert repr(m) == "VersionSpec('%s')" % vspec
         assert m.match('1.7.1') == res, vspec
Esempio n. 7
0
 def test_match(self):
     for vspec, res in [
         ('1.7.*', True),   ('1.7.1', True),    ('1.7.0', False),
         ('1.7', False),   ('1.5.*', False),    ('>=1.5', True),
         ('!=1.5', True),  ('!=1.7.1', False), ('==1.7.1', True),
         ('==1.7', False), ('==1.7.2', False), ('==1.7.1.0', True),
         ('1.7.*|1.8.*', True),
         # ('1.8/*|1.9.*', False),  what was this supposed to be?
         ('>1.7,<1.8', True), ('>1.7.1,<1.8', False),
         ('^1.7.1$', True), ('^1\.7\.1$', True), ('^1\.7\.[0-9]+$', True),
         ('^1\.8.*$', False), ('^1\.[5-8]\.1$', True), ('^[^1].*$', False),
         ('^[0-9+]+\.[0-9+]+\.[0-9]+$', True), ('^$', False),
         ('^.*$', True), ('1.7.*|^0.*$', True), ('1.6.*|^0.*$', False),
         ('1.6.*|^0.*$|1.7.1', True), ('^0.*$|1.7.1', True),
         ('1.6.*|^.*\.7\.1$|0.7.1', True), ('*', True), ('1.*.1', True),
         ('1.5.*|>1.7,<1.8', True), ('1.5.*|>1.7,<1.7.1', False),
     ]:
         m = VersionSpec(vspec)
         assert VersionSpec(m) is m
         assert str(m) == vspec
         assert repr(m) == "VersionSpec('%s')" % vspec
         assert m.match('1.7.1') == res, vspec