From 87756dccb45eb9b6307ddb2e27dd1c7b54ef5abb Mon Sep 17 00:00:00 2001 From: Douglas Raillard Date: Tue, 28 Jan 2025 15:03:25 +0000 Subject: [PATCH] lisa: Fix __dir__ implementations FIX Ensure that __dir__ implementations work by ensuring we don't mix sets and lists. --- lisa/target.py | 2 +- lisa/tests/base.py | 2 +- lisa/utils.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lisa/target.py b/lisa/target.py index b237b8f53..6a6250f4e 100644 --- a/lisa/target.py +++ b/lisa/target.py @@ -618,7 +618,7 @@ class Target( List our attributes plus the ones from the underlying target, and the devlib modules that could be loaded on-demand. """ - attrs = set(super().__dir__()) | self._devlib_loadable_modules + attrs = set(super().__dir__()) | set(self._devlib_loadable_modules) return sorted(attrs) @classmethod diff --git a/lisa/tests/base.py b/lisa/tests/base.py index e789608d1..908631af1 100644 --- a/lisa/tests/base.py +++ b/lisa/tests/base.py @@ -629,7 +629,7 @@ class TestBundleMeta(abc.ABCMeta): # us as a metaclass: # https://docs.python.org/3/library/inspect.html#inspect.getmembers def __dir__(metacls): - return super().__dir__() + ['add_undecided_filter'] + return sorted(super().__dir__()) + ['add_undecided_filter'] @classmethod def __prepare__(metacls, cls_name, bases, **kwargs): diff --git a/lisa/utils.py b/lisa/utils.py index 471d506cc..3a83b61ca 100644 --- a/lisa/utils.py +++ b/lisa/utils.py @@ -4592,7 +4592,7 @@ def DelegateToAttr(attr, attr_classes=None): def __dir__(self): delegated = getattr(self, delegated_to) - return sorted(set(super().__dir__()) | dir(delegated)) + return sorted(set(super().__dir__()) | set(dir(delegated))) return _DelegatedToAttr -- GitLab