def test_ge(self): """Assert RpmVersion supports >= comparison.""" old_version = rpm.RpmVersion(version='v1.0.0') equally_new_version = rpm.RpmVersion(version='v1.1.0') new_version = rpm.RpmVersion(version='v1.1.0') self.assertFalse(old_version >= new_version) self.assertTrue(new_version >= equally_new_version) self.assertTrue(new_version >= old_version)
def test_le(self): """Assert RpmVersion supports <= comparison.""" old_version = rpm.RpmVersion(version="v1.0.0") equally_old_version = rpm.RpmVersion(version="v1.0.0") new_version = rpm.RpmVersion(version="v1.1.0") self.assertTrue(old_version <= new_version) self.assertTrue(old_version <= equally_old_version) self.assertFalse(new_version <= old_version)
def test_lt_two_release_fields(self): """Assert release fields are compared.""" old_version = rpm.RpmVersion(version='v1.0.0-1.fc26') new_version = rpm.RpmVersion(version='v1.0.0-11.fc26') self.assertTrue(old_version < new_version) self.assertFalse(new_version < old_version)
def test_parse_no_v(self): """Assert parsing a version sans leading 'v' works.""" version = rpm.RpmVersion(version="1.0.0") self.assertEqual("1.0.0", version.parse())
def test_gt(self): """Assert RpmVersion supports > comparison.""" old_version = rpm.RpmVersion(version='v1.0.0') new_version = rpm.RpmVersion(version='v1.1.0') self.assertTrue(new_version > old_version) self.assertFalse(old_version > new_version)
def test_prerelease_false(self): """Assert prerelease is defined and returns False with non-prerelease versions.""" version = rpm.RpmVersion(version='v1.0.0') self.assertFalse(version.prerelease())
def test_prerelease_with_number(self): """Assert versions with RC are prerelease versions.""" for suffix in ('rc1', 'alpha2', 'beta10', 'dev3', 'pre999'): version = rpm.RpmVersion(version='v1.0.0' + suffix) self.assertTrue(version.prerelease())
def test_str_parse_error(self): """Assert __str__ calls parse""" version = rpm.RpmVersion(version='v1.0.0') version.parse = mock.Mock( side_effect=exceptions.InvalidVersion('boop')) self.assertEqual('v1.0.0', str(version))
def test_parse_odd_version(self): """Assert parsing an odd version works.""" version = rpm.RpmVersion(version='release_1_0_0') self.assertEqual('release_1_0_0', version.parse())
def test_eq(self): """Assert RpmVersion supports == comparison.""" old_version = rpm.RpmVersion(version='v1.0.0') new_version = rpm.RpmVersion(version='v1.0.0') self.assertTrue(new_version == old_version)
def test_eq_one_v_prefix(self): """Assert versions that are the same except one has a v prefix are equal.""" old_version = rpm.RpmVersion(version='v1.0.0-1.fc26') new_version = rpm.RpmVersion(version='1.0.0-1.fc26') self.assertTrue(new_version == old_version)
def test_newer_numerical(self): """Assert newer is functional.""" version = rpm.RpmVersion(version='v1.1.0') newer_version = rpm.RpmVersion(version='v1.11.0') self.assertFalse(version.newer(newer_version)) self.assertTrue(newer_version.newer(version))
def test_lt_one_release_field(self): """Assert versions with release fields are greater than those that don't have them.""" old_version = rpm.RpmVersion(version='v1.0.0') new_version = rpm.RpmVersion(version='v1.0.0-1.fc26') self.assertTrue(old_version < new_version) self.assertFalse(new_version < old_version)
def test_newer_with_strings(self): """Assert newer handles string arguments,""" version = rpm.RpmVersion(version='v1.0.0') self.assertFalse(version.newer('v2.0.0'))
def test_postrelease(self): """Assert postrelease is currently unsupported.""" version = rpm.RpmVersion(version='v1.0.0post1') self.assertFalse(version.postrelease())
def test_postrelease_false(self): """Assert postrelease is defined and returns False for non-postreleases.""" version = rpm.RpmVersion(version='v1.0.0') self.assertFalse(version.postrelease())
def test_prerelease_with_number(self): """Assert versions with RC are prerelease versions.""" for suffix in ("rc1", "alpha2", "beta10", "dev3", "pre999"): version = rpm.RpmVersion(version="v1.0.0" + suffix) self.assertTrue(version.prerelease())
def test_prerelease_prerelease_no_number(self): """Assert pre-releases without a number are still valid pre-releases.""" for suffix in ("rc", "alpha", "beta", "dev", "pre"): version = rpm.RpmVersion(version="v1.0.0" + suffix) self.assertTrue(version.prerelease())
def test_eq_both_unnumbered_prereleases(self): """Assert two prereleases of the same type without versions are equal.""" old_version = rpm.RpmVersion(version='1.0.0beta') new_version = rpm.RpmVersion(version='1.0.0beta') self.assertTrue(new_version == old_version)
def test_lt_pre_vs_beta(self): """Assert pre prereleases are greater than beta prereleases of the same version.""" old_version = rpm.RpmVersion(version='1.0.0pre2') new_version = rpm.RpmVersion(version='1.0.0rc1') self.assertTrue(old_version < new_version) self.assertFalse(new_version < old_version)
def test_str(self): """Assert __str__ calls parse""" version = rpm.RpmVersion(version='v1.0.0') self.assertEqual('1.0.0', str(version))
def test_lt_beta_vs_alpha(self): """Assert beta prereleases are greater than alpha prereleases of the same version.""" old_version = rpm.RpmVersion(version='1.0.0alpha2') new_version = rpm.RpmVersion(version='1.0.0beta1') self.assertTrue(old_version < new_version) self.assertFalse(new_version < old_version)
def test_parse_leading_v(self): """Assert parsing a version with a leading 'v' works.""" version = rpm.RpmVersion(version='v1.0.0') self.assertEqual('1.0.0', version.parse())
def test_lt_beta_vs_newer_alpha(self): """Assert alpha prereleases of newer versions are larger than older betas.""" old_version = rpm.RpmVersion(version='1.0.0beta1') new_version = rpm.RpmVersion(version='1.0.1alpha2') self.assertTrue(old_version < new_version) self.assertFalse(new_version < old_version)
def test_parse_v_not_alone(self): """Assert leading 'v' isn't stripped if it's not followed by a number.""" version = rpm.RpmVersion(version='version1.0.0') self.assertEqual('version1.0.0', version.parse())
def test_lt_one_prerelease(self): """Assert prereleases are less than non-prereleases.""" old_version = rpm.RpmVersion(version='v1.1.0rc1') new_version = rpm.RpmVersion(version='v1.1.0') self.assertTrue(old_version < new_version) self.assertFalse(new_version < old_version)
def test_prerelease_prerelease_no_number(self): """Assert pre-releases without a number are still valid pre-releases.""" for suffix in ('rc', 'alpha', 'beta', 'dev', 'pre'): version = rpm.RpmVersion(version='v1.0.0' + suffix) self.assertTrue(version.prerelease())
def test_lt_both_prerelease(self): """Assert prereleases sort numerically.""" old_version = rpm.RpmVersion(version='v1.1.0rc1') new_version = rpm.RpmVersion(version='v1.1.0rc11') self.assertTrue(old_version < new_version) self.assertFalse(new_version < old_version)
def test_prerelease_nonsense(self): """Assert versions with junk following the version aren't prerelease versions.""" version = rpm.RpmVersion(version='v1.0.0junk1') self.assertFalse(version.prerelease())
def test_lt_both_prerelease_one_unversioned(self): """Assert unversioned prereleases are less than versioned ones.""" old_version = rpm.RpmVersion(version='v1.1.0rc') new_version = rpm.RpmVersion(version='v1.1.0rc1') self.assertTrue(old_version < new_version) self.assertFalse(new_version < old_version)