]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-deploy.git/commitdiff
Added tests for the normalize_release function.
authorTom Walsh <tom.walsh@expresshosting.net>
Fri, 8 Aug 2014 16:50:34 +0000 (11:50 -0500)
committerAlfredo Deza <alfredo.deza@inktank.com>
Fri, 8 Aug 2014 23:34:39 +0000 (19:34 -0400)
Signed-off-by: Tom Walsh <tom.walsh@expresshosting.net>
ceph_deploy/hosts/centos/install.py
ceph_deploy/tests/unit/hosts/test_centos.py

index 684e4df5b4c094d73ef2b10c6c3ee32f10575bbb..9c9dffe12e9cc4eca45d5820beeaa8aa4ffe2b31 100644 (file)
@@ -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
 
index e09cceba45278070d11985e43b9dd277a98aa850..5ee6e5c6dfdc811aafbcf2d01a8ab217d5aba588 100644 (file)
@@ -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