hostap/tests/hwsim/p2p-group-formation.py
Jouni Malinen 3eb29b7b47 tests: Check connectivity in the P2P group
Use hwsim_test to verify that the formed group has working data
connectivity.

Signed-hostap: Jouni Malinen <j@w1.fi>
2013-03-02 11:38:56 +02:00

67 lines
1.5 KiB
Python
Executable file

#!/usr/bin/python
#
# P2P group formation test
# Copyright (c) 2013, Jouni Malinen <j@w1.fi>
#
# This software may be distributed under the terms of the BSD license.
# See README for more details.
import os
import sys
import time
import subprocess
import logging
from wpasupplicant import WpaSupplicant
def test_connectivity(ifname1, ifname2):
cmd = ["sudo",
"../../mac80211_hwsim/tools/hwsim_test",
ifname1,
ifname2]
subprocess.check_call(cmd)
def main():
if len(sys.argv) > 1 and sys.argv[1] == '-d':
logging.basicConfig(level=logging.DEBUG)
else:
logging.basicConfig()
dev0 = WpaSupplicant('wlan0')
dev1 = WpaSupplicant('wlan1')
dev0.request("hello")
dev0.ping()
if not dev0.ping() or not dev1.ping():
print "No response from wpa_supplicant"
return
addr0 = dev0.p2p_dev_addr()
addr1 = dev1.p2p_dev_addr()
print "dev0 P2P Device Address: " + addr0
print "dev1 P2P Device Address: " + addr1
dev0.reset()
dev1.reset()
dev0.p2p_listen()
dev1.p2p_listen()
pin = dev0.wps_read_pin()
dev0.p2p_go_neg_auth(addr1, pin, "display")
print "Start GO negotiation"
dev1.p2p_go_neg_init(addr0, pin, "enter", timeout=15)
dev0.dump_monitor()
dev1.dump_monitor()
print "Group formed"
test_connectivity('wlan0', 'wlan1')
dev0.remove_group('wlan0')
try:
dev1.remove_group('wlan1')
except:
pass
print "Test passed"
if __name__ == "__main__":
main()