[PATCH 13/18] tests: Fix p2p_ext_vendor_elem_assoc test

andrei.otcheretianski at intel.com andrei.otcheretianski at intel.com
Mon Sep 5 07:33:06 PDT 2016


From: Avraham Stern <avraham.stern at intel.com>

For configurations that use a dedicated P2P Device interafce,
which mandates that a separate interface is used for the P2P group,
vendor specific IE's must be added to the VENDOR_ELEM_P2P_*
frame type in order to be used by the P2P group interface.
So in case a dedicated P2P Device interface is used, don't add
the IE that is added to association request but not to P2P
association request because it is not expected to be added by the
P2P group interface.

Signed-off-by: Avraham Stern <avraham.stern at intel.com>
---
 tests/hwsim/test_p2p_ext.py | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/tests/hwsim/test_p2p_ext.py b/tests/hwsim/test_p2p_ext.py
index 9d2d569..82b7658 100644
--- a/tests/hwsim/test_p2p_ext.py
+++ b/tests/hwsim/test_p2p_ext.py
@@ -336,11 +336,15 @@ def test_p2p_ext_vendor_elem_assoc(dev, apdev, params):
 def _test_p2p_ext_vendor_elem_assoc(dev, apdev, params):
     addr0 = dev[0].p2p_dev_addr()
     addr1 = dev[1].p2p_dev_addr()
+
+    res = dev[0].get_driver_status()
+    p2p_device = True if (int(res['capa.flags'], 0) & 0x20000000) else False
+
     if "OK" not in dev[0].request("VENDOR_ELEM_ADD 11 dd050011223308"):
         raise Exception("VENDOR_ELEM_ADD failed")
     if "OK" not in dev[1].request("VENDOR_ELEM_ADD 12 dd050011223309"):
         raise Exception("VENDOR_ELEM_ADD failed")
-    if "OK" not in dev[0].request("VENDOR_ELEM_ADD 13 dd05001122330a"):
+    if not p2p_device and "OK" not in dev[0].request("VENDOR_ELEM_ADD 13 dd05001122330a"):
         raise Exception("VENDOR_ELEM_ADD failed")
     dev[0].p2p_listen()
     dev[1].p2p_listen()
@@ -355,7 +359,7 @@ def _test_p2p_ext_vendor_elem_assoc(dev, apdev, params):
                      "wlan.fc.type_subtype == 0x00", wait=False)
     if "Vendor Specific Data: 3308" not in out:
         raise Exception("Vendor element (P2P) not found from Association Request frame")
-    if "Vendor Specific Data: 330a" not in out:
+    if not p2p_device and "Vendor Specific Data: 330a" not in out:
         raise Exception("Vendor element (non-P2P) not found from Association Request frame")
 
     out = run_tshark(os.path.join(params['logdir'], "hwsim0.pcapng"),
-- 
1.9.1




More information about the Hostap mailing list