From: Tom Walsh Date: Fri, 8 Aug 2014 16:50:34 +0000 (-0500) Subject: Added tests for the normalize_release function. X-Git-Tag: v1.5.11~7 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=5aea9078d5a28ff20bc8920f1a5745a89e6f4ba2;p=ceph-deploy.git Added tests for the normalize_release function. Signed-off-by: Tom Walsh --- diff --git a/ceph_deploy/hosts/centos/install.py b/ceph_deploy/hosts/centos/install.py index 684e4df..9c9dffe 100644 --- a/ceph_deploy/hosts/centos/install.py +++ b/ceph_deploy/hosts/centos/install.py @@ -4,7 +4,7 @@ import re 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' @@ -26,7 +26,7 @@ def repository_url_part(distro): ('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) @@ -253,11 +253,11 @@ def repo_install(distro, reponame, baseurl, gpgkey, **kw): 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 diff --git a/ceph_deploy/tests/unit/hosts/test_centos.py b/ceph_deploy/tests/unit/hosts/test_centos.py index e09cceb..5ee6e5c 100644 --- a/ceph_deploy/tests/unit/hosts/test_centos.py +++ b/ceph_deploy/tests/unit/hosts/test_centos.py @@ -103,3 +103,15 @@ class TestCentosVersionDetection(object): 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