tests: WPA2-PSK AP and no random numbers available
Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
aac1efec34
commit
bf7071bb0c
2 changed files with 33 additions and 1 deletions
|
@ -17,7 +17,7 @@ import subprocess
|
||||||
import time
|
import time
|
||||||
|
|
||||||
import hostapd
|
import hostapd
|
||||||
from utils import HwsimSkip
|
from utils import HwsimSkip, fail_test
|
||||||
import hwsim_utils
|
import hwsim_utils
|
||||||
from wpasupplicant import WpaSupplicant
|
from wpasupplicant import WpaSupplicant
|
||||||
|
|
||||||
|
@ -1971,3 +1971,21 @@ def test_ap_wpa_ie_parsing(dev, apdev):
|
||||||
dev[0].request("DISCONNECT")
|
dev[0].request("DISCONNECT")
|
||||||
finally:
|
finally:
|
||||||
dev[0].request("VENDOR_ELEM_REMOVE 13 *")
|
dev[0].request("VENDOR_ELEM_REMOVE 13 *")
|
||||||
|
|
||||||
|
def test_ap_wpa2_psk_no_random(dev, apdev):
|
||||||
|
"""WPA2-PSK AP and no random numbers available"""
|
||||||
|
ssid = "test-wpa2-psk"
|
||||||
|
passphrase = 'qwertyuiop'
|
||||||
|
psk = '602e323e077bc63bd80307ef4745b754b0ae0a925c2638ecd13a794b9527b9e6'
|
||||||
|
params = hostapd.wpa2_params(ssid=ssid)
|
||||||
|
params['wpa_psk'] = psk
|
||||||
|
hapd = hostapd.add_ap(apdev[0]['ifname'], params)
|
||||||
|
with fail_test(hapd, 1, "wpa_gmk_to_gtk"):
|
||||||
|
id = dev[0].connect(ssid, raw_psk=psk, scan_freq="2412",
|
||||||
|
wait_connect=False)
|
||||||
|
ev = dev[0].wait_event(["CTRL-EVENT-DISCONNECTED"], timeout=15)
|
||||||
|
if ev is None:
|
||||||
|
raise Exception("Disconnection event not reported")
|
||||||
|
dev[0].request("DISCONNECT")
|
||||||
|
dev[0].select_network(id, freq=2412)
|
||||||
|
dev[0].wait_connected()
|
||||||
|
|
|
@ -36,6 +36,20 @@ class alloc_fail(object):
|
||||||
if self._dev.request("GET_ALLOC_FAIL") != "0:%s" % self._funcs:
|
if self._dev.request("GET_ALLOC_FAIL") != "0:%s" % self._funcs:
|
||||||
raise Exception("Allocation failure did not trigger")
|
raise Exception("Allocation failure did not trigger")
|
||||||
|
|
||||||
|
class fail_test(object):
|
||||||
|
def __init__(self, dev, count, funcs):
|
||||||
|
self._dev = dev
|
||||||
|
self._count = count
|
||||||
|
self._funcs = funcs
|
||||||
|
def __enter__(self):
|
||||||
|
cmd = "TEST_FAIL %d:%s" % (self._count, self._funcs)
|
||||||
|
if "OK" not in self._dev.request(cmd):
|
||||||
|
raise HwsimSkip("TEST_FAIL not supported")
|
||||||
|
def __exit__(self, type, value, traceback):
|
||||||
|
if type is None:
|
||||||
|
if self._dev.request("GET_FAIL") != "0:%s" % self._funcs:
|
||||||
|
raise Exception("Test failure did not trigger")
|
||||||
|
|
||||||
def require_under_vm():
|
def require_under_vm():
|
||||||
with open('/proc/1/cmdline', 'r') as f:
|
with open('/proc/1/cmdline', 'r') as f:
|
||||||
cmd = f.read()
|
cmd = f.read()
|
||||||
|
|
Loading…
Reference in a new issue