]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
tests: MAC address ASCII string generation in python3 compatible manner
authorJouni Malinen <j@w1.fi>
Mon, 4 Feb 2019 10:23:45 +0000 (12:23 +0200)
committerJouni Malinen <j@w1.fi>
Mon, 4 Feb 2019 10:26:35 +0000 (12:26 +0200)
Use struct.unpack() to get a list of int and then generate a list of
hexstr octets from it for ':'.join() to get consistent behavior for both
python2 and python3.

Signed-off-by: Jouni Malinen <j@w1.fi>
tests/hwsim/test_dbus.py

index 1356fd00a8a953d1cc7a58044189f859f9da5381..16fcf3cd55b97beae13c145101166c2bb897311e 100644 (file)
@@ -9,6 +9,7 @@ import logging
 logger = logging.getLogger()
 import subprocess
 import time
+import struct
 import sys
 
 try:
@@ -3553,11 +3554,7 @@ def test_dbus_p2p_autogo(dev, apdev):
             logger.debug("provisionDiscoveryRequestDisplayPin - peer=%s pin=%s" % (peer_object, pin))
             self.peer_path = peer_object
             peer = binascii.unhexlify(peer_object.split('/')[-1])
-            addr = ""
-            for p in peer:
-                if len(addr) > 0:
-                    addr += ':'
-                addr += '%02x' % ord(p)
+            addr = ':'.join([ "%02x" % i for i in struct.unpack('6B', peer) ])
 
             params = { 'Role': 'registrar',
                        'P2PDeviceAddress': self.peer['DeviceAddress'],
@@ -3767,11 +3764,7 @@ def test_dbus_p2p_autogo_pbc(dev, apdev):
             logger.debug("provisionDiscoveryPBCRequest - peer=%s" % peer_object)
             self.peer_path = peer_object
             peer = binascii.unhexlify(peer_object.split('/')[-1])
-            addr = ""
-            for p in peer:
-                if len(addr) > 0:
-                    addr += ':'
-                addr += '%02x' % ord(p)
+            addr = ':'.join([ "%02x" % i for i in struct.unpack('6B', peer) ])
             params = { 'Role': 'registrar',
                        'P2PDeviceAddress': self.peer['DeviceAddress'],
                        'Type': 'pbc' }
@@ -3832,7 +3825,7 @@ def test_dbus_p2p_autogo_legacy(dev, apdev):
             res = g_obj.GetAll(WPAS_DBUS_GROUP,
                                dbus_interface=dbus.PROPERTIES_IFACE,
                                byte_arrays=True)
-            bssid = ':'.join([binascii.hexlify(l) for l in res['BSSID']])
+            bssid = ':'.join([ "%02x" % i for i in struct.unpack('6B', res['BSSID']) ])
 
             pin = '12345670'
             params = { 'Role': 'enrollee',
@@ -4279,7 +4272,7 @@ def test_dbus_p2p_reinvoke_persistent(dev, apdev):
                 res = g_obj.GetAll(WPAS_DBUS_GROUP,
                                    dbus_interface=dbus.PROPERTIES_IFACE,
                                    byte_arrays=True)
-                bssid = ':'.join([binascii.hexlify(l) for l in res['BSSID']])
+                bssid = ':'.join([ "%02x" % i for i in struct.unpack('6B', res['BSSID']) ])
                 dev1 = WpaSupplicant('wlan1', '/tmp/wpas-wlan1')
                 dev1.scan_for_bss(bssid, freq=2412)
                 dev1.global_request("P2P_CONNECT " + addr0 + " 12345670 join")
@@ -4328,11 +4321,7 @@ def test_dbus_p2p_reinvoke_persistent(dev, apdev):
             logger.debug("provisionDiscoveryRequestDisplayPin - peer=%s pin=%s" % (peer_object, pin))
             self.peer_path = peer_object
             peer = binascii.unhexlify(peer_object.split('/')[-1])
-            addr = ""
-            for p in peer:
-                if len(addr) > 0:
-                    addr += ':'
-                addr += '%02x' % ord(p)
+            addr = ':'.join([ "%02x" % i for i in struct.unpack('6B', peer) ])
             params = { 'Role': 'registrar',
                        'P2PDeviceAddress': self.peer['DeviceAddress'],
                        'Bssid': self.peer['DeviceAddress'],
@@ -5021,7 +5010,7 @@ def test_dbus_p2p_two_groups(dev, apdev):
                 g_wps = dbus.Interface(self.g2_if_obj, WPAS_DBUS_IFACE_WPS)
                 g_wps.Start(params)
 
-                bssid = ':'.join([binascii.hexlify(l) for l in self.g2_bssid])
+                bssid = ':'.join([ "%02x" % i for i in struct.unpack('6B', self.g2_bssid) ])
                 dev2 = WpaSupplicant('wlan2', '/tmp/wpas-wlan2')
                 dev2.scan_for_bss(bssid, freq=2412)
                 dev2.global_request("P2P_CONNECT " + bssid + " 12345670 join freq=2412")