Skip to content

Commit

Permalink
Propagating Long Name through components, test for name propagation a…
Browse files Browse the repository at this point in the history
…dded to test_device
  • Loading branch information
cjtitus committed Aug 1, 2024
1 parent 50a5362 commit 9451e6b
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 4 deletions.
5 changes: 4 additions & 1 deletion ophyd/device.py
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,10 @@ def create_component(self, instance):
attr_name=self.attr,
)

_long_name = kwargs.get("long_name", self.attr)
_parent_long_name = getattr(instance, "long_name", instance.name)
kwargs["long_name"] = f"{_parent_long_name} {_long_name}"

for kw, val in list(kwargs.items()):
kwargs[kw] = self.maybe_add_prefix(instance, kw, val)

Expand Down Expand Up @@ -1785,7 +1789,6 @@ def wrapped(self, *args, **kwargs):
def _wait_for_connection_context(value, doc):
@contextlib.contextmanager
def wrapped(dev):

orig = dev.lazy_wait_for_connection
dev.lazy_wait_for_connection = value
try:
Expand Down
14 changes: 11 additions & 3 deletions ophyd/tests/test_device.py
Original file line number Diff line number Diff line change
Expand Up @@ -768,14 +768,14 @@ def test_dotted_name():
from ophyd.sim import SynSignal

class Inner(Device):
x = Cpt(SynSignal)
x = Cpt(SynSignal, long_name="Inner X")
y = Cpt(SynSignal)

class Outer(Device):
a = Cpt(Inner)
a = Cpt(Inner, long_name="Outer A")
b = Cpt(Inner)

o = Outer(name="test")
o = Outer(name="test", long_name="Test")

assert o.dotted_name == ""
assert o.a.dotted_name == "a"
Expand All @@ -797,6 +797,14 @@ class Outer(Device):
assert o.a.y.attr_name == "y"
assert o.b.y.attr_name == "y"

assert o.long_name == "Test"
assert o.a.long_name == "Test Outer A"
assert o.b.long_name == "Test b"
assert o.a.x.long_name == "Test Outer A Inner X"
assert o.a.y.long_name == "Test Outer A y"
assert o.b.x.long_name == "Test b Inner X"
assert o.b.y.long_name == "Test b y"


def test_create_device():
components = dict(
Expand Down

0 comments on commit 9451e6b

Please sign in to comment.