mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-12-22 04:32:37 +01:00
auto-t: testutil: wait for operstate
Depending on timing the operstate may not be set even when IWD shows as connected. Instead wait for the operstate to become set.
This commit is contained in:
parent
a773aa6a07
commit
1fca13f07a
@ -134,10 +134,7 @@ SIOCGIFADDR = 0x8915
|
||||
IFF_UP = 1 << 0
|
||||
IFF_RUNNING = 1 << 6
|
||||
|
||||
def test_iface_operstate(intf=None):
|
||||
if not intf:
|
||||
intf = iwd.IWD.get_instance().list_devices()[0].name
|
||||
|
||||
def _test_operstate(intf):
|
||||
sock = socket.socket(socket.PF_PACKET, socket.SOCK_RAW)
|
||||
|
||||
try:
|
||||
@ -146,10 +143,19 @@ def test_iface_operstate(intf=None):
|
||||
|
||||
# IFF_LOWER_UP and IFF_DORMANT not returned by SIOCGIFFLAGS
|
||||
if flags & (IFF_UP | IFF_RUNNING) != IFF_UP | IFF_RUNNING:
|
||||
raise Exception(intf + ' operstate wrong')
|
||||
return False
|
||||
|
||||
return True
|
||||
finally:
|
||||
sock.close()
|
||||
|
||||
def test_iface_operstate(intf=None):
|
||||
if not intf:
|
||||
intf = iwd.IWD.get_instance().list_devices()[0].name
|
||||
|
||||
ctx.non_block_wait(_test_operstate, 10, intf,
|
||||
exception=Exception(intf + ' operstate wrong'))
|
||||
|
||||
def test_ip_address_match(intf, ip):
|
||||
try:
|
||||
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||
|
Loading…
Reference in New Issue
Block a user