tests: Successful P2P_CONNECT-auto cases
Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
5b74e086e6
commit
9177b0a8c9
1 changed files with 93 additions and 0 deletions
|
@ -512,3 +512,96 @@ def test_autogo_join_auto_go_not_found(dev):
|
||||||
raise Exception("Fallback to GO Negotiation not seen")
|
raise Exception("Fallback to GO Negotiation not seen")
|
||||||
if "reason=GO-not-found" not in ev:
|
if "reason=GO-not-found" not in ev:
|
||||||
raise Exception("Unexpected reason for fallback: " + ev)
|
raise Exception("Unexpected reason for fallback: " + ev)
|
||||||
|
|
||||||
|
def test_autogo_join_auto(dev):
|
||||||
|
"""P2P_CONNECT-auto joining a group"""
|
||||||
|
autogo(dev[0])
|
||||||
|
addr = dev[0].p2p_dev_addr()
|
||||||
|
if "OK" not in dev[1].global_request("P2P_CONNECT " + addr + " pbc auto"):
|
||||||
|
raise Exception("P2P_CONNECT failed")
|
||||||
|
|
||||||
|
ev = dev[0].wait_global_event(["P2P-PROV-DISC-PBC-REQ"], timeout=15)
|
||||||
|
if ev is None:
|
||||||
|
raise Exception("Timeout on P2P-PROV-DISC-PBC-REQ")
|
||||||
|
if "group=" + dev[0].group_ifname not in ev:
|
||||||
|
raise Exception("Unexpected PD event contents: " + ev)
|
||||||
|
dev[0].group_request("WPS_PBC")
|
||||||
|
|
||||||
|
ev = dev[1].wait_global_event(["P2P-GROUP-STARTED"], timeout=15)
|
||||||
|
if ev is None:
|
||||||
|
raise Exception("Joining the group timed out")
|
||||||
|
dev[1].group_form_result(ev)
|
||||||
|
|
||||||
|
dev[0].remove_group()
|
||||||
|
dev[1].wait_go_ending_session()
|
||||||
|
dev[1].flush_scan_cache()
|
||||||
|
|
||||||
|
def test_autogo_join_auto_go_neg(dev):
|
||||||
|
"""P2P_CONNECT-auto fallback to GO Neg"""
|
||||||
|
dev[0].p2p_listen()
|
||||||
|
addr = dev[0].p2p_dev_addr()
|
||||||
|
if "OK" not in dev[1].global_request("P2P_CONNECT " + addr + " pbc auto"):
|
||||||
|
raise Exception("P2P_CONNECT failed")
|
||||||
|
|
||||||
|
ev = dev[0].wait_global_event(["P2P-GO-NEG-REQUEST"], timeout=15)
|
||||||
|
if ev is None:
|
||||||
|
raise Exception("Timeout on P2P-GO-NEG-REQUEST")
|
||||||
|
peer = ev.split(' ')[1]
|
||||||
|
dev[0].p2p_go_neg_init(peer, None, "pbc", timeout=15, go_intent=15)
|
||||||
|
|
||||||
|
ev = dev[1].wait_global_event(["P2P-FALLBACK-TO-GO-NEG"], timeout=1)
|
||||||
|
if ev is None:
|
||||||
|
raise Exception("No P2P-FALLBACK-TO-GO-NEG event seen")
|
||||||
|
if "P2P-FALLBACK-TO-GO-NEG-ENABLED" in ev:
|
||||||
|
ev = dev[1].wait_global_event(["P2P-FALLBACK-TO-GO-NEG"], timeout=1)
|
||||||
|
if ev is None:
|
||||||
|
raise Exception("No P2P-FALLBACK-TO-GO-NEG event seen")
|
||||||
|
if "reason=peer-not-running-GO" not in ev:
|
||||||
|
raise Exception("Unexpected reason: " + ev)
|
||||||
|
|
||||||
|
ev = dev[1].wait_global_event(["P2P-GROUP-STARTED"], timeout=15)
|
||||||
|
if ev is None:
|
||||||
|
raise Exception("Joining the group timed out")
|
||||||
|
dev[1].group_form_result(ev)
|
||||||
|
|
||||||
|
dev[0].remove_group()
|
||||||
|
dev[1].wait_go_ending_session()
|
||||||
|
dev[1].flush_scan_cache()
|
||||||
|
|
||||||
|
def test_autogo_join_auto_go_neg_after_seeing_go(dev):
|
||||||
|
"""P2P_CONNECT-auto fallback to GO Neg after seeing GO"""
|
||||||
|
autogo(dev[0], freq=2412)
|
||||||
|
addr = dev[0].p2p_dev_addr()
|
||||||
|
bssid = dev[0].p2p_interface_addr()
|
||||||
|
dev[1].scan_for_bss(bssid, freq=2412)
|
||||||
|
dev[0].remove_group()
|
||||||
|
dev[0].p2p_listen()
|
||||||
|
|
||||||
|
if "OK" not in dev[1].global_request("P2P_CONNECT " + addr + " pbc auto"):
|
||||||
|
raise Exception("P2P_CONNECT failed")
|
||||||
|
|
||||||
|
ev = dev[1].wait_global_event(["P2P-FALLBACK-TO-GO-NEG-ENABLED"],
|
||||||
|
timeout=15)
|
||||||
|
if ev is None:
|
||||||
|
raise Exception("No P2P-FALLBACK-TO-GO-NEG-ENABLED event seen")
|
||||||
|
|
||||||
|
ev = dev[0].wait_global_event(["P2P-GO-NEG-REQUEST"], timeout=15)
|
||||||
|
if ev is None:
|
||||||
|
raise Exception("Timeout on P2P-GO-NEG-REQUEST")
|
||||||
|
peer = ev.split(' ')[1]
|
||||||
|
dev[0].p2p_go_neg_init(peer, None, "pbc", timeout=15, go_intent=15)
|
||||||
|
|
||||||
|
ev = dev[1].wait_global_event(["P2P-FALLBACK-TO-GO-NEG"], timeout=1)
|
||||||
|
if ev is None:
|
||||||
|
raise Exception("No P2P-FALLBACK-TO-GO-NEG event seen")
|
||||||
|
if "reason=no-ACK-to-PD-Req" not in ev and "reason=PD-failed" not in ev:
|
||||||
|
raise Exception("Unexpected reason: " + ev)
|
||||||
|
|
||||||
|
ev = dev[1].wait_global_event(["P2P-GROUP-STARTED"], timeout=15)
|
||||||
|
if ev is None:
|
||||||
|
raise Exception("Joining the group timed out")
|
||||||
|
dev[1].group_form_result(ev)
|
||||||
|
|
||||||
|
dev[0].remove_group()
|
||||||
|
dev[1].wait_go_ending_session()
|
||||||
|
dev[1].flush_scan_cache()
|
||||||
|
|
Loading…
Reference in a new issue