From: James Prestwood <prestwoj@gmail.com>
To: iwd@lists.linux.dev
Cc: James Prestwood <prestwoj@gmail.com>
Subject: [PATCH 2/3] test-runner: allow hwsim in namespaces
Date: Thu, 4 May 2023 14:52:46 -0700 [thread overview]
Message-ID: <20230504215247.581443-2-prestwoj@gmail.com> (raw)
In-Reply-To: <20230504215247.581443-1-prestwoj@gmail.com>
Starts the hwsim daemon per-namespace rather than only in the
root namespace.
---
tools/run-tests | 16 ++++++++--------
tools/utils.py | 13 ++++++++++++-
2 files changed, 20 insertions(+), 9 deletions(-)
diff --git a/tools/run-tests b/tools/run-tests
index 32c09723..ef316666 100755
--- a/tools/run-tests
+++ b/tools/run-tests
@@ -319,6 +319,7 @@ class TestContext(Namespace):
self.namespaces = []
self._last_mem_available = 0
self._mem_chart = BarChart()
+ self.register_hwsim = False;
def start_dbus_monitor(self):
if not Process.is_verbose('dbus-monitor'):
@@ -329,18 +330,16 @@ class TestContext(Namespace):
def start_haveged(self):
self.start_process(['haveged', '-F'])
+ def start_hwsim(self):
+ self.register_hwsim = self.hw_config['SETUP'].get('hwsim_medium', 'no') in ['no', '0', 'false']
+
+ super().start_hwsim(self.register_hwsim)
+
def create_radios(self):
setup = self.hw_config['SETUP']
nradios = int(setup['num_radios'])
args = ['hwsim']
- if self.hw_config['SETUP'].get('hwsim_medium', 'no') in ['no', '0', 'false']:
- # register hwsim as medium
- args.extend(['--no-register'])
-
- proc = self.start_process(args)
- proc.wait_for_service(self, 'net.connman.hwsim', 20)
-
for i in range(nradios):
name = 'rad%u' % i
@@ -524,7 +523,7 @@ class TestContext(Namespace):
# Remove radios from 'root' namespace
self.radios = list(set(self.radios) - set(radios))
- self.namespaces.append(Namespace(self.args, key, radios))
+ self.namespaces.append(Namespace(self.args, key, radios, self.register_hwsim))
def get_namespace(self, ns):
for n in self.namespaces:
@@ -865,6 +864,7 @@ def pre_test(ctx, test, copied):
ctx.start_dbus()
ctx.start_haveged()
ctx.start_dbus_monitor()
+ ctx.start_hwsim()
ctx.start_radios()
ctx.create_namespaces()
ctx.start_hostapd()
diff --git a/tools/utils.py b/tools/utils.py
index a07c3183..d2e1c33b 100644
--- a/tools/utils.py
+++ b/tools/utils.py
@@ -320,7 +320,7 @@ busconfig.dtd\">
'''
class Namespace:
- def __init__(self, args, name, radios):
+ def __init__(self, args, name, radios, hwsim_register=False):
self.dbus_address = None
self.name = name
self.radios = radios
@@ -331,6 +331,7 @@ class Namespace:
r.set_namespace(self)
self.start_dbus()
+ self.start_hwsim(register=hwsim_register)
def reset(self):
self._bus = None
@@ -458,6 +459,16 @@ class Namespace:
return proc
+ def start_hwsim(self, register=False):
+ args = ['hwsim']
+
+ if register:
+ # register hwsim as medium
+ args.extend(['--no-register'])
+
+ proc = self.start_process(args)
+ proc.wait_for_service(self, 'net.connman.hwsim', 20)
+
@staticmethod
def non_block_wait(func, timeout, *args, exception=True):
'''
--
2.25.1
next prev parent reply other threads:[~2023-05-04 21:52 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-04 21:52 [PATCH 1/3] hwsim: remove 'optimization' sending to only known MACs James Prestwood
2023-05-04 21:52 ` James Prestwood [this message]
2023-05-04 21:52 ` [PATCH 3/3] test-runner: fix __str__ for namespace processes James Prestwood
2023-05-07 23:21 ` [PATCH 1/3] hwsim: remove 'optimization' sending to only known MACs Denis Kenzior
2023-05-08 13:43 ` James Prestwood
2023-05-08 18:05 ` Denis Kenzior
2023-05-08 18:55 ` James Prestwood
2023-05-08 19:00 ` Denis Kenzior
2023-05-08 19:03 ` James Prestwood
2023-05-08 19:01 ` Denis Kenzior
2023-06-21 21:05 ` James Prestwood
2023-06-27 2:31 ` Denis Kenzior
2023-06-27 15:15 ` James Prestwood
2023-06-27 18:00 ` Denis Kenzior
2023-06-27 18:56 ` James Prestwood
2023-06-27 19:23 ` Denis Kenzior
2023-06-27 20:09 ` James Prestwood
2023-06-28 14:49 ` Denis Kenzior
2023-06-28 15:33 ` James Prestwood
2023-06-28 15:40 ` Denis Kenzior
2023-06-28 16:14 ` James Prestwood
2023-06-28 16:25 ` Denis Kenzior
2023-06-28 16:47 ` James Prestwood
2023-06-28 16:57 ` Denis Kenzior
2023-06-28 17:22 ` James Prestwood
2023-06-28 23:19 ` Andrew Zaborowski
2023-06-28 23:28 ` James Prestwood
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230504215247.581443-2-prestwoj@gmail.com \
--to=prestwoj@gmail.com \
--cc=iwd@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.