run-p2p-tests.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #!/usr/bin/python
  2. #
  3. # P2P tests
  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 sys
  10. import time
  11. import logging
  12. from wpasupplicant import WpaSupplicant
  13. import test_p2p_grpform
  14. def main():
  15. if len(sys.argv) > 1 and sys.argv[1] == '-d':
  16. logging.basicConfig(level=logging.DEBUG)
  17. elif len(sys.argv) > 1 and sys.argv[1] == '-q':
  18. logging.basicConfig(level=logging.WARNING)
  19. else:
  20. logging.basicConfig(level=logging.INFO)
  21. dev0 = WpaSupplicant('wlan0')
  22. dev1 = WpaSupplicant('wlan1')
  23. dev2 = WpaSupplicant('wlan2')
  24. dev = [ dev0, dev1, dev2 ]
  25. for d in dev:
  26. if not d.ping():
  27. print d.ifname + ": No response from wpa_supplicant"
  28. return
  29. d.reset()
  30. print "DEV: " + d.ifname + ": " + d.p2p_dev_addr()
  31. tests = []
  32. test_p2p_grpform.add_tests(tests)
  33. passed = []
  34. failed = []
  35. for t in tests:
  36. print "START " + t.__name__
  37. for d in dev:
  38. d.request("NOTE TEST-START " + t.__name__)
  39. try:
  40. t(dev)
  41. passed.append(t.__name__)
  42. print "PASS " + t.__name__
  43. except Exception, e:
  44. print e
  45. failed.append(t.__name__)
  46. print "FAIL " + t.__name__
  47. for d in dev:
  48. d.request("NOTE TEST-STOP " + t.__name__)
  49. print "passed tests: " + str(passed)
  50. print "failed tests: " + str(failed)
  51. if len(failed):
  52. sys.exit(1)
  53. if __name__ == "__main__":
  54. main()