From 39ba0a9ebd10d85f9bd4251d6b60cac66383395c Mon Sep 17 00:00:00 2001 From: James Prestwood Date: Tue, 26 Oct 2021 14:59:52 -0700 Subject: [PATCH] test-runner: allow wpa_supplicant to be used in --hw mode This lets test-runner's physical adapter pass-through to be used with wpa_supplicant. --- tools/test-runner | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/tools/test-runner b/tools/test-runner index a1967173..156b36cc 100755 --- a/tools/test-runner +++ b/tools/test-runner @@ -927,12 +927,32 @@ class TestContext(Namespace): return frequencies def start_wpas_interfaces(self): + if 'WPA_SUPPLICANT' not in self.hw_config: return settings = self.hw_config['WPA_SUPPLICANT'] - wpas_radios = [rad for rad in self.radios if rad.name in settings] - self.wpas_interfaces = [rad.create_interface(settings[rad.name], 'wpas') for rad in wpas_radios] + + if self.args.hw: + nradios = len(settings.items()) + + wpas_radios = self.radios[:nradios] + self.wpas_interfaces = [] + + # + # Physical radios most likely will use a different name + # than 'rad#' but the config file is referenced by these + # 'rad#' names. Iterate through both the settings and + # physical radios to create interfaces associated with + # each config file. + # + for vrad, hwrad in zip(settings.items(), wpas_radios): + self.wpas_interfaces.append(hwrad.create_interface(vrad[1], 'wpas')) + + else: + wpas_radios = [rad for rad in self.radios if rad.name in settings] + self.wpas_interfaces = [rad.create_interface('wpa_supplicant.conf', 'wpas') \ + for rad in wpas_radios] def start_ofono(self): sim_keys = self.hw_config['SETUP'].get('sim_keys', None)