tests: hostapd BSS config file

Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
Jouni Malinen 2016-12-27 14:50:56 +02:00
parent 45997cce40
commit 3f9e6ca5a9

View file

@ -13,7 +13,7 @@ import os
import hwsim_utils
import hostapd
from utils import alloc_fail, require_under_vm
from utils import alloc_fail, require_under_vm, get_phy
from test_ap_acs import force_prev_ap_on_24g
@remote_compatible
@ -533,3 +533,35 @@ def test_ap_duplicate_bssid(dev, apdev):
# "Duplicate BSSID 02:00:00:00:03:02 on interface 'wlan3-3' and 'wlan3'."
if "FAIL" not in hapd.request("ENABLE"):
raise Exception("ENABLE with duplicate BSSID succeeded unexpectedly")
def test_ap_bss_config_file(dev, apdev, params):
"""hostapd BSS config file"""
pidfile = os.path.join(params['logdir'], "ap_bss_config_file-hostapd.pid")
logfile = os.path.join(params['logdir'], "ap_bss_config_file-hostapd-log")
prg = os.path.join(params['logdir'], 'alt-hostapd/hostapd/hostapd')
if not os.path.exists(prg):
prg = '../../hostapd/hostapd'
phy = get_phy(apdev[0])
cmd = [ prg, '-B', '-dddt', '-P', pidfile, '-f', logfile, '-S', '-T',
'-b', phy + ':bss-1.conf', '-b', phy + ':bss-2.conf',
'-b', phy + ':bss-3.conf' ]
res = subprocess.check_call(cmd)
if res != 0:
raise Exception("Could not start hostapd: %s" % str(res))
multi_check(dev, [ True, True, True ])
for i in range(0, 3):
dev[i].request("DISCONNECT")
hapd = hostapd.Hostapd(apdev[0]['ifname'])
hapd.ping()
if "OK" not in hapd.request("TERMINATE"):
raise Exception("Failed to terminate hostapd process")
ev = hapd.wait_event(["CTRL-EVENT-TERMINATING"], timeout=5)
if ev is None:
raise Exception("CTRL-EVENT-TERMINATING not seen")
for i in range(30):
time.sleep(0.1)
if not os.path.exists(pidfile):
break
if os.path.exists(pidfile):
raise Exception("PID file exits after process termination")