Changing up how host (in)equality is checked

Fixes #13397
pull/13451/head
James Cammarata 10 years ago
parent f630e140d2
commit cd76552724

@ -205,7 +205,7 @@ class InventoryDirectory(object):
# because the __eq__/__ne__ methods in Host() compare the # because the __eq__/__ne__ methods in Host() compare the
# name fields rather than references, we use id() here to # name fields rather than references, we use id() here to
# do the object comparison for merges # do the object comparison for merges
if id(self.hosts[host.name]) != id(host): if self.hosts[host.name] != host:
# different object, merge # different object, merge
self._merge_hosts(self.hosts[host.name], host) self._merge_hosts(self.hosts[host.name], host)

@ -38,7 +38,7 @@ class Host:
def __eq__(self, other): def __eq__(self, other):
if not isinstance(other, Host): if not isinstance(other, Host):
return False return False
return self.name == other.name return id(self) == id(other)
def __ne__(self, other): def __ne__(self, other):
return not self.__eq__(other) return not self.__eq__(other)

@ -29,9 +29,7 @@ class TestHost(unittest.TestCase):
def test_equality(self): def test_equality(self):
self.assertEqual(self.hostA, self.hostA) self.assertEqual(self.hostA, self.hostA)
self.assertNotEqual(self.hostA, self.hostB) self.assertNotEqual(self.hostA, self.hostB)
self.assertEqual(self.hostA, Host('a')) self.assertNotEqual(self.hostA, Host('a'))
# __ne__ is a separate method
self.assertFalse(self.hostA != Host('a'))
def test_hashability(self): def test_hashability(self):
# equality implies the hash values are the same # equality implies the hash values are the same

Loading…
Cancel
Save