From 5a2c379736e2d2179424423da37d4db09f4e79da Mon Sep 17 00:00:00 2001 From: Max Stepanov Date: Wed, 10 Jun 2015 11:43:49 +0300 Subject: [PATCH] tests: P2PS wildcard SD probe Verify that advertiser returns 'org.wi-fi.wfds' wildcard in a Probe Response frame if at least one P2PS advertisement is present. Signed-off-by: Max Stepanov Reviewed-by: Ilan Peer --- tests/hwsim/test_p2ps.py | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/tests/hwsim/test_p2ps.py b/tests/hwsim/test_p2ps.py index 7e6e5b580..6260d89da 100644 --- a/tests/hwsim/test_p2ps.py +++ b/tests/hwsim/test_p2ps.py @@ -985,3 +985,38 @@ def test_p2ps_go_probe(dev): single_peer_expected=False) dev[0].global_request("P2P_SERVICE_DEL asp " + str(adv_id)) remove_group(dev[0], dev[1]) + +def test_p2ps_wildcard_p2ps(dev): + """P2PS wildcard SD Probe Request/Response""" + p2ps_wildcard = "org.wi-fi.wfds" + + adv_id = p2ps_advertise(r_dev=dev[0], r_role='1', + svc_name='org.foo.service', + srv_info='I can receive files upto size 2 GB') + + if "OK" not in dev[1].global_request("P2P_FIND 10 type=social seek=" + p2ps_wildcard): + raise Exception("Failed on P2P_FIND command") + + ev1 = dev[1].wait_global_event(["P2P-DEVICE-FOUND"], timeout=10) + if ev1 is None: + raise Exception("P2P-DEVICE-FOUND timeout on seeker side") + if dev[0].p2p_dev_addr() not in ev1: + raise Exception("Unexpected peer") + if p2ps_wildcard not in ev1: + raise Exception("P2PS Wildcard name not found in P2P-DEVICE-FOUND event") + + if "OK" not in dev[1].global_request("P2P_STOP_FIND"): + raise Exception("P2P_STOP_FIND failed") + dev[1].dump_monitor() + + ev0 = dev[0].global_request("P2P_SERVICE_DEL asp " + str(adv_id)) + if ev0 is None: + raise Exception("Unable to remove the advertisement instance") + + if "OK" not in dev[1].global_request("P2P_FIND 10 type=social seek=" + p2ps_wildcard): + raise Exception("Failed on P2P_FIND command") + + ev1 = dev[1].wait_global_event(["P2P-DEVICE-FOUND"], timeout=5) + if ev1 is not None: + raise Exception("Unexpected P2P-DEVICE-FOUND event on seeker side") + dev[1].dump_monitor()