mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-11-21 22:09:23 +01:00
auto-t: allow skipping tests is wpa_supplicant is not found
Similarly to ofono/phonesim allow tests to be skipped if wpa_supplicant is not found on the system. This required some changes to DPP/P2P where Wpas() should be called first since this can now throw a SkipTest exception. The Wpas class was also made to allow __del__ to be called without throwing additional exceptions in case wpa_supplicant was not found.
This commit is contained in:
parent
1296e4eacb
commit
df46776046
@ -99,9 +99,9 @@ class Test(unittest.TestCase):
|
||||
self.wpas.wait_for_event('DPP-CONF-RECEIVED', timeout=30)
|
||||
|
||||
def setUp(self):
|
||||
self.wpas = Wpas('wpas.conf')
|
||||
self.wd = IWD(True)
|
||||
self.device = self.wd.list_devices(1)[0]
|
||||
self.wpas = Wpas('wpas.conf')
|
||||
self.hapd = HostapdCLI('hostapd.conf')
|
||||
self.hapd.disable()
|
||||
self.hwsim = Hwsim()
|
||||
@ -114,7 +114,6 @@ class Test(unittest.TestCase):
|
||||
self.rule0.drop = True
|
||||
|
||||
def tearDown(self):
|
||||
print("calling Disconnect()")
|
||||
self.device.disconnect()
|
||||
self.device.dpp_stop()
|
||||
self.wpas.dpp_configurator_remove()
|
||||
|
@ -29,8 +29,8 @@ class Test(unittest.TestCase):
|
||||
self.p2p_connect_test(preauthorize=True, go=True)
|
||||
|
||||
def p2p_connect_test(self, preauthorize, go):
|
||||
wd = IWD()
|
||||
wpas = self.wpas = Wpas(p2p=True)
|
||||
wd = IWD()
|
||||
wpas_go_intent = 10 if not go else 1
|
||||
|
||||
# Not strictly necessary but prevents the station interface from queuing its scans
|
||||
|
@ -1,8 +1,10 @@
|
||||
#!/usr/bin/python3
|
||||
import os
|
||||
import socket
|
||||
import shutil
|
||||
from gi.repository import GLib
|
||||
from config import ctx
|
||||
from unittest import SkipTest
|
||||
|
||||
import binascii
|
||||
|
||||
@ -11,7 +13,16 @@ from utils import Process
|
||||
ctrl_count = 0
|
||||
|
||||
class Wpas:
|
||||
io_watch = None
|
||||
sockets = {}
|
||||
wpa_supplicant = None
|
||||
cleanup_paths = []
|
||||
|
||||
def _start_wpas(self, config_name=None, p2p=False):
|
||||
if not shutil.which('wpa_supplicant'):
|
||||
print('wpa_supplicant not found, skipping test')
|
||||
raise SkipTest
|
||||
|
||||
main_interface = None
|
||||
for interface in ctx.wpas_interfaces:
|
||||
if config_name is None or interface.config == config_name:
|
||||
@ -31,7 +42,6 @@ class Wpas:
|
||||
self.config_path = '/tmp/' + self.interface.config
|
||||
self.config = self._get_config()
|
||||
self.socket_path = self.config['ctrl_interface']
|
||||
self.io_watch = None
|
||||
|
||||
cmd = ['wpa_supplicant', '-i', self.interface.name, '-c', self.config_path]
|
||||
if Process.is_verbose('wpa_supplicant-dbg'):
|
||||
@ -40,7 +50,6 @@ class Wpas:
|
||||
self.wpa_supplicant = ctx.start_process(cmd)
|
||||
|
||||
self.sockets = {}
|
||||
self.cleanup_paths = []
|
||||
self.io_watch = GLib.io_add_watch(self._get_socket(), GLib.IO_IN, self._handle_data_in)
|
||||
|
||||
self.p2p_peers = {}
|
||||
|
@ -425,10 +425,13 @@ class TestContext(Namespace):
|
||||
return frequencies
|
||||
|
||||
def start_wpas_interfaces(self):
|
||||
|
||||
if 'WPA_SUPPLICANT' not in self.hw_config:
|
||||
return
|
||||
|
||||
if not shutil.which('wpa_supplicant'):
|
||||
print('wpa_supplicant not found, dependent tests will be skipped')
|
||||
return
|
||||
|
||||
settings = self.hw_config['WPA_SUPPLICANT']
|
||||
|
||||
if self.args.hw:
|
||||
|
Loading…
Reference in New Issue
Block a user