X-Git-Url: http://www.project-moonshot.org/gitweb/?p=mech_eap.git;a=blobdiff_plain;f=libeap%2Fwpaspy%2Ftest.py;fp=libeap%2Fwpaspy%2Ftest.py;h=9141a8d404f1d1d677d4e91b1591789941323b7e;hp=0000000000000000000000000000000000000000;hb=f3746d009c6d7f50025af1f58a85e5fee9680be6;hpb=244f18d04aaf29e68495b5ffeb40ef5cca50942f diff --git a/libeap/wpaspy/test.py b/libeap/wpaspy/test.py new file mode 100755 index 0000000..9141a8d --- /dev/null +++ b/libeap/wpaspy/test.py @@ -0,0 +1,82 @@ +#!/usr/bin/python +# +# Test script for wpaspy +# Copyright (c) 2013, Jouni Malinen +# +# This software may be distributed under the terms of the BSD license. +# See README for more details. + +import os +import sys +import time +import wpaspy + +wpas_ctrl = '/var/run/wpa_supplicant' + +def wpas_connect(host=None, port=9877): + ifaces = [] + + if host != None: + try: + wpas = wpaspy.Ctrl(host, port) + return wpas + except: + print "Could not connect to host: ", host + return None + + if os.path.isdir(wpas_ctrl): + try: + ifaces = [os.path.join(wpas_ctrl, i) for i in os.listdir(wpas_ctrl)] + except OSError, error: + print "Could not find wpa_supplicant: ", error + return None + + if len(ifaces) < 1: + print "No wpa_supplicant control interface found" + return None + + for ctrl in ifaces: + try: + wpas = wpaspy.Ctrl(ctrl) + return wpas + except Exception, e: + pass + return None + + +def main(host=None, port=9877): + print "Testing wpa_supplicant control interface connection" + wpas = wpas_connect(host, port) + if wpas is None: + return + print "Connected to wpa_supplicant" + print wpas.request('PING') + + mon = wpas_connect(host, port) + if mon is None: + print "Could not open event monitor connection" + return + + mon.attach() + print "Scan" + print wpas.request('SCAN') + + count = 0 + while count < 10: + count += 1 + time.sleep(1) + while mon.pending(): + ev = mon.recv() + print ev + if 'CTRL-EVENT-SCAN-RESULTS' in ev: + print 'Scan completed' + print wpas.request('SCAN_RESULTS') + count = 10 + pass + + +if __name__ == "__main__": + if len(sys.argv) > 2: + main(host=sys.argv[1], port=int(sys.argv[2])) + else: + main()