def rpm_dist(distro):
- release = int(float_or_zero(distro.release))
+ release = normalize_release(distro.release)
if distro.normalized_name in ['redhat', 'centos', 'scientific'] and release >= 6:
return 'el' + str(release)
return 'el6'
('Red Hat Enterprise Linux Server', '7.0', 'Maipo')
"""
- release = int(float_or_zero(distro.release))
+ release = normalize_release(distro.release)
if release >= 6:
if distro.normalized_name == 'redhat':
return 'rhel' + str(release)
pkg_managers.yum(distro.conn, 'ceph')
-def float_or_zero(value):
+def normalize_release(value):
try:
regex = re.compile(r"^[^.]*")
newvalue = re.search(regex, value).group(0)
- return float(newvalue)
+ return int(float(newvalue))
except:
return 0.0
self.distro.normalized_name = 'scientific'
self.distro.release = '7.0'
assert centos.rpm_dist(self.distro) == 'el7'
+
+ def test_normalize_release_number(self):
+ self.distro.release = '6.9'
+ assert centos.normalize_release(self.distro.release) == 6.9
+
+ def test_normalize_release_empty_string(self):
+ self.distro.release = ''
+ assert centos.normalize_release(self.distro.release) == 0.0
+
+ def test_normalize_release_complex_release(self):
+ self.distro.release = '7.0.1406'
+ assert centos.normalize_release(self.distro.release) == 7.0
\ No newline at end of file