This was a placeholder at one point but modules grew to depend on it being a string. Fix these dependencies and set the root namespace name to None so there is no more special case needed to handle both a named namespace and the original 'root' namespace. --- autotests/util/hwsim.py | 8 ++++---- autotests/util/iwd.py | 2 +- tools/test-runner | 10 ++-------- 3 files changed, 7 insertions(+), 13 deletions(-) diff --git a/autotests/util/hwsim.py b/autotests/util/hwsim.py index cc62495c..26092379 100755 --- a/autotests/util/hwsim.py +++ b/autotests/util/hwsim.py @@ -301,15 +301,15 @@ class Hwsim(iwd.AsyncOpAbstract): _instances = WeakValueDictionary() def __new__(cls, namespace=ctx): - name = namespace.name + key = id(namespace) - if name not in cls._instances.keys(): + if key not in cls._instances.keys(): obj = object.__new__(cls) obj._initialized = False - cls._instances[name] = obj + cls._instances[key] = obj - return cls._instances[name] + return cls._instances[key] def __init__(self, namespace=ctx): if self._initialized: diff --git a/autotests/util/iwd.py b/autotests/util/iwd.py index 730659ac..63b526fd 100755 --- a/autotests/util/iwd.py +++ b/autotests/util/iwd.py @@ -1053,7 +1053,7 @@ class IWD(AsyncOpAbstract): # reference so that __del__ gets called when it's released. This is only # done for the root namespace in order to allow testutil to function # correctly in non-namespace tests. - if self.namespace.name == "root": + if self.namespace.name is None: IWD._default_instance = weakref.ref(self) def __del__(self): diff --git a/tools/test-runner b/tools/test-runner index 9e4d0780..210e4f5f 100755 --- a/tools/test-runner +++ b/tools/test-runner @@ -599,12 +599,6 @@ class Namespace: return self._bus def start_process(self, args, env=None, **kwargs): - # Special case for 'root' namespace (aka TestContext) - if self.name == "root": - ns = None - else: - ns = self.name - if not env: env = os.environ.copy() @@ -612,7 +606,7 @@ class Namespace: # In case this process needs DBus... env['DBUS_SYSTEM_BUS_ADDRESS'] = self.dbus_address - p = Process(args, namespace=ns, env=env, **kwargs) + p = Process(args, namespace=self.name, env=env, **kwargs) if not kwargs.get('wait', False): self.processes.append(p) @@ -791,7 +785,7 @@ class TestContext(Namespace): such as processes, radios, interfaces and test results. ''' def __init__(self, args): - self.name = "root" + self.name = None self.processes = [] self.args = args self.hw_config = None -- 2.31.1