tests: Make wnm_bss_tm_req_with_mbo_ie more robust

On slow machines or inside VM it may take some time for "DISCONNECTED"
event to arrive. Since the retry delay counter is started already, it
may result in less than 5 seconds time between "DISCONNECTED" and
"CONNECTED" events.

Fix the test by taking more accurate timestamps between the events.

Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
This commit is contained in:
Andrei Otcheretianski 2017-06-12 09:29:28 +03:00 committed by Jouni Malinen
parent b5bf84ba39
commit 9a6e2a5ede

View file

@ -16,6 +16,7 @@ import hostapd
from wpasupplicant import WpaSupplicant
from utils import alloc_fail, fail_test, wait_fail_trigger
from wlantest import Wlantest
from datetime import datetime
@remote_compatible
def test_wnm_bss_transition_mgmt(dev, apdev):
@ -1548,6 +1549,8 @@ def test_wnm_bss_tm_req_with_mbo_ie(dev, apdev):
if ev is None or "reason=3" not in ev:
raise Exception("Timeout waiting for MBO-TRANSITION-REASON event")
t0 = datetime.now()
ev = hapd.wait_event(['BSS-TM-RESP'], timeout=10)
if ev is None:
raise Exception("No BSS Transition Management Response")
@ -1562,15 +1565,15 @@ def test_wnm_bss_tm_req_with_mbo_ie(dev, apdev):
if 'OK' not in dev[0].request("SCAN_INTERVAL 1"):
raise Exception("Failed to set scan interval")
# Make sure no connection is made during the retry delay
ev = dev[0].wait_event(['CTRL-EVENT-CONNECTED'], 5)
if ev is not None:
raise Exception("Station connected before assoc retry delay was over")
# After the assoc retry delay is over, we can reconnect
ev = dev[0].wait_event(['CTRL-EVENT-CONNECTED'], 5)
# Wait until connected
ev = dev[0].wait_event(['CTRL-EVENT-CONNECTED'], 10)
if ev is None:
raise Exception("Station did not connect after assoc retry delay is over")
raise Exception("Station did not connect")
# Make sure no connection is made during the retry delay
time_diff = datetime.now() - t0
if time_diff.total_seconds() < 5:
raise Exception("Station connected before assoc retry delay was over")
if "OK" not in dev[0].request("SET mbo_cell_capa 3"):
raise Exception("Failed to set STA as cellular data not-capable")