hwsim_utils.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #!/usr/bin/python
  2. #
  3. # hwsim testing utilities
  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 os
  9. import subprocess
  10. import logging
  11. logger = logging.getLogger(__name__)
  12. def test_connectivity(ifname1, ifname2):
  13. if os.path.isfile("../../mac80211_hwsim/tools/hwsim_test"):
  14. hwsim_test = "../../mac80211_hwsim/tools/hwsim_test"
  15. else:
  16. hwsim_test = "hwsim_test"
  17. cmd = ["sudo",
  18. hwsim_test,
  19. ifname1,
  20. ifname2]
  21. try:
  22. s = subprocess.check_output(cmd)
  23. logger.debug(s)
  24. except subprocess.CalledProcessError, e:
  25. logger.info("hwsim failed: " + str(e.returncode))
  26. logger.info(e.output)
  27. raise
  28. def test_connectivity_p2p(dev1, dev2):
  29. ifname1 = dev1.group_ifname if dev1.group_ifname else dev1.ifname
  30. ifname2 = dev2.group_ifname if dev2.group_ifname else dev2.ifname
  31. test_connectivity(ifname1, ifname2)
  32. def test_connectivity_p2p_sta(dev1, dev2):
  33. ifname1 = dev1.group_ifname if dev1.group_ifname else dev1.ifname
  34. ifname2 = dev2.ifname
  35. test_connectivity(ifname1, ifname2)
  36. def test_connectivity_sta(dev1, dev2):
  37. ifname1 = dev1.ifname
  38. ifname2 = dev2.ifname
  39. test_connectivity(ifname1, ifname2)