Browse Source

tests: Add own_addr() for both Hostapd and WpaSupplicant classes

This makes it easier to use instances of control interfaces in common
code without having to separately address hostapd and wpa_supplicant
behavior differences.

Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen 10 years ago
parent
commit
f6420942cb
2 changed files with 13 additions and 0 deletions
  1. 6 0
      tests/hwsim/hostapd.py
  2. 7 0
      tests/hwsim/wpasupplicant.py

+ 6 - 0
tests/hwsim/hostapd.py

@@ -54,6 +54,12 @@ class Hostapd:
         self.ctrl = wpaspy.Ctrl(os.path.join(hapd_ctrl, ifname))
         self.mon = wpaspy.Ctrl(os.path.join(hapd_ctrl, ifname))
         self.mon.attach()
+        self.bssid = None
+
+    def own_addr(self):
+        if self.bssid is None:
+            self.bssid = self.get_status_field('bssid[0]')
+        return self.bssid
 
     def request(self, cmd):
         logger.debug(self.ifname + ": CTRL: " + cmd)

+ 7 - 0
tests/hwsim/wpasupplicant.py

@@ -335,6 +335,13 @@ class WpaSupplicant:
     def p2p_interface_addr(self):
         return self.get_group_status_field("address")
 
+    def own_addr(self):
+        try:
+            res = self.p2p_interface_addr()
+        except:
+            res = self.p2p_dev_addr()
+        return res
+
     def p2p_listen(self):
         return self.global_request("P2P_LISTEN")