diff --git a/Lib/test/test_uuid.py b/Lib/test/test_uuid.py index f113c551209..f21bd6dfa15 100644 --- a/Lib/test/test_uuid.py +++ b/Lib/test/test_uuid.py @@ -565,6 +565,9 @@ eth0 Link encap:Ethernet HWaddr 12:34:56:78:90:ab self.assertTrue(node & (1 << 40), '%012x' % node) self.check_node(node) + node2 = self.uuid._random_getnode() + self.assertNotEqual(node2, node, '%012x' % node) + @unittest.skipUnless(os.name == 'posix', 'requires Posix') def test_unix_getnode(self): if not importable('_uuid') and not importable('ctypes'): diff --git a/Lib/uuid.py b/Lib/uuid.py index cb2bc092bdf..be06a6eff3f 100644 --- a/Lib/uuid.py +++ b/Lib/uuid.py @@ -674,14 +674,14 @@ def getnode(): getters = [_unix_getnode, _ifconfig_getnode, _ip_getnode, _arp_getnode, _lanscan_getnode, _netstat_getnode] - for getter in getters: + for getter in getters + [_random_getnode]: try: _node = getter() except: continue if _node is not None: return _node - return _random_getnode() + assert False, '_random_getnode() returned None' _last_timestamp = None