test_p2p_autogo.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #!/usr/bin/python
  2. #
  3. # P2P autonomous GO test cases
  4. # Copyright (c) 2013, Jouni Malinen <j@w1.fi>
  5. #
  6. # This software may be distributed under the terms of the BSD license.
  7. # See README for more details.
  8. import logging
  9. logger = logging.getLogger(__name__)
  10. import hwsim_utils
  11. def autogo(go):
  12. logger.info("Start autonomous GO " + go.ifname)
  13. res = go.p2p_start_go()
  14. logger.debug("res: " + str(res))
  15. def connect_cli(go, client):
  16. logger.info("Try to connect the client to the GO")
  17. pin = client.wps_read_pin()
  18. go.p2p_go_authorize_client(pin)
  19. client.p2p_connect_group(go.p2p_dev_addr(), pin, timeout=60)
  20. logger.info("Client connected")
  21. hwsim_utils.test_connectivity_p2p(go, client)
  22. def test_autogo(dev):
  23. autogo(dev[0])
  24. connect_cli(dev[0], dev[1])
  25. dev[0].remove_group()
  26. try:
  27. dev[1].remove_group()
  28. except:
  29. pass
  30. def test_autogo_2cli(dev):
  31. autogo(dev[0])
  32. connect_cli(dev[0], dev[1])
  33. connect_cli(dev[0], dev[2])
  34. hwsim_utils.test_connectivity_p2p(dev[1], dev[2])
  35. dev[2].remove_group()
  36. dev[1].remove_group()
  37. dev[0].remove_group()
  38. def add_tests(tests):
  39. tests.append(test_autogo)
  40. tests.append(test_autogo_2cli)