diff --git a/ophyd_devices/sim/sim_test_devices.py b/ophyd_devices/sim/sim_test_devices.py index 9a51edc..d543d1d 100644 --- a/ophyd_devices/sim/sim_test_devices.py +++ b/ophyd_devices/sim/sim_test_devices.py @@ -174,6 +174,16 @@ class SimPositionerWithCommFailure(SimPositioner): return super().move(value, **kwargs) +class SimPositionerWithDescribeFailure(SimPositioner): + _fail = True + + def describe(self): + SimPositionerWithDescribeFailure._fail = not SimPositionerWithDescribeFailure._fail + if SimPositionerWithDescribeFailure._fail: + raise RuntimeError("Communication failure") + return super().describe() + + class SimPositionerWithController(SimPositioner): USER_ACCESS = ["sim", "readback", "dummy_controller", "registered_proxies"]