From 90161a371eb95ceb1442a36643da11f2db11ae59 Mon Sep 17 00:00:00 2001 From: Sandon Van Ness Date: Mon, 28 Oct 2013 11:04:28 -0700 Subject: [PATCH] Fixed errors. Tests pass. Since the default OS version is different for each distro the argument default is None instead of explicity set to a value like with get_distro. Fixed some logic around that and the tests making the arugment always take precidence. Signed-off-by: Sandon Van Ness --- teuthology/misc.py | 8 ++++---- teuthology/test/test_get_distro_version.py | 19 ++++++++++--------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/teuthology/misc.py b/teuthology/misc.py index 5fe5bfe733a15..199ee15fdc35d 100644 --- a/teuthology/misc.py +++ b/teuthology/misc.py @@ -933,16 +933,16 @@ def get_distro_version(ctx): debian='7.0' ) distro = get_distro(ctx) + if ctx.os_version is not None: + return ctx.os_version try: - os_version = ctx.config.get('os_version', ctx.os_version) + os_version = ctx.config.get('os_version', default_os_version[distro]) except AttributeError: os_version = default_os_version[distro] try: - return ctx.config['downburst'].get('distroversion', os_type) + return ctx.config['downburst'].get('distroversion', os_version) except KeyError: return os_version except AttributeError: - if ctx.os_version is not None: - return ctx.os_version return os_version diff --git a/teuthology/test/test_get_distro_version.py b/teuthology/test/test_get_distro_version.py index 17dc6cf9a7ba9..e93b9b62a67aa 100644 --- a/teuthology/test/test_get_distro_version.py +++ b/teuthology/test/test_get_distro_version.py @@ -7,13 +7,15 @@ class TestGetDistroVersion(object): def setup(self): self.fake_ctx = Mock() self.fake_ctx.config = {} - self.fake_ctx.os_version = '13.04' self.fake_ctx_noarg = Mock() self.fake_ctx_noarg.config = {} + self.fake_ctx_noarg.os_version = None def test_default_distro_version(self): + #Default distro is ubuntu, default version of ubuntu is 12.04 + self.fake_ctx.os_version = None distroversion = teuthology.get_distro_version(self.fake_ctx) - assert distroversion == '13.04' + assert distroversion == '12.04' def test_argument_version(self): self.fake_ctx.os_version = '13.04' @@ -21,19 +23,18 @@ class TestGetDistroVersion(object): assert distroversion == '13.04' def test_teuth_config_version(self): - self.fake_ctx.config = {'os_version': '13.04'} + #Argument takes precidence. + self.fake_ctx.os_version = '13.04' + self.fake_ctx.config = {'os_version': '13.10'} distroversion = teuthology.get_distro_version(self.fake_ctx) assert distroversion == '13.04' def test_teuth_config_downburst_version(self): + #Argument takes precidence + self.fake_ctx.os_version = '13.10' self.fake_ctx.config = {'downburst' : {'distroversion': '13.04'}} distroversion = teuthology.get_distro_version(self.fake_ctx) - assert distroversion == '13.04' - - def test_default_distro_noarg_version(self): - distroversion = teuthology.get_distro_version(self.fake_ctx_noarg) - #Default distro is ubuntu, default version of ubuntu is 012.04 - assert distroversion == '12.04' + assert distroversion == '13.10' def test_teuth_config_noarg_version(self): self.fake_ctx_noarg.config = {'os_version': '13.04'} -- 2.39.5