From 25f9a1754ab7fe1c9f387a335a986b5fdfcef23b Mon Sep 17 00:00:00 2001 From: Zack Cerza Date: Fri, 20 May 2016 18:16:10 -0600 Subject: [PATCH] Add OS.__eq__() Signed-off-by: Zack Cerza --- teuthology/orchestra/opsys.py | 6 ++++++ teuthology/orchestra/test/test_opsys.py | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/teuthology/orchestra/opsys.py b/teuthology/orchestra/opsys.py index 7d6daec2bd..87383403bd 100644 --- a/teuthology/orchestra/opsys.py +++ b/teuthology/orchestra/opsys.py @@ -188,3 +188,9 @@ class OS(object): .format(name=repr(self.name), version=repr(self.version), codename=repr(self.codename)) + + def __eq__(self, other): + for slot in self.__slots__: + if not getattr(self, slot) == getattr(other, slot): + return False + return True diff --git a/teuthology/orchestra/test/test_opsys.py b/teuthology/orchestra/test/test_opsys.py index c20ff443bf..b98f3527f4 100644 --- a/teuthology/orchestra/test/test_opsys.py +++ b/teuthology/orchestra/test/test_opsys.py @@ -175,3 +175,11 @@ class TestOS(object): def test_codename_no_version(self): os = OS(name='ubuntu', codename='trusty') assert os.version == '14.04' + + def test_eq_equal(self): + os = OS(name='ubuntu', codename='trusty', version='14.04') + assert OS(name='ubuntu', codename='trusty', version='14.04') == os + + def test_eq_not_equal(self): + os = OS(name='ubuntu', codename='trusty', version='16.04') + assert OS(name='ubuntu', codename='trusty', version='14.04') != os -- 2.39.5