From 6d0a26cc40e657dc5be81f6d442a4a6dd765cb91 Mon Sep 17 00:00:00 2001 From: appel_c Date: Wed, 10 Sep 2025 10:50:20 +0200 Subject: [PATCH] wip improve status and tests --- ophyd_devices/interfaces/base_classes/psi_device_base.py | 5 +++-- ophyd_devices/tests/utils.py | 5 ++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ophyd_devices/interfaces/base_classes/psi_device_base.py b/ophyd_devices/interfaces/base_classes/psi_device_base.py index 07742f7..cd6c712 100644 --- a/ophyd_devices/interfaces/base_classes/psi_device_base.py +++ b/ophyd_devices/interfaces/base_classes/psi_device_base.py @@ -199,8 +199,9 @@ class PSIDeviceBase(Device): to be stopped when the device is stopped. """ for status in self._stoppable_status_objects: - if not status.done: - status.set_exception(DeviceStoppedError(f"Device {self.name} has been stopped")) + with status._lock: + if not status.done: + status.set_exception(DeviceStoppedError(f"Device {self.name} has been stopped")) self._clear_stoppable_status_objects() ######################################## diff --git a/ophyd_devices/tests/utils.py b/ophyd_devices/tests/utils.py index 8ebe89d..c914ea4 100644 --- a/ophyd_devices/tests/utils.py +++ b/ophyd_devices/tests/utils.py @@ -30,6 +30,8 @@ def patch_dual_pvs(device): continue if walk.item._read_pv.pvname != walk.item._write_pv.pvname: walk.item._read_pv = walk.item._write_pv + if walk.item.pvname != walk.item.setpoint_pvname: + walk.item._setpoint_pvname = walk.item.pvname def patch_functions_required_for_connection(device): @@ -288,7 +290,8 @@ class MockPV: as_namespace=False, ): """Get MOCKPV data together with metadata""" - + if as_string: + return {"value": str(self.mock_data)} return {"value": self.mock_data} def get(