Issue #11508: Fixed uuid.getnode() and uuid.uuid1() on environment with

virtual interface.  Original patch by Kent Frazier.
This commit is contained in:
Serhiy Storchaka 2013-11-26 22:47:16 +02:00
parent a04f4e0374
commit 56507c7862
4 changed files with 35 additions and 2 deletions

View file

@ -1,5 +1,7 @@
import unittest
from test import support
import builtins
import io
import os
import uuid
@ -356,6 +358,25 @@ class TestUUID(unittest.TestCase):
self.assertEqual(node1, node2)
def test_find_mac(self):
data = '''\
fake hwaddr
cscotun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
eth0 Link encap:Ethernet HWaddr 12:34:56:78:90:ab
'''
def mock_popen(cmd):
return io.StringIO(data)
with support.swap_attr(os, 'popen', mock_popen):
mac = uuid._find_mac(
command='ifconfig',
args='',
hw_identifiers=['hwaddr'],
get_index=lambda x: x + 1,
)
self.assertEqual(mac, 0x1234567890ab)
@unittest.skipUnless(importable('ctypes'), 'requires ctypes')
def test_uuid1(self):
equal = self.assertEqual